Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用docker在golang的不同容器中组合环境文件变量?_Docker_Go_Docker Compose - Fatal编程技术网

如何使用docker在golang的不同容器中组合环境文件变量?

如何使用docker在golang的不同容器中组合环境文件变量?,docker,go,docker-compose,Docker,Go,Docker Compose,环境署署长 我在docker-compose.yml路径中有.env文件,我需要在go文件中的其他容器(ArticalServer、butler、server)中使用变量,如 MONGO_USERNSME=user MONGO_USERNSME=password 但是go没有看到它,并且传递nil与docker compose位于同一目录中的.env文件。yml仅用于compose文件中的变量替换 另一方面,您可以定义env_file键,以便在运行时将env vars从文件传递到容器: mon

环境署署长

我在docker-compose.yml路径中有.env文件,我需要在go文件中的其他容器(ArticalServer、butler、server)中使用变量,如

MONGO_USERNSME=user
MONGO_USERNSME=password

但是go没有看到它,并且传递nil

与docker compose位于同一目录中的
.env
文件。yml仅用于compose文件中的变量替换

另一方面,您可以定义
env_file
键,以便在运行时将env vars从文件传递到容器:

mongoDBDialInfo := &mgo.DialInfo{
        Addrs:    []string{"mongodb://mongo:27017"},
        Username: os.Getenv("MONGO_USERNSME"),
        Password:  os.Getenv("MONGO_PASSWORD"),
    }
它的工作原理类似于
Dockerfile
dockerrun-e
中的环境语句


正如列表类型所暗示的那样,例如,您可以使用多个文件覆盖特定服务的某些通用配置键。

您可以提供docker compose文件吗?
mongoDBDialInfo := &mgo.DialInfo{
        Addrs:    []string{"mongodb://mongo:27017"},
        Username: os.Getenv("MONGO_USERNSME"),
        Password:  os.Getenv("MONGO_PASSWORD"),
    }
services: 
  some_service: 
    image: someimg
      env_file:
        - .env