背景:
学习docker,我是想做一个隔离环境,并且部署的话,希望实现自动化,不为安装软件而烦恼,保证每个人的环境一致。
2C4G内存 50G磁盘的虚拟机事先已经准备完毕。
1.查看下centos版本,docker要求高于3.10
[root@localhost /]# uname -r
3.10.0-327.el7.x86_64
2.添加docker yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker
yum install -y docker-ce docker-ce-cli containerd.io
4.添加docker守护配置文件
vim /etc/docker/daemon.json
内容如下:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
5.重新加载下守护进程配置文件
sudo systemctl daemon-reload
6.启用docker
systemctl enable docker
7.启动docker ==》公司的网络可能是有特殊处理,这步失败后,直接跳到 “reboot后的做法”
systemctl start docker
8.查看docker状态
systemctl status docker
9.查看docker版本
[root@localhost ~]# docker --version
Docker version 25.0.0, build e758fe5
10.运行hello-world
docker run hello-world
可见,hello-world没有则会进行拉取,看着提示,是docker完成安装了
---------------遇到的错误和一些操作----------------------
》 升级下yum版本 // 这一步可跳过
yum update
》 不要用yum -y install docker !!! 这样子安装的是旧版本的 docker
》 卸载docker 方式1// 安装了错误版本的docker,就先卸载一下
卸载
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
》卸载docker 方式2 // 安装了错误版本的docker,就先卸载一下
先卸载下
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
查找docker相关的还有什么没卸载干净
yum list installed | grep docker
继续卸载
yum remove xx
》查看报错日志
journalctl -xe
》彻底关闭selinux
vim /etc/selinux/config
修改SELINUX内容为:
SELINUX=disabled
重载下配置
systemctl daemon-reload
-----------------------------reboot后的做法-----------------------------
》重置状态
systemctl reset-failed docker.service
》 (disconnected from bus)
关闭下防火墙
systemctl stop firewalld
》网络另外一个 networks have same bridge name
rm -rf /var/lib/docker/network
再次启动
systemctl start docker