在京东云服务器上如何安装和配置Docker?

在京东云服务器(JD Cloud ECS)上安装和配置 Docker,通常遵循标准的 Linux 流程。由于京东云服务器默认支持多种 Linux发行版(如 CentOS、Ubuntu、Debian等),以下以最主流的 Ubuntu 20.04/22.04 和 CentOS 7/8为例,提供详细步骤。


✅ 一、前提条件

  1. 登录服务器:通过 SSH 登录到你的京东云 ECS 实例。
  2. 权限要求:使用 sudo 或 root 用户操作。
  3. 系统要求:
    • 64位操作系统
    • Kernel 版本 ≥ 3.10(推荐 ≥ 5.4)
    • 推荐使用官方维护的 Docker 仓库安装,而非系统自带包

📦 二、卸载旧版本(如有)

如果之前安装过旧版 Docker,建议先卸载以避免冲突:

# Ubuntu/Debian
sudo apt-get remove docker docker-engine docker.io containerd runc

# CentOS/RHEL
sudo yum remove docker docker-client docker-latest docker-latest-logrotate docker-logrotate docker-engine podman containerd

⚠️ 注意:卸载不会删除镜像、容器、卷或自定义配置文件,数据会保留。


🛠️ 三、安装 Docker Engine

方法一:使用官方仓库安装(推荐)

▶ Ubuntu / Debian

  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
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
  1. 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 验证安装
sudo docker run hello-world

✅ 若看到欢迎信息,表示安装成功。


▶ CentOS / RHEL

  1. 安装依赖
sudo yum install -y yum-utils
  1. 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
  1. 验证安装
sudo docker run hello-world

方法二:使用便捷脚本安装(快速但不推荐生产环境)

curl -fsSL https://get.docker.com | sh

⚠️ 此方式会自动安装最新稳定版,但缺乏对版本的控制,适合测试环境。


🔧 四、配置 Docker(可选但重要)

1. 允许非 root 用户使用 Docker

sudo groupadd docker
sudo usermod -aG docker $USER

退出当前终端并重新登录,或使用 newgrp docker 生效。

2. 配置镜像提速器(国内提速,提升拉取速度)

编辑 /etc/docker/daemon.json:

sudo nano /etc/docker/daemon.json

添加以下内容(以阿里云为例,也可换为腾讯云、华为云等):

{
  "registry-mirrors": [
    "https://<your-id>.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

💡 获取个人镜像提速器地址:阿里云容器镜像服务 → 左侧“镜像提速器”

重启 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

3. 配置防火墙(如需外部访问 Docker API 或端口)

Docker 本身不直接暴露 API 到公网,但若运行容器需开放端口:

# Ubuntu (ufw)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

# CentOS (firewalld)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

🧪 五、测试 Docker 功能

# 拉取 Nginx 镜像
sudo docker pull nginx

# 运行 Nginx 容器
sudo docker run -d --name mynginx -p 80:80 nginx

# 查看运行中的容器
sudo docker ps

# 访问 http://<你的ECS公网IP> 应看到 Nginx 欢迎页

🔄 六、常用管理命令

# 启动/停止/重启 Docker
sudo systemctl start|stop|restart docker

# 查看日志
sudo journalctl -u docker.service

# 更新 Docker
sudo apt-get update && sudo apt-get upgrade docker-ce   # Ubuntu
sudo yum update docker-ce                               # CentOS

⚠️ 七、注意事项

  1. 安全建议:

    • 不要将 Docker socket 暴露给外部网络。
    • 定期更新 Docker 和系统内核。
    • 使用非 root 用户运行容器(通过 userns-remap 或应用内权限控制)。
  2. 京东云特定优化:

    • 确保安全组已放行所需端口(如 80、443、8080 等)。
    • 建议使用京东云提供的增强型镜像(含 virtio 驱动),性能更优。
  3. 资源限制:

    • 在 daemon.json 中可设置内存/CPU 限制:
      {
      "exec-opts": ["native.cgroupdriver=cgroupfs"],
      "log-driver": "json-file",
      "log-opts": {
       "max-size": "10m",
       "max-file": "3"
      }
      }

✅ 总结

步骤 内容
1 卸载旧版 Docker(如有)
2 添加官方仓库并安装 Docker CE
3 启动服务并设为开机自启
4 配置镜像提速器(国内必备)
5 测试 Hello World 和实际容器运行
6 配置防火墙和安全组

按照以上步骤,你可以在京东云 ECS 上顺利部署并运行 Docker 环境。如需进一步配置 Kubernetes、Docker Compose 或 CI/CD 集成,可在此基础上继续扩展。