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
安裝示範
Docker一日工作坊P1
By michael34435
Docker一日工作坊P1
- 1,305