gpt4 book ai didi

php - 在docker-compose的2个容器之间共享环境变量

转载 作者:行者123 更新时间:2023-12-01 00:14:22 30 4
gpt4 key购买 nike

在我的docker-compose中,我有2个容器,php容器和nginx容器。对于我定义的env变量的nginx容器,有没有办法在代码中的php容器中访问该变量?我想用php代码访问PLAYER_NAME变量

version: '3.7'

services:
api:
build: '.'
volumes:
- './:/srv/api:rw'
env_file:
- .env
networks:
- backend

nginx_player_1:
image: 'nginx:1.15.7-alpine'
depends_on:
- api
volumes:
- './docker/nginx/conf.d:/etc/nginx/conf.d:ro'
- './:/srv/api:rw'
ports:
- '8001:80'
environment:
PLAYER_NAME: 'PLAYER_1'
networks:
- backend

最佳答案

不,您不能那样做,容器是按设计隔离的。您必须为两个容器定义env变量。
要不复制代码,可以将yaml anchorsextension fields一起使用:

version: '3.7'

x-environment: &commonEnvironment
PLAYER_NAME: 'PLAYER_1'

services:
service-1:
environment: *commonEnvironment
service-2:
environment: *commonEnvironment
或者您可以使用env文件。将所有变量放在文件中的位置,并使用 env_file 从docker-compose引用它

关于php - 在docker-compose的2个容器之间共享环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54502855/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com