我正在尝试构建一些docker容器,我发现编辑Dockerfile的迭代过程,脚本在其中运行,笨重.我正在寻找最佳实践并了解其他人如何进行.
我的初始流程是:
docker build -t mycontainer mycontainerdocker run mycontainerdocker exec -i -t < container id > "/bin/bash" # get into container to debugdocker rm -v < container id >docker rmi mycontainer这对于每次迭代都感觉很昂贵,特别是如果它是拼写错误.
这个替代过程需要少一点迭代:
docker run mycontainerdocker exec -i -t < container id > "/bin/bash" # get into container to edit scriptsdocker cp 完成后复制已编辑的文件.这需要更少的迭代,但不是无痛,因为一切都非常手动,我必须记住哪些文件已更改并已更新.
Eli*_*jah 11
自0.7以来,我一直在与Docker合作,我一定感受到了你的痛苦.
Dockerfile开发工作流程
注意:当我处于活动开发阶段时,我总是在容器中安装vim.我发布时只是将它从Dockerfile中取出来.
在正确的控制台上我运行:
$ vim Dockerfile
Run Code Online (Sandbox Code Playgroud)在左侧控制台上我运行:
$ docker build -t username/imagename:latest . && docker run -it -name dev-1 username/imagename:latest
Run Code Online (Sandbox Code Playgroud)现在水平拆分左控制台,以便运行STDOUT在上面并且shell在下面.在这里你将运行:
docker exec -it dev-1
Run Code Online (Sandbox Code Playgroud)
内部编辑或使用以下方式进行测试:
docker exec -it dev-1 <my command>
Run Code Online (Sandbox Code Playgroud)每次使用Dockerfile save(:wq!)对您的工作感到满意,然后在左侧控制台中运行上面的命令.测试行为.如果你不开心跑:
docker rm dev-1
Run Code Online (Sandbox Code Playgroud)
然后再次编辑并重复步骤#3.
定期,当我构建了太多图像或容器时,我会执行以下操作:
docker rm $(docker ps -qa)docker rmi $(docker images -q)| 归档时间: |
|
| 查看次数: |
2441 次 |
| 最近记录: |