容器現在風行于 IT 界 —— 這很好了解。容器是輕量級的,包含運用運轉所需一切東西(代碼、庫、運轉時環境、體系設置,以及依賴聯系)的獨立的包。每個容器都布置于它自己的 CPU、內存、塊 I/O,以及網絡資源上,一切這些都不依賴于某個內核和操作體系。這也是容器與
虛擬機之間最大的不同;相比之下,虛擬機是一個運轉于宿
主機操作體系上的完好的操作體系渠道,而容器不是。
容器允許你以一種前所未有的方法擴展交付才能(不管內部還是外部的)。例如,你能夠快速布置多個 NGINX 實例(甚至能夠運用于多個不同的階段 —— 比方開發和出產階段)。跟虛擬機不同,容器不會耗費太多體系資源。
Docker 使得創立、布置,和辦理容器變得特別簡略。更好的是,裝置和運用 Docker 在 Linux 渠道上特別的便利。
我將會向你演示在 Linux 上裝置 Docker 是多么便利,同時帶你入門 Docker。我的演示渠道是 Ubuntu 16.04 Server,但流程在大多數其它 Linux 渠道都差不多。
我這兒假設你現已啟動了 Ubuntu Server 16.04。
裝置
因為 Ubuntu Server 16.04 缺少圖形界面,我會完全經過指令行來裝置和運用 Docker。在你裝置前,你需求更新 apt 然后進行必要的晉級。必定要留意,若體系內核晉級了,你會需求重啟體系。因此最好挑個
服務器能重啟的時刻進行。
運轉下面指令更新 apt:
1.sudo apt update
完結后,運用指令晉級體系:
1.sudo apt upgrade
若內核晉級了,你需求用下面指令重啟服務器:
1.sudoreboot
若內核沒有晉級,你就能夠裝置 Docker 了(無需重啟)。裝置 Docker 的指令為:
1.sudo apt install docker.io
若你運用的是其它 Linux 發行版,當嘗試用相應的包辦理器來裝置時卻發現沒有 docker.io 包,則你應該裝置 docker 包。例如,在 Fedora 上裝置應該用指令:
1.sudo dnf install docker
若你運用的是 CentOS 7,那么最好運用裝置腳本來裝置 docker。首先運用指令 sudo yum check-update 更新體系。晉級完后,輸入下面指令來
下載并運轉所需的腳本:
1.curl -fsSL https://get.docker.com/ / sh
默許情況下,只有辦理員權限能夠運轉 docker 指令。考慮到安全問題,你不會想用 root 用戶或運用 sudo 來運轉 Docker 的。要處理這個問題,你需求將自己的用戶加入到 docker 組中。指令如下:
1.sudousermod-a -G docker $USER
完結操作后,登出體系然后再從頭登錄,應該就搞定了。不過若你的渠道是 Fedora,則添加用戶到 docker 組時會發現這個組是不存在的。那該怎么辦呢?你需求首先創立這個組。指令如下:
1.sudogroupadd docker &&sudo gpasswd -a ${USER} docker &&sudosystemctl restart docker
2.newgrp docker
登出后再登錄。就能夠開端用 Docker 了。
啟動,暫停以及啟用 Docker
裝置好 Docker 后,你能夠讓體系在啟動時自動啟動 Docker 守護進程。運用下面兩個指令來完成這一點:
1.sudosystemctl start docker
2.sudosystemctl enable docker
若需求暫停或重啟 Docker 守護進程,則指令為:
1.sudosystemctl stop docker
2.sudosystemctl restart docker
現在能夠用 Docker 來布置容器了。
拉取鏡像
對 Docker 來說,鏡像是構建容器的基石。你能夠拉下一個鏡像(比方 NGINX)然后依據這個鏡像布置恣意多個容器出來。運用鏡像前,你首先需求把鏡像拉取到體系中。鏡像從注冊倉庫中拉取,默許情況下裝置好的 Docker 包含了一個默許的注冊倉庫 Docker Hub —— 這個注冊倉庫包含了大量別人所奉獻的鏡像(既包含官方的鏡像,也包含用戶自己奉獻的鏡像)。
假設你想要拉取一個 Nginx Web 服務器相關的鏡像。在開端拉取前,先檢查一下體系中現已有了哪些鏡像。輸入 docker images 指令你會發現現在還沒有鏡像存在(圖 1)。
在 Linux 上如何安裝和使用 Docker?圖1
讓咱們來拉取一個鏡像。運用下面指令能夠從 Docker Hub 中下載 Nginx 鏡像:
1.docker pull nginx
12下一頁>