安装docker是系统安装完成之后最大的坑,为了一个可用的docker版本足足花了三天时间才稳定运行起来,首先是官方的源,莫名其妙的不能用,居然还默认安装的是moby,导致很多不兼容的问题。希望官方能重视一下这个问题,官方源打包一个稳定适配的包,不要让大家再折腾了。
先说第一个坑点:
如果你直接用yum install docker-ce
,要么提示你找不到对应的包,要么就是安装成功大概率也启动不了。
如果你按照centos的方式去添加docker官方的源,再用yum的方式安装,大概率会提示你找不到需要的包。
添加docker官方仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果你以为这样就可以yum install快乐起飞了,那你太小看这个坑了
# 修改docker-ce.repo文件
vim /etc/yum.repos.d/docker-ce.repo
# 将所有$releasever替换为8
# 修改前
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
# 修改后
baseurl=https://download.docker.com/linux/centos/8/$basearch/stable
# 可是使用下述命令快速替换
# 将docker官方源替换为国内清华的源
sed -i 's#$releasever#8#' /etc/yum.repos.d/docker-ce.repo
安装docker
然后查询可以安装的docker版本
# 查询可以安装的docker版本
yum list docker-ce --showduplicates|sort -r
# 安装指定版本的docker
yum -y install docker-ce-24.0.7
到此安装完成后只是安装了docker引擎和容器,compose和build是用不了,还需要安装额外的包
安装过程使用docker官方的源,大概率下载速度会很慢,最好替换为国内的源
# 将docker官方源替换为国内清华的源
sed -i 's#https://download.docker.com#https://mirrors.tuna.tsinghua.edu.cn/docker-ce#' /etc/yum.repos.d/docker-ce.repo
个人经验推荐安装24.07版,不要直接yum安装
yum install docker-ce-24.0.7 docker-ce-cli-24.0.7 docker-ce-rootless-extras-24.0.7 containerd.io docker-buildx-plugin docker-compose-plugin -y
#安装完成后查看docker版本,如果现实版本信息,则安装成功
docker version
docker配置
docker安装完成后,还需要切换镜像源地址
# 编辑docker配置文件
vim /etc/docker/daemon.json
# 文件内容
{
"data-root": "/data/docker", //docker镜像及容器存放位置
"registry-mirrors": [ //可以多添加几个国内镜像源
"https://docker.1ms.run",
"https://mirror.baidubce.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
//如果docker不能使用显卡还需添加以下内容
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
}
# 启动docker并添加开机启动
systemctl enable docker --now
# 如果启动失败查看失败日志,再根据情况排查
journalctl -xeu docker.service
安装NVIDIA Container Toolkit
如果要在docker中使用宿主机的GPU资源,还需要添加NVIDIA Container Toolkit
#添加nvidia yum源
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
tee /etc/yum.repos.d/nvidia-container-toolkit.repo
yum-config-manager --enable nvidia-container-toolkit-experimental
#安装NVIDIA Container Toolkit
yum install -y nvidia-container-toolkit
#添加runtime
nvidia-ctk runtime configure --runtime=docker
#重启docker,配置生效
systemctl restart docker