【修炼手册】Ubuntu 服务器安装 Docker

一、卸载旧版本(如果有)

如果之前安装过旧版本的 Docker,先执行卸载:

sudo apt-get remove docker docker-engine docker.io containerd runc

二、设置仓库

  1. 更新 apt 包索引并安装依赖包,用于通过 HTTPS 获取仓库:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
  1. 添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
  1. 设置 Docker 稳定版仓库:
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

三、安装 Docker Engine

  1. 更新 apt 包索引:
sudo apt-get update
  1. 安装最新版本的 Docker Engine、containerd 和 Docker Compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 如果下载太慢建议配置国内 Docker 源,删除原有 Docker 源文件,重新创建:
sudo rm /etc/apt/sources.list.d/docker.list
sudo touch /etc/apt/sources.list.d/docker.list
  1. 写入国内源(以阿里云为例,也可使用清华源、中科大源):
 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
  1. 更新缓存后重新安装:
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

四、验证安装

通过查看 Docker 客户端和服务端的版本,确认安装的版本是否正确,同时验证 Docker 命令是否

docker --version  # 或 docker version

如果输出类似以下内容,说明 Docker 已安装且命令可用:

Docker version 29.1.1, build 0aedba5

五、可选操作

  1. 配置非 root 用户运行 Docker(避免每次用 sudo),创建 docker 组(如果不存在):
sudo groupadd docker
  1. 将当前用户加入 docker 组,替换 $USER 为具体用户名,如 ubuntu
sudo usermod -aG docker $USER
  • -aG-a 表示「追加」(避免覆盖用户原有组),-G 指定要加入的组名。 注销并重新登录(或重启服务器),使权限生效。之后即可直接运行 docker 命令,无需 sudo。
  1. 设置开机自启
sudo systemctl enable docker

执行以下命令验证

sudo systemctl is-enabled docker

如果输出 enabled,说明开机自启已经配置成功;如果输出 disabled 才表示配置失败。

六、结束

对你有帮助的话可以点赞、关注、收藏,有问题评论区见哈~

原创不易,若转载请注明出处,感谢大家~

Logo © 2025 Mark All Rights Reserved. 陕ICP备2025083152号