Mus*_*que 6 ubuntu node.js nvm docker dockerfile
我正在尝试构建 docker 并安装 nvm
一些代码行
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash
RUN source ~/.profile
Run Code Online (Sandbox Code Playgroud)
curl 运行成功,但在运行源代码时,出现以下错误
/bin/sh: 1: source: not found
The command '/bin/sh -c source ~/.profile' returned a non-zero code: 127
Run Code Online (Sandbox Code Playgroud)
来自Docker 文档:
\n\n\n\n\n可以使用 SHELL\n 命令更改 shell 形式的默认 shell。
\n\n在 shell 形式中,您可以使用 \\(反斜杠)将单个 RUN\n 指令继续到下一行。例如,考虑以下两行:\n RUN /bin/bash -c \'source $HOME/.bashrc ;\\ echo $HOME\' 它们\n 一起相当于这一行: RUN /bin/bash - c \'源\n $HOME/.bashrc ; 回显$HOME\'
\n\n注意:要使用除 \xe2\x80\x98/bin/sh\xe2\x80\x99 之外的其他 shell,请使用 exec\n 形式传递所需的 shell。例如,RUN ["/bin/bash",\n "-c", "echo hello"]
\n
你可以尝试:
\n\nRUN curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash\n# RUN source ~/.profile\nRUN ["/bin/bash", "-c", "source ~/.profile"]\nRun Code Online (Sandbox Code Playgroud)\n
我解决了这个答案
而不是安装 nvm"source ~/.profile"
我把它改成
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash
ENV NVM_DIR=/root/.nvm
ENV NODE_VERSION=4.5.0
RUN . $HOME/.nvm/nvm.sh && nvm install $NODE_VERSION && nvm alias default $NODE_VERSION && nvm use default
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20058 次 |
| 最近记录: |