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

在京东云轻量服务器上部署多个 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

✅ 七、进阶建议

  1. 使用反向X_X:用 Nginx 反代多个 Web 服务(通过域名区分)
  2. HTTPS 支持:配合 Certbot + Let’s Encrypt 配置 SSL
  3. 数据持久化:确保数据库挂载卷,避免数据丢失
  4. 安全加固
    • 修改默认密码
    • 使用 .env 文件管理敏感信息
    • 不要将数据库暴露在公网

✅ 总结

在京东云轻量服务器上部署多个 Docker 容器的关键步骤:

  1. 安装 Docker 和 Docker Compose
  2. 编写 docker-compose.yml 定义多个服务
  3. 使用 docker-compose up -d 一键启动
  4. 通过安全组控制端口访问
  5. 持续维护与监控容器状态

这样就可以轻松实现多服务应用部署(如 Web + DB + Cache)。


如有具体应用场景(如部署 WordPress + MySQL、Node.js + MongoDB),欢迎继续提问,我可以提供定制化配置文件。

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