`

Docker学习6-Docker镜像commit操作案例

阅读更多

在上一篇中,我们知道了docker是基于联合文件系统的分层镜像。而且也知道了镜像是只读的,容器才是可以写的。那么,如果我们要修改镜像,修改之后,怎么提交呢?本文,凯哥将介绍,docker的提交命令

PS本系列:《Docker学习系列》教程已经发布的内容,凯哥会在文末加上。

命令公式:

docker commit  -m=“提交的描述信息” -a="作者" 容器id 要创建的目标镜像名称:[标签名]

演示案例:

那么我们就基于从远程仓库pull下来的Ubuntu。添加vim命令后,重新打一个新的镜像。

docker commit 提交容器副本使其变为一个新的镜像。

20fb6f9e1011608d04d86ef777639f2e.png

我们启动原始下载的Ubuntu。使用vim命令如下:

a3ad40caa6523d6afa87866d3e6ede3e.png

 

命令未发现。

安装vim命令:

在docker上执行以下两条命令:

apt-get update

apt-get -y install vim

d1a881c94b0c2bced0dc607116af53ec.png

需要注意

1:上面两条命令都是在容器内部执行的(因为我们是要扩展容器功能的)

2:apt-get 这两个是连接在一起的。

执行完vim后。我们试试此命令是否可以正常使用:

8b625691ef0707cfd4f895a950192427.png

说明vim已经安装成功了。

在docker宿主机使用命令公式:

docker commit -m"提交的描述信息" - a"作者" 容器id 要创建的目标镜像名:[标签名]

96da9360638864a19ea46af63628ff7b.png

注意其中的:50dba2e06051是通过docker ps获取到的

03944466a789dcdb1b9cd2fe83f95471.png

docker commit之后,我们在通过 docker images命令查看当前宿主机上有多少个镜像:

f268e984166f97a8540baa461a460223.png

我们可以看到原来Ubuntu大小是72.8M。当我们添加了vim后的镜像是179M了。说明,我们添加了vim的镜像制作成功了。

启动新镜像,和原来镜像对比:新的镜像支持vim命令。

 

总结:

Docker中的镜像分层,支持通过扩展现有的镜像,创建新的镜像。类似于我们Java中的类继承与一个Base的基础类,自己在按照自己需要来扩展一样。新的镜像是从base镜像一层一层叠加生成的,每安装一个软件,就在现有的镜像的基础上增加一层。

3a46c96c9dd8fd7958ff4de9fe648759.png

 

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

 

【Docker学习教程系列汇总】笔记及遇到问题解决文章

 

分享到:
评论

相关推荐

    通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记

    该篇文档记录了通过容器提交镜像(docker commit)以及推送镜像(docker push)的操作过程,在此分享,希望能帮助到有用到的朋友!

    docker学习思维笔记.xmind

    docker 介绍 架构 ... docker commit 镜像提交 docker commit -m="" -a="作者" 容器id 目标镜像名称:[标签名] 网络 单机 多机 Dockerfile介绍 是什么 执行流程 关键字 数据卷 容器

    docker笔记、快速使用docker拉取centos

    七、Docker镜像迁移 使用Docker将镜像从一个主机迁移到另一个主机,可以使用以下命令:`docker save 镜像名 | bzip2 | ssh root@10.140.1.120 "cat | docker load"` 八、Docker解压镜像 使用Docker解压镜像可以...

    详解Docker基于已有的镜像制新的镜像

    docker tag COMMIT-ID 经过以上几个步骤,根据当前运行的容器制作镜像就完成了。 2.上传镜像到Docker Hub 如果未登录Docker Hub,需要登录Docker Hub docker login #输入用户名和密码 推送镜像到Docker Hub ...

    Docker镜像制作流程,包括docker安装、使用、镜像的制作、及使用

    Docker 镜像制作流程详解 Docker 镜像制作流程是一系列复杂的步骤,包括 Docker 的安装、使用、镜像的制作和使用等。在本文中,我们将详细介绍 Docker 镜像制作流程的每一个步骤,并提供实用的命令和配置文件。 一...

    详解如何使用Docker部署一个web项目并打包成镜像文件

    docker基本入门以后,可以试试打包docker镜像与dockerfile了 docker镜像 docker hub仓库有2类仓库,用户仓库和顶层仓库,用户仓库由docker用户创建的,顶层仓库由docker内部的人来管理的。仓库里存放的是镜像文件,...

    17_Docker_镜像commit.avi

    17_Docker_镜像commit

    详解Docker 修改已有镜像(commit )

    先使用下载的镜像启动容器。 $ sudo docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到。 在容器中添加 json 和 gem 两个应用。 root@0b2616b0e5a8:/# gem ...

    docker-postgresql:使用 PostgreSQL 的各种 Docker 镜像

    使用 PostgreSQL 的 Docker 镜像pgserver pgserver是基本服务器映像。... > docker run pgserver configure <database> <user> <password>> docker commit `docker ps -l -q` <image>restore用于临

    docker学习笔记之把容器commit成镜像的方法

    本篇文章主要介绍了docker学习笔记之把容器commit成镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Docker视频教程.txt

    P1212_Docker镜像操作命令 P1313_Docker容器操作基本命令 P1414_Docker容器操作进阶命令 P1515_Docker容器宿主机端口映射 P1616_Docker commit提交运行时容器成为镜像 P1717_推送镜像到hub服务器 P1818_推送...

    docker的带数据容器迁移或者不带数据镜像迁移

    docker容器 >>>> commit成镜像文件 >>>> 镜像打包成文件 >>>> 传输到另一个服务器 >>>> docker装载此文件 docker commit 容器id 自定义的镜像名称 docker save -o 自定义文件名 容器提交的镜像id或者自定义名称 ...

Global site tag (gtag.js) - Google Analytics