|
1、Docker 安装
Ubuntu 16安装Docker
$ sudo apt-get update
$ sudo apt-get install –y docker.io
$ sudo systemctl start docker
$ sudo systemctl enable docker
CentOS 7安装Docker
# yum install –y docker-io
# systemctl start docker.service
# systemctl enable docker.service
2、Docker 镜像管理
Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自己的定义的镜像仓库。
2.1 获取镜像
命令格式为:docker pull NAME[:TAG]
如果不显式地指定TAG,默认会选择latest标签,即下载仓库中最新版本的镜像。
# docker pull centos:6 #或者docker pull registry.hub.docker.com/centos:6 从指定的注册服务器下载镜像
下载过程中可以看出,镜像文件一般由若干层组成,行首7b52546cd236这样的字串代表了各层的ID,下载过程中会获取并输出镜像的各层信息。层(Layer)其实是AUFS(Advanced Union File System,一种联合文件系统)中的重要概念,是实现增量保存与更新的基础。
镜像下载完,就可以利用刚才下载的镜像创建容器了。
# docker run –t –i centos:6 /bin/bash
2.2 查看镜像
# docker images #查看本机上下载的镜像
其中:
REPOSITORY ---表示来自于哪个仓库
TAG ---表示镜像的标签信息
IMAGE ID ---表示镜像ID
# docker tag d1.dockerpool.com:5000/centos:latest centos:7
为镜像添加一个新的标签:centos:7,但它跟以前的镜像ID是一样的。
# docker inspect 5506de2b643b #查看镜像的详细信息
命令返回的是一个JSON格式的信息,如果我们只要其中的一项内容,可以使用-f参数来指定,例如:
# docker inspect –f {{“.Architecture”}} 550
2.3 搜寻镜像
# docker search mysql
参数:
--automated=false 仅显示自动创建的镜像
--no-trunc=false 输出信息不截断显示
-s,—stars=0 指定仅显示评价为指定星级以上的镜像
2.4 删除镜像
删除镜像前,必须确定没有基于该镜像创建的容器,如果有,必须先删除容器,才能删除对应的镜像。
# docker rmi 2318d26665ef #2318d26665ef 为镜像ID
2.5 创建镜像
创建镜像的方法有3种:基于已有镜像的容器创建、基于本地模版导入、基于Dockerfile创建。
2.5.1 基于已有镜像的容器创建-镜像
该方法主要是使用docker commit 命令,其命令格式为:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] , 主要选项包括:
-a , --author=”” 作者信息
-m ,—message=”” 提交信息
-p, --pause=true 提交时,暂停容器的运行
以下操作将创建1个容器,并创建文件test.
[root@docker-1 ~]# docker run -ti centos:6 /bin/bash
[root@d79b9ab0a34a /]# touch test
[root@d79b9ab0a34a /]# exit
-----------------------------------------------------------------------------------------------
[root@docker-1 ~]# docker commit d79b9ab0a34a test #将创建容器另存成了镜像 [root@docker-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest b9068a1f5c3e 50 seconds ago 194.7 MB
docker.io/centos 6 c1bc39e37fd0 2 weeks ago 194.7 MB
docker.io/centos 7 8140d0c64310 2 weeks ago 192.5 MB
----------------------------------------------------------------------------------------------
2.6 保存和载入镜像
可以使用docker save 和 docker load 命令来保存和载入镜像。
# docker save –o centos-6.tar centos:6
# docker load --input centos-6.tar
# docker load < centos-6.tar
|
|
|
|
|
|
|