我想在Golang应用程序的docker中创建一个图像。我编译了应用程序并在其上创建了图像,并且它按预期工作。
但是,该应用程序需要某些参数:数据库名称,用户,数据库服务器的IP等等......
所以,我知道在docker中我可以使用标志-e
将环境变量发送到容器,所以我的问题是:
答案 0 :(得分:3)
您可以使用https://golang.org/pkg/os/#Getenv或https://golang.org/pkg/os/#LookupEnv从环境变量中获取值。我更喜欢使用os.LookupEnv,因为我得到一个布尔表示变量有一个值,然后我有自己的方法来获得默认值。
func getEnv(key string, defaultValue string) string {
if value, ok := os.LookupEnv(key); ok {
return value
}
return defaultValue
}