1. 程式人生 > 其它 >容器化-Docker-4-Docker映象

容器化-Docker-4-Docker映象

目錄

Docker映象

什麼是映象

映象:

  • 只讀的(映象檔案禁止修改的)
  • 分層的(優化空間使用,相同層使用同一份資料,每層資料都在/var/lib/docker/overlay2/存著)
  • 程式以及依賴二進位制檔案集合(程式打包)

簡單點理解:一堆檔案

容器:

  • 映象(只讀) + 一層讀寫層 + 程式執行底層基礎(核心建立的獨立名稱空間)

映象建立

  • Dockerfile(推薦)

映象和容器的區別

用區別來說映象和容器不太恰當,映象可以獨立於容器存在,但是容器的啟動需要映象,他們更像階段的概念,容器是為執行的容器,容器是正在執行的映象

Docker映象管理(操作物件是映象)

檢索映象

docker search [image_name]
image_name是

下載映象

[root@localhost ~]# ntpdate cn.pool.ntp.org
20 Jan 04:11:23 ntpdate[11726]: step time server 10.152.227.178 offset 13370867.149701 sec
[root@localhost ~]# docker pull redis:latest
Trying to pull repository docker.io/library/redis ...
latest: Pulling from docker.io/library/redis
8ec398bc0356: Pull complete
da01136793fa: Pull complete
cf1486a2c0b8: Pull complete
a44f7da98d9e: Pull complete
c677fde73875: Pull complete
727f8da63ac2: Pull complete
Digest: sha256:90d44d431229683cadd75274e6fcb22c3e0396d149a8f8b7da9925021ee75c30
Status: Downloaded newer image for docker.io/redis:latest

如果報錯:**x509: certificate has expired or is not yet valid**本地時間不對同步下時間

# 安裝ntpdate工具
yum -y install ntp ntpdate
# 同步
ntpdate cn.pool.ntp.org

下載並執行映象

# 如果本地沒有映象會去映象倉庫獲取映象
docker run -it busybox /bin/sh

檢視/刪除本地映象

# 檢視本地映象有那些
docker images

# 刪除本地映象使用rmi
docker rmi 9b188f5fb1e6

映象本質

Docker 映象其實本質就是一個壓縮包,我們可以使用下面的命令將一個 Docker 映象中的檔案匯出

# busybox 映象是一個Linux工具檔案集合

#docker export $(docker create busybox) | tar -C rootfs -xvf -
#ls
#bin  dev  etc  home proc root sys  tmp  usr  var

你可以看到這個 busybox 映象中的目錄結構與 Linux 作業系統的根目錄中的內容並沒有太多的區別,可以說 Docker 映象就是一個檔案。

作者:羅天帥
出處:http://www.cnblogs.com/luotianshuai/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線。