加油
努力

在京东云主机上如何安装和配置Docker?

在京东云(JD Cloud)的云主机(ECS)上安装和配置 Docker,与在标准 Linux 服务器(如 CentOS、Ubuntu)上类似。以下是详细、安全、生产就绪的安装与配置指南,适用于京东云主流操作系统(推荐 Ubuntu 22.04 LTS 或 CentOS 7/8/Stream),并包含京东云环境下的注意事项。


✅ 前提条件

  1. 已开通京东云账号,并成功创建一台云主机(ECS);
  2. 确保实例已分配公网 IP 或可通过 VPC 内网访问;
  3. 已通过 SSH 登录云主机(如 ssh -i key.pem ubuntu@xxx.xxx.xxx.xxx);
  4. 推荐使用 Ubuntu 22.04 LTS(长期支持、Docker 官方支持好)或 CentOS Stream 9(RHEL 兼容性佳);
    ⚠️ 注意:京东云部分镜像可能预装旧版 Docker(如 Docker 20.x),建议卸载后安装最新稳定版。

🐳 一、安装 Docker(以 Ubuntu 22.04 为例)

✅ 步骤 1:更新系统 & 安装依赖

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

✅ 步骤 2:添加 Docker 官方 GPG 密钥和仓库

# 创建密钥目录(若不存在)
sudo mkdir -p /etc/apt/keyrings

# 下载并添加 Docker 官方 GPG 密钥(使用 HTTPS)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加稳定版仓库(自动适配系统架构,如 amd64/arm64)
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

✅ 京东云提示:确保 https://download.docker.com 可达(默认公网网络正常)。如遇国内网络慢,可临时切换为阿里云镜像源(见下方「国内提速选项」)。

✅ 步骤 3:安装 Docker Engine

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

✅ 步骤 4:验证安装

sudo docker --version          # 输出类似:Docker version 24.0.7, build afdd53b
sudo docker run hello-world    # 首次运行会下载镜像并打印欢迎信息 ✅

🔧 二、基础配置(生产环境必备)

1️⃣ 将当前用户加入 docker 组(免 sudo 运行)

sudo usermod -aG docker $USER
# 重新登录 SSH 或执行以下命令生效(不推荐用于生产脚本)
newgrp docker

✅ 验证:docker ps 应无 permission denied 错误。

2️⃣ 配置 Docker Daemon(关键:日志、存储、镜像提速)

编辑 /etc/docker/daemon.json(若不存在则新建):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "data-root": "/var/lib/docker",  // 可根据磁盘挂载点调整(见京东云扩容建议)
  "storage-driver": "overlay2"
}
EOF

💡 京东云特别提示

  • 若你为云主机挂载了独立数据盘(如 /data),强烈建议将 data-root 改为 /data/docker,避免系统盘爆满:
    "data-root": "/data/docker"

    并提前执行:

    sudo mkdir -p /data/docker
    sudo chown root:root /data/docker
    sudo systemctl restart docker

3️⃣ 启用并启动 Docker 服务

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker  # 检查是否 active (running)

🌐 三、国内镜像提速(京东云用户强烈推荐)

京东云用户常因网络延迟导致 docker pull 缓慢,务必配置镜像提速器:

提速器 地址
中科大镜像站 https://docker.mirrors.ustc.edu.cn
网易镜像站 https://hub-mirror.c.163.com
百度镜像站 https://mirror.baidubce.com

✅ 已在上一步 daemon.json 中配置,无需额外操作。

✅ 测试提速效果:

time sudo docker pull nginx:alpine

🛡 四、安全加固建议(生产环境)

项目 建议操作
🔐 禁用 insecure-registries 确保 daemon.json 中未配置 insecure-registries(除非内网私有仓库且明确需要)
📜 启用内容信任(可选) export DOCKER_CONTENT_TRUST=1(对 docker pull/build 强制签名校验)
🧹 定期清理 docker system prune -a --volumes(谨慎执行,建议写入定时任务前测试)
📊 监控集成 可对接京东云云监控(JCM)或 Prometheus + cAdvisor(需开放容器指标端口)

🐧 CentOS/RHEL 系统安装(简略版)

若使用 CentOS 7/8/Stream:

# 卸载旧版(如有)
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装依赖
sudo yum install -y yum-utils

# 添加仓库(以 CentOS Stream 9 为例)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装(注意版本兼容性)
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable docker && sudo systemctl start docker

⚠️ CentOS 7 用户注意:内核需 ≥ 3.10(京东云默认满足),但建议升级至 kernel-ml(主线稳定版)以更好支持 overlay2。


❓常见问题排查

现象 解决方案
Cannot connect to the Docker daemon 检查 sudo systemctl status docker;确认用户已在 docker 组并重登
Permission denied while trying to connect to the Docker daemon socket 执行 sudo chmod 666 /var/run/docker.sock(仅临时调试,生产环境禁止! 正确做法是加组)
Failed to start docker.service: Unit not found 检查是否安装了 docker-ce(非 dockerdocker-io
overlay2: no such file or directory 检查内核是否支持 overlay2:cat /proc/filesystems | grep overlay;如无输出,升级内核或改用 vfs(性能差,不推荐)

✅ 最终验证清单(执行完请逐项确认)

  • [ ] docker --version 输出正常版本号
  • [ ] docker run --rm hello-world 成功输出
  • [ ] docker info | grep "Storage Driver"overlay2
  • [ ] docker info | grep "Registry Mirrors" → 显示国内镜像地址
  • [ ] 普通用户(非 root)可执行 docker ps
  • [ ] sudo systemctl is-enabled dockerenabled

如需进一步集成:

  • ✅ 搭建私有 Registry(京东云对象存储 COS + Nginx 反向X_X)
  • ✅ 使用京东云容器服务(JDCCS)替代自建 Docker(托管 K8s 更省心)
  • ✅ 配置 Docker Compose + Nginx 反向X_X部署 Web 应用

需要我为你生成 一键安装脚本Docker Compose 示例(Nginx+PHP+MySQL),或指导 对接京东云 COS 作为镜像仓库,欢迎随时告诉我 👇

祝你在京东云上 Docker 驾轻就熟,高效稳定!🚀

云服务器