轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
sugardockerized

esimonetti/sugardockerized

esimonetti
自动构建

SugarDockerized是一个Docker化的Sugar CRM开发全栈解决方案,支持多种平台组合和版本,提供单服务器和负载均衡集群两种部署模式,包含Apache、MySQL、Elasticsearch、Redis等组件,适合Sugar CRM的本地开发和测试环境搭建。

4 次收藏下载次数: 0状态:自动构建维护者:esimonetti仓库类型:镜像最近更新:3 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

Sugar Dockerized

本仓库帮助您部署基于Docker的Sugar开发全栈,满足不同平台组合的所有平台要求。

可用的栈

有几个可用的栈,每个栈本身包含多种平台组合。您可以通过以下链接了解特定栈的更多信息:

  • Sugar 9
  • Sugar 83 - 仅适用于Sugar Cloud版本的本地开发
  • Sugar 8

您可以在项目的stack目录中找到其他栈。

栈的类型

主要有两种类型的栈:

  • 单Apache Web服务器 - 初始开发
  • 带有两个Apache Web服务器集群的Apache负载均衡器 - 更真实的环境,用于验证所有功能是否正常工作

所有栈组件

有多个作为Docker容器的栈组件,执行不同的任务。并非所有栈组件都可能在特定的栈设置中使用。

  • Apache负载均衡器 - 在Apache PHP Web服务器集群之间进行轮询负载均衡
  • Apache PHP Web服务器 - Web服务器
  • MySQL数据库 - 数据库
  • Elasticsearch - Sugar搜索引擎
  • Redis - 两个用途:Sugar对象缓存服务和PHP会话存储/共享服务
  • Cron - Sugar后台调度程序处理。注意,这会立即启用,一旦文件可用就会运行cron.php,并且自上次运行以来将尝试每60秒运行一次。此容器用于开发期间所需的任何其他CLI执行
  • Permission - 正确设置Sugar实例权限,然后终止
  • LDAP - 如需LDAP测试服务器,用于身份验证

启动系统

  • 为使一切顺利运行,第一步是在您计算机的主机文件/etc/hosts中添加条目"docker.local",指向您机器的IP(如果在本地或运行Docker的VM中运行栈,可能是127.0.0.1)
  • 使用git clone https://github.com/esimonetti/SugarDockerized.git sugardocker克隆仓库,并使用cd sugardocker进入sugardocker目录
  • 运行工具./utilities/setownership.sh以设置数据目录的正确所有权
  • 通过选择stacks内子目录中的正确yml文件来选择要运行的栈组合。有关更多详细信息和示例,请参见下一步。
  • 为选定的<stack yml filename>运行docker-compose -f <stack yml filename> up -d。例如,如果我们选择stacks/sugar8/php71.yml,您将运行docker-compose -f stacks/sugar8/php71.yml up -d

当前版本支持

主要栈适用于Sugar 9.0版本及其所有平台要求。其他栈与版本8.0、7.9以及仅Sugar Cloud版本(7.10/7.11、8.1、8.2和8.3)的平台要求保持一致。

启动和停止所需的栈

  • 使用docker-compose -f <stack yml filename> up -d运行栈
  • 使用docker-compose -f <stack yml filename> down停止栈

为了方便启动和停止栈以及在它们之间切换,提供了https://github.com/esimonetti/SugarDockerized#stacksh。

系统详细信息

栈组件主机名

  • Apache负载均衡器: sugar-lb
  • Apache PHP Web服务器: 单栈:sugar-web1 集群栈:sugar-web1 和 sugar-web2
  • MySQL数据库: sugar-mysql
  • Elasticsearch: sugar-elasticsearch
  • Redis - sugar-redis
  • Cron - sugar-cron
  • Permission - sugar-permissions
  • LDAP - sugar-ldap

要验证所有组件主机名,只需在栈运行时运行docker ps。

请注意,在此设置中,只有Web服务器或负载均衡器(如果在单Web服务器或集群栈中)和数据库可以从外部访问。其他所有组件仅允许在栈组件内部访问。

核心栈组件

  • Linux
  • Apache
  • MySQL
  • PHP
  • Redis
  • Elasticsearch

Sugar设置详情

  • 浏览器URL: [***] - 基于本地计算机上定义的主机文件条目
  • MySQL主机名: sugar-mysql
    • MySQL用户: root
    • MySQL密码: root
  • Elasticsearch主机名: sugar-elasticsearch
  • Redis主机名: sugar-redis

Apache附加信息

Apache Web服务器已启用:

  • mod_headers
  • mod_expires
  • mod_deflate
  • mod_rewrite

PHP附加信息

Apache Web服务器的PHP已启用:

  • Zend OPcache - 针对Sugar配置,假设文件将位于正确的路径中
  • XHProf和Tideways分析器
  • Xdebug已安装但默认未启用(由于其性能影响)。如果需要启用,您必须取消选择的PHP Dockerfile上的配置选项,并利用带有本地构建的栈配置。
    • 如果您使用PHPStorm等IDE,可以在菜单Preference -> Language & Framework -> PHP -> Debug -> DBGp Proxy下设置DBGp代理。示例设置可在下面的截图中找到:

      • 使用Xdebug Helper调试

        如果您使用Chrome浏览器,可以安装扩展https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc。准备调试时,点击Xdebug helper上的调试按钮,然后在PHPStorm中点击"Start listening for PHP Debug Connections"

      • 使用Postman调试

        可以通过类似的方法通过Postman调试特定的API端点。 在此示例中,我们将调试登录身份验证API端点rest/v11_1/oauth2/token。第一步是在Postman中添加cookie "XDEBUG_SESSION"。该cookie通过Xdebug helper设置,并且该关键字在PHPstorm设置和Xdebug PHP服务器端设置中也被引用。 请参见下面的截图:

会话存储通过Redis容器完成。

Elasticsearch附加信息

如果您注意到Elasticsearch容器未运行(使用docker ps检查),可能需要调整Linux主机设置。 要能够运行Elasticsearch 5及更高版本,需要https://www.elastic.co/guide/en/elasticsearch/reference/5.6/vm-max-map-count.html。要永久完成此更改,请运行:

echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf

或者可以运行时增加限制:

sudo sysctl -w vm.max_map_count=262144

Docker镜像

  • images/php/XY/apache/ - 带有PHP X.X版本的Apache镜像
  • images/php/XY/cron/ - PHP X.Y版本的镜像,用于后台作业和任何CLI需求
  • images/mysql/XY/ - MySQL X.Y版本的镜像
  • images/elasticsearch/XY/ - Elasticsearch X.Y的镜像
  • images/permissions/ - 权限修复容器的镜像
  • images/loadbalancer/ - Apache负载均衡器的镜像
  • images/jmeter/ - Jmeter的镜像
  • images/sidecar-build/ - 用于构建Sidecar的javascript的镜像
  • images/traefik/ - Traefik镜像,当使用VM时在本地网络中公开Sugar
  • images/ldap/ - OpenLDAP镜像

大多数镜像目前使用Debian Linux。

持久存储位置

所有持久存储位于此git仓库的本地检出中的./data目录树内。

  • Web服务器提供的Sugar应用程序文件以及cronjob服务器使用的文件必须位于./data/app/sugar/中。在Web服务器和cronjob服务器中,位置是/var/www/html/sugar/。./data/app/中的所有内容都可以通过浏览器访问,但Sugar实例文件必须位于./data/app/sugar/中
  • MySQL文件位于./data/mysql/XY/
  • Elasticsearch文件位于./data/elasticsearch/XY/
  • Redis文件位于./data/redis/
  • LDAP文件位于./data/ldap/

不要更改各种数据子目录的权限,因为这可能导致系统无法正常工作。

Sugar单实例应用程序文件 - 重要说明

此设置旨在仅运行单个Sugar实例。它还要求应用程序文件恰好位于正确的位置,原因如下三个:

  1. 文件系统权限设置
  2. PHP OPcache设置(例如:不应缓存的文件的黑名单)
  3. Cronjob后台进程运行

由于上述原因,单实例Sugar的文件必须位于./data/app/sugar/(无子目录)中,以便栈设置按预期工作。 如果您确实需要多个实例,只要它们不同时运行,您可以利用提供的工具来复制和交换数据目录。

提示

实用程序

为了帮助开发,在本仓库的utilities 目录中提供了一组工具。下面提到了一些脚本。

setownership.sh

./utilities/setownership.sh

All directories and files within "data" are now owned by uid:gid 1000:1000

它设置数据目录的正确所有权

stack.sh

./utilities/stack.sh 80 down

./utilities/stack.sh 80 down
stacks/sugar8/php71.yml down
Stopping sugar-cron          ... done
Stopping sugar-web1          ... done
Stopping sugar-redis         ... done
Stopping sugar-mysql         ... done
Stopping sugar-elasticsearch ... done
Removing sugar-cron          ... done
Removing sugar-web1          ... done
Removing sugar-redis         ... done
Removing sugar-mysql         ... done
Removing sugar-permissions   ... done
Removing sugar-elasticsearch ... done
Removing network sugar8_default
No stopped containers

它有助于将作为参数传递的sugar版本的默认栈启动或停止。它需要两个参数:版本号(例如:80、90等)和up/down。 查看配置文件./utilities/stacks.conf,了解脚本的所有可用栈组合。对于一些主要栈,提供了"local"版本的栈,允许本地修改设置和本地docker镜像构建。

runcli.sh

./utilities/runcli.sh "php ./bin/sugarcrm password:weak" 它有助于在CLI容器中执行命令。它要求栈正在运行

backup.sh

./utilities/backup.sh 802_2018_11_21

Backing up sugar to "backups/backup_802_2018_11_21"
[sudo] password for docker: 
Application files backed up on backups/backup_802_2018_11_21/sugar
Database backed up on backups/backup_802_2018_11_21/sugar.sql

它将sugar文件的快照保存在backups/backup_802_2018_11_21/sugar上,并将MySQL数据库转储保存在backups/backup_802_2018_11_21/sugar.sql上。 该脚本假设数据库名称是sugar,Web目录也是sugar。该脚本不备份Elasticsearch和/或Redis。

restore.sh

./utilities/restore.sh 802_2018_11_21

Restoring sugar from "backups/backup_802_2018_11_21"
sugar-permissions
Application files restored
Database "sugar" dropped
Database restored
Debug: Entering directory .
Repairing...
Repair completed in 9 seconds.
System repaired

它从backups/backup_802_2018_11_21/sugar恢复之前的sugar文件快照,并从backups/backup_802_2018_11_21/sugar.sql恢复MySQL。 该脚本假设数据库名称是sugar,Web目录也是sugar。该脚本不恢复Elasticsearch和/或Redis。

copysystem.sh

./utilities/copysystem.sh data_80_clean data_80_clean_copy

Copying "data_80_clean" to "data_80_clean_copy"
Copying data_80_clean to data_80_clean_copy
Copy completed, you can now swap or start the system

它有助于将完整的data_80_clean内容复制到选择的另一个备份目录(data_80_clean_copy)。它要求栈处于关闭状态(并且它将检查这一点)。当需要同时复制Elasticsearch、Redis等内容时,这非常有用。

swapsystems.sh

./utilities/swapsystems.sh backup_2018_06_28 data_80_clean

Moving "data" to "backup_2018_06_28" and "data_80_clean" to "data"
Moving data to backup_2018_06_28
Moving data_80_clean to data
You can now start the system with the content of data_80_clean

它有助于将当前的data目录移动到backup_2018_06_28,然后将data_80_clean移动到data,有效地交换当前正在使用的数据。它要求栈处于关闭状态(并且它将检查这一点)

检测Web服务器PHP错误日志

为了始终如一地实现这一点,建议使用单Web服务器栈。 通过运行命令docker logs -f sugar-web1,可以跟踪Apache和/或PHP的访问和错误日志输出

修复Sugar权限

您只需要使用docker start sugar-permissions再次运行权限docker容器。该容器将为您修复文件的权限和所有权,然后终止其执行。 Apache和Cron以sugar用户身份运行。在config_override.php上设置以下选项

$sugar_config['default_permissions']['user'] = 'sugar';
$sugar_config['default_permissions']['group'] = 'sugar';

运行包含的命令行修复

该应用程序包含一些脚本,旨在方便从命令行进行系统修复。这些脚本将清除各种缓存(包括OPcache和Redis,如果使用的话)。它还将尽可能预热应用程序,以改善首次加载时的浏览器体验。运行修复的cron容器也经过优化,以加快修复处理速度。 要从docker主机运行修复,假设仓库已检出到sugardocker,请执行:

cd sugardocker
./repair

设置Sugar实例以利用Redis对象缓存

在config_override.php中添加以下选项:

$sugar_config['external_cache_disabled'] = false;
$sugar_config['external_cache_disabled_redis'] = false;
$sugar_config['external_cache']['redis']['host'] = 'sugar-redis';

确保在您的config/config_override.php组合上没有启用其他缓存机制,否则将它们设置为disabled = true。

运行

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 sugardockerized 镜像标签

docker pull docker.xuanyuan.run/esimonetti/sugardockerized:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull esimonetti/sugardockerized:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
esimonetti/sugardockerized
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 sugardockerized 镜像推荐

sugarcrmdevelopers/sugardockerized logo

sugarcrmdevelopers/sugardockerized

sugarcrmdevelopers
SugarDockerized
1万+ 次下载
3 个月前更新
airoman/sugardockerized logo

airoman/sugardockerized

airoman
Docker images used for sugar dockerized
1万+ 次下载
1 个月前更新

查看更多 sugardockerized 相关镜像