我正在尝试使用dockerfile构建镜像。 Dockerfile中的命令如下:
FROM ubuntu:16.04
:
:
RUN pip3 install virtualenvwrapper
RUN echo '# Python virtual environment wrapper' >> ~/.bashrc
RUN echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3' >> ~/.bashrc
RUN echo 'export WORKON_HOME=$HOME/.virtualenvs' >> ~/.bashrc
RUN echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc
在这些命令之后,我将使用virtualenvwrapper命令创建一些虚拟环境。
如果我只需要在~/.bashrc中处理环境变量,我会使用ARG或ENV来设置它们。
但现在我还有其他的shell脚本文件,比如virtualenvwrapper.sh,它们将设置它们自己的变量。
此外,RUN source ~/.bashrc不起作用(找不到source)。
我该怎么办?
RUN..
后都会重置。这是否使用~/.bashrc
文件来设置它们的变量?那么,我可能不需要使用 source 了,对吗? - scipsycho/bin/sh
恰好是 bash,运行sh -c ...
(这通常是 RUN 命令所做的)也不会读取任何点文件。 - David Maze