可以在Docker Compose中使用环境和env_file吗?

时间:2020-08-07 01:17:30

标签: docker-compose gitlab-ci

我是Gitlab CI / CD的新手,并且遇到以下问题。

假设我在本地.env文件中有一些环境变量。像这样:

SOME_URL=https://someurl.com/
SECRET_KEY=verysecretkey

要使我的设置正常工作,我需要两个环境变量。 SECRET_KEY不在部署的.env中。它位于GitLab的“秘密”中。如果我的Docker Compose文件中有这样的内容:

environment:
  SECRET_KEY: ${SECRET_KEY}
env_file:
  - .env

我的两个问题是:

  1. 在本地设置中,我的环境变量中是否同时包含SECRET_KEYSOME_URL
  2. 在GitLab中,我是否可以用机密替换SECRET_KEY

谢谢您的回答!

1 个答案:

答案 0 :(得分:1)

在管道(.gitlab-ci.yml)中可以使用Gitlab CI / CD中定义的变量。在此步骤中,您正在执行docker-compose命令,该变量将被替换,然后通过以下环境在您的容器中进行设置:SECRET_KEY:$ {SECRET_KEY}。没关系。

https://docs.gitlab.com/ee/ci/variables/
https://docs.docker.com/compose/compose-file/#variable-substitution