Docker映象介紹
阿新 • • 發佈:2021-12-31
一、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