努力
加油

腾讯云服务器上如何在Ubuntu系统中安装Docker?

在腾讯云的 Ubuntu 实例上安装 Docker,其实和在其他 Linux 发行版上操作逻辑基本一致,但考虑到国内网络环境和云服务器的特殊性(比如安全组、镜像源),有几个细节需要注意。

下面是一套经过验证的、最稳妥的安装流程。建议直接使用官方推荐的 apt 方式安装,这样后续更新和维护最省心。

前置准备:清理旧版本 & 配置依赖

如果你之前没装过 Docker CE,可以跳过清理步骤。如果之前装过老版本的 docker 或 docker-engine,先卸载以免冲突:

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

接下来,确保你的系统安装了必要的依赖包,并添加 Docker 的官方 GPG 密钥和软件源。这里有个关键点:国内服务器访问 Docker 官方源可能较慢,你可以选择等待,或者使用阿里云/腾讯云等提速镜像源(如下文所示)。

方法一:标准官方源安装(推荐,稳定)

  1. 更新索引并安装依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
  1. 添加 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
  1. 设置稳定版仓库
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。

  1. 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 验证安装
sudo docker run hello-world

如果能正常输出 Hello from Docker!,说明安装成功。


方法二:使用国内镜像源提速(适合网络环境较差的情况)

如果你在执行上述步骤时下载速度慢,或者 GPG 密钥拉取超时,可以改用阿里云的 Docker 镜像源。这在云服务器上是常见做法。

  1. 安装依赖(同上)
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
  1. 添加阿里云 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
  1. 添加阿里云 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。

  1. 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

关键后续配置:免 sudo 运行 & 开机自启

默认情况下,Docker 命令需要 sudo 权限。为了开发方便,通常会将当前用户加入 docker 用户组。

  1. 创建 docker 组(如果不存在)
sudo groupadd docker
  1. 将当前用户加入 docker 组
sudo usermod -aG docker $USER
  1. 重启会话生效

注销并重新登录 SSH,或者执行:

newgrp docker

之后你就可以直接运行 docker ps 而不需要加 sudo 了。

  1. 设置 Docker 服务开机自启
sudo systemctl enable docker
sudo systemctl enable containerd

腾讯云特定注意事项

  1. 安全组规则:
    如果你要在容器内运行 Web 服务(如 Nginx、MySQL)并暴露端口,记得去腾讯云控制台 -> 云服务器 -> 实例详情 -> 安全组,添加入方向规则,放行相应端口(如 80, 443, 3306 等)。否则即使容器启动了,外部也访问不了。

  2. 磁盘空间:
    云服务器默认数据盘可能较小。Docker 默认存储路径在 /var/lib/docker,随着镜像和容器增多会占用大量空间。如果系统盘空间紧张,可以考虑修改 Docker 的数据目录到挂载的大容量数据盘上(需停止 Docker 服务,移动目录,修改 daemon.json,再启动服务)。

  3. 内核参数优化:
    对于生产环境,建议检查 /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。如有具体报错,可以提供错误日志进一步分析。