在京东云轻量服务器上部署多个 Docker 容器是一个常见的需求,可以通过以下步骤实现。整个过程包括:环境准备、Docker 安装、容器编排(使用 Docker Compose 或手动管理多个容器)等。
✅ 一、准备工作
-
购买并登录京东云轻量服务器
- 登录 京东云控制台
- 创建一台轻量应用服务器(推荐选择 Ubuntu/CentOS 系统)
- 获取公网 IP 和 SSH 登录凭证
-
连接到服务器
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(建议不对外暴露)
- 自定义应用端口
👉 操作路径:
京东云控制台 → 轻量服务器 → 实例详情 → 安全组 → 添加规则
✅ 六、其他建议
- 使用
.env文件管理敏感信息 - 定期备份数据卷(尤其是数据库)
- 使用反向(如 Nginx)统一管理多个 Web 服务
- 开启日志监控:
docker logs <container> - 考虑使用 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 项目),可提供更详细的部署方案。欢迎继续提问!
CLOUD技术笔记