大家好,我是 god23bin。今天我給大家帶來的是 Linux 命令系列,每天只需一分鐘,記住一個 Linux 命令不成問題。今天,我們要介紹的是一個常用而又強大的命令:ls(list)。 ...
安裝前準備
CentOS版本
要安裝Docker Engine,你需要以下CentOS版本中的一個維護版本:
- CentOS 7
- CentOS 8 (stream)
- CentOS 9 (stream)
centos-extras
倉庫必須被啟用。這個倉庫預設是啟用的,但如果你已經禁用了它,你需要重新啟用它。
刪除舊版本
舊版本的Docker以docker
或docker-engine
為名。在嘗試安裝新版本之前,請卸載任何此類舊版本,以及相關的依賴關係。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
當你卸載Docker時,存儲在/var/lib/docker/
中的鏡像、容器、數據捲和網路不會自動刪除。
通過Yum進行安裝
在你第一次在新主機上安裝Docker Engine之前,你需要設置Docker倉庫。之後,你可以從存儲庫中安裝和更新Docker。
設置存儲庫
安裝yum-utils
軟體包(提供yum-config-manager
工具),並設置資源庫。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安裝Docker Engine
- 安裝Docker Engine、containerd和Docker Compose:
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
如果提示接受GPG密鑰,驗證指紋是否與060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
相匹配,如果是,就接受它。
這條命令安裝了Docker,但它並沒有啟動Docker。它還創建了一個docker
組,但是,預設情況下,它沒有添加任何用戶到該組。
- 啟動Docker
$ sudo systemctl start docker
- 通過運行
hello-world
鏡像,驗證Docker的安裝是否成功。
$ sudo docker run hello-world
這個命令會下載一個測試鏡像併在一個容器中運行。當容器運行時,它會列印出一條確認信息並退出。
現在你已經成功安裝並啟動了Docker Engine。
使用RPM包進行安裝
如果你不能使用Docker的rpm
倉庫來安裝Docker Engine,你可以下載符合你期望的版本的.rpm
文件並手動安裝。每次你想升級Docker Engine時,你都需要下載一個新的文件。
-
進入Docker官網下載界面,選擇你的CentOS版本。然後瀏覽
x86_64/stable/Packages/
,下載你要安裝的Docker版本的.rpm
文件。 -
安裝Docker Engine,將下麵的路徑改為你下載Docker包的路徑。
$ sudo yum install /path/to/package.rpm
Docker已經安裝,但沒有啟動。創建了docker組,但沒有用戶被添加到該組。
- 啟動Docker
$ sudo systemctl start docker
- 通過運行
hello-world
鏡像,驗證Docker Engine的安裝是否成功。
$ sudo docker run hello-world
這個命令會下載一個測試鏡像併在一個容器中運行。當容器運行時,它會列印出一條確認信息並退出。
現在你已經成功安裝並啟動了Docker Engine。
使用腳本安裝
Docker在https://get.docker.com/,提供了一個方便的腳本,可以將Docker非互動式地安裝到開發環境。不建議在生產環境中使用該便利腳本,但它對創建符合你需求的配置腳本很有用。該腳本的源代碼是開源的,你可以在GitHub上的docker-install
找到它。
在本地運行從互聯網上下載的腳本之前,一定要檢查它們。在安裝之前,要讓自己熟悉潛在的風險和便利腳本的限制:
- 該腳本需要
root
或sudo
許可權才能運行。 - 該腳本試圖檢測你的Linux發行版和版本,併為你配置你的軟體包管理系統。
- 腳本不允許你自定義大多數安裝參數。
- 腳本在安裝依賴關係和建議時不要求確認。這可能會安裝大量的軟體包,這取決於你主機的當前配置。
- 預設情況下,該腳本會安裝Docker、containerd和runc的最新穩定版本。當使用該腳本配置機器時,這可能會導致Docker的主要版本意外升級。在部署到生產系統之前,一定要在測試環境中測試升級。
- 這個腳本並不是用來升級現有的Docker安裝的。當使用該腳本更新現有的安裝時,依賴關係可能不會被更新到預期的版本,從而導致過時的版本。
你可以用-dry-run選項來運行腳本,瞭解腳本在被調用時將運行哪些步驟:
點擊查看代碼
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh ./get-docker.sh --dry-run
以下這個例子是從https://get.docker.com/下載腳本,並運行該腳本以在Linux上安裝最新的Docker穩定版:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>
你現在已經成功安裝並啟動了Docker Engine。在基於Debian的發行版上,docker
服務會自動啟動。在基於RPM
的發行版上,如CentOS、Fedora、RHEL或SLES,你需要使用適當的systemctl
或service
命令手動啟動它。如信息所示,非root用戶預設不能運行Docker命令。