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

服务器

在京东云轻量服务器上部署多个 Docker 容器是一个常见的需求,可以通过以下步骤实现。以下是详细的操作流程和建议:


✅ 一、准备工作

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

    • 登录 京东云控制台
    • 购买一台轻量应用服务器(推荐选择 Ubuntu/CentOS 系统)
    • 获取公网 IP 和 SSH 登录信息(用户名/密码或密钥)
  2. 连接服务器
    使用 SSH 工具(如 ssh 命令、Xshell、PuTTY)连接到服务器:

    ssh root@your_server_ip

✅ 二、安装 Docker

  1. 更新系统包

    sudo apt update && sudo apt upgrade -y    # Ubuntu/Debian
    # 或
    sudo yum update -y                        # CentOS
  2. 安装 Docker
    推荐使用官方脚本安装:

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  3. 启动并设置开机自启

    sudo systemctl start docker
    sudo systemctl enable docker
  4. 将当前用户加入 docker 组(可选)

    sudo usermod -aG docker $USER

    退出重新登录以生效。


✅ 三、部署多个 Docker 容器的方式

方法一:使用 docker run 命令直接运行多个容器(适合简单场景)

# 启动 Nginx 容器
sudo docker run -d --name nginx -p 80:80 nginx

# 启动 MySQL 容器
sudo docker run -d --name mysql -p 3306:3306 
  -e MYSQL_ROOT_PASSWORD=yourpassword 
  -v /data/mysql:/var/lib/mysql 
  mysql:8.0

# 启动 Redis 容器
sudo docker run -d --name redis -p 6379:6379 redis:alpine

注意:每个容器必须有唯一名称和端口映射不冲突。


方法二:使用 Docker Compose(推荐方式,便于管理多个容器)

  1. 安装 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
  2. 创建 docker-compose.yml 文件

    创建项目目录并编写配置文件:

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

    示例内容(Nginx + Flask + Redis):

    version: '3.8'
    
    services:
      web:
        image: nginx:alpine
        ports:
          - "80:80"
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
        depends_on:
          - app
    
      app:
        build: ./app
        expose:
          - "5000"
        environment:
          - REDIS_HOST=redis
    
      redis:
        image: redis:alpine
        expose:
          - "6379"

    你可以根据实际需要替换为自己的服务(如 WordPress + MySQL + phpMyAdmin 等)

  3. 启动所有容器

    docker-compose up -d
  4. 常用命令

    docker-compose ps           # 查看运行状态
    docker-compose logs         # 查看日志
    docker-compose down         # 停止并删除容器

✅ 四、注意事项

  1. 端口冲突

    • 确保宿主机端口未被占用(如 80、443、3306、6379 等)
    • 可通过 netstat -tuln | grep :端口 检查
  2. 数据持久化

    • 使用 -v 挂载卷保存数据库、配置等重要数据
    • 如:-v /data/mysql:/var/lib/mysql
  3. 防火墙与安全组

    • 在京东云控制台中配置 安全组规则,开放所需端口(如 80, 443, 3306 等)
    • Linux 内部防火墙(如 ufwfirewalld)也需放行端口
  4. 资源监控

    • 轻量服务器资源有限(如 2C4G),避免部署过多高负载服务
    • 使用 docker stats 实时查看容器资源占用

✅ 五、示例:部署 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:
      - wordpress_data:/var/www/html
    depends_on:
      - db

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

volumes:
  wordpress_data:
  mysql_data:

运行:

docker-compose up -d

访问 http://<你的公网IP>:8080 即可进入 WordPress 安装页面。


✅ 总结

方式 适用场景 推荐度
docker run 简单测试、少量容器 ⭐⭐
docker-compose 多容器协同、生产环境 ⭐⭐⭐⭐⭐

最终建议
在京东云轻量服务器上,推荐使用 Docker Compose 来管理多个容器,结构清晰、易于维护,并配合数据卷和安全组策略确保稳定运行。

如有具体应用(如 Spring Boot、Node.js、Python Web),欢迎提供,我可以给出更具体的部署方案。

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