走啊走
加油

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

服务器价格表

在京东云轻量服务器上部署多个 Docker 容器,可以通过以下步骤完成。整个过程包括:环境准备、Docker 安装、编写容器配置(推荐使用 Docker Compose)以及启动管理多个容器。


✅ 一、准备工作

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

    • 登录京东云控制台,选择“轻量应用服务器”。
    • 创建一台 Linux 实例(推荐 Ubuntu 或 CentOS)。
    • 获取公网 IP 和 SSH 登录凭证(用户名/密码或密钥对)。
  2. 连接到服务器

    ssh root@<你的公网IP>

✅ 二、安装 Docker

1. 更新系统包

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

2. 安装 Docker

以 Ubuntu 为例:

# 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 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

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

其他系统可参考官方文档:https://docs.docker.com/engine/install/

3. 启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

4. (可选)将当前用户加入 docker 组,避免每次用 sudo

sudo usermod -aG docker $USER
# 退出重新登录生效

✅ 三、使用 Docker Compose 部署多个容器(推荐)

Docker Compose 可以通过一个 docker-compose.yml 文件定义和运行多个容器服务。

1. 安装 Docker Compose(如果未自动安装)

# 现代版本已集成,也可手动安装
sudo apt install -y docker-compose

验证:

docker compose version

2. 创建项目目录

mkdir ~/myapp && cd ~/myapp

3. 编写 docker-compose.yml

示例:部署 Nginx + MySQL + Redis

# docker-compose.yml
version: '3.8'

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

  webapp:
    image: nginx:alpine
    # 或者使用你自己的镜像:yourname/myweb:latest
    environment:
      - ENV=production
    ports:
      - "8080:80"

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

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

volumes:
  mysql_data:
  redis_data:

⚠️ 注意:生产环境中不要暴露数据库端口(如 3306、6379)到公网,可通过内网通信或防火墙限制。


✅ 四、启动多个容器

# 在 docker-compose.yml 所在目录执行
docker compose up -d
  • -d 表示后台运行。

✅ 五、常用管理命令

# 查看运行中的容器
docker ps

# 查看 compose 服务状态
docker compose ps

# 查看日志
docker compose logs -f

# 停止所有服务
docker compose down

# 重启服务
docker compose restart

# 更新某个服务(重建)
docker compose up -d --build webapp

✅ 六、安全与优化建议

  1. 配置防火墙(京东云安全组)

    • 登录京东云控制台 → 轻量服务器 → 安全组
    • 开放必要端口:80 (HTTP), 443 (HTTPS)
    • 关闭不必要的端口(如 3306、6379 不对外暴露)
  2. 使用反向X_X(Nginx)统一入口

    • 多个 Web 服务可通过 Nginx 分发(基于域名或路径)
  3. 数据持久化

    • 使用 Docker 卷(volume)或绑定挂载(bind mount)保存数据库等重要数据。
  4. 定期备份

    • 对数据库卷进行定时备份(如 mysqldump + cron)
  5. 监控资源使用

    • 使用 docker stats 监控容器资源占用。

✅ 示例:部署 WordPress + MySQL

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
    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:
  db_data:

然后运行:

docker compose up -d

访问 http://<服务器IP>:8080 开始安装 WordPress。


✅ 总结

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

如有进一步需求(如 HTTPS、域名绑定、CI/CD 自动部署),也可以继续扩展。欢迎继续提问!