欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 【Docker】四、提交一个自己的镜像【commit镜像】

【Docker】四、提交一个自己的镜像【commit镜像】

2025/2/23 1:45:58 来源:https://blog.csdn.net/weixin_46157208/article/details/140140483  浏览:    关键词:【Docker】四、提交一个自己的镜像【commit镜像】

🍁commit镜像【提交一个自己的镜像】

官方文档:https://docs.docker.com/reference/cli/docker/container/commit/
官方解释:

将容器的文件更改或设置提交到新的 图像。这允许您通过运行交互式 shell 来调试容器,或者 将工作数据集导出到另一台服务器。
提交不包括挂载卷中包含的任何数据。
.
默认情况下,正在提交的容器及其进程将暂停 在提交映像时。这降低了遇到数据的可能性 在创建提交过程中损坏。如果此行为是 不需要,请将该选项设置为 false。--pause【缩写命令--p
.
该选项会将指令应用于图像 创建。

docker commit -m="提交的描述信息" -a="作者" 容器id/容器名称 目标镜像名:[TAG]
# 命令和git命令类似可选参数:
-a, --author		作者(例如,John Hannibal Smith <hannibal@a-team.com>)
-c, --change		将 Dockerfile 指令应用于创建的镜像
-m, --message		提交消息
-p, --pause	true	在提交期间暂停容器

实战测试:

【前三步具体步骤见之前发布的文章:Docker:三、安装nginx与tomcat】


# 1、启动一个默认的tomcat
# 2、默认的tomcat访问是404【默认的tomcat镜像中 webapps目录是空的】
# 3、拷贝进去webapps的基本文件
# 4、将我们操作后的容器通过commit提交为一个镜像
# 5、启动我们提交的镜像# 操作:4、将我们操作后的容器通过commit提交为一个镜像- 提交镜像【tomcat01为自己的容器名称,或者自己的容器id】
docker commit -a="test" -m="add test" tomcat01 tomcat_test:1.0- 查看全部镜像【验证是否已经提交成功】
docker images# 操作:5、启动我们提交的镜像- 启动镜像【注意记得添加版本信息(TAG),不然会默认去找(latest)最新版本,则会报错】
docker run -d -p 5408:8080 --name tomcat09 tomcat_test:1.0- 浏览器访问 localhost:5408 【如果出现tomcat的首页面,则说明成功了!】
(tomcat的原生镜像钟webapps目录为空,所以原生tomcat镜像直接运行访问是404。经过我们的容器操作(给webapps目录添加东西)再提交为镜像后,直接运行我们提交的镜像,访问后不再是404)=============操作过程==================
beihai@beihai-pc:~/桌面$ docker commit -a="test" -m="add test" tomcat01 tomcat_test:1.0
sha256:938189b62f6aa797bfd00b51021e62ff32cdad2ddb97b83a1d7a3e7d8990853c# 可以看出我们自己提交的镜像比原生镜像大出4M,因为我们往webapps目录添加了东西
beihai@beihai-pc:~/桌面$ docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
tomcat_chq            1.0       938189b62f6a   6 seconds ago   684MB
tomcat                latest    fb5657adc892   2 years ago     680MB#没加指定的【TAG】则默认去找latest版本
beihai@beihai-pc:~/桌面$ docker run -d -p 5408:8080 --name tomcat09 tomcat_test
Unable to find image 'tomcat_chq:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: server misbehaving.
See 'docker run --help'.beihai@beihai-pc:~/桌面$ docker run -d -p 5408:8080 --name tomcat09 tomcat_test:1.0
f5df83d3fec66010f94f331337017037e95d6bba6357b1b98c65f2b0b898d538


想要保存当前容器的状态,则可以通过commit来提交为镜像。
思想有点类似于VM的快照。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词