Docker镜像服务(二)

一、Docker镜像介绍

 镜像是Docker的三大核心概念之一。

Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hub公共注册服务中的仓库),我们也可以通过配置,使用自定义的镜像仓库。

二、获取最新的Ubuntu镜像

从Docker Hub的Ubuntu仓库下载一个最新的Ubuntu操作系统镜像,并下载一个centos7.2的系统镜像

# docker pull ubuntu

# docker pull centos:7.2.1511

从下载过程中可以看到分层存储的概念,镜像是由多层存储所构成。下载也是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结束后,给出该镜像完整的 sha256 的摘要,以确保下载一致性。

三、查看本地镜像信息

# docker images
# 来自于哪个仓库   镜像标签信息      镜像的ID(唯一)    创建时间        镜像大小 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest
775349758637 2 weeks ago 64.2MB centos 7.2.1511 9aec5c5fe4ba 8 months ago 195MB centos latest 1e1148e4cc2c 11 months ago 202MB

 使用docker tag为本地镜像添加新的标签, 这两个镜像的ID是一样的,只是名字不同而已。标签起到的快捷方式的作用。

# docker tag centos:7.2.1511 centos:7.2
# docker images
REPOSITORY TAG          IMAGE ID       CREATED        SIZE  centos
7.2 9aec5c5fe4ba 8 months ago 195MB centos 7.2.1511 9aec5c5fe4ba 8 months ago 195MB

四、搜索镜像

--stars=0 默认的输出结果将按照星级评价进行排序,还可看到是否官方镜像,是否自动允许用户验证镜像的来源和内容。

# docker search mysql 

 五、删除镜像

# docker rmi ubuntu:latest

# 或者复制镜像的ID全部删除
# docker rmi -f 9aec5c5fe4ba

 六、创建镜像

创建镜像有三种方法:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建。

本次主要是基于已有的镜像容器创建

6.1 首先启动一个镜像,并在其中进行修改,并退出

[root@192-168-5-91 ~]# docker run -it centos /bin/bash
[root@f2306f13f765 /]# yum install net-tools -y
[root@f2306f13f765 /]# exit

6.2使用docker commit创建容器

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
f2306f13f765        centos              "/bin/bash"         3 minutes ago       Exited (0) About a minute ago                       gracious_shockley

# docker commit -m 'install net-tools' -a 'lzfn' f2306f13f765 centos_test         # -m 提交消息,-a 作者信息
sha256:c753a863c07a4901ed72ff39110971538a40dfc66824dffad5e0060d5994b555

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos_test         latest              c753a863c07a        24 seconds ago      291MB

七、镜像的导入与导出

7.1 将镜像导出到本地文件

# docker save -o centos7.2.tar centos:7.2.1511

# docker save centos:7.2.1511 > centos7.2.tar

7.2 将本地镜像导入到docker仓库

# docker load --input centos7.2.tar

# docker load < centos7.2.tar
原文地址:https://www.cnblogs.com/cyleon/p/11866437.html