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

在京东云轻量服务器上部署多个 Docker 容器是一个常见的需求,可以通过以下步骤实现。整个过程包括:环境准备、Docker 安装、容器编排(使用 Docker Compose 或手动管理多个容器)等。


✅ 一、准备工作

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

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

    ssh root@你的公网IP

✅ 二、安装 Docker

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

# 安装 Docker 所需依赖
sudo apt install -y ca-certificates curl gnupg lsb-release    # Ubuntu
# 或
sudo yum install -y yum-utils device-mapper-persistent-data lvm2  # CentOS

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker 引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

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

# 验证安装
docker --version

⚠️ 注意:如果使用 CentOS,请参考 Docker 官方文档配置正确的 yum 源。


✅ 三、可选:安装 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 容器

方法一:使用 docker-compose.yml 文件(推荐)

创建一个项目目录和 docker-compose.yml 文件来定义多个服务:

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

示例:部署 Nginx + MySQL + Redis

version: '3.8'

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

  webapp:
    image: your-webapp-image
    environment:
      - DB_HOST=mysql
      - REDIS_URL=redis://redis:6379
    depends_on:
      - mysql
      - redis

  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: mydb
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

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

volumes:
  mysql_data:
  redis_data:

启动所有容器:

docker-compose up -d

查看运行状态:

docker-compose ps

停止:

docker-compose down

方法二:使用 docker run 命令手动运行多个容器

# 运行 MySQL
docker run -d 
  --name mysql_db 
  -e MYSQL_ROOT_PASSWORD=123456 
  -p 3306:3306 
  -v mysql_vol:/var/lib/mysql 
  mysql:8.0

# 运行 Redis
docker run -d 
  --name redis_cache 
  -p 6379:6379 
  redis:alpine

# 运行 Nginx
docker run -d 
  --name nginx_web 
  -p 80:80 
  -v ./html:/usr/share/nginx/html 
  nginx:alpine

注意:手动方式管理复杂,建议仅用于测试。


✅ 五、开放防火墙端口(京东云安全组)

在京东云控制台中配置 安全组规则,放行所需端口:

  • HTTP:80
  • HTTPS:443
  • SSH:22(默认已开)
  • MySQL:3306(如需网络访问,注意安全!)
  • Redis:6379(建议不对外暴露)
  • 自定义应用端口

👉 操作路径:
京东云控制台 → 轻量服务器 → 实例详情 → 安全组 → 添加规则


✅ 六、其他建议

  1. 使用 .env 文件管理敏感信息
  2. 定期备份数据卷(尤其是数据库)
  3. 使用反向(如 Nginx)统一管理多个 Web 服务
  4. 开启日志监控docker logs <container>
  5. 考虑使用 Portainer 管理容器(可视化工具)

✅ 示例:一键部署 WordPress + MySQL

# docker-compose.yml
version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
      WORDPRESS_DB_NAME: wpdb
    volumes:
      - wp_data:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wpdb
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
      MYSQL_ROOT_PASSWORD: rootpass
    volumes:
      - db_data:/var/lib/mysql

volumes:
  wp_data:
  db_data:

运行:

docker-compose up -d

访问:http://<你的公网IP>:8080


✅ 总结

步骤 内容
1 登录京东云轻量服务器
2 安装 Docker 和 Docker Compose
3 编写 docker-compose.yml 定义多个服务
4 使用 docker-compose up -d 启动容器
5 配置安全组开放端口
6 访问服务并维护

如有具体应用(如 Node.js、Python、Java 项目),可提供更详细的部署方案。欢迎继续提问!