diff --git a/dotenv/parser.go b/dotenv/parser.go index e049123da..ecb94ee99 100644 --- a/dotenv/parser.go +++ b/dotenv/parser.go @@ -37,7 +37,6 @@ func parseBytes(src []byte, out map[string]string, lookupFn LookupFn) error { } if inherited { - value, ok := lookupFn(key) if ok { out[key] = value @@ -50,9 +49,6 @@ func parseBytes(src []byte, out map[string]string, lookupFn LookupFn) error { if err != nil { return err } - if lookUpValue, ok := lookupFn(key); ok { - value = lookUpValue - } out[key] = value cutset = left diff --git a/loader/loader.go b/loader/loader.go index 2c115e3c1..43003526e 100644 --- a/loader/loader.go +++ b/loader/loader.go @@ -623,6 +623,9 @@ func resolveEnvironment(serviceConfig *types.ServiceConfig, workingDir string, l environment := types.MappingWithEquals{} if len(serviceConfig.EnvFile) > 0 { + if serviceConfig.Environment == nil { + serviceConfig.Environment = types.MappingWithEquals{} + } for _, envFile := range serviceConfig.EnvFile { filePath := absPath(workingDir, envFile) file, err := os.Open(filePath)