Get*_*fty 4 environment-variables docker docker-compose
我正在设置一个新的基于 docker 的服务器,并且正在编写一个脚本来运行
$ docker-compose
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml一次查看我的所有文件。
我知道.env文件的存在并且我知道env_file中的选项docker-compose.yml,但是.env当我启动时这些文件被忽略
$ docker-compose up
Run Code Online (Sandbox Code Playgroud)
来自其他目录,甚至没有env_file帮助中的完整路径。
my_script.sh:
$ docker-compose
Run Code Online (Sandbox Code Playgroud)
Docker-compose.yml:
version: '3'
services:
service_name:
build: /server1/apache
env_file: /server1/.env
volumes:
- /web/${ROOT_DOMAIN}/web/:/var/www/:rw
Run Code Online (Sandbox Code Playgroud)
.env
ROOT_DOMAIN=server1.domain.tld
Run Code Online (Sandbox Code Playgroud)
我想将${ROOT_DOMAIN}卷中的变量替换为文件中定义的变量.env。当我跑步时,这就像一个魅力
$ docker-compose up
Run Code Online (Sandbox Code Playgroud)
从/server1/文件夹中。但是,当我运行位于其他目录中的脚本时,环境变量将被忽略并默认为 null。
如何解决这个问题?
很抱歉,但这无法修复。提供的.env文件必须位于同一目录中。
这是 docker compose 的要求,并在文档(第一段)中进行了描述: https: //docs.docker.com/compose/env-file/
| 归档时间: |
|
| 查看次数: |
6968 次 |
| 最近记录: |