构建docker容器时迭代的最佳方法是什么?

前端之家收集整理的这篇文章主要介绍了构建docker容器时迭代的最佳方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试构建一些docker容器,我发现编辑Dockerfile的迭代过程,脚本在其中运行,笨重.我正在寻找最佳实践,并了解其他人如何进行.

我的初始流程是:

> docker build -t mycontainer mycontainer
> docker运行mycontainer
> docker exec -i -t<容器ID> “/ bin / bash”#进入容器进行调试
> docker rm -v<容器ID>
>码头工人rmi mycontainer
>重复

这对于每次迭代都感觉很昂贵,特别是如果它是错字的话.

这个替代过程需要少一点迭代:

>在dockerfile中安装vim
> docker运行mycontainer
> docker exec -i -t<容器ID> “/ bin / bash”#进入容器来编辑脚本
> docker cp完成后复制已编辑的文件.
>如果我需要运行任何命令,我会仔细记住并更新容器外的Dockerfile.
>不使用vim重建图像

这需要更少的迭代,但不是无痛,因为一切都非常手动,我必须记住哪些文件已更改并已更新.

自0.7以来,我一直在与Docker合作,我一定感受到了你的痛苦.

Dockerfile开发工作流程

注意:当我处于活动开发阶段时,我总是在容器中安装vim.我发布时只是将它从Dockerfile中取出来.

>设置tmux / gnu屏幕/ iTerm /您最喜欢的垂直分割控制台实用程序.
>在正确的控制台上我运行:

$vim Dockerfile

>在左侧控制台上我运行:

$docker build -t username/imagename:latest . && docker run -it -name dev-1 username/imagename:latest

>现在水平分割左侧控制台,以便运行STDOUT位于上方且shell位于下方.在这里你将运行:

docker exec -it dev-1

内部编辑或使用以下方式进行测试:

docker exec -it dev-1 

>每当您对使用Dockerfile保存(:wq!)的工作感到满意,然后在左侧控制台中运行上面的命令.测试行为.如果你不开心跑:

docker rm dev-1

然后再次编辑并重复步骤#3.

定期,当我构建了太多图像或容器时,我会执行以下操作:

>删除所有容器:docker rm $(docker ps -qa)
>删除所有图片:docker rmi $(docker images -q)

猜你在找的Docker相关文章