在泊坞窗,compose.yml文件中设置环境变量是相同的设置变量在.ENV文件?(Setting

2019-10-30 08:55发布

我想设置我的一个特定的环境变量docker-compose.yml文件。 我不认为我的docker-compose up正在注册/正确地阅读它。

  apigateway.web:
    image: traefik
    command: --api --docker # Enables the web UI and tells Traefik to listen to docker
    environment:
      - COMPOSE_CONVERT_WINDOWS_PATHS=1
    ports:
      - "80"   # The HTTP port
      - "8080" # The Web UI (enabled by --api)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events

我知道我可以将其设置在.env文件。 这不是基本上是一回事吗? 当然, .env文件就像自动添加一个environment:部分我所有的我的服务docker-compose.yml文件... ... VS只设置变量为1级的服务。 但除此之外,这是同样的事情,对不对? 环境变量是一个环境变量。

我问这是因为当我添加到该服务单环境变量,我不相信这是越来越“拿起/读”,因为这个错误仍然出现:

Recreating 3ae831a08eab_dockercompose17057127240787984866_apigateway.web_1 ... 
Recreating 3ae831a08eab_dockercompose17057127240787984866_apigateway.web_1 ... error
ERROR: for 3ae831a08eab_dockercompose17057127240787984866_apigateway.web_1  Cannot create container for service apigateway.web: b'Mount denied:\nThe source path "\\\\var\\\\run\\\\docker.sock:/var/run/docker.sock"\nis not a valid Windows path'
ERROR: for apigateway.web  Cannot create container for service apigateway.web: b'Mount denied:\nThe source path "\\\\var\\\\run\\\\docker.sock:/var/run/docker.sock"\nis not a valid Windows path'
Encountered errors while bringing up the project..

而这个错误似乎在这个问题GitHub的谈论 - >的答案之中:添加一个环境变量COMPOSE_CONVERT_WINDOWS_PATHS=1

笔记:

  • 我是在Windows机器上。
  • 码头工人正在运行在Linux容器。

所以-我说的对或我在做什么是完全错误的,我其实也需要创建一个.env由于文件。

提前致谢!

Answer 1:

我相信你想设置COMPOSE_CONVERT_WINDOWS_PATHS = 1在主机上,从而泊坞窗,撰写知道的Windows风格转换为UNIX风格的体积定义。

$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "1" docker-compose up



文章来源: Setting an environmental variable in a docker-compose.yml file is the same as setting that variable in a .env file?