編碼的世界 / 優質文選 / 感情

centos7.3環境下的docker安裝 切換docker國內鏡像源


2022年5月28日
-   

        Docker容器最早受到RHEL完善的支持是從最近的CentOS 7.0開始的,官方說明是只能運行於64位架構平台,內核版本為2.6.32-431及以上(即 >= CentOS 6.5,運行docker時實際提示3.10.0及以上)。 需要注意的是CentOS 6.5與7.0的安裝是有一點點不同的,CentOS 6.x上Docker的安裝包叫docker-io,並且來源於Fedora epel庫,這個倉庫維護了大量的沒有包含在發行版中的軟件,所以先要安裝EPEL,而CentOS 7.x的Docker直接包含在官方鏡像源的Extras倉庫(CentOS-Base.repo下的[extras]節enable=1啟用)。
本文的安裝環境是CentOS 7.3,不適用CentOS 6.x的相關環境,切記!

Docker的安裝:


1、Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
通過 uname -r 命令查看你當前的內核版本
$ uname -r

2、使用 root 權限登錄 Centos。確保 yum 包更新到最新。
$ sudo yum update

3、卸載舊版本(如果安裝過舊版本的話)
$ sudo yum remove docker docker-common docker-selinux docker-engine

4、安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、設置yum源
$ sudo yum-config-manager add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6、可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
$ yum list docker-ce showduplicates | sort -r


7、安裝docker
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-18.03.1.ce



8、啟動並加入開機啟動
$ sudo systemctl start docker
$ sudo systemctl enable docker

9、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
$ docker version


10、建議更換docker的鏡像源:
1.修改或創建daemon.json文件:vi /etc/docker/daemon.json
將以下配置寫入到文件中,保存並退出(不會操作的百度下vi命令吧):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
2.重啟docker:systemctl restart docker.service

實例  hello world:


1、運行下面的命令,將 image 文件從倉庫抓取到本地。
$ docker image pull library/hello-world
$ docker image pull hello-world

 docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在倉庫裏面的位置,其中library是 image 文件所在的組,hello-world是 image 文件的名字。
由於 Docker 官方提供的 image 文件,都放在library組裏面,所以它的是默認組,可以省略。所以上面兩個命令的效果是一樣的。

2、運行這個 image 文件
$ docker container run hello-world

docker container run命令會從 image 文件,生成一個正在運行的容器實例。
注意,docker container run命令具有自動抓取 image 文件的功能。如果發現本地沒有指定的 image 文件,就會從倉庫自動抓取。因此,前面的docker image pull命令並不是必需的步驟。

3、終止容器的運行。
出現上面這段提示以後,hello world會停止運行,容器自動終止。
但是有些容器不會自動終止,因為提供的是服務。對於那些不會自動終止的容器,必須使用docker container kill命令手動終止。
 

熱門文章