一、安裝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 https://download.docker.com/linux/centos/docker-ce.repo
保存在:repo saved to /etc/yum.repos.d/docker-ce.repo
6、可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
$ yum list docker-ce --showduplicates | sort -r
7、安裝docker
$ sudo yum install docker-ce #由於repo中默認只開啓stable倉庫,故這裏安裝的是最新穩定版17.12.0
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
8、啓動並加入開機啓動
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、驗證安裝是否成功(有client和service兩部分表示docker安裝啓動都成功了)
$ docker version
可以安裝一個鏡像試試:
docker run hello-world
出現如下,說明安裝成功
Hello from Docker!
This message shows that your installation appears to be working correctly.
三、設置(可以在稍後需要加上)
1,設置docker查找源
vi /etc/docker/daemon.json
# 沒有daemon.json這個文件可以在/etc/docker/目錄下創建,還有下面這個地址可以註冊阿里雲或daoCloud,找到(阿里雲)容器鏡像服務--》鏡像加速器,裏面有你自己的地址。
{
"registry-mirrors": ["https://x3n88k5j.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
2,開放管理端口映射(要設置權限或者限制ip訪問,要不然容易被攻擊)
出現如下連接信息,就說明沒有開發遠程連接功能:
vi /lib/systemd/system/docker.service
將第11行的ExecStart=/usr/bin/dockerd,替換爲:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654
2375是管理端口,7654是備用端口
這一步可以再需要時在執行,在~/.bashrc中寫入docker管理端口
export DOCKER_HOST=tcp://0.0.0.0:2375
source ~/.bashrc
最後要重啓
systemctl daemon-reload
systemctl restart docker
三、安裝問題
1、因爲之前已經安裝過舊版本的docker,在安裝的時候報錯如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸載舊版本的包
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安裝docker
$ sudo yum install docker-ce