将环境变量传递给 docker 服务的推荐方法是什么

what is the recommended way of passing environment variables to a docker service

我正在使用 compose 版本 3 来启动多个服务。每个服务都有一堆需要传递给容器的环境变量。推荐的方法是什么?

示例:

version: '2'
services:
  db:
    image: mysql:5.7.15
    ports:
      - "3306:3306"
    environment:
      - MYSQL_USER=user
      - MYSQL_PASSWORD=password
      - MYSQL_DATABASE=db
    command: mysqld --lower_case_table_names=1

当只有一项服务或具有不同环境变量的多项服务时,应使用环境指令。如果有多个服务使用公共变量,那么 env_file 应该是一种更简洁的方法。