前言
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安裝
- Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS版本
是否支持 Docker 。
通過 uname -r 命令查看你當前的內核版本
uname -r
- 使用 root 權限登錄 Centos。確保 yum 包更新到最新。
yum update
- 卸載舊版本(如果安裝過舊版本的話)
sudo yum remove docker docker-common docker-selinux docker-engine
- 安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 設置yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
yum list docker-ce --showduplicates | sort -r
7. 安裝Docker
sudo yum install <FQPN> # 例如:sudo yum install docker-ce-18.03.1.ce
- 啟動並加入開機啟動
sudo systemctl start docker
sudo systemctl enable docker
- 驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
docker version
二、Docker國內鏡像源設置
docker pull 國內網絡鏈接失敗或很卡慢,一般都需要更換至國內 (需要下載 最新的 18版本)
比較常用的是網易的鏡像中心和daocloud鏡像市場:
網易鏡像中心:https://c.163.com/hub#/m/home/
daocloud鏡像市場:https://hub.daocloud.io/
- 配置網易鏡像中心
創建或修改 /etc/docker/daemon.json 文件,修改為如下形式
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
重啟docker:systemctl restart docker.service
2. 配置DaoCloud鏡像中心
https://www.daocloud.io/mirror
由於docker的版本不同和操作系統。使用的方法也有差異。我這里使用的是centos7.2和docker1.12的。
docker version
cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
修改配置文件/etc/docker/daemon.json 為:
{
"registry-mirrors": ["http://ef017c13.m.daocloud.io"],
"live-restore": true
}
可以手動vim添加,也可以使用daocloud給出的命令直接更改(建議使用命令)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
更改后重啟docker
service docker restart
相關詳細文檔說明:
1)詳情請參考daocloud的說明文檔
http://guide.daocloud.io/dcs/daocloud-9153151.html
2)docker官方文檔
https://docs.docker.com/engine/admin/