奋斗
努力

在京东云轻量服务器上如何部署多个Docker容器?

云计算

在京东云轻量服务器上部署多个 Docker 容器,可以通过以下步骤完成。整个过程包括:环境准备、Docker 安装、容器编排工具选择(如 Docker Compose),以及实际部署多个容器服务。


✅ 一、准备工作

  1. 购买并登录京东云轻量服务器

    • 登录 京东云控制台
    • 创建一台轻量服务器(推荐系统:Ubuntu 20.04 / CentOS 7+)
    • 获取公网 IP 和 SSH 登录凭证
  2. 通过 SSH 连接到服务器

    ssh root@<你的公网IP>

✅ 二、安装 Docker

# 更新系统包
sudo apt update && sudo apt upgrade -y    # Ubuntu/Debian
# 或
sudo yum update -y                        # CentOS

# 安装依赖
sudo apt install -y curl git             # Ubuntu/Debian
# 或
sudo yum install -y yum-utils curl git   # CentOS

# 安装 Docker(官方脚本方式)
curl -fsSL https://get.docker.com | sh

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker --version

可选:将当前用户加入 docker 组,避免每次使用 sudo

sudo usermod -aG docker $USER

然后重新登录或执行 newgrp docker


✅ 三、安装 Docker Compose(推荐用于多容器管理)

# 下载最新版 Docker Compose(替换版本号为最新)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证
docker-compose --version

✅ 四、部署多个 Docker 容器(示例:Nginx + MySQL + Redis)

创建一个项目目录和 docker-compose.yml 文件:

mkdir ~/myapp && cd ~/myapp
nano docker-compose.yml

粘贴以下内容:

version: '3.8'

services:
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx-conf:/etc/nginx/conf.d
    depends_on:
      - webapp
    restart: unless-stopped

  webapp:
    image: nginx:alpine
    environment:
      - ENV=production
    expose:
      - 80
    command: sh -c "echo '<h1>Hello from WebApp</h1>' > /usr/share/nginx/html/index.html && nginx -g 'daemon off;'"
    restart: unless-stopped

  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: mysecretpassword
      MYSQL_DATABASE: mydb
    volumes:
      - mysql_data:/var/lib/mysql
    ports:
      - "3306:3306"
    restart: unless-stopped

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    restart: unless-stopped

volumes:
  mysql_data:
  redis_data:

💡 说明:

  • ports: 将容器端口映射到主机(注意安全组配置)
  • volumes: 持久化数据
  • depends_on: 控制启动顺序(但不等待服务就绪)

✅ 五、启动所有容器

docker-compose up -d
  • -d 表示后台运行

查看运行状态:

docker-compose ps
docker ps

查看日志:

docker-compose logs -f

✅ 六、配置京东云安全组(重要!)

确保京东云控制台中为轻量服务器配置了正确的安全组规则,开放所需端口:

端口 用途
80 HTTP
443 HTTPS
3306 MySQL(建议内网或限制IP)
6379 Redis(建议不对外开放)

⚠️ 建议:生产环境不要直接暴露数据库端口到公网!


✅ 七、后续维护

  • 更新服务:

    docker-compose pull
    docker-compose up -d
  • 停止服务:

    docker-compose down
  • 查看资源占用:

    docker stats

✅ 高级建议

  1. 使用 .env 文件管理环境变量
  2. 使用反向X_X(如 Nginx Proxy Manager)统一管理多个 Web 服务
  3. 启用 HTTPS(配合 Let’s Encrypt)
  4. 定期备份卷数据(如 /var/lib/docker/volumes/

✅ 总结

在京东云轻量服务器上部署多个 Docker 容器的关键步骤:

  1. 安装 Docker 和 Docker Compose
  2. 编写 docker-compose.yml 定义多个服务
  3. 使用 docker-compose up -d 启动
  4. 配置京东云安全组放行端口
  5. 做好数据持久化与日常维护

这样你就可以轻松运行 Nginx、MySQL、Redis、Node.js、WordPress 等多个容器服务。

如有具体应用(如 WordPress + MySQL),欢迎继续提问,我可以提供对应的 docker-compose.yml 示例。

未经允许不得转载:云服务器 » 在京东云轻量服务器上如何部署多个Docker容器?