速卖通素材
奋斗

京东云服务器部署Docker环境需要哪些前置配置?

服务器

在京东云(JD Cloud)云服务器(ECS/JDCS)上部署 Docker 环境,主要涉及操作系统准备、网络与安全组配置、Docker 安装与配置以及安全加固四个阶段。以下是详细的前置配置步骤和注意事项:


一、操作系统选择与准备

  1. 推荐操作系统

    • Linux 发行版:Docker 官方主要支持 Linux。推荐使用以下版本:
      • CentOS 7/8 / Stream
      • Ubuntu 20.04 LTS / 22.04 LTS
      • Debian 10/11
      • Alibaba Cloud Linux(兼容 CentOS)
    • ⚠️ 避免使用 Windows Server:虽然 Docker Desktop for Windows 存在,但在服务器生产环境中,Linux 是标准且性能更好的选择。
  2. 系统更新
    登录服务器后,首先更新系统包,确保内核和基础库为最新稳定版:

    # CentOS/RHEL
    sudo yum update -y
    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
  3. 重启系统(可选但推荐)
    确保内核模块加载正常,特别是对于后续需要的高级网络功能。


二、网络与安全组配置(关键!)

京东云服务器默认通过安全组控制入站/出站流量。若未正确配置,Docker 容器端口将无法从外部访问。

1. 创建或修改安全组规则

  • 登录 京东云控制台 → 云服务器 ECS → 安全组。
  • 找到绑定到该实例的安全组,点击“管理规则”。
  • 添加入站规则(Inbound): 协议类型 端口范围 授权对象 描述
    TCP 22 你的IP SSH 远程登录
    TCP 80, 443 0.0.0.0/0 Web 服务常用端口
    TCP 自定义端口 0.0.0.0/0 或指定IP Docker 容器映射端口(如 8080, 3306 等)

✅ 最佳实践:不要对所有端口开放 0.0.0.0/0,仅开放必要端口,并限制来源 IP(如公司出口 IP)。

2. 防火墙配置(firewalld / ufw)

即使安全组已放行,服务器内部防火墙也可能拦截流量。

  • CentOS/RHEL(firewalld):

    sudo systemctl start firewalld
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --reload
  • Ubuntu(ufw):

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable  # 首次启用时确认

💡 注意:Docker 会自动操作 iptables/nftables,通常不需要手动配置内部防火墙来放行容器端口,但建议保留系统防火墙用于保护宿主机本身。


三、Docker 安装前置依赖

1. 卸载旧版本(如有)

sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine

2. 安装必要工具

# CentOS
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Ubuntu/Debian
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

3. 配置 Docker 官方源(推荐)

使用官方仓库可确保获取最新版本和安全补丁。

  • CentOS:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • Ubuntu/Debian:

    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

四、Docker 安装与验证

1. 安装 Docker Engine

# CentOS
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Ubuntu/Debian
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

2. 启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

3. 验证安装

docker --version
docker run hello-world

如果看到 “Hello from Docker!” 消息,说明安装成功。


五、高级前置配置(生产环境推荐)

1. 非 root 用户运行 Docker(安全加固)

创建 docker 用户组,并将当前用户加入其中,避免每次都用 sudo。

sudo groupadd docker
sudo usermod -aG docker $USER
# 重新登录生效
newgrp docker

2. 配置镜像提速器(国内提速)

由于 Docker Hub 在国内访问较慢,建议配置京东云或阿里云镜像提速器。

  • 编辑 /etc/docker/daemon.json:
    {
    "registry-mirrors": [
      "https://<your-accelerator-url>.mirror.aliyuncs.com",
      "https://mirror.ccs.tencentyun.com"
    ]
    }
  • 重启 Docker:
    sudo systemctl restart docker

3. 调整资源限制(可选)

为防止单个容器占用过多资源影响宿主机,可在 daemon.json 中设置默认值:

{
  "default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 65536,
      "Soft": 65536
    }
  },
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

六、常见坑点与排查

问题现象 可能原因 解决方案
Cannot connect to the Docker daemon Docker 服务未启动 sudo systemctl start docker
容器端口无法访问 安全组未放行或防火墙阻止 检查京东云控制台安全组 + 服务器内部防火墙
permission denied 当前用户不在 docker 组 sudo usermod -aG docker $USER 并重新登录
下载镜像超时 网络不通或无提速器 配置镜像提速器或检查 DNS
IPv6 冲突 某些旧版 Docker 对 IPv6 支持不佳 在 daemon.json 中添加 "ipv6": false

总结清单

✅ 必须完成:

  1. 选择 Linux 操作系统。
  2. 在京东云控制台配置安全组,放行所需端口。
  3. 安装 Docker Engine 并启动服务。
  4. 验证 docker run hello-world。

✅ 强烈建议:

  1. 配置镜像提速器以提升下载速度。
  2. 将普通用户加入 docker 组。
  3. 配置日志轮转,防止磁盘占满。

按照以上步骤操作,即可在京东云服务器上安全、高效地部署 Docker 环境。

未经允许不得转载:轻量云Cloud » 京东云服务器部署Docker环境需要哪些前置配置?