史上最快Docker入門!(三)-Docker的映象和容器
1 Docker架構和底層技術簡介

Docker Platform

Docker Engine



Docker Architecture

底層技術支援
2 Docker Image概述


dockerimage結構
從基本的看起,一個典型的 Linux 檔案系統由 bootfs 和 rootfs 兩部分組成,
- bootfs(boot file system) 主要包含 bootloader 和 kernel,bootloader 主要用於引導載入 kernel,當 kernel 被載入到記憶體中後 bootfs 會被 umount 掉
-
rootfs (root file system) 包含的就是典型 Linux 系統中的/dev,/proc,/bin,/etc 等標準目錄和檔案
docker image 中最基礎的兩層結構
不同的 linux 發行版(如 ubuntu 和 CentOS ) 在 rootfs 這一層會有所區別,體現發行版本的差異性
傳統的 Linux 載入 bootfs 時會先將 rootfs 設為 read-only,然後在系統自檢之後將 rootfs 從 read-only 改為 read-write,然後就可在 rootfs 上進行讀寫操作了
但 Docker 在 bootfs 自檢完畢之後並不會把 rootfs 的 read-only 改為 read-write,而是利用 union mount(UnionFS 的一種掛載機制)將 image 中的其他的 layer 載入到之前的 read-only 的 rootfs 層之上,每一層 layer 都是 rootfs 的結構,並且是read-only 的。所以,我們是無法修改一個已有映象裡面的 layer 的!只有當我們建立一個容器,也就是將 Docker 映象進行例項化,系統會分配一層空的 read-write 的 rootfs ,用於儲存我們做的修改。一層 layer 所儲存的修改是增量式的,就像 git 一樣
2.2 image的獲取
image的獲取-1

image的獲取-2

image的獲取-2

sudo docker pull ubuntu:16.04


官方映象倉庫
3 DIY Base Image

無需再用 sudo 許可權





執行結果

vim Dockerfile

docker build -t root/hello-world .


docker run root/hello-world
4 初識Container

什麼是 Container