centos系统安装docker

docker的安装

docker概述

Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

docker安装

移除旧版本
1
2
3
4
5
6
7
8
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装docker依赖
1
2
3
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
添加docker稳定yum源
1
2
3
4
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

安装docker
1
yum install -y docker-ce docker-ce-cli containerd.io

安装指定版本docker使用如下命令

1
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
配置docker镜像加速和私有仓库(非必须)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mkdir /etc/docker
cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://k9e55i4n.mirror.aliyuncs.com"],
#private repository
#"insecure-registries": ["127.0.0.1:5000"],
"log-driver": "json-file",
"log-opts":{
"max-size": "10m",
"max-file": "10"
},
"bip":"172.20.0.1/16",
"data-root": "/data/docker"
}
EOF
设置docker开机自启动
1
2
3
systemctl daemon-reload
systemctl enable docker
systemctl start docker

若要修改docker驱动为systemd

1
2
3
4
5
6
7
8
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
#或者执行
sed -i '/ExecStart/ s/$/ --exec-opt native.cgroupdriver=systemd/' /usr/lib/systemd/system/docker.service

#重启docker服务
systemctl daemon-reload
systemctl restart docker