当前位置: 首页 > 知识库问答 >
问题:

Docker如何修改现有图像

翟展
2023-03-14

我在docker中创建了一个图像。安装了Ubuntu、JDK和其他几个库。然后我退出了容器并进行了这样的提交

docker commit a7b95082f6ea anil-ubuntu

我又启动了容器

docker run -p 5901:5901 -t -i anil-ubuntu

这次我安装了gradle和其他几个库。然后退出容器,再次提交。

 docker commit a7b95082f6ea anil-ubuntu

每次我执行提交操作时,都会创建一个新图像,并保留带有存储库和标记的旧图像。按照这个工作流程,我很快就会用完空间。这是使用docker的正确方法吗?如何确保所有这些图像都消失。

我正在windows 10上使用docker版本18.09.1桌面

共有1个答案

钦楚青
2023-03-14

Docker映像是不可变的;一旦创建了映像,就再也无法更改它了。

创建映像的正确方法是使用docker build。Docker有一个关于创建和运行自定义图像的非常好的官方教程;虽然它是面向Python的,但这里的基本技术适用于任何语言。

使用docker commit几乎总是错误的。Dockerfile只是用于构建图像的步骤的基本列表–从一些基本图像开始在一些文件中复制运行一些命令–编写Dockerfile通常与以文本形式写出构建图像所涉及的步骤一样简单。您还需要与其他需要此描述的人一起处理您的映像,因此,当您开始使用的基础映像在六个月后有一个关键的安全修复时,您需要自己记住如何构建它。

我通常认为工作流程是:

  1. 在本地构建和测试我的应用程序,完全没有Docker参与。
  2. 编写一个构建我的应用程序的Dockerfile,其中没有任何开发或测试工具。检查它docker是否在本地运行s并手动测试它。将Dockerfile添加到我的源代码控制存储库。
  3. (可选但建议)设置一个持续集成服务器和Docker注册表,以便在每次提交时,本地单元测试通过后,都会构建一个新的映像,并编辑docker推送

是的,这会导致旧图像备份,但这并不是真的有害。您可以使用docker system prune来清理它们。

 类似资料:
  • 我有一个来自javax的现有jsonobject。json。JsonObject类。 我一辈子都想不出如何修改其中现有的价值观。理想情况下,我想这样做: 根据API,不允许修改该映射。 http://docs.oracle.com/javaee/7/api/javax/json/JsonObject.html 此映射对象提供对JSON对象数据的只读访问,并尝试修改映射,无论是直接修改还是通过其集合

  • 我想编辑docker图像元数据,原因如下: > 我不喜欢一个图像父母EXPOSE,VOLUME等声明(见#3465,Docker-Team不想提供解决方案),所以我想“取消卷”或“取消曝光”图像。 我不喜欢一个图像(参见),因为它是使用从运行的容器生成的 修复或过程中出现的错误,例如: 我有办法做到吗?

  • 我有多个微服务,我使用docker compose进行开发部署。当microservices代码库中有一些更改时,我会触发ci作业来重新部署它们。我有下面的脚本来做这件事。但每次我都必须从头开始构建所有图像,然后运行它们。完成所有这些操作后,我得到了图像。所以我使用最后一个脚本来删除它们。你有什么建议使这个过程更实用?是否有任何方法可以更新现有图像而不使用新的更改将其删除? 其他信息:我正在使用

  • 本文向大家介绍详解Docker 修改已有镜像(commit ),包括了详解Docker 修改已有镜像(commit )的使用技巧和注意事项,需要的朋友参考一下 先使用下载的镜像启动容器。 注意:记住容器的 ID,稍后还会用到。 在容器中添加 json 和 gem 两个应用。 当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 Docker commit 命令来提交更新后的副

  • 图册的封面是可以修改的。开启图册编辑区右侧的图册属性栏自定义封面按钮即可。 启动自定义封面,点击“编辑”按钮,打开资源管理页,可以上传新的封面截图。不启动则封面默认为该图册的首页。

  • 图表颜色主要是由主题来确定的,通过切换系统主题或自定义主题,可以对应修改图表颜色。 (单图表颜色修改) (图册中图表颜色修改) 图表秀图册中的图表颜色是由图册主题确定的,这样可以有效保证图册中多个图表颜色的协调一致,提升图册美感。因此,通过修改图册主题就可以达到修改图表颜色的目的。 图表秀的主题分为系统主题和自定义主题。 系统主题是由图表秀官方提供的主题颜色,直接选择即可使用。 自定义主题是由用户