kibatic/symfony
8.0 (8.0/Dockerfile)
7 7.4 (7.4/Dockerfile)
7.3 (7.3/Dockerfile)
7.2 (7.2/Dockerfile)
7.1 不再维护,已终止支持
7.0 不再维护,已终止支持
5, 5.6 不再维护,已终止支持
5.4 不再维护,已终止支持
| Symfony | |||||
|---|---|---|---|---|---|
| 镜像 | 2.x | 3.x | 4.x | 5.x | |
| 8.1 | ❌ | ❌ | ✅(未测试) | ✅(未测试) | |
| 8.0 | ❌ | ❌ | ✅(未测试) | ✅(默认) | |
| 7.4 | ❌ | ❌ | ✅ | ✅(默认) | |
| 7.3 | ✅(未测试) | ✅(未测试) | ✅(默认) | ✅(未测试) | |
| 7.2 | ✅(未测试) | ✅ | ✅ | ✅(未测试) | |
| 7.1 | ✅(未测试) | ✅ | ✅ | ❌ | |
| 7.0 | ✅(未测试) | ✅(未测试) | ❌ | ❌ | |
| 5.6 | ✅(未测试) | ✅(未测试) | ❌ | ❌ |
Composer版本:
bashdocker pull kibatic/symfony
然后在您的Symfony文件夹中运行:
bash# 镜像 >= 7.3 且 Symfony 2.x、3.x docker run -e SYMFONY_VERSION=3 -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.3 # 镜像 >= 7.3 且 Symfony 4.x docker run -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.3 # 镜像 < 7.3 且 Symfony 2.x、3.x docker run -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.2 # 镜像 < 7.3 且 Symfony 4.x docker run -e SYMFONY_VERSION=4 -v $(pwd):/var/www -p 8080:80 kibatic/symfony:7.2
Symfony应用将可通过 http://localhost:8080/ 访问
在docker-compose文件中添加以下环境变量:
yamlweb: build: . volumes: - .:/var/www environment: PERFORMANCE_OPTIM: "false" BLACKFIRE_SERVER_ID: 3xxxx-xxxxx-xxxxxx-xxxxxxx-xxc BLACKFIRE_SERVER_TOKEN: 5d6cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc47fb BLACKFIRE_CLIENT_ID: 8exxxxx-xxx-xxxxx-xxxxxx-xx5 BLACKFIRE_CLIENT_TOKEN: 6caaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx012
启用或禁用Blackfire:
bash# 启用Blackfire docker compose exec -T web /enable-blackfire.sh --on # 禁用Blackfire docker compose exec -T web /enable-blackfire.sh --off
在项目中,可使用Makefile简化命令(从容器或主机):
makefile_enable-blackfire: ## 启用blackfire /enable-blackfire.sh --on enable-blackfire: ## 启用blackfire docker compose exec -T web make _enable-blackfire _disable-blackfire: ## 禁用blackfire /enable-blackfire.sh --off disable-blackfire: ## 禁用blackfire docker compose exec -T web make _disable-blackfire
若要替换默认Nginx设置,覆盖/etc/nginx/sites-enabled/default配置文件:
dockerfileCOPY nginx.conf /etc/nginx/sites-enabled/default
您也可以仅添加一些指令到现有站点配置:
dockerfileCOPY custom-config.conf /etc/nginx/conf.d/docker/custom-config.conf
对于生产和开发环境,建议记录到stdout/stderr,示例如下:
yaml# config/packages/monolog.yaml monolog: handlers: stdout: type: stream path: 'php://stdout' level: debug channels: ['!event'] # (可选)将日志格式化为JSON #formatter: monolog.formatter.json stderr: type: stream path: 'php://stderr' level: error # (可选)将日志格式化为JSON #formatter: monolog.formatter.json
常见做法是记录到stdout,但php-fpm存在重大bug导致stdout日志不可靠:
此镜像设置了已知的解决方法(参见此处),并通过环境变量LOG_STREAM暴露日志流,但不能记录到stdout。为了正确记录日志,必须配置Monolog记录到此流:
yaml# app/config_dev.yml monolog: handlers: main: type: stream path: '/tmp/stdout' level: debug
如果您的Symfony版本兼容此语法,也可以使用Symfony %env(LOG_STREAM)%。
我们还为标准Monolog配置提供了默认的临时解决方案,不建议在生产环境中使用:
bashtail -q -n 0 -F app/logs/dev.log app/logs/prod.log var/logs/dev.log var/logs/prod.log



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务