gpt4 book ai didi

docker - 启动+卷挂载后在docker容器内自动运行命令

转载 作者:行者123 更新时间:2023-12-02 19:40:29 33 4
gpt4 key购买 nike

我从创建了自己的简单图片。

FROM python:2.7.11
RUN mkdir /extra/later/ \
&& mkdir /yyy

现在,我可以执行以下步骤:
docker run -d -v xxx:/yyy myimage:latest 

因此,现在我的卷已安装在容器内。我将要访问,并且能够在容器内的已装载卷上执行命令:
docker exec -it container_id bash
bash# tar -cvpzf /mybackup.tar -C /yyy/ .

有没有一种方法可以自动执行Dockerfile中的此步骤,或者在 docker run命令中描述命令?

最佳答案

在Dockerfile中执行的命令将构建镜像,并且该卷已附加到正在运行的容器中,因此您将无法在Dockerfile本身内部运行命令并影响该卷。

相反,您应该创建一个启动脚本,该脚本是容器运行的命令(通过Dockerfile中的CMDENTRYPOINT)。将逻辑放在启动脚本中以检测其是否需要初始化该卷,并且该逻辑将在启动容器时运行。如果您使用CMD运行脚本,则可以使用传递给docker run的任何命令来覆盖运行该脚本,根据您的情况,这可能不是好事。

关于docker - 启动+卷挂载后在docker容器内自动运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771963/

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