
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
利用Docker简化Symfony开发环境的初始化过程,使团队成员能够快速开始编码。仅需完成三个步骤:安装Docker、安装Docker Compose、运行docker-compose up。目前包含多种镜像:nginx、php-fpm、php-console、postgres、memcached、mailcatcher、elasticsearch,所有镜像均基于ubuntu:trusty,以减少磁盘空间占用。
ubuntu:trusty构建,降低磁盘空间占用适用于Symfony应用的开发环境搭建,尤其适合团队协作场景。确保所有开发成员使用一致的环境配置,减少因环境差异导致的开发问题,加速项目初始化过程。
项目包含示例Symfony2应用,可按以下步骤在自己的应用中配置:
docker目录,与项目其他文件分离,保持结构清晰docker-compose.yml文件,映射主机路径到容器卷nginx容器
默认配置monitoring.*虚拟主机,可访问nginx和php-fpm状态页面;另提供coverage.*虚拟主机,供phpunit用户使用,从/srv/build/coverage路径提供代码覆盖率报告文件。
PHP容器
包含三个PHP镜像:基础镜像(不直接使用)、php-fpm镜像和php-console镜像。php-console镜像集成nodejs、ruby-sass、composer、php-cs-fixer等开发工具。
XDebug配置:
两个PHP镜像均预配置XDebug远程调试,默认尝试连接172.17.42.1:9000的DBGP客户端。需确保调试客户端不仅监听localhost,并配置远程路径映射(将容器内/srv目录映射到本地代码路径)。
示例:使用vim配合https://github.com/joonty/vdebug的配置
vimllet g:vdebug_options= { \ "server": '172.17.0.1', \ "path_maps": {"/srv": "/home/username/path/to/code"} \}
控制台容器使用:
为提升性能,控制台容器默认禁用XDebug,可通过-d标志临时启用:
shellphp -dzend_extension=xdebug.so <your_command_goes_here>
推荐登录方式:
shelldocker exec --user=$(whoami) --interactive --tty samplesymfonyapp_console_1 /bin/zsh
也可使用/bin/bash替代/bin/zsh。
Composer私有仓库认证:
登录控制台容器后,通过ssh-keygen生成SSH密钥对,将公钥关联到私有仓库账户即可。
mailcatcher容器
提供邮件捕获功能,80端口暴露管理界面,25端口提供SMTP服务。
前提条件
需运行bin/docker-init脚本启动DNS服务器并映射到本地主机。若遇到问题,可参考https://github.com/tonistiigi/dnsdock/blob/master/readme.md文档。
shellbin/docker-init
配置方法
在docker-compose.yml中为需要DNS解析的镜像设置环境变量:
DNSDOCK_NAME:服务名称DNSDOCK_IMAGE:镜像标识DNSDOCK_ALIAS:自定义域名(可选,用于覆盖默认命名规则)示例配置:
yamlwebserver: image: docker.xuanyuan.run/greg0ire/nginx ports: - '80' environment: - DNSDOCK_IMAGE=web - DNSDOCK_NAME=my_project - DNSDOCK_ALIAS=my_app.dev
配置后可通过my_project.web.docker或my_app.dev访问服务,无需修改hosts文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 greg0ire/postgres 相关的常用 Docker 镜像,适用于 关系型数据库、复杂查询、数据完整性 等不同场景: