dockerdocker镜像和镜像发布方法

Posted Mr-Lee-long

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dockerdocker镜像和镜像发布方法相关的知识,希望对你有一定的参考价值。

一、从公网docker hub 拉取image

~ # 搜索docker search centos
~ ? docker pull centos [email protected]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                                                                     [email protected]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                                                   [email protected]2
[[email protected] /]# 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:                                                                      [email protected]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                                                                                                                            [email protected]2
sha256:34bad9a4e5c9c623239ee4b5f2946ef6eba38dffcfb6018bc5d41a35531a7a01
~ ? docker images                                                                                                                                                     [email protected]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                                 [email protected]2
[[email protected] /]# rpm -qa nmap -ncat

 

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

 

以上是关于dockerdocker镜像和镜像发布方法的主要内容,如果未能解决你的问题,请参考以下文章

DockerDocker配置

云原生|DockerDocker镜像操作

DockerDocker常用命令

云原生-Dockerdocker镜像制作上传dockerfile命令解析

Docker

五十三.Docker概述部署DockerDocker镜像Docker基本命令