1、是什么
Docker 镜像
是什么
docker images
xxxxxx
UnionFS(联合文件系统)
xxxxx
Docker镜像加载原理
xxxx
分层的镜像
xxxx
docker pull hello-world
docker images
docker pull centos
docker images
400M
tomcat 几百M???
docker pull mongo
为什么 Docker 镜像要采用这种分层结构呢
base镜像
第一个镜像非常慢
下载后面的都很快
特点
Docker镜像都是只读的 当容器启动时,一个新的可写层被加载到镜像的顶部。 这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
Docker镜像commit操作补充
docker commit提交容器副本使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
回顾
常用命令,镜像命令,思考
容器命令,P p
案例演示
从Hub上下载tomcat镜像到本地并成功运行
docker run -it -p 8080:8080 tomcat
docker images tomcat
docker run -it -p 8888:8080 tomcat
8888 docker对外暴露的端口
8080 tomcat的端口
docker ps
浏览器访问 localhost:8888
docker run -it P tomcat
随机分配
docker ps
docker ps -n 3
故意删除上一步镜像生产tomcat容器的文档
docker ps
docker exec -it 434 /bin/bash
cd /usr/local/tomcat/webapps
ls
rm -rf docs
打开火狐访问8888
刷新没有doc
也即当前的tomcat运行实例是一个没有文档内容的容器, 以它为模板commit一个没有doc的tomcat新镜像atguigu/tomcat02
docker search tomcat
命名空间atguigu
docker ps
提交
docker commit -a="zzz" -m= "tomcat without doc" 34343 atguigu/mytomcat:1.2
docker images
docker ps -q
docker rm -f $(docker ps -q)
docker images
docker run -it -p7777:8080 atguigu/mytomcat:1.2
浏览器访问7777
新的镜像1.2生成的容器没有docs
没有docs
docker run -it -p 7788:8080 tomcat
有docs
启动我们的新镜像并和原来的对比
启动atguigu/tomcat02,它没有docs
新启动原来的tomcat,它有docs
前台运行,交互式
docker run -it -p 7777:8080 tomcat
后台守护
docker run -d -p 6666:8080 tomcat
docker ps
原文地址:https://www.cnblogs.com/venicid/p/11879400.html