Docker实现工单系统一键部署的核心是通过docker-compose.yml统一编排应用、MySQL、Redis等容器,克隆Ferry项目后修改配置,执行docker compose up -d即可启动完整系统,访问http://localhost:8080进入初始化页面。

用Docker实现工单系统一键部署,核心在于把应用、数据库、缓存等服务打包成标准化容器,并通过docker-compose.yml统一编排启动。不需要手动装环境、配依赖、调端口,一条命令就能拉起完整可运行的系统。
选对工单系统镜像或项目
优先选用已支持Docker原生部署的开源工单系统,例如:
-
Ferry:自带
docker-compose.yml和settings.yml,官方提供MySQL+Redis+App三容器联动方案 - PESMCS Ticket:基于PHP+MariaDB,有明确的网络隔离与数据卷挂载规范
- Gitea(带Issue功能):虽非纯工单系统,但轻量易启,1GB内存即可跑通,适合小型团队快速启用任务跟踪
避免从零写Dockerfile——除非你有定制化需求。直接克隆官方仓库,检查/docker或根目录是否存在docker-compose.yml文件。
准备基础运行环境
确保宿主机满足最低要求:
- Docker 20.10+ 和 Docker Compose 2.0+(推荐用
docker compose新命令格式) - 至少2GB可用内存(Ferry建议2GB,Gitea可压至1GB)
- 开放对应端口(如8080、3306、6379),云服务器需同步配置安全组
- 国内用户务必配置镜像源(如
https://mirror.baidubce.com),加速拉取MySQL/Redis等基础镜像
执行一键部署流程
以Ferry为例,典型操作链路如下:
- 克隆代码:
git clone https://gitcode.com/gh_mirrors/fe/ferry && cd ferry - 检查并修改
docker-compose.yml中的关键参数:
– MySQL密码(MYSQL_ROOT_PASSWORD)
– Redis连接地址(默认redis:6379)
– Ferry应用端口映射(如"8080:8080") - 首次启动前,确认
config/settings.yml中数据库地址为mysql(Docker内网服务名),不是localhost - 运行:
docker compose up -d(注意是compose而非compose) - 等待约30秒,执行
docker compose ps查看三个服务是否均为healthy状态
成功后访问http://[服务器IP]:8080,即可进入初始化页面。
部署后必要验证项
别只看页面能打开,重点确认底层连通性:
- 进入Ferry容器:
docker exec -it ferry-app sh,尝试ping mysql和redis-cli -h redis ping - 登录MySQL容器:
docker exec -it ferry-mysql mysql -uroot -p密码 -e "show databases;",确认ferry_test库已自动创建 - 检查日志是否有报错:
docker compose logs -f ferry-app | grep -i error - 注册第一个账号后,新建一个工单,观察“我待办的”列表是否实时更新
只要容器健康、网络互通、数据库可写,后续流程配置、权限分配、邮件通知等功能就具备运行基础。











