1. 文档教程
壹信-开源即时通讯
  • 壹信 — 即时通讯系统
  • 项目源码结构与功能说明书
  • 功能核心分类明细
  • 客户端打包教程
  • Android安卓打包教程
  • iOS苹果打包教程
  • 苹果推送apns配置教程
  • macOS电脑打包教程
  • Windowsn桌面端打包教程
  • mac编译环境配置
  • windows编译环境配置
  • Docker部署后端教程
  • 用宝塔面板搭建服务端
  • API全局接口
  • 并发压力测试报告
  • 服务器配置推荐
  • 适用于上架的隐私协议
  • 端口说明
  • 更新日志
  • 法律声明
文档教程
文档教程
  1. 文档教程

Docker部署后端教程

💻 后端应用 Docker 部署详细教程#

💡 核心信息
适用后端: Python/Node.js/Java 等常见后端语言
适用系统: Linux (Ubuntu 22.04+) / macOS / Windows (WSL2)
Docker 版本: 24.0.0+
最后更新: 2026-03-07
目标: 将后端应用部署到 Docker 容器中

📌 一、前提条件#

1.1 确认 Docker 已安装#

1.2 安装 Docker (如果未安装)#

在 Ubuntu/Debian 上安装:#

在 macOS 上安装:#

1.
下载 Docker Desktop for Mac
2.
运行安装程序
3.
打开 Docker Desktop

在 Windows 上安装:#

1.
下载 Docker Desktop for Windows
2.
运行安装程序
3.
启用 WSL2 (如果使用 Windows Subsystem for Linux)
4.
打开 Docker Desktop

🧱 二、后端应用准备#

2.1 项目结构示例 (以 Python Flask 应用为例)#

yixinim-backend/
├── app.py
├── requirements.txt
├── Dockerfile
├── config/
│   └── production.yaml
└── .env

2.2 示例后端代码 (app.py)#

2.3 依赖文件 (requirements.txt)#

flask==2.3.2
gunicorn==20.1.0
python-dotenv==1.0.0

📦 三、创建 Dockerfile#

3.1 创建 Dockerfile 文件#

在项目根目录创建 Dockerfile:

3.2 Dockerfile 关键说明#

指令说明
FROM指定基础镜像,这里使用官方 Python 3.11 镜像
WORKDIR设置工作目录,所有后续命令都在此目录执行
COPY将当前目录文件复制到镜像中
RUN在镜像中执行命令,安装依赖
ENV设置环境变量
EXPOSE暴露端口,告诉 Docker 容器监听的端口
CMD容器启动时执行的命令

🛠️ 四、构建 Docker 镜像#

4.1 构建镜像#

参数说明:
-t: 指定镜像名称和标签 (格式: 名称:标签)
.: 指定构建上下文 (当前目录)
预期输出:
Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM python:3.11-slim
...
Successfully built 123456789abc
Successfully tagged yixinim-backend:latest

4.2 验证镜像#

预期输出:
REPOSITORY           TAG       IMAGE ID       CREATED         SIZE
yixinim-backend      latest    123456789abc   2 minutes ago   128MB

🚀 五、运行 Docker 容器#

5.1 基本运行命令#

参数说明:
-d: 后台运行容器
-p: 端口映射 (宿主机端口:容器端口)
--name: 容器名称
yixinim-backend:latest: 镜像名称

5.2 验证容器运行#

预期输出:
CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                  NAMES
123456789abc   yixinim-backend:latest   "gunicorn --bind 0.0.0…"   2 minutes ago   Up 2 minutes   0.0.0.0:5000->5000/tcp   yixinim-backend

🔌 六、连接数据库 (示例)#

6.1 创建 Docker 网络#

6.2 运行数据库容器#

6.3 更新后端配置#

在 config/production.yaml 中添加数据库配置:

6.4 重新构建并运行后端#


📊 七、日志与监控#

7.1 查看容器日志#

7.2 实时查看日志#

7.3 查看容器资源使用#


🛠️ 八、高级配置#

8.1 使用 Docker Compose (推荐)#

8.1.1 创建 docker-compose.yml#

8.1.2 使用 Docker Compose 运行#


🧪 九、测试部署#

9.1 测试 API#

9.2 查看应用状态#


🛑 十、常见问题与解决方案#

10.1 问题: "Cannot connect to database"#

原因: 容器间网络未正确配置
解决方案:
1.
确认服务在同一个 Docker 网络中
2.
确认数据库服务名称正确 (在 docker-compose.yml 中定义的名称)
3.
在后端配置中使用服务名称 (如 yixinim-db 或 db),而不是 localhost

10.2 问题: "Port already in use"#

原因: 宿主机端口已被占用
解决方案:
1.
更换宿主机端口:
2.
停止占用端口的进程:

10.3 问题: "Image build fails"#

原因: 依赖安装失败
解决方案:
1.
检查 requirements.txt 文件
2.
确保所有依赖在 PyPI 上可访问
3.
在 Dockerfile 中添加 RUN apt-get update && apt-get install -y build-essential (如果需要编译依赖)

10.4 问题: "Application not responding"#

原因: 应用启动超时
解决方案:
1.
在 Dockerfile 中增加启动超时:
2.
在 docker-compose.yml 中增加健康检查:

📌 十一、总结#

您已成功将壹信 IM 后端应用部署到 Docker 容器中:
重要提示:
使用 Docker Compose 管理多服务应用 (后端 + 数据库)
将环境变量通过 .env 文件或 Docker Compose 配置管理
为生产环境配置 TLS/HTTPS
定期更新基础镜像 (如 Python 镜像)

📎 附录:Docker 常用命令#

命令说明
docker build -t <image>:<tag> .构建 Docker 镜像
docker run -d -p <host_port>:<container_port> --name <container_name> <image>运行容器
docker ps查看正在运行的容器
docker logs <container_name>查看容器日志
docker stop <container_name>停止容器
docker rm <container_name>删除容器
docker images查看本地镜像
docker rmi <image_id>删除镜像
docker network create <network_name>创建 Docker 网络
docker-compose up -d启动 Docker Compose 服务
docker-compose down停止 Docker Compose 服务

✅ 最终验证#

1.
容器运行状态:
2.
应用响应测试:
3.
数据库连接测试:

💡 额外建议#

1.
使用 CI/CD: 将 Docker 构建集成到 GitHub Actions 或 GitLab CI
2.
使用 Docker Hub: 将镜像推送到 Docker Hub 以便于部署
3.
使用 Docker Secrets: 在生产环境中安全地管理敏感信息
4.
监控: 集成 Prometheus 和 Grafana 监控容器性能

恭喜!您已成功将壹信 IM 后端应用部署到 Docker 容器中,现在可以将其部署到云服务器或 Kubernetes 集群中,实现更高效、可扩展的后端服务!
修改于 2026-03-06 16:36:38
上一页
windows编译环境配置
下一页
用宝塔面板搭建服务端
Built with