Docker提交创建的图像和ENTRYPOINT
docker run
通过进行更改时,如何确保在Dockerfile中指定的原始CMD仍设置为在其上运行docker commit
?
这是事件的顺序,以使其更加清楚:
- 使用Dockerfile创建映像
-ti --entrypoint /bin/bash
之后从image运行容器以进行一些更改- 在容器内进行更改并运行
docker commit
以创建带有新标签的新图像 - 运行新映像时,不再运行原始Dockerfile中的原始CMD条目
所以我问 如何在已提交的映像上再次从Dockerfile重置CMD?
-
您将创建一个Dockerfile来设置
CMD
orENTRYPOINT
。只需将Dockerfile基于由返回的映像IDdocker commit
。例如,鉴于此:$ docker commit $(docker ps -lq) 69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b
我可以创建一个如下所示的Dockerfile:
FROM 69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b CMD ["/bin/bash"]
然后使用它来构建新图像:
$ docker build . Step 0 : FROM 69e9c08825508ec780efc86268a05ffdf4edae0999a2424dbe36cb04c2a15d6b ---> 69e9c0882550 Step 1 : CMD /bin/bash ---> Running in f886c783551d ---> 13a0f8ea5cc5 Removing intermediate container f886c783551d Successfully built 13a0f8ea5cc5
也就是说,最好的做法可能是 不对 容器进行更改,然后使用Docker
commit。如果仅仅依靠Dockerfile首先实现必要的更改,那么最终将产生更多可审核的更改。
-
如何让 docker-compose 始终从新图像重新创建容器?
2022-05-26 关注 0 浏览19 1答案
-
如何根据图像过滤Docker进程
2021-02-01 关注 0 浏览77 1答案
-
如何使用Docker图像过滤器
2021-02-01 关注 0 浏览109 1答案
-
Django创建视图图像上传
2021-01-29 关注 0 浏览61 1答案
-
彩色图像、灰度图像、二值图像和索引图像区别?
2020-02-29 关注 0 浏览751 1答案
-
从图像列表创建PDF
2021-01-29 关注 0 浏览103 1答案
-
如何创建重叠的背景和前景图像?
2021-01-30 关注 0 浏览63 1答案
-
PIL裁剪和粘贴问题:裁剪不会创建裁剪的图像
2021-01-29 关注 0 浏览95 1答案
-
Python Tkinter错误,“太早创建图像”
2021-01-29 关注 0 浏览85 1答案
-
从上传的图像创建缩略图
2021-02-02 关注 0 浏览76 1答案