要在 CentOS上使用 Docker CE,請確保滿足以下條件,然後安裝 Docker。
操作系統要求:
- 要安裝 Docker CE,您需要 CentOS7 的維護版本
- 必須啓用 centos-extras repo。默認情況下,repo 已啓用。
- 建議使用 overlay2 存儲驅動程序。
刪除舊版本
較舊版本的 Docker 被稱爲 docker 或 docker-engine。如果已安裝這些,請卸載它們以及相關的依賴項。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安裝Docker CE
可以選擇以下不同的方式安裝:
1.大多數用戶採用設置 Docker YUM 倉庫的方法進行安裝,以便於後期升級。這也是官方推薦的方法
2.有些用戶下載 RPM 軟件包,手動安裝並完全手動管理升級。這在沒有連接互聯網的主機安裝 Docker 非常有用
3.在測試和開發環境中,一些用戶選擇使用自動便捷腳本來安裝 Docker
本文主要介紹前兩種安裝方式
設置yum倉庫
1.安裝所需要的包。yum-utils 提供 yum-config-manager 程序,devicemapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2 安裝包
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.設置穩定的yum倉庫。(也可以通過下載 https://github.com/weiwendi/docker/blob/master/install/centos7/docker-ce.repo 文件到目標主機的 /etc/yum.repos.d/ 目錄下)
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安裝docker ce
$ sudo yum install docker-ce
如果提示接受 GPG 密鑰,請確認指紋符合 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果符合,請接受。
如果順利,Docker CE 已經成功安裝,如果遇到 “Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 12] Timeout on”或者“docker-ce-18.06.1.ce-3.el7.x86 FAILED
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm: [Errno 12] Timeout on https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm: (28, 'Operation timed out after 30001 milliseconds with 0 out of 0 bytes received')” 的錯誤,莫慌,這說明你的網絡無法訪問docker官方倉庫,可以把源更換成阿里的來解決此類問題:
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
再重新執行安裝命令即可。
選擇安裝版本
如果想指定特定版本安裝,可以執行下列命令:
$ sudo yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION STRING>
設置Docker服務的開機啓動並啓動
$ sudo systemctl enable docker
$ sudo systemctl start docker
驗證Docker是否被正確安裝
通過運行 hello-world 鏡像驗證是否正確安裝的docker服務
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
......
此命令會下載 hello-world image,並在容器中運行。當容器運行時,它會打印一條信息性消息並退出。像示例中輸出的一樣,說明安裝完成。
設置非 root 用戶直接操作 docker
1.創建名爲 docker 的用戶組,採用 yum 方式安裝的話,會默認創建 docker 組
$ sudo groupadd docker
$ sudo cat /etc/group |grep docker
docker:x:994:
2.添加當前用戶到 docker 組
$ sudo usermod -aG docker $USER
3.註銷並重新登錄終端
4.驗證
$ docker run hello-world
rpm包方式安裝
對於上網不方便的主機,rpm 包方式安裝是不錯的選擇,但通過此種方式安裝的 docker,在以後更新中,都需要重新下載新的 rpm 文件。
1.下載地址:
$ wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
2.安裝下載的包
$ sudo yum install /path/to/package.rpmdocker-ce-18.06.1.ce-3.el7.x86_64.rpm
3.啓動docker並驗證,可以參考上面的步驟