gpt4 book ai didi

python - Docker-我们是否需要在 Dockerfile 中包含 RUN 命令

转载 作者:行者123 更新时间:2023-12-01 02:21:30 26 4
gpt4 key购买 nike

我有一个 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", "./my_script.py" ]

在这里,我们有RUN命令来安装所需的包。假设我们由于某种原因删除了该镜像并想要再次构建它,那么有什么方法可以跳过此RUN步骤以节省一些时间,因为我认为它已经安装了。

此外,在我的代码中,我使用了位于其他目录中的文件user.conf。因此,我将其包含在 DOckerfile 中,并将其副本保存在当前目录中。 docker 有没有一种方法可以定义我的工作目录,以便 docker 镜像搜索这些目录中的文件。

谢谢

最佳答案

是的,如果您想在删除后重新构建 docker 镜像,则无法删除 dockerfile 中的 RUN 或其他语句。

您在 dockerfile 中使用命令 WORKDIR,但其范围将在 docker 镜像内,即当您从镜像创建容器时,workdir 将设置为 WORKDIR 中提到的内容

例如:

WORKDIR  /srv/config/conf.d/

此/srv/config/conf.d/将设置为工作目录,但您必须在构建时在 dockerfile 中使用以下内容,以便将该文件复制到指定位置

ADD user.conf /srv/config/conf.d/

关于python - Docker-我们是否需要在 Dockerfile 中包含 RUN 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47920175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com