Docker教程小白实操入门(7)--基于Commit定制镜像
一、需求
当某个镜像无法直接满足需求时,就可以在这些镜像的基础上修改,然后保存为新的镜像。
实例:在镜像busybox:latest
的基础上,新增了一个hello.txt
文件,形成一个镜像busybox:v1
。
二、拉取最新镜像,创建容器,对容器进行修改
# 拉取busybox:latest镜像,并新建容器container1,最后在容器里新建了一个文件hello.txt
docker run --name container1 busybox touch hello.txt
三、将“对容器的修改”保存为镜像
docker commit [OPTIONS] CONTAINER [镜像名]
[OPTIONS]
:命令选项,其中--author
指定作者,--message
制定commit
的信息;CONTAINER
:需要commit
的容器;镜像名
:新镜像的名字,以<仓库名>:<标签>
的方式来指定。如果不显示设置,将默认为None:None
。(这个代表没有指定镜像名)
本例为:
# 将container1容器保存为busybox:v1镜像
docker commit container1 busybox:v1
查看效果
# docker exec进入了该容器内部,实际上就是进入容器另开一个终端。
# 若报错,可将/bin/bash修改为/bin/sh
docker run -it --name container5 busybox:v1 /bin/bash# 查看所有文件
ls
四、使用commit定制镜像的缺陷
在实际的环境中,一般不会使用Commit
去构建一个镜像:
1. 由于commit
会将对容器做出所有的修改都保存为镜像,换句话说,就是在原有镜像的基础上,再叠加上容器的存储层(该存储层仅仅保存了容器所做的修改),将这些内容构成一个新的镜像。
2. docker commit
意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为黑箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知。
更好的定制镜像的方法:Dockerfile
!!
参考:https://www.educoder.net/shixuns/4uyn5ebp/challenges
Docker教程小白实操入门(7)--基于Commit定制镜像相关推荐
- Docker教程(一)入门教程
1.什么是 Docker 官网的介绍是"Docker is the world's leading software container platform." 官方给Docker的 ...
- 配置 Docker 镜像加速 -小白实操记录
Docker 国内仓库和镜像 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家 ...
- 靠推广电话卡月入过万,适合新人小白实操的好项目,保姆级教程分享
在如今这个信息化时代,手机已经成为了人们生活中必不可少的一部分.而随着通讯技术的不断发展,电话卡也成为了人们日常生活中必不可少的一部分.而推广电话卡成为了一种新的赚钱方式,许多人通过推广电话卡月入过万 ...
- 小白实操ESP8266AT固件烧录,版本1.7.1,希望对爱玩ESP8266的开发小伙伴有帮助!
从官方网站下载esp8266的AT固件,版本1.7.1.烧录到开发板中,使用AT指令操作esp8266 任务列表 1.重启模块: 2.查询固件版本号: 3.修改波特率为9600: 4.扫描当前环境可被 ...
- 文件系统 fsck和e2fsck使用-小白实操记录
1 区别 e2fsck只是针对ext2.ext3.ext4等ext系列文件系统的工具,fsck支持检查各种不同的文件系统,包含ext系列文件系统. 2 e2fsck命令 指令:e2fsck 使用权限 ...
- idea设置console控制台显示内容大小-小白实操记录
操作步骤如下 File-Settings→Editor→General→Console
- IDEA如何删除项目-小白实操记录
1 项目名称上右击,点击"Remove Module"删除: 2 关闭IDEA 移除后删除 idea文件夹即可
- ntp 服务端配置(/etc/ntp.conf配置详解) -小白实操记录
1 ntp 安装查看 1.1 安装命令 apt-get install ntp 1.2 查看服务是否启动 service --status-all 或者 ps -aux | grep ntp 1.3 ...
- Ubuntu 设置timesyncd时间同步、时区、 NTP同步对时-小白实操记录
1 timesyncd时间同步 Ubuntu 内置了时间同步,默认情况下使用systemd的timesyncd服务激活. 查找服务器上date最基本命令是date . 任何用户都可以输入此命令来打印日 ...
- linux上下行网速测试-小白实操记录
speedtest是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试.最后我会测试运维生存时间所在服务器的外网速度. 需要python2.4-3. ...
最新文章
- linux 信号 core,Shell 信号发送与捕捉
- 现代控制理论第八版第二章读书笔记
- android adb 传文件大小,使用adb在电脑和手机间传文件
- HarmonyOS之深入解析视频的功能和使用
- [洛谷P1074] 靶形数独
- 使用WCF建立起Silverlight客户端与服务端的桥梁
- SpringSecurity系列(一) 初识 Spring Security
- resiprocate 之repro注册
- 分布式服务弹性框架“Hystrix”实践与源码研究(一)
- POJ 2492 A Bug's Life
- c语言程序有哪几类词汇,c语言是什么 c语言必背词汇有哪些
- 第二集 第一魂环 第十三章
- 合并多个excel文件数据
- DICOM医学图像处理:fo-dicom网络传输之 C-Echo and C-Store
- 基于java的幼儿园早教网站
- 蓝桥杯龟兔赛跑预测Python(超详细!!)
- aspose.slides-15.9.0 将ppt转为pdf,去除水印
- Kaggle TMDB 票房预测挑战赛
- mdx和mdd格式的词典解析Android JNI方式实现
- 项目管理软件用哪个好?推荐这6款项目管理工具