在京东云轻量服务器上部署多个 Docker 容器是一个常见且高效的实践。以下是详细的步骤指南,帮助你在京东云轻量服务器上使用 Docker 部署多个容器。
✅ 一、准备工作
1. 购买并登录京东云轻量服务器
- 登录 京东云控制台
- 创建一台轻量应用服务器(推荐选择 Ubuntu 或 CentOS 系统)
- 获取公网 IP 地址,并通过 SSH 登录:
ssh root@你的公网IP
✅ 二、安装 Docker 和 Docker Compose
1. 更新系统包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo yum update -y # CentOS/RHEL
2. 安装 Docker
# 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加仓库
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 Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
如果是 CentOS,参考 Docker 官方文档:Install Docker Engine on CentOS
3. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
4. (可选)将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
# 退出重新登录或执行:
newgrp docker
5. 安装 Docker Compose
# 下载最新版本(替换 v2.x.x 为实际版本号)
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)
示例:同时部署 Nginx + MySQL + Redis
创建项目目录和配置文件:
mkdir ~/myapp && cd ~/myapp
vim docker-compose.yml
粘贴以下内容到 docker-compose.yml:
version: '3.8'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- webapp
restart: unless-stopped
webapp:
image: nginx:alpine
# 或者你自己的镜像:yourname/webapp:latest
environment:
- ENV=production
expose:
- "80"
restart: unless-stopped
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: your_secure_password
MYSQL_DATABASE: mydb
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
redis:
image: redis:alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
mysql_data:
redis_data:
⚠️ 注意:生产环境不要暴露数据库端口(如 3306、6379)到公网!此处仅为演示。
创建 Nginx 配置目录(可选)
mkdir -p nginx/conf.d
cat > nginx/conf.d/default.conf <<EOF
server {
listen 80;
server_name localhost;
location / {
return 200 'Hello from WebApp!';
add_header Content-Type text/plain;
}
}
EOF
✅ 四、启动所有容器
docker-compose up -d
-d表示后台运行
查看运行状态:
docker-compose ps
docker ps
查看日志:
docker-compose logs -f
✅ 五、访问服务
| 服务 | 访问方式 |
|---|---|
| Nginx | 浏览器访问 http://<公网IP> |
| MySQL | 本地连接 公网IP:3306 |
| Redis | redis-cli -h <公网IP> -p 6379 |
🔒 安全建议:在京东云控制台 → 安全组中,仅开放必要的端口(如 80、443),关闭 3306、6379 等数据库端口的公网访问。
✅ 六、管理多个容器的常用命令
# 查看所有容器
docker-compose ps
# 停止所有
docker-compose stop
# 删除所有(停止并删除容器)
docker-compose down
# 重启
docker-compose restart
# 查看日志
docker-compose logs -f service_name
# 进入某个容器
docker exec -it <container_name> sh
✅ 七、进阶建议
- 使用反向X_X:用 Nginx 反代多个 Web 服务(通过域名区分)
- HTTPS 支持:配合 Certbot + Let’s Encrypt 配置 SSL
- 数据持久化:确保数据库挂载卷,避免数据丢失
- 安全加固:
- 修改默认密码
- 使用
.env文件管理敏感信息 - 不要将数据库暴露在公网
✅ 总结
在京东云轻量服务器上部署多个 Docker 容器的关键步骤:
- 安装 Docker 和 Docker Compose
- 编写
docker-compose.yml定义多个服务 - 使用
docker-compose up -d一键启动 - 通过安全组控制端口访问
- 持续维护与监控容器状态
这样就可以轻松实现多服务应用部署(如 Web + DB + Cache)。
如有具体应用场景(如部署 WordPress + MySQL、Node.js + MongoDB),欢迎继续提问,我可以提供定制化配置文件。
CLOUD云枢