CentOS安装Docker
Docker 支持 CentOS 7、CentOS 8(stream)和CentOS 9(stream),三个版本,实践中绝大部分的系统会使用 CentOS 7。
先检查系统的版本和架构:
cat /etc/*release*
uname -a
卸载旧版本(如果有):
#卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
卸载历史版本(如果有):
#卸载历史版本
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd#根据实际存储位置删除这两个文件
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json
1. 配置仓库
系统默认的 yum 源本身没有 docker 的资源,需要手动配置:
sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这里添加的是镜像服务器的网址,未来有可能失效。
查看该目录下是否多了一个 docker-ce.repo
:
ll /etc/yum.repos.d/
安装最新版本:
sudo yum install -y docker-ce
安装完成后查看 docker 的状态:
sudo systemctl status docker
如果没有激活(inactive),就先启动 docker:
sudo systemctl start docker
2. 配置docker
2.1 修改docker镜像源
由于 docker 的官方服务器在海外,在进行网络通信时时常不太稳定,所以我们要把 docker 的源镜像改为国内的服务器。
第一步,在指定目录下创建一个文件夹:
#一般这个文件夹就是已经存在的
mkdir /etc/docker
在该目录下创建一个 daemon.json
文件:
#记得先进入到目录里
vi daemon.json
在该文件中,加入镜像源:
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://cjie.eu.org"]
}
镜像源的网址有一个以上就可以,且镜像源的有效性随时会变,添加时最好查询最新有效的镜像源加入。
然后加载配置并重启 docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
2.2 docker根目录修改
docker 的默认安装目录为 /var/lib/docker
里面会存放很多很多的镜像,为了避免空间不足,我们需要把 docker 的根目录修改到足够大的磁盘空间下。
#假设磁盘大的目录为 /data
mkdir -p /data/var/lib/docker
在 daemon.json
里添加这一句:
{
"data-root":"/data/var/lib/docker"
}
注意 json 文件的书写格式,是只有一个大括号,键值对之间用
,
间隔,格式错误将在重启 docker 时失败。
然后加载配置并重启 docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
使用命令查看修改后的信息:
docker info
3. 其他命令
#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker