Merge pull request #1682 from ndeloof/exec_env

define exec env by merging service env with command line --env
This commit is contained in:
Nicolas De loof 2021-05-20 21:29:57 +02:00 committed by GitHub
commit ccaa1754d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,9 +49,18 @@ func (s *composeService) Exec(ctx context.Context, project *types.Project, opts
}
container := containers[0]
var env []string
projectEnv := types.NewMappingWithEquals(opts.Environment).Resolve(func(s string) (string, bool) {
v, ok := project.Environment[s]
return v, ok
})
for k, v := range service.Environment.OverrideBy(projectEnv) {
env = append(env, fmt.Sprintf("%s=%s", k, *v))
}
exec, err := s.apiClient.ContainerExecCreate(ctx, container.ID, apitypes.ExecConfig{
Cmd: opts.Command,
Env: opts.Environment,
Env: env,
User: opts.User,
Privileged: opts.Privileged,
Tty: opts.Tty,