首页 > 其他分享 >Docker学习6-Docker镜像commit操作案例

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

时间:2022-12-08 09:46:40浏览次数:69  
标签:vim 学习 命令 镜像 commit Docker docker

在上一篇中,我们知道了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学习教程系列汇总】笔记及遇到问题解决文章

 

标签:vim,学习,命令,镜像,commit,Docker,docker
From: https://www.cnblogs.com/kaigejava/p/16965226.html

相关文章

  • shell脚本列出docker所有tag
    docker-tags-list.sh#!/bin/bash#-----------------------------------------------------------------#FileName:docker-tags-list.sh#Date:2021-12-24#Author......
  • docker安装es和kibana, 解决No Living connections error 笔记
    转自:https://blog.csdn.net/weixin_43824526/article/details/1236412461.安装好docker2.安装es(elasticsearch的简写)和kibana,最好是版本一致dockerpullelasticsearch:7.......
  • Docker macvlan
    默认情况下docker使用bridge网络,这是一个私有网络,只能在host和container之间互通,如果发布服务,需要使用端口映射的方式来解决,比如一个nginx容器要想对外提供服务则在容器启......
  • Docker学习笔记九:Docker数据卷知识【重要】
    介绍 目的数据卷(DataVolumes)是宿主机中的一个目录或文件,数据卷的设计目的就是数据的持久化,完全独立于容器的生存周期。一个数据卷可以被多个容器同时挂载,一个容器也......
  • 快速安装docker
    本方法适用于红帽系的linux#安装yum源yum-config-manager--add-repohttps://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repoyummakecachefast#安装......
  • docker-compose的命令补全
    找文件docker-compost官方github地址https://github.com/docker/compose切换master分支点击复制在/etc/bash_completion.d/下新建docker-compose文件,保存退出后......
  • ubuntu安装docker
    sudoaptupdatesudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg......
  • dockerfile 缩减镜像
    title:Dockerfile缩减镜像技巧categories:-dockersummary:Dockerfile缩减镜像技巧Dockerfile缩减镜像技巧构建上下文执行dockerbuild命令时,当前的工作......
  • docker部署项目
    (文章目录)<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">前言<fontcolor=#999AAA>为了提高服务器的利用率,且便于项目部署及发布,服务......
  • docker部署项目
    @目录前言一、下载安装docker:1.前提工作1.1查看linux版本1.2yum包更新到最新1.3安装工具包1.4设置yum源并更新yum包索引2.安装docker2.1安装docker-ce2.2启动docker2......