CentOS環(huán)境下的Docker官方推薦的三種安裝方式
- yum安裝方式
- 腳本安裝方式
- 本地rpm安裝方式
一、前提:
- Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10。
通過uname -r命令查看你當(dāng)前的內(nèi)核版本
[root@localhost ~ ] # uname -r
3.10.0-957.el7.x86_64
Docker目前分為兩個版本:
Docker CE(社區(qū)免費版)
Docker EE(企業(yè)版,強調(diào)安全,但需付費使用)
注意:我們安裝的版本為社區(qū)版。Docker 官方文檔也可以查看詳細的安裝方式
https://docs.docker.com/install/linux/docker-ce/centos/
二、yum安裝(使用Docker倉庫進行安裝)
在新主機上首次安裝 Docker Engine-Community(docker-ce) 之前,需要設(shè)置 Docker 倉庫。之后就可以從倉庫安裝和更新 Docker。
1、在新安裝的CentOS 7中,一定要先更新yum包。
$ sudo yum update
2、移除舊的版本:
如果之前安裝過舊版本,在安裝前一定要執(zhí)行一下下面的命令。
$ 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
如果出現(xiàn)下面提示,則證明沒有安裝過之前的舊版本。
已加載插件:fastestmirror
參數(shù) docker 沒有匹配
參數(shù) docker-client 沒有匹配
參數(shù) docker-client-latest 沒有匹配
參數(shù) docker-common 沒有匹配
參數(shù) docker-latest 沒有匹配
參數(shù) docker-latest-logrotate 沒有匹配
參數(shù) docker-logrotate 沒有匹配
參數(shù) docker-selinux 沒有匹配
參數(shù) docker-engine-selinux 沒有匹配
參數(shù) docker-engine 沒有匹配
不刪除任何軟件包
3、安裝必須的軟件包
- 安裝
yum-utils提供yum-config-manager功能。 - 同時安裝的
device-mapper-persistent-data和lvm2,用于devicemapper存儲設(shè)備映射器,這是必須的兩個軟件包。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
4、設(shè)置穩(wěn)定yum源倉庫來下載Docker
給yum配置一個穩(wěn)定(stable)的倉庫(也可以是鏡像倉庫)來下載docker。
官方Docker鏡像源地址(不推薦)
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
因為網(wǎng)絡(luò)的原因經(jīng)常下載失?。?br>
報錯:
1[Errno 14] curl#35 - TCP connection reset by peer(TCP鏈接被打斷)
2[Errno 12] curl#35 - Timeout(鏈接超時)
阿里的ocker鏡像源地址(推薦)
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注意
倉庫配置信息會保存到
/etc/yum.repos.d/docker-ce.repo文件中。
在沒有執(zhí)行上邊命令之前,是沒有docker-ce.repo文件的。執(zhí)行完成上邊命令之后,才生成的docker-ce.repo文件。
5、更新yum軟件包索引
$ sudo yum makecache fast
這個命令是將軟件包信息提前在本地緩存一份,用來提高搜索安裝軟件的速度。
通常在更新yum源或者重新配置yum源之后,使用該命令生成緩存。
6、安裝Docker-ce
(1)安裝最新版本的docker-ce
直接執(zhí)行:$ sudo yum -y install docker-ce
(2)安裝指定版本的docker-ce
- 列出數(shù)據(jù)庫中docker的可用版本
執(zhí)行:$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
- 選擇指定的版本安裝
執(zhí)行:
$ sudo yum install docker-ce-+版本號
例如:
$ sudo yum install docker-ce-18.03.1.ce
注意:
官方文檔中安裝docker需要安裝
docker-ce、docker-ce-cli、containerd.io三個軟件。我們直接安裝docker-ce就好,其他兩個軟件會自動匹配版本進行安裝。$ sudo yum install docker-ce docker-ce-cli containerd.io $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io 如:$ sudo yum install docker-ce-18.03.1.ce
7、查看Docker版本信息
$ sudo docker version
8、啟動Docker
$ sudo systemctl start docker
9、查看Docker狀態(tài)

10、加入開機啟動
$ sudo systemctl enable docker
11、通過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine-Community 。
$ sudo docker run hello-world
出現(xiàn)下面顯示,證明運行鏡像成功
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:d1668a9a1f5b42ed3f46b70b9cb7c88fd8bdc8a2d73509bb0041cf436018fbf5
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
12、停止Docker運行
$ sudo systemctl stop docker
至此Docker安裝完成。