在腾讯云的 Ubuntu 实例上安装 Docker,其实和在其他 Linux 发行版上操作逻辑基本一致,但考虑到国内网络环境和云服务器的特殊性(比如安全组、镜像源),有几个细节需要注意。
下面是一套经过验证的、最稳妥的安装流程。建议直接使用官方推荐的 apt 方式安装,这样后续更新和维护最省心。
前置准备:清理旧版本 & 配置依赖
如果你之前没装过 Docker CE,可以跳过清理步骤。如果之前装过老版本的 docker 或 docker-engine,先卸载以免冲突:
sudo apt-get remove docker docker-engine docker.io containerd runc
接下来,确保你的系统安装了必要的依赖包,并添加 Docker 的官方 GPG 密钥和软件源。这里有个关键点:国内服务器访问 Docker 官方源可能较慢,你可以选择等待,或者使用阿里云/腾讯云等提速镜像源(如下文所示)。
方法一:标准官方源安装(推荐,稳定)
- 更新索引并安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
- 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 设置稳定版仓库
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
注意:
$(lsb_release -cs)会自动识别你的 Ubuntu 版本(如 jammy, focal 等)。如果你的机器比较老,命令执行后可能会报错找不到对应 codename,此时需要手动替换为对应的代号,例如 Ubuntu 20.04 是focal,Ubuntu 22.04 是jammy。
- 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- 验证安装
sudo docker run hello-world
如果能正常输出 Hello from Docker!,说明安装成功。
方法二:使用国内镜像源提速(适合网络环境较差的情况)
如果你在执行上述步骤时下载速度慢,或者 GPG 密钥拉取超时,可以改用阿里云的 Docker 镜像源。这在云服务器上是常见做法。
- 安装依赖(同上)
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
- 添加阿里云 Docker GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
- 添加阿里云 Docker 仓库
假设你是 Ubuntu 22.04 (Jammy),命令如下:
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu
jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
如果是 Ubuntu 20.04 (Focal),把 jammy 换成 focal。
- 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
关键后续配置:免 sudo 运行 & 开机自启
默认情况下,Docker 命令需要 sudo 权限。为了开发方便,通常会将当前用户加入 docker 用户组。
- 创建 docker 组(如果不存在)
sudo groupadd docker
- 将当前用户加入 docker 组
sudo usermod -aG docker $USER
- 重启会话生效
注销并重新登录 SSH,或者执行:
newgrp docker
之后你就可以直接运行 docker ps 而不需要加 sudo 了。
- 设置 Docker 服务开机自启
sudo systemctl enable docker
sudo systemctl enable containerd
腾讯云特定注意事项
-
安全组规则:
如果你要在容器内运行 Web 服务(如 Nginx、MySQL)并暴露端口,记得去腾讯云控制台 -> 云服务器 -> 实例详情 -> 安全组,添加入方向规则,放行相应端口(如 80, 443, 3306 等)。否则即使容器启动了,外部也访问不了。 -
磁盘空间:
云服务器默认数据盘可能较小。Docker 默认存储路径在/var/lib/docker,随着镜像和容器增多会占用大量空间。如果系统盘空间紧张,可以考虑修改 Docker 的数据目录到挂载的大容量数据盘上(需停止 Docker 服务,移动目录,修改 daemon.json,再启动服务)。 -
内核参数优化:
对于生产环境,建议检查/etc/sysctl.conf,确保net.ipv4.ip_forward=1已开启,以便容器间通信。虽然现代 Docker 版本会自动处理大部分情况,但显式配置更稳妥。
常见问题排查
-
Permission denied when trying to connect to the Docker daemon socket
解决:确认用户已加入 docker 组,并重新登录终端。 -
Could not find a package named ‘docker’
解决:你安装的是docker-ce(社区版),不是docker包。请确认安装命令正确。 -
网络拉取镜像慢
解决:配置 Docker 提速器。编辑/etc/docker/daemon.json,加入阿里云或其他镜像源的地址,然后重启 Docker 服务:{ "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"] }
按照以上步骤,你应该能在腾讯云的 Ubuntu 实例上顺利跑起 Docker。如有具体报错,可以提供错误日志进一步分析。
云技术博客