1. 程式人生 > 其它 >Docker映象介紹

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