如果是root用戶的話,下面命令就不需要加 sudo
1、首先,可以進一下 yum 的配置文件,查看其repo文件是不是符合該服務器的
有下面這些 repo 配置文件就說明是正常的。
cd /etc/yum.repos.d
2、如果服務器上有 docker 舊版本的話,需要先卸載舊版本及其依賴
# 較舊的 Docker 版本稱為 docker 或 docker-engine 。如果已安裝這些程序,請卸載它們以及相關的依賴項。
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
3、使用 Docker 倉庫進行安裝
在新主機上首次安裝 Docker Engine-Community 之前,需要設置 Docker 倉庫。之后,您可以從倉庫安裝和更新 Docker。
先需要設置倉庫,安裝所需的軟件包。yum-utils 提供了 yum-config-manager ,並且 device mapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
4、使用以下命令來設置穩定的倉庫。
(1)使用官方源地址(比較慢)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(2)使用阿里雲鏡像加速(推薦)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安裝 Docker Engine-Community
安裝最新版本的 Docker Engine-Community 和 containerd,或者轉到下一步安裝特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受 GPG 密鑰,請選是。
6、安裝特別版本的docker
(1)要安裝特定版本的 Docker Engine-Community,請在存儲庫中列出可用版本,然后選擇並安裝:
列出並排序您存儲庫中可用的版本。此示例按版本號(從高到低)對結果進行排序。
yum list docker-ce --showduplicates | sort -r
(2)通過其完整的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個冒號(:)一直到第一個連字符(-),並用連字符(-)分隔。例如:docker-ce-20.10.1。
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
sudo yum install docker-ce-20.10.1 docker-ce-cli-20.10.1 containerd.io
下面這個地方需要注意下:
這里需要你選 y,才能繼續安裝的,我最開始沒注意這塊,所以導致 啟動 docker 服務啟動不了,還以為是啥問題,百度了好多解決方案都不行。最后發現 docker -v 命令都不行,所以才知道docker沒安裝成功。
安裝成功之后是這樣結束,然后立馬看下版本,就可以發現有沒有安裝成功。
7、遇到的問題
(1)Failed to start docker.service: Unit not found.
sudo systemctl start docker Failed to start docker.service: Unit not found.
docker.service啟動失敗:Unit not found
(2)docker: command not found
問題原因都是上面框紅框處哪里的問題。