docker簡介及安裝
theme: orange highlight: atom-one-dark-reasonable
Docker 入門教程
Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。
Docker 可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在本地編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機器)、bare metal、OpenStack 叢集和其他的基礎應用平臺。
容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。
優勢分析
Docker 是一個用於開發,交付和執行應用程式的開放平臺。Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。藉助 Docker,可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付,測試和部署程式碼,可以大大減少編寫程式碼和在生產環境中執行程式碼之間的延遲。
與虛擬機器比較
- 使用核心虛擬化技術速度更快
- 系統資源佔用少,一臺主機上可以同時執行數千個 Docker 容器。
- 起動速度秒級,而虛擬機器分鐘級
- 硬碟佔用更少,虛擬機器是完整系統佔用往往達到G級
Docker的思想
- 集裝箱: a. 會將所有需要的內容放到不同的集裝箱中,誰需要這些環境就直接拿到這個集裝箱就可以了
- 標準化: a. 運輸的標準化:Docker有一個碼頭,所有上傳的集裝箱都放在了這個碼頭上,當誰需要某一個環境,就直接指派大海豚去搬運這個集裝箱就可以了。 b. 命令的標準化:Docker提供了一系列的命令,幫助我們去獲取集裝箱等等操作。 c. 提供了REST的API:衍生出了很多圖形化介面,Rancher。
- 隔離性: a. Docker在執行集裝箱內的內容時,會在LInux的核心中,單獨的開闢一片空間,這片空間不會影響到其他程式。
- 映象:就相當於是一個 root 檔案系統。比如官方映象 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統
- 容器:容器是從映象建立的執行物件,也是我們最終應用的場所。可以啟動/刪除/停止,容器間都是相互獨立的,類似面向物件程式設計中的物件
- 倉庫:型別於管理映象的GITHUB,可以將映象提交到倉庫,供其他使用者或其他平臺輕鬆使用
Docker的安裝
Docker支援很多種作業系統,例如:Ubuntu,CentOS,Windows;這裡就簡單的為大家講解下Ubuntu
下的安裝和使用
為了安裝方便,這裡建議大家使用root賬戶
- 更新apt包索引
sh
sudo apt-get update
- 允許apt通過HTTPS安裝
shell
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
- 安裝Docker的官方GPG證書
shell
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
寫入軟體源資訊
shell sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
更新apt包索引。
shell sudo apt-get update
-
安裝最新版本的Docker CE和containerd
shell
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 通過執行hello-world 映像驗證是否正確安裝了Docker CE
shell
sudo docker run hello-world

程序維護
- 停止、啟動、重啟docker
shell
sudo systemctl start | stop | restart docker.service
- 檢視docker版本
shell
sudo docker version
- 設定開機自啟
shell
sudo systemctl enable docker
- 開機啟動檢測
shell
sudo systemctl list-unit-files | grep docker
映象加速
提升國內使用者訪問 Docker Hub 拉取映象的速度及穩定性。
LINUX
- 修改配置檔案
shell
sudo vim /etc/docker/daemon.json
- 新增國內映象
text
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
- 更新映象快取
shell
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker的中央倉庫
- https://hub.docker.com Docker官方的中央倉庫:這個倉庫是映象最全的,但是下載速度很慢
- https://c.163yun.com/hub#/home 國內的映象網站:網易蜂巢、daoCloud...
- http://hub.daocloud.io (推薦使用)
- 在公司內部會採用私服的方式拉取映象。(新增配置)
到這裡,docker環境就算大功告成了,小夥伴們自己動手嘗試下吧