2:镜像管理

一、镜像管理

1、镜像是什么?

简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统。

 

2、镜像从哪里来

Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。   

https://hub.docker.com/explore

修改为国内镜像仓库:

vim /etc/docker/daemon.json
{
"registry-mirrors": [ "https://registry.docker-cn.com"]
}
systemctl restart docker #重启服务

 下面一个nginx镜像,并指定nginx版本号

docker pull nginx:1.12    #下载nginx镜像,且指定版本为1.12
docker images     #查看镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               1.12                a810e4ccb26c        3 weeks ago         108MB

 

3、镜像与容器联系

镜像不是一个单一的文件,而是有多层构成。可以通过docker history <ID/NAME>查看镜像中各层内容及大小,每层对应着Docker file中的一条指令。Docker镜像默认存储在/var/lib/docker/<storage-driver>中 。

容器其实是在镜像的最上面加了一层Container读写层,在运行容器里做的任何文件改动,都会写到这个读写层。如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。

Docker使用存储驱动管理镜像每层内容及可读写层的容器层。

docker history nginx:1.12     #查看景象中各层内容及大小
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
a810e4ccb26c        3 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL [SIGTERM]         0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  EXPOSE 80/tcp                0B                  
<missing>           3 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B                 
<missing>           3 weeks ago         /bin/sh -c set -x  && apt-get update  && apt…   53.1MB              
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=1.12.2.0.…   0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.12.2-…   0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop) ADD file:27ffb1ef53bfa3b9f…   55.3MB 

 

4、存储驱动(storage driver)

 常见Linux发行版本支持的存储驱动(下图)

存储驱动所支持的备份文件系统(下图)

官方文档链接:https://docs.docker.com/storage/storagedriver/select-storage-driver/#docker-ee-and-cs-engine

存储驱动详解:http://dockone.io/article/1765

 

5、镜像管理命令

Management Commands:      #docker管理命令,对镜像、网络、系统等
  config      Manage Docker configs
  container   Manage containers
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images (experimental)
  volume      Manage volumes

 镜像管理命令:

docker image list   #docker image后面加下表中的参数

 

posted @ 2018-03-13 16:47  Wesley·zk  阅读(318)  评论(0)    收藏  举报