我是码头工人的新手,所以不知道如何更新码头图像。我有一个python代码,我使用以下命令创建了它的docker镜像:
sudo docker build -t mycustomdocker .
完成此操作后,我可以使用sudo docker images
查看我的泊坞窗图像。要运行它,我可以使用:
sudo docker run --restart=always mycustomdocker
这将启动其容器并始终重启,它将始终运行。
现在我想知道,例如,我已经更新了我的python代码并添加了一些新功能。所以在更新python代码后,它的图像mycustomdocker
会自动更新,或者我们需要为它运行任何更新命令。或者我们是否需要再次停止容器,然后删除现有图像并再次构建图像?
由于
答案 0 :(得分:1)
这取决于您如何将文件传输到容器。如果您正在使用ADD
或COPY
,那么您需要停止正在运行的容器,重建图像然后重新启动它。
但是,为了让事情快速运行,我们倾向于做的事情如下:
# ...
ADD ./src/ /something/src/
# ...
然后在跑步时
sudo docker run --volume ${PWD}/src/:/something/src/ --restart=always yourcontainer
使用本地/something/src/
目录中的任何内容覆盖容器./src/
文件中的所有内容,而无需重建。如果您确实要发布容器,或者从您正在使用的目录中的任何位置运行容器,则需要再次构建容器。
阅读有关良好存储做法的this article以获取更多信息。同样强烈建议调查docker-compose
以使这更容易,但这有点超出了这个问题的范围。