当前位置: 首页 > news >正文

4-Docker命令之docker commit

1.docker commit介绍

docker commit命令是用于根据docker容器的改变创建一个新的docker镜像

2.docker commit用法

docker commit [参数] container [repository[:tag]]

[root@centos79 ~]# docker commit --helpUsage:  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]Create a new image from a container's changesAliases:docker container commit, docker commitOptions:-a, --author string    Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")-c, --change list      Apply Dockerfile instruction to the created image-m, --message string   Commit message-p, --pause            Pause container during commit (default true)
[root@centos79 ~]# 

3.实例

3.1.基于容器更改创建新镜像

-->进入运行中的docker容器

命令:

docker exec -it centos-ssh /bin/bash

[root@centos79 ~]# docker ps -a | grep centos-ssh
803b6b35366a   centos-ssh:1.0         "/bin/sh -c '/usr/sb…"   12 minutes ago   Up 12 minutes   0.0.0.0:32768->22/tcp, :::32768->22/tcp                                                centos-ssh
[root@centos79 ~]# docker exec -it centos-ssh /bin/bash
[root@803b6b35366a ansible]# 

-->在容器内部使用vim命令

命令:

vim

[root@803b6b35366a ansible]# vim
bash: vim: command not found
[root@803b6b35366a ansible]# 

提示没有vim命令

-->docker容器内安装vim命令

命令:

yum install vim -y

[root@803b6b35366a ansible]# yum install vim -y
Loaded plugins: fastestmirror, ovl
http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
base                                                                                                            | 3.6 kB  00:00:00     
extras                                                                                                          | 2.9 kB  00:00:00     
updates                                                                                                         | 2.9 kB  00:00:00     
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.629-8.el7_9 will be installed
--> Processing Dependency: vim-common = 2:7.4.629-8.el7_9 for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: which for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: libgpm.so.2()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Running transaction check
---> Package gpm-libs.x86_64 0:1.20.7-6.el7 will be installed
---> Package vim-common.x86_64 2:7.4.629-8.el7_9 will be installed
--> Processing Dependency: vim-filesystem for package: 2:vim-common-7.4.629-8.el7_9.x86_64
---> Package which.x86_64 0:2.20-7.el7 will be installed
--> Running transaction check
---> Package vim-filesystem.x86_64 2:7.4.629-8.el7_9 will be installed
--> Finished Dependency ResolutionDependencies Resolved=======================================================================================================================================Package                            Arch                       Version                               Repository                   Size
=======================================================================================================================================
Installing:vim-enhanced                       x86_64                     2:7.4.629-8.el7_9                     updates                     1.1 M
Installing for dependencies:gpm-libs                           x86_64                     1.20.7-6.el7                          base                         32 kvim-common                         x86_64                     2:7.4.629-8.el7_9                     updates                     5.9 Mvim-filesystem                     x86_64                     2:7.4.629-8.el7_9                     updates                      11 kwhich                              x86_64                     2.20-7.el7                            base                         41 kTransaction Summary
=======================================================================================================================================
Install  1 Package (+4 Dependent packages)Total download size: 7.1 M
Installed size: 23 M
Downloading packages:
(1/5): gpm-libs-1.20.7-6.el7.x86_64.rpm                                                                         |  32 kB  00:00:08     
(2/5): vim-enhanced-7.4.629-8.el7_9.x86_64.rpm                                                                  | 1.1 MB  00:00:21     
(3/5): vim-filesystem-7.4.629-8.el7_9.x86_64.rpm                                                                |  11 kB  00:00:03     
(4/5): which-2.20-7.el7.x86_64.rpm                                                                              |  41 kB  00:00:06     
vim-common-7.4.629-8.el7_9.x86 FAILED                                                                ]   99 B/s | 3.2 MB  11:12:56 ETA 
http://mirrors.163.com/centos/7/updates/x86_64/Packages/vim-common-7.4.629-8.el7_9.x86_64.rpm: [Errno 12] Timeout on http://mirrors.163.com/centos/7/updates/x86_64/Packages/vim-common-7.4.629-8.el7_9.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
vim-common-7.4.629-8.el7_9.x86 FAILED                                          
http://mirrors.163.com/centos/7/updates/x86_64/Packages/vim-common-7.4.629-8.el7_9.x86_64.rpm: [Errno 12] Timeout on http://mirrors.163.com/centos/7/updates/x86_64/Packages/vim-common-7.4.629-8.el7_9.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(5/5): vim-common-7.4.629-8.el7_9.x86_64.rpm                                                                    | 5.9 MB  00:02:02     
---------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                   33 kB/s | 7.1 MB  00:03:35     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 2:vim-filesystem-7.4.629-8.el7_9.x86_64                                                                             1/5 Installing : 2:vim-common-7.4.629-8.el7_9.x86_64                                                                                 2/5 Installing : which-2.20-7.el7.x86_64                                                                                             3/5 
install-info: No such file or directory for /usr/share/info/which.info.gzInstalling : gpm-libs-1.20.7-6.el7.x86_64                                                                                        4/5 Installing : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                                                                               5/5 Verifying  : gpm-libs-1.20.7-6.el7.x86_64                                                                                        1/5 Verifying  : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                                                                               2/5 Verifying  : which-2.20-7.el7.x86_64                                                                                             3/5 Verifying  : 2:vim-common-7.4.629-8.el7_9.x86_64                                                                                 4/5 Verifying  : 2:vim-filesystem-7.4.629-8.el7_9.x86_64                                                                             5/5 Installed:vim-enhanced.x86_64 2:7.4.629-8.el7_9                                                                                                Dependency Installed:gpm-libs.x86_64 0:1.20.7-6.el7 vim-common.x86_64 2:7.4.629-8.el7_9 vim-filesystem.x86_64 2:7.4.629-8.el7_9 which.x86_64 0:2.20-7.el7Complete!
[root@803b6b35366a ansible]# which vim
/bin/vim
[root@803b6b35366a ansible]# 

-->退出docker容器,使用docker commit命令将此已经安装vim命令的docker容器进行commit,以便未来使用

命令:

exit

docker commit centos-ssh centos-vim:1.0

docker images | grep -i centos-vim

[root@803b6b35366a ansible]# exit
exit
[root@centos79 ~]# docker commit centos-ssh centos-vim:1.0
sha256:fc50e118f3914fc6e29c5727b42aaed8bd9589c18fda540bcaae30ee563a906a
[root@centos79 ~]# docker images | grep centos-vim
centos-vim                   1.0           fc50e118f391   29 seconds ago   1.01GB
[root@centos79 ~]# 

-->基于新的镜像进行验证

命令:

docker run -itd -P --privileged --name centos-vim centos-vim:1.0

docker exec -it db944 /bin/bash

[root@centos79 ~]# docker run -itd -P --privileged --name centos-vim centos-vim:1.0
db944665b1a0596f208b1fa2442bbf9540e6d868a885fb05edc1100f4888aeef
[root@centos79 ~]# docker exec -it db944 /bin/bash
[root@db944665b1a0 ansible]# which vim
/bin/vim
[root@db944665b1a0 ansible]# 

相关文章:

  • 网络存储技术
  • 阿里云 ACR 制品中心 AI/大数据镜像专场上新推荐榜
  • pytorch学习5-最大池化层的使用
  • 美化博客园的个人主页
  • 企业微信小群发公告的接口和功能测试
  • Redis生产实战-Redis集群故障探测以及降级方案设计
  • 【注册测绘师备考——8.宁夏回族自治区测绘管理条例】
  • 为 Compose MultiPlatform 添加 C/C++ 支持(2):在 jvm 平台使用 jni 实现桌面端与 C/C++ 互操作
  • 持续集成交付CICD:Jenkins流水线实现Nexus制品晋级策略
  • python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
  • 2023济南大学acm新生赛题解
  • android-xml语法
  • go-fastfds部署心得
  • 办公word-从不是第一页添加页码
  • this.$emit(‘update:isVisible‘, false)作用
  • bearychat的java client
  • JavaScript类型识别
  • JAVA并发编程--1.基础概念
  • js作用域和this的理解
  • Meteor的表单提交:Form
  • Nodejs和JavaWeb协助开发
  • Quartz初级教程
  • Vue ES6 Jade Scss Webpack Gulp
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 给github项目添加CI badge
  • 给Prometheus造假数据的方法
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用SAX解析XML
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 硬币翻转问题,区间操作
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 阿里云服务器如何修改远程端口?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​一些不规范的GTID使用场景
  • #if等命令的学习
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (k8s中)docker netty OOM问题记录
  • (Note)C++中的继承方式
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (笔记)M1使用hombrew安装qemu
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (离散数学)逻辑连接词
  • (利用IDEA+Maven)定制属于自己的jar包
  • (十七)Flink 容错机制
  • (五)c52学习之旅-静态数码管
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .NET Framework 3.5安装教程
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • .Net多线程总结