docker卸载和安装,以及常见问题
这里我将以Ubuntu为例,来进行docker的卸载和安装,首先我们可以先查看自己的操作系统版本以及CPU支持
# 查看CPU
uname -a
# 查看操作系统版本
cat /etc/*release*
其次我们需要卸载旧版本,我们输入 docker 命令查看我们的服务器是否存在旧版本,显然我的服务器是存在的

此时就需要先进行卸载
卸载
apt-get remove docker docker-engine docker.io containerd runc

以及卸载残留的docker相关组件,以及相关目录
# 相关组件
apt-get purge docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin docker-ce-rootless-extras -y

# 清理目录
sudo rm -rf /var/lib/docker # Docker默认数据存储目录
sudo rm -rf /var/lib/containerd # containerd数据目录
sudo rm -rf /etc/docker # Docker配置目录
安装
首先安装 curl 命令
sudo apt install curl -y

创建gpg key 目录,并下载 gpg key目录
# 创建目录
sudo mkdir -m 0755 -p /etc/apt/keyrings
# 获取docker官方密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/docker.gpg
# 执行 [配置docker apt源]命令
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新 apt 包索引
执行命令让系统识别新配置的 Docker 源:
sudo apt update

安装 Docker Engine 及相关组件
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
验证 Docker 安装
docker version
# 查看更详细的信息
docker info

自动启动配置
#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
#查看服务状态
sudo systemctl status docker

执行hello-world
sudo docker run hello-world

常见问题
安装
如果在获取docker密钥的时候遇到了以下的问题,是因为链接失败,可以换成国内镜像

# 获取阿里云 docker 官方密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/docker.gpg
# 配置阿里云 docker apt 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
接着下载就可以了
链接
在输入 hello-world 时,可能会出现链接超时的问题,网络环境无法直接连接,且镜像加速器配置未生效

我们需要做出以下修改(这里我使用的腾讯云):
创建/修改 docker 配置文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
验证加速器是否生效
docker info | grep "Registry Mirrors" -A 2

然后再重新进行拉去
sudo docker run hello-world

空间不足
当你的/var/lib/docker目录所在磁盘空间不够用(比如默认系统盘很小,而 Docker 要存大量镜像)时,需要修改目录;如果系统盘空间充足(比如 50G 以上),可以不用改。
有三种方式可以用来修改
-
挂载大磁盘到 /var/lib/docker
-
适用:云服务器(如腾讯云)安装 K8s/ Docker 时,提前规划磁盘的场景。
-
操作:云厂商控制台直接将大磁盘挂载到
/var/lib/docker目录(安装前操作)
-
-
软链接
-
适用:安装 Docker 前,已经挂载了大磁盘(比如挂载到
/data),但没直接挂到/var/lib/docker。 -
操作:
ln -s /data/docker /var/lib/docker(让 Docker 实际存储到/data/docker)。
-
-
修改 Docker 配置文件
-
适用:已经装了 Docker,且
/var/lib/docker空间不够,需要迁移目录。 -
操作:修改
/etc/docker/daemon.json,添加"data-root": "/新目录路径",然后迁移数据 + 重启 Docker。
-
这里重点说一下第三个
#假定我们磁盘的大的目录为 /data
mkdir -p /data/var/lib/docker
# 编辑配置文件
vi /etc/docker/daemon.json
# 输入下面的 json
{
"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload
# 重启 docker
sudo systemctl restart docker
#查看 docker 状态
sudo systemctl status docker

我们就可以看到在指定目录下了

更多推荐
所有评论(0)