打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
docker学习15-Docker 使用修改后容器来创建镜像

前言

前面讲通过 Dockefile 可以制作自己的镜像,通过镜像创建容器启动服务,有时候需要修改容器里面的内容,比如我们想改点BUG。
我们可以直接在容器里面修改,验证通过后,基于现有的容器创建一个新的镜像。

docker commit

docker commit 命令是从容器创建一个新的镜像, 基本语法

docker commit [OPTIONS] 容器名称或id 镜像名称:tag

PTIONS参数说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

修改容器内容

先通过基础镜像,启动一个容器后

[root@VM_0_2_centos ~]# docker images
django_yoyo latest 984e5b0a9896 7 weeks ago 1.2GB
[root@VM_0_2_centos ~]# docker run -d -p 8004:8000 --name web_yoyo1 django_yoyo
874813d5c13fa002f6c5886a6b4c2cbc7d96639a3c8ef4de9154d4352b61b70b

docker exec 进入到容器

docker exec -it web_yoyo1 /bin/bash

可以查看容器内部的文件

root@874813d5c13f:/code# ls
1 Dockerfile LICENSE __pycache__ djoflower.out 2 images manage.py requirements.txt suite uwsgi.ini
ApiManager HttpRunnerManager README.md celerybeat.pid hrun_case.zip logs reports static templates
root@874813d5c13f:/code#

我想通过vi 去编辑文件

root@874813d5c13f:/code# vi requirements.txt
bash: vi: command not found

发现没有vi 命令 ,出现bash: vi: command not found

使用apt-get工具下载vim命令行工具

apt-get update
apt-get -y install vim

等下载完成后,就有vi命令编辑了

最后exit退出容器,回到宿主机上

容器创建新镜像

前面在容器里面做了一些修改,安装了vim 命令行工具,接着我们基于前面的容器构建一个新的镜像

使用docker commit 创建新的镜像,先查看容器id

[root@VM_0_2_centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
874813d5c13f django_yoyo "python..." 38 minutes ago Up 38 minutes 0.0.0.0:8004->8000/tcp web_yoyo1

通过容器的 CONTAINER ID 值874813d5c13f 或者NAMES名称 web_yoyo1来创建新镜像

[root@VM_0_2_centos ~]# docker commit web_yoyo1 new_web:v1.0
sha256:ee5f78f470f9c715b0df77eead2dececad6d998b615138f69acfc28f8e95cd03

也可以带上-a和-m参数添加镜像提交信息

[root@VM_0_2_centos ~]# docker commit -a "author_yoyo" -m "add vim" web_yoyo1 new_web:v1.1
sha256:078d76416146e0901a948cb8ca9ec3c79425360767caa03602c6810d54e4f25b

最后docker images 查看刚才构建的本地镜像

[root@VM_0_2_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new_web v1.0 ee5f78f470f9 About a minute ago 1.24GB
new_web v1.1 078d76416146 22 minutes ago 1.24GB
django_yoyo latest 984e5b0a9896 7 weeks ago 1.2GB

这样我们的新镜像就构建成功了
2020年第五期《python接口自动化+测试开发》课程,10月11号开学(火热报名中!)
10月11-1月320:30-22:30

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Docker从入门到精通,看这一篇就够了
Elasticsearch数据库 | Elasticsearch-7.5.0应用搭建实战
Docker深入浅出系列 | 容器初体验
PANDA姐的docker学习笔记-1
想理解、会用Docker,这篇文章就够了!
跟我一起学docker(二)–核心概念和安装 – IT人故事会
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服