wob*_*ano 4 docker docker-compose
我有2个文件:
.env
docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml 看起来像这样:
version: '3'
services:
database:
image: mysql:5.7
myapp:
image: me/some-image
depends_on:
- database
env_file: .env
Run Code Online (Sandbox Code Playgroud)
myapp 是一个 Web 服务应用程序,需要 .env 文件,或者如果不存在 .env 文件,它可以选择访问环境变量。
截至目前, myapp 正在访问环境变量,因为出于安全原因我不希望 .env 文件包含在映像构建中。我所做的是将 a 传递env_file: .env给文件中的 myapp 服务docker-compose.yml,以便它将依赖于服务的环境变量而不是 .env 文件。
现在,我真的想在运行时向 myapp 服务添加一个 .env 文件docker-compose up。请注意,如果 myapp Web 服务未找到 .env 文件,则会抛出错误,并且选项是查找 .env 文件,而不是从容器的环境变量中获取。
有没有办法在运行时创建 .env 文件docker-compose up并在主机上复制 .env 文件的内容?先感谢您。
您可以使用bind mount将文件挂载到容器中
将目标位置更改为您的应用程序所需的位置
version: '3'
services:
database:
image: mysql:5.7
myapp:
image: me/some-image
depends_on:
- database
env_file: .env
volumes:
- type: bind
source: ./.env
target: /envfile/.env
readonly: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1620 次 |
| 最近记录: |