如何对所有docker服务使用一个.env

如何对所有docker服务使用一个.env,docker,docker-compose,Docker,Docker Compose,我正在学习Docker,我对环境有疑问 项目结构: nginx Dockerfile nuxt.js+express.js Dockerfile 拉维尔码头文件 mysql Dockerfile docker compose 我需要用docker compose将所有设置变量保存在根文件夹中。但是laravel需要在其根目录中包含.env文件 所以我的问题是:是否有一些路径可以将所有设置存储在根目录中的一个.env文件中,并且当docker compose运行时,它会将该设置赋予所有服务?在do

我正在学习Docker,我对环境有疑问

项目结构:

nginx Dockerfile nuxt.js+express.js Dockerfile 拉维尔码头文件 mysql Dockerfile docker compose 我需要用docker compose将所有设置变量保存在根文件夹中。但是laravel需要在其根目录中包含.env文件


所以我的问题是:是否有一些路径可以将所有设置存储在根目录中的一个.env文件中,并且当docker compose运行时,它会将该设置赋予所有服务?

在docker-compose.yml中,您可以为包含.env文件的目录声明卷装载。例如,从laravel应用程序中的该目录中读取

或者,您可以选择使用env_文件配置选项,让正在运行的进程访问这些变量

services:
  foo:
    image: foo
    volumes:
      - ./env:/app/env

  bar:
    image: bar
    env_file: ./env/.env