我正在尝试创建一个在Amazon Linux上运行node.js的Docker容器,以允许本机节点模块以适用于AWS Lambda的适当形式在计算机上编译。
我主要关注The Polyglot Developer上的本教程,但也尝试过AWS Blogs上的教程。我正在尝试使用以下命令在Dockerfile的父目录中构建容器。
docker build -t amazonlinux-node8 .
第1步和第2步成功完成,但第3步则引发以下错误。
/root/.nvm/nvm.sh: ... tar: command not found
然后退出并显示以下消息。
The command '/bin/sh -c /bin/bash -c "source /root/.nvm/nvm.sh; nvm install 8.10.0"' returned a non-zero code: 1
我需要进行哪些更改以解决此错误?
Dockerfile
FROM amazonlinux:latest
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
RUN /bin/bash -c "source /root/.nvm/nvm.sh; nvm install 8.10.0"
CMD /bin/bash -c "source /root/.nvm/nvm.sh; nvm use 8.10.0"
我已尝试通过添加下载tar.x86_64
的步骤来尝试在this SO post上建议的解决方案,但这失败了,并且不会安装在amazonlinux
映像上。我在this post上看到了另一个建议的解决方案,但是它特别涉及在Dockerfile中使用COPY
命令,该命令不适用于我的文件。