我已经编写了一个docker-compose.yml
文件来创建一个带有nodejs和mongodb(所以2个容器)的多容器应用程序,并且我希望可以选择某些选项作为服务器地址和端口的选项。 要做到这一点,我已经写在泊坞窗,compose.yml接下来将它们设置为ENV变量:Docker Compose:更改env变量
..
web:
environment:
- PORT=3000
- ADDRESS=xxx.xxx.xxx.xxx
..
在我的应用程序的源代码,我用process.env.PORT
和process.env.ADDRESS
来指代这些变量。
但我该怎么办,如果我想改变这些值,例如设置PORT=3001
? 我必须再次使用docker-compose build
和docker-compose up
并构建所有的应用程序,包括mongodb容器?
环境变量是运行时指令,只需在'docker-compose.yml'中更改它们,然后重新运行'docker-compose up'。 – johnharris85
正如johnharris85所提到的,重新运行码头组合起来就足够了。 或者在docker-compose.yml中使用环境变量,您可以使用环境文件: https://docs.docker.com/compose/env-file/ –