Docker 安装
Docker 安装自带独立的 MySQL 8 容器,不影响服务器上已有的任何数据库。全程交互式问答,不需要浏览器向导。
适用场景
- 服务器上有老项目,担心安装新软件影响它们
- 服务器 MySQL 版本低于 8.0、是 MariaDB,或无法升级
安装步骤
-
确认 Docker 环境
需要 Docker 20.10+(含 compose 插件)。未安装的话,在服务器终端执行:
curl -fsSL https://get.docker.com | bash && systemctl enable --now docker -
进入安装包目录,运行安装脚本
cd /www/wwwroot/go_fan-v1.1.54-linux-amd64 # 以实际目录为准 chmod +x install.sh go_fan ./install.sh --docker宿主机端口被占时脚本自动改用空闲端口并明确告知;也可用
--port指定。 -
按提示回答几个问题
脚本会依次询问:授权码(可留空跳过)、对外端口、后台管理员密码。全程每一步都有进度与结果输出——等待 MySQL 就绪每 10 秒打一行进度,任何一步失败都会打印明确的失败原因与排查命令,可直接截图反馈给客服。
-
自动完成
启动顺序经过专门设计:先只启动 MySQL 容器 → 跑数据库迁移 → 创建管理员 → 最后才启动 go_fan,避免应用连上空库反复崩溃重启。管理员账号用一次性容器生成,不依赖应用容器状态。
-
装完验证
浏览器打开
http://服务器IP:端口/admin(端口以安装时为准),用admin+ 你设置的密码登录;打开后台「系统自检」确认数据库、授权、端口全部正常。
i后台密码可在会员中心找回
安装时会写入管理员凭证种子(0600 权限),程序首次成功心跳后上报授权中台——之后可在 188mi 会员中心「我的授权」通过邮箱验证找回后台密码,不用登录服务器。
设计说明
为什么容器里没有二进制
go_fan 的运行镜像不含程序本体——安装目录整体挂载进容器。远程更新替换宿主机上的二进制后,容器退出会由 restart: unless-stopped 自动拉起,即跑新版,无需重新构建镜像。
可选:启用 Redis
- 编辑
docker-compose.yml,取消redis段的注释; - 把
config.yaml的redis.host改为redis; - 执行
docker compose up -d重建。
常用运维命令
docker compose ps # 查看容器状态
docker compose logs -f go_fan # 跟踪程序日志
docker compose restart go_fan # 重启(更新后)
卸载
./install.sh --uninstall # 停止容器,MySQL 数据卷是否删除会二次确认
./install.sh --uninstall --purge # 彻底清理(连程序目录一起删,用于重装)
卸载流程很稳:即使目录缺少 .env 或某一步清理失败也不会中断——打印原因与手动排查命令后,继续完成其余清理。