当前位置: 首页 > 编程笔记 >

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

逄嘉禧
2023-03-14
本文向大家介绍详解Docker 修改已有镜像(commit ),包括了详解Docker 修改已有镜像(commit )的使用技巧和注意事项,需要的朋友参考一下

先使用下载的镜像启动容器。

$ sudo docker run -t -i training/sinatra /bin/bash
root@0b2616b0e5a8:/#

注意:记住容器的 ID,稍后还会用到。

在容器中添加 json 和 gem 两个应用。

root@0b2616b0e5a8:/# gem install json

当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 Docker commit 命令来提交更新后的副本。

$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。

小注:

reopsitory中不能使用大写字母及下划线。

使用 docker images 来查看新创建的镜像。

$ sudo docker images
REPOSITORY     TAG   IMAGE ID    CREATED    VIRTUAL SIZE
training/sinatra  latest 5bc342fa0b91  10 hours ago 446.7 MB
ouruser/sinatra   v2   3c59e02ddd1a  10 hours ago 446.7 MB
ouruser/sinatra   latest 5db5f8471261  10 hours ago 446.7 MB

之后,可以使用新的镜像来启动容器

$ sudo docker run -t -i ouruser/sinatra:v2 /bin/bash
root@78e82f680994:/#

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍详解docker国内镜像拉取和镜像加速registry-mirrors配置修改,包括了详解docker国内镜像拉取和镜像加速registry-mirrors配置修改的使用技巧和注意事项,需要的朋友参考一下 由于国内访问直接访问Docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。 我比较常用的是网易的镜像中心和daoc

  • 本文向大家介绍理解Docker(2):Docker 镜像详细介绍,包括了理解Docker(2):Docker 镜像详细介绍的使用技巧和注意事项,需要的朋友参考一下 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 -

  • 本文向大家介绍Docker 镜像和容器的区别详解,包括了Docker 镜像和容器的区别详解的使用技巧和注意事项,需要的朋友参考一下  最近学习Docker,被Docker 的镜像和容器搞的晕头转向,索性上网查找相关资料并整理下彻底的理解这块内容,有需要的小伙伴可以看下,少走点弯路。 Docker的镜像和容器的区别         一、Docker镜像 要理解Docker镜像和Docker容器之间的

  • 通过前面的介绍,我们知道了Docker 镜像是多个基于 UnionFS 的镜像层依次挂载的结果,而容器的文件系统则是在以只读方式挂载镜像后增加的一个可读可写的文件系统复合而成。 Docker 中为我们提供了将容器中的这个可读可写的环境持久化为一个镜像层的方法,即docker commit。 docker commit将容器修改的内容保存为镜像,我们可以把它理解为提交容器的更改。 1.生成变更后的镜

  • 拉取官方 Docker 镜像 docker pull apache/shardingsphere-proxy 手动构建 Docker 镜像(可选) git clone https://github.com/apache/shardingsphere mvn clean install cd shardingsphere-distribution/shardingsphere-proxy-dist

  • 我在docker中创建了一个图像。安装了Ubuntu、JDK和其他几个库。然后我退出了容器并进行了这样的提交 我又启动了容器 这次我安装了gradle和其他几个库。然后退出容器,再次提交。 每次我执行提交操作时,都会创建一个新图像,并保留带有存储库和标记的旧图像。按照这个工作流程,我很快就会用完空间。这是使用docker的正确方法吗?如何确保所有这些图像都消失。 我正在windows 10上使用d