docker-container - Docker 在现有镜像上提交

标签 docker-container docker-image

每次发出 commit 命令时,Docker commit 都会创建一个新镜像。是否可以在当前运行的容器上发出提交并将更改保存到现有图像((此处的现有图像是生成容器的图像))。这样每次执行提交时都不会创建新图像。

请让我知道这是否可能?

最佳答案

使用名称和标签已经更新了您想要的图像。确保在提交期间将相同图像的名称放在容器 ID 之后。来自 doc :

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton

$ docker commit c3f279d17e0a  svendowideit/testimage:version3

编辑:我强烈建议您在继续之前停止容器,这样可以减少下次运行进入陈旧状态的机会。此外,使用不同的标签,测试它,然后重新标记到您的真实目标可能是个好主意。

编辑 2:正如@MilindDeore 所指出的,这不会在物理上覆盖之前的图像,而是重新命名名称。因此,您可能必须手动删除或等待它被垃圾收集(如果已到位)。

关于docker-container - Docker 在现有镜像上提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44222376/

相关文章:

bash - 如何通过命令行获取基于 docker 镜像名称的容器 ID?

docker - 如何在Dockerfile本身中设置断点?

php - 安装mongodb pecl软件包时出现问题:/tmp/pear/temp/mongodb/configure:./configure.lineno:第1行:语法错误:引号未终止

Docker:使用 dockerfile 在 Windows 容器上安装 chrome

docker - 为什么docker ps -a的name列总是不一样

docker - 如何在docker容器中正确安装npm包

mysql - Docker:连接到 mysql 时遇到问题,网络问题?

git - 如何将本地机器的 SSH key 传递给 docker 容器?

asp.net - Docker-Windows IIS镜像- 'Remove-Website'无法识别为内部或外部命令,

docker - 如何在 Centos 7 上更改 Docker IP 地址?