docker(三)docker镜像和镜像发布方法

一、从公网docker hub 拉取image

~ # 搜索docker search centos
~ » docker pull centos admin@steven-2 Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Downloading 12.28MB/73.17MB

或者:把之前下载好的image镜像导入image

docker load -i /root/centos.xxx.xxx.xx.tar.   # -i 指定载入的镜像归档

二、查看 images 列表,docker 的镜像和数据都是在/var/lib/docker 目录下。

~ » docker images                                                                     admin@steven-2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ae513a47849c        3 weeks ago         109MB
centos              latest              e934aafc2206        7 weeks ago         199MB
------------------------------------------------------------

三、制作docker iamage 的两种方法

1、docker commit  # 保存container  的当前状态到  image 后,然后生成对应的 image

例:创建一个安装好的 nmap 黑客扫描工具的容器镜像

~ » docker run -it centos /bin/bash                                                   admin@steven-2
[root@ca699c8d7b09 /]# yum -y install nmap-ncat    #  在 container中安装 nmap-ncat

Loaded plugins: fastestmirror, ovl
base                                                                          | 3.6 kB  00:00:00
extras                                                                        | 3.4 kB  00:00:00
updates
。。。。

2、根据容器当前状态做一个  image 镜像:创建一个安装了  nmap-ncat 工具的centos镜像。

语法:docker commit <container 的 ID> <image_name>

~ » docker ps -a     # 查看容器ID:                                                                      admin@steven-2
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                            PORTS               NAMES
ca699c8d7b09        centos              "/bin/bash"              3 minutes ago       Exited (127) About a minute ago                       priceless_lumiere
fafd41a29849        nginx               "nginx -g 'daemon of…"   32 minutes ago      Created                                               webserver
------------------------------------------------------------
~ » docker commit ca699c8d7b09 centos:nmap                                                                                                                            admin@steven-2
sha256:34bad9a4e5c9c623239ee4b5f2946ef6eba38dffcfb6018bc5d41a35531a7a01
~ » docker images                                                                                                                                                     admin@steven-2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              nmap                34bad9a4e5c9        49 seconds ago      269MB
nginx               latest              ae513a47849c        3 weeks ago         109MB
centos              latest              e934aafc2206        7 weeks ago         199MB

使用新建的 centos:nmap 镜像,生成一台容器实例:

~ » docker run -ti centos:nmap /bin/bash                                 admin@steven-2
[root@f2218082e046 /]# rpm -qa nmap -ncat

方法二:使用 docker build 创建一个基于 centos 的httpd wdb服务器镜像。

原文地址:https://www.cnblogs.com/sunshine-long/p/9093085.html