重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
• 一个分层存储的文件 • 一个软件的环境 • 一个镜像可以创建N个容器 • 一种标准化的交付 • 一个不包含Linux内核而又精简的Linux操作系统 镜像不是一个单一的文件,而是有多层构成。我们可以通过docker history查看镜像中各层内容及大小,每层 对应着Dockerfile中的一条指令。 Docker镜像默认存储在/var/lib/docker/\ 中。
2. 镜像从哪里来
Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像, Docker工具默认从这个公共镜像库下载镜像。 地址: https://hub.docker.com/explore 配置镜像加速器: https://www.daocloud.io/mirror curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
3. 镜像与容器联系
如图,容器其实是在镜像的最上面加了一层读写层,在运行容器里文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中(读写层)。 如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的, 并不会修改镜像的源文件,这种方式提高磁盘利用率。 若想持久化这些改动,可以通过docker commit 将容器保存成一个新镜像。
4. 管理镜像常用命令
5.实战演练
启动容器: docker run -d --name=nginxserver -p 80:80 nginx 浏览器访问: http://ip 查看容器构建过程: docker image history nginx 查看镜像列表: docker images 查看镜像构建详情: docker images inspect nginx 查看当前运行的容器: docker ps docker container ls 保存镜像: docker save nginx >nginx.tar 导入镜像: docker load < nginx.tar