在京东云轻量服务器上部署多个 Docker 容器是一个常见需求,可以通过以下步骤完成。本文将指导你从环境准备到使用 Docker 和 Docker Compose 部署多个容器的完整流程。
✅ 一、准备工作
1. 登录京东云控制台
- 进入 京东云官网
- 登录后进入「轻量应用服务器」管理页面。
- 创建或选择一台轻量服务器(建议系统为 Ubuntu 20.04/22.04 或 CentOS 7/8)。
2. 连接服务器
通过 SSH 连接到你的轻量服务器:
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
CentOS 示例:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
4. (可选)添加当前用户到 docker 组
避免每次使用 sudo:
sudo usermod -aG docker $USER
# 重新登录或执行:
newgrp docker
✅ 三、部署多个 Docker 容器
推荐使用 Docker Compose 来管理多个容器。
1. 安装 Docker Compose(如果未自动安装)
上面已安装 docker-compose-plugin,可直接使用:
docker compose version
注意:新版使用
docker compose(无连字符),旧版是docker-compose。
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/nginx.conf
depends_on:
- app
app:
image: your-web-app:latest
environment:
- DB_HOST=mysql
- REDIS_URL=redis://redis:6379
depends_on:
- mysql
- redis
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: mysecretpassword
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:
注:你可以根据实际需求替换
app服务为你自己的镜像或构建配置。
4. 启动所有容器
docker compose up -d
-d表示后台运行。
✅ 四、常用命令
| 命令 | 说明 |
|---|---|
docker compose ps |
查看运行中的容器 |
docker compose logs |
查看日志 |
docker compose down |
停止并删除容器 |
docker compose restart |
重启服务 |
docker ps |
查看所有容器(原生命令) |
✅ 五、开放防火墙端口(京东云安全组)
在京东云控制台中,确保为你的轻量服务器配置了正确的安全组规则,放行所需端口:
- HTTP: 80
- HTTPS: 443
- MySQL: 3306(如需网络访问,注意安全)
- Redis: 6379(建议仅内网访问)
- 自定义应用端口
👉 操作路径:
京东云控制台 → 轻量应用服务器 → 找到实例 → 安全组 → 添加入方向规则
✅ 六、进阶建议
-
使用
.env文件管理环境变量# .env MYSQL_ROOT_PASSWORD=strongpassword DOMAIN=example.com -
使用
build构建本地镜像app: build: ./app ports: - "5000:5000" -
反向X_X(Nginx)统一入口
可用 Nginx 或 Traefik 实现多服务域名路由。 -
数据持久化
使用卷(volume)或绑定挂载确保数据库等数据不丢失。
✅ 总结
在京东云轻量服务器上部署多个 Docker 容器的关键步骤:
- 安装 Docker 和 Docker Compose
- 编写
docker-compose.yml定义多个服务 - 使用
docker compose up -d启动 - 配置安全组放行端口
- 监控和维护容器状态
如果你有具体的应用场景(如部署 WordPress + MySQL,或多个微服务),欢迎提供,我可以给出更具体的 docker-compose.yml 示例。
云计算