努力
加油

京东云服务器Ubuntu系统安装Docker的步骤是什么?

在京东云(JD Cloud)的 Ubuntu 实例上安装 Docker,其实和在其他任何标准的 Ubuntu 环境中操作几乎没有区别。Docker 官方并不针对特定云厂商做特殊适配,核心差异主要在于网络配置、安全组策略以及镜像提速源的设置。

以下是基于当前主流 Ubuntu 版本(20.04 LTS / 22.04 LTS / 24.04 LTS)的最佳实践步骤。为了确保稳定性和兼容性,建议直接使用 Docker 官方 APT 仓库进行安装,而不是使用 apt install docker.io(后者通常版本较旧且非官方维护)。

前置准备:系统更新与依赖

登录到你的京东云 ECS 实例,首先确保系统是最新的,并安装必要的依赖包。

sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release

第一步:添加 Docker 官方 GPG 密钥和 APT 源

这是最关键的一步,很多新手容易在这里出错。我们需要先验证密钥,再添加源。

  1. 添加官方 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

注意:如果你的服务器在国内,直接访问 download.docker.com 可能会很慢甚至超时。建议在这一步替换为国内镜像源(如阿里云或腾讯云),或者在安装完 Docker 后重点配置提速器。

第二步:安装 Docker Engine

更新包索引并安装最新版本的 Docker 组件。

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装完成后,可以通过以下命令验证是否安装成功:

sudo docker run hello-world

如果看到 “Hello from Docker!” 字样,说明环境已就绪。

第三步:配置 Docker 开机自启与非 root 用户权限

默认情况下,Docker 守护进程绑定 Unix socket,只有 root 用户或 docker 组成员才能执行 Docker 命令。为了日常使用方便,建议将当前用户加入 docker 组。

  1. 创建 docker 组(如果不存在):
sudo groupadd docker
  1. 将当前用户加入 docker 组:
sudo usermod -aG docker $USER
  1. 重启服务并启用开机自启:
sudo systemctl enable docker
sudo systemctl start docker

重要提示:执行完 usermod 后,你需要重新登录 SSH 或执行 newgrp docker 才能使新组权限生效。否则后续命令仍会报 “permission denied”。

第四步:配置镜像提速器(国内环境必做)

由于 Docker Hub 在国内访问速度不稳定,拉取官方镜像时极易超时。这一步对于生产环境至关重要。

以阿里云为例(如果你没有阿里云账号,也可搜索“腾讯云容器镜像服务”获取类似地址):

  1. 登录阿里云控制台,进入“容器镜像服务”,找到“镜像提速器”页面,复制你的专属提速地址。
  2. 修改或创建 /etc/docker/daemon.json 文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<你的专属代码>.mirror.aliyuncs.com"]
}
EOF
  1. 重启 Docker 服务使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 验证提速器是否生效:
docker info | grep -i registry

如果输出中包含你配置的镜像地址,说明配置成功。

第五步:京东云特有注意事项——安全组与网络

虽然 Docker 本身安装流程通用,但在京东云上部署时,务必注意以下几点:

  1. 安全组规则:

    • Docker 默认不暴露端口到公网,除非你在运行容器时使用了 -p 参数映射端口(如 docker run -p 80:80 nginx)。
    • 必须在京东云控制台的 安全组 中放行对应的入站端口,否则外部无法访问容器内的服务。
    • 不要随意开放 2375 或 2376 端口(Docker API 端口),这会带来严重的安全风险。
  2. 防火墙冲突:

    • Ubuntu 默认可能启用 ufw 防火墙。Docker 会自动处理 iptables 规则,但有时会与 ufw 产生冲突。
    • 如果发现问题,可以检查 sudo ufw status,并确保允许 Docker 相关的流量。通常建议让 Docker 管理 iptables,UFW 仅作为外层防护。
  3. Swap 交换分区:

    • Docker 在某些内核版本下对 Swap 敏感。建议在 /etc/sysctl.conf 中禁用 Swap 或使用 --exec-opt native.cgroupdriver=cgroupfs 等高级配置,但对于大多数业务场景,保持默认即可。若遇到性能问题,可考虑关闭 Swap:
      sudo swapoff -a

常见问题排查

  • 权限不足:运行 docker ps 报错 permission denied?请确认你是否已重新登录 SSH 以使 docker 组权限生效。
  • 连接被拒绝:Cannot connect to the Docker daemon?检查 sudo systemctl status docker 是否处于 active (running) 状态。
  • 镜像拉取失败:90% 的原因是未配置镜像提速器或网络不通。优先检查 daemon.json 中的提速器地址是否正确,以及能否 ping 通网络。

按照以上步骤操作,你可以在京东云的 Ubuntu 实例上快速搭建起稳定、高效的 Docker 运行环境。