在阿里云服务器上安装Docker部署后台项目

后端项目 Docker Compose 部署指南

下面是一份从零开始的 Docker Compose 部署详细步骤,假设你的阿里云服务器是 Linux(CentOS / 阿里云 Linux / Ubuntu)。


第一步:连接阿里云服务器

  1. 打开 PowerShell 或 Windows 终端
  2. 使用 SSH 连接(将 root 和 你的服务器IP 换成实际信息):
bash 复制代码
ssh root@你的服务器IP
  1. 输入密码,连接成功后进入服务器命令行

第二步:确认系统类型

执行:

bash 复制代码
cat /etc/os-release

记下系统类型,后面安装步骤会用到:

  • CentOS 或 Alibaba Cloud Linux :用 yum 安装
  • Ubuntu 或 Debian :用 apt 安装

第三步:安装 Docker

方案 A:CentOS / Alibaba Cloud Linux

这个是我的:

1. 卸载旧版 Docker(如有)

bash 复制代码
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y

2. 安装依赖

bash 复制代码
sudo yum install -y yum-utils

3. 添加阿里云 Docker 镜像源

bash 复制代码
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 安装 Docker

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装过程中如提示 Is this ok [y/d/N]:,输入 y 回车。

5. 启动 Docker 并设置开机自启

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

6. 验证 Docker

bash 复制代码
docker --version

应看到类似:Docker version 26.x.x, build xxxxx


方案 B:Ubuntu / Debian(另一种情况,可以不关注)

1. 更新软件源

bash 复制代码
sudo apt update

2. 安装依赖

bash 复制代码
sudo apt install -y ca-certificates curl gnupg lsb-release

3. 添加 Docker 官方 GPG 密钥

bash 复制代码
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

4. 添加阿里云 Docker 软件源

bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker

bash 复制代码
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6. 启动 Docker 并设置开机自启

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

7. 验证

bash 复制代码
docker --version

第四步:配置 Docker 镜像加速(可选但推荐)

国内建议配置阿里云镜像加速:

bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你的阿里云ID.mirror.aliyuncs.com"]
}
EOF

获取「你的阿里云ID」:

  1. 登录阿里云控制台
  2. 打开:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  3. 找到「镜像加速器」里的地址,例如:https://abc123.mirror.aliyuncs.com
  4. 把上面的 你的阿里云ID 换成 abc123 这部分

如果暂时不想配置,这一步可以跳过,或使用公共镜像:

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF

然后重启 Docker:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

第五步:验证 Docker Compose

bash 复制代码
docker compose version

应看到类似:Docker Compose version v2.x.x。如果提示命令不存在,说明未安装 compose 插件,需要重新执行第三步的安装命令。


第六步:上传项目到服务器

在 本地电脑 的 PowerShell 中执行(把路径和 IP 换成你的实际值):

powershell 复制代码
# 压缩项目(在项目上级目录执行)
cd 本地项目路径
Compress-Archive -Path vue3_admin_backend-main -DestinationPath vue3_admin_backend.zip

# 上传到服务器(把 IP 换成你的服务器公网 IP)
scp vue3_admin_backend.zip root@你的服务器IP:/root/

输入服务器密码,等待上传完成。


第七步:在服务器上解压并进入项目目录

bash 复制代码
cd /root
unzip vue3_admin_backend.zip
cd vue3_admin_backend-main

如果没有 unzip,可先安装:

bash 复制代码
# CentOS/Alibaba Cloud Linux
sudo yum install -y unzip

# Ubuntu
sudo apt install -y unzip

也可以直接通过filezilla将后端项目上传至服务器:

第八步:修改生产环境配置

1. 修改 conf/config.yaml

bash 复制代码
vi conf/config.yaml

按 i 进入编辑,把 mode 改为 release:

yaml 复制代码
mode: "release"

按 Esc,输入 :wq 回车保存退出。

2. 修改 docker-compose.yaml 中的 MySQL 密码(可不做)

bash 复制代码
vi docker-compose.yaml

找到 MYSQL_ROOT_PASSWORD 和 MYSQL_PASSWORD,改成强密码,例如:

yaml 复制代码
MYSQL_ROOT_PASSWORD: MyStr0ngP@ssw0rd
MYSQL_PASSWORD: MyStr0ngP@ssw0rd

保存退出(Esc 后输入 :wq)。


第九步:开放安全组端口

在阿里云控制台:

  1. 进入 云服务器 ECS → 实例
  2. 选中你的实例 → 安全组 → 配置规则
  3. 入方向 → 手动添加
  4. 添加规则:
    • 端口范围:10086
    • 授权对象:0.0.0.0/0
    • 协议:TCP
  5. 保存

如需从外网访问 MySQL(一般不建议),再开放 3306 端口;否则可不开放。


第十步:构建并启动服务

在项目目录下执行:

bash 复制代码
cd /root/vue3_admin_backend-main
docker compose up --build -d

含义:

  • up:启动服务
  • --build:构建镜像
  • -d:后台运行

首次执行会下载镜像、构建应用,可能需要几分钟。


第十一步:检查运行状态

bash 复制代码
docker compose ps

应看到两个容器:vue3_admin_backend 和 vue3_admin_mysql,状态为 Up。

查看日志:

bash 复制代码
docker compose logs -f vue3_admin_backend

按 Ctrl+C 退出日志。


第十二步:验证访问

在浏览器中访问:

复制代码
http://你的服务器公网IP:10086/swagger/index.html

能看到 Swagger 文档页面说明部署成功。

登录测试:

  • 用户名:admin
  • 密码:111111

常用运维命令

操作 命令
停止服务 docker compose down
重启服务 docker compose restart
查看日志 docker compose logs -f
查看状态 docker compose ps
重新构建并启动 docker compose up --build -d

常见问题排查

1. 启动失败

bash 复制代码
docker compose logs vue3_admin_backend

如显示 MySQL 连接失败,可先等 MySQL 容器完全启动(约 30 秒),再执行:

bash 复制代码
docker compose restart vue3_admin_backend

2. 端口被占用

bash 复制代码
# 查看 10086 端口占用
netstat -tlnp | grep 10086

如被占用,可修改 conf/config.yaml 中的 port,并在 docker-compose.yaml 对应 ports 中同步修改。

3. 无法访问

  • 确认安全组已开放 10086
  • 确认服务器防火墙未阻止 10086(如使用 firewalld:firewall-cmd --add-port=10086/tcp --permanent 后 firewall-cmd --reload)

按以上步骤操作,即可在阿里云服务器上完成 Docker Compose 部署。

相关推荐
JeJe同学6 小时前
Docker镜像导入、容器启动
linux·运维·docker
闲云野鹤在人间7 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
元Y亨H11 小时前
基于 Jenkins + Docker 的前端(Vben Admin)CI/CD 踩坑
docker·jenkins
白兰地空瓶12 小时前
项目要上线了,我连夜学完 Docker:从底层原理到容器化部署全记录
docker·全栈
Knight_AL14 小时前
PostgreSQL Docker 数据库备份:pg_dump 与 SQL 格式备份的区别
数据库·docker·postgresql
灯澜忆梦15 小时前
【docker】#1 | Docker 初识
运维·docker·容器
钟祥哎眼15 小时前
镜片膜层都是什么:加硬、减反射、疏水一次说清?/钟祥极博视科普
阿里云
骑着蜗牛撵大象32716 小时前
穿越 Docker 内核迷雾:镜像分层的叠加态与卷挂载的空间穿梭
运维·docker·容器·联合文件系统·卷挂载·镜像分层·存储驱动
honsor16 小时前
以太网温湿度传感器:RJ45直连机房的环境监控新方案
运维·网络·数据库·物联网·安全·云计算·github
goehou16 小时前
AI 应用上线实战:从本地脚本到 Docker 容器化(密钥、健康检查、镜像瘦身)
docker·ai·llm·部署·教程·容器化