一、從公網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服務器鏡像。