将docker-compose环境变量转储到文件

时间:2020-10-13 14:44:44

标签: docker docker-compose environment-variables

是否可以将docker-compose.yml中的环境变量转储到给定容器中的文件中?

示例:

version: "3"
services:
  api:
    image: registry.gitlab.com/my-api
    environment:
      - TOKEN=123
      - DB_NAME=db

我想在api命令之后在docker-compose run -d容器内自动创建一个.env文件。

1 个答案:

答案 0 :(得分:1)

像这样吗?

version: "3"

services:
  test:
    image: alpine
    environment:
      API_URL: "test"
      TEST: "test"
    volumes:
      - envstorage:/env
    command: "cat /env/storeme"
    depends_on:
      - variable-storer
  variable-storer:
    image: alpine
    environment:
      TEST_1: "test"
      TEST_2: "test"
      TEST_3: "test"
      TEST_4: "test"
      TEST_5: "test"
      TEST_6: "test"
    volumes:
      - envstorage:/env
    command: "sh -c 'env > /env/storeme'"

volumes:
  envstorage:
    name: 'env-test'

注意:这是尽可能的棘手。