【发布时间】:2020-12-16 10:39:46
【问题描述】:
我刚刚设置了一个 RabbitMQ Docker 容器以与 Symfony 5.2 应用程序一起使用。但是我在使用 Docker 自动公开的环境变量时遇到了麻烦。
由于 RabbitMQ 容器已启动并运行良好,我正在等待 Symfony 自动设置的 RABBITMQ_DSN env var。
奇怪的行为是有时我确实得到了这个环境变量,但有时我没有(在同一个请求下!)。
在转储我的环境变量时,我也会得到相同的行为(我发誓这两个命令之间没有任何变化......):
$ APP_ENV=dev symfony var:export --multiline | grep 'RABBITMQ'
export RABBITMQ_DSN=amqp://guest:guest@127.0.0.1:49167
export RABBITMQ_HOST=127.0.0.1
export RABBITMQ_MANAGEMENT_HOST=127.0.0.1
export RABBITMQ_MANAGEMENT_IP=127.0.0.1
export RABBITMQ_MANAGEMENT_PORT=49168
export RABBITMQ_MANAGEMENT_SCHEME=http
export RABBITMQ_MANAGEMENT_SERVER=http://127.0.0.1:49168
export RABBITMQ_MANAGEMENT_URL=http://127.0.0.1:49168
export RABBITMQ_PASSWORD=guest
export RABBITMQ_PORT=49167
export RABBITMQ_SCHEME=amqp
export RABBITMQ_SERVER=amqp://127.0.0.1:49167
export RABBITMQ_URL=amqp://guest:guest@127.0.0.1:49167
export RABBITMQ_USER=guest
export RABBITMQ_USERNAME=guest
$ APP_ENV=dev symfony var:export --multiline | grep 'RABBITMQ'
export RABBITMQ_HOST=127.0.0.1
export RABBITMQ_IP=127.0.0.1
export RABBITMQ_PORT=49168
我尝试了几件事:
- 将 Docker RabbitMQ 映像从 3.7 更新到 3.8
- 清除 Symfony 缓存
- 具有自动和手动端口映射(在 docker-compose.yaml 中)
- 更新了我的所有依赖项
但我仍然遇到这个错误......我在 Windows 10 上运行这个应用程序。
有什么想法吗?
【问题讨论】:
标签: php docker symfony rabbitmq environment-variables