如何在dockerfile中使用RUN克隆git

我不希望使用ADD或COPY命令,而是希望docker镜像从我的git下载我想执行的python脚本(aa.py)。 在mygit中只有一个名为aa.py的文件。

这不起作用:

FROM python:3 RUN git clone https://github.com/user/mygit.git CMD [ "python3", "./aa.py" ] 

错误信息:

 ERR /usr/local/bin/python: can't open file './aa.py': [Errno 2] No such file or directory 

这里的问题是aa.py文件在你当前的工作目录中

Dockerfile内容更改为

 FROM python:3 RUN git clone https://github.com/user/mygit.git RUN cd mygit CMD [ "python3", "./aa.py" ] 

要么

 FROM python:3 RUN git clone https://github.com/user/mygit.git CMD [ "python3", "mygit/aa.py" ] 

最好的解决scheme是使用WORKDIR更改docker工作目录。 所以你的Dockerfile应该如下所示:

 FROM python:3 RUN git clone https://github.com/user/mygit.git WORKDIR mygit CMD [ "python3", "./aa.py" ] 

你的问题是, CMD指令找不到文件aa.py

你必须指定完整的path到你的aa.py里面,如果你没有改变工作目录将是/project_name/aa.py