可直接用docker部署sugarcrm,但需依赖mysql服务且原生镜像(如spantree/sugarcrm)多年未更新,存在兼容性与stop/start后无法启动问题;推荐改用suitecrm或基于官方包自建docker环境。

可以直接用 Docker 快速部署 SugarCRM,但要注意它依赖 MySQL 服务,且原生镜像(如 spantree/sugarcrm)已多年未更新,存在兼容性与启动稳定性问题。推荐改用更活跃的替代方案,或手动构建可控环境。
准备基础运行环境
确保宿主机是 CentOS 7 或其他主流 Linux 发行版,并已安装 Docker 17.0+:
- 启用并启动 Docker 服务:
systemctl enable docker && systemctl start docker - 配置阿里云镜像加速(避免拉取超时):向
/etc/docker/daemon.json写入{"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]},然后执行systemctl restart docker - 验证安装:
docker version应同时显示 client 和 server 信息
部署 MySQL 数据库容器
SugarCRM 需要独立、持久化的 MySQL 实例。不建议使用内存型临时容器,应挂载数据卷:
- 运行 MySQL 5.7 容器(推荐该版本,兼容 SugarCRM 6.x–7.x):
docker run -d --name mysql-sugar \-e MYSQL_ROOT_PASSWORD=root \-v /opt/mysql-sugar:/var/lib/mysql \-p 3306:3306 \--restart=unless-stopped \mysql:5.7 - 进入容器创建数据库:
docker exec -it mysql-sugar mysql -uroot -proot -e "CREATE DATABASE sugarcrmdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
运行 SugarCRM 容器(注意兼容性)
官方不再维护 spantree/sugarcrm 镜像,Docker Hub 上多数镜像无法在 stop/start 后正常恢复(因未处理 Apache 进程状态和文件锁)。稳妥做法是:
- 改用 SuiteCRM(SugarCRM 的活跃开源分支),其 Docker 部署更成熟,社区持续更新;可参考
suitecrm/suitecrm或自建 LNMP 容器组合 - 若必须用 SugarCRM,建议基于官方安装包 + 自定义 Dockerfile 构建:
— 使用 CentOS 7 或 Ubuntu 20.04 基础镜像
— 安装 PHP 7.4、Apache 2.4、MySQL client、必要扩展(pdo_mysql、mbstring、zip 等)
— 复制 SugarCRM 安装包到/var/www/html,设置权限与 Apache 虚拟主机 - 启动时显式指定数据库连接参数,避免硬编码:
-e DB_HOST_NAME=mysql-sugar -e DATABASE_NAME=sugarcrmdb -e DB_USER_NAME=root -e DB_PASSWORD=root
访问与后续配置
容器启动后,通过宿主机 IP 加映射端口访问(如 http://192.168.254.179:8080):
- 首次访问会进入 Web 安装向导,按提示填写数据库地址(填容器名
mysql-sugar,非 IP)、用户名密码 - 安装完成后,务必禁用安装向导目录(
rm -rf /var/www/html/install),防止安全风险 - 如需汉化,下载对应语言包(如
zh_CN),解压至include/language/,并在后台「管理员 > 系统设置 > 语言」中启用











