Docker中(高)階一日工作坊Part1
Michael.K
來自台北
來回快五小時車程
(共600公里的距離...)
如果有回饋我會很開心的
感謝以下單位
HWD友情播出
開始之前
講一下大綱以及注意事項
關於第一部份
Docker(容器)進化史
Docker架構以及生命週期
Docker名詞介紹
關於安裝
先介紹歷史
Container歷史談
1979 chroot
2000 FreeBSD jail
2004 Solaris Zones
2008 LXC
2013 Docker
2016 Windows Container
Docker = OS App
You should to know
在docker 1.10前
依賴LXC、libvirt、systemd-nspawn
LXC還是需要一個較完整的VM
在docker 1.10(含)後
libcontainer
完全擺脫LXC的依賴
全部由golang打造
需要linux kernel 3.10(所以CentOS不一定能用)
解釋名詞: stateful
Docker相關名詞
Repository
就像是apt、brew或是yum的來源一樣
存了很多image (Package)
Image
相當於Package
有多個layer(層),每個layer都紀錄了檔案資料
每一層的layer都有一個特殊的hash
這個hash可能可以在不同image出現
Container
由image建立而成
相當於一個一個的程式
必須
要有一個foreground在跑的程式
Network
主要分為幾種
none
bridge
overlay
container
host
Volume
docker內的持久化(stateful)空間
等同本機空間
docker生命週期
client呼叫docker daemon
docker daemon與host network / host cgroups溝通
判斷docker container是否存在
從local image將layer解開
如果local image不存在的話從repository拿
建立docker container
關於安裝
建議
不要Windows
關於安裝在Windows
Windows Hyper-V
Windows
Enterprise
Education
Professional
上次遇到的情況
Windows 7
WIndows XP
Windows 10 Home
主機板不支援
相依Linux Kernel
請使用3.10+
千萬不要用apt / yum安裝
curl https://get.docker.com | bash
但是我不會建議這樣做
lmgfy: docker edge mac
安裝示範
Made with Slides.com