1、安装前检查
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
通过 uname -r 命令查看你当前的内核版本
2、使用yum 安装
2.1、更新yum
yum update
yum install yum-utils
2.2、添加Docker软件包源
官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果yum下载时会寻找最快的源,一般是阿里源,所以一般使用阿里云
2.3、关闭测试版本list(只显示稳定版)
yum-config-manager --disable docker-ce-edge
2.4、更新yum包索引
yum makecache
2.5、NO.1 直接安装Docker CE (will always install the highest possible version,可能不符合你的需求)
yum install docker-ce
2.6、NO.2 指定版本安装
yum list docker-ce --showduplicates|sort -r
yum install docker-ce-17.12.1.ce-1.el7.centos
3、使用docker官方维护的版本进行安装(不建议,因为docker官方脚本都是安装最新的版本,可能有bug)
3.1、更新yum
yum update
3.2、下载安装docKer
curl -fsSL https://get.docker.com/ | sh
4、启动docker
systemctl start docker 或 service docker start
5、查看是否安装成功
docker version
6、解决安装是的警告
docker 当要以非root用户可以直接运行docker时会报错
6.1、添加docker的用户组
groupadd docker
6.2、将要执行docker的用户加入docker用户组
gpasswd -a 用户 docker
6.3、重启docker
service docker restart
6.4、退出登录重新登录系统
7、镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
也可以使用官方的国内加速https://registry.docker-cn.com
或者使用阿里云私有镜像加速https://6is8hbrs.mirror.aliyuncs.com(推荐)
8、找到yum安装时启动配置等文件
列出docker安装包的所有文件
rpm -ql docker-ce
其中docker.service就是启动配置文件
9、查看守护进程的配置文件
systemctl show --property=FragmentPath docker
默认是“/usr/lib/systemd/system/docker.service”
10、设置开机自启
systemctl enable docker
11、查看是否开机重启
systemctl is-enabled docker
12、设置自定义的docker自定义的配置文件
cd /etc/default/
touch docker
vim docker
输入 DOCKER_OPTS=" --label name=service_1 tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
:wq保存
获取docker启动配置文件
systemctl show --property=FragmentPath docker
默认是
/usr/lib/systemd/system/docker.service
cd /usr/lib/systemd/system/
vim docker.service
在[Service]下面
将“ExecStart=/usr/bin/dockerd” 注释
在后面加上
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS
:wq
重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
查看配置文件是否生效
docker info
如果包含“name=service_1” 就表示正确
13、启动警告解决
docker info 输出一下信息
WARNING: bridge-nf-call-ip6tables is disabled
解决方法
vi /etc/sysctl.conf
输入
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
保存
执行
sysctl -p
14、卸载
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine