Python Docker-我们需要在Dockerfile中包含RUN命令吗
我有一个python代码,要将其转换为docker图像,我可以使用以下命令:Python Docker-我们需要在Dockerfile中包含RUN命令吗,python,docker,Python,Docker,我有一个python代码,要将其转换为docker图像,我可以使用以下命令: sudo docker build -t customdocker . 这会将python代码转换为docker图像。要转换它,我使用Dockerfile和以下命令: FROM python:3 ADD my_script.py / ADD user.conf /srv/config/conf.d/ RUN pip3 install <some-package> CMD [ "python3",
sudo docker build -t customdocker .
这会将python代码转换为docker图像。要转换它,我使用Dockerfile和以下命令:
FROM python:3
ADD my_script.py /
ADD user.conf /srv/config/conf.d/
RUN pip3 install <some-package>
CMD [ "python3", "./my_script.py" ]
来自python:3的
添加my_script.py/
添加user.conf/srv/config/conf.d/
运行pip3安装
CMD[“python3”,“/my_script.py”]
在这里,我们有RUN
命令来安装所需的软件包。假设我们出于某种原因删除了图像,并希望重新构建它,那么我们是否可以跳过此运行
步骤以节省一些时间,因为我认为这已安装
在我的代码中,我还使用了另一个目录中的文件user.conf
。因此,我在DOckerfile中包含了这个文件,并在当前目录中保存了它的一个副本。docker中是否有一种方法可以定义我的工作目录,以便docker image在这些目录中搜索文件
谢谢是的,如果要在删除后再次生成docker映像,则无法删除docker文件中的RUN或其他语句 您在dockerfile中使用命令WORKDIR,但其作用域将在docker映像中,即当您从映像创建容器时,WORKDIR将设置为WORKDIR中指定的值 例如:
WORKDIR /srv/config/conf.d/
此/srv/config/conf.d/将设置为workingdir,但在生成dockerfile时,您必须在dockerfile中使用以下命令,以便将该文件复制到指定位置
ADD user.conf /srv/config/conf.d/
回答第一个问题:docker映像包含与python环境相关的所有内容,包括您安装的软件包。删除映像时,包也会从映像中删除。因此,不,您不能跳过该步骤 现在转到第二个问题,您可以通过以下方式在启动容器时绑定目录:
docker run -v /directory-you-want-to-mount:/src/config/ customdocker
您还可以使用-w
标志设置工作目录
docker run -w /path/to/dir/ -i -t customdocker
如果一个python代码从另一个python代码导入模块,如何在docker中处理此问题。如果我们为这两个映像创建docker,则运行该模块时会出现错误not found。