mirror of https://github.com/docker/compose.git
Merge pull request #9745 from ulyssessouza/apply-newly-loaded-envvars
Apply newly loaded envvars to "DockerCli" and "APIClient"
This commit is contained in:
commit
6fe34c45ca
|
@ -32,6 +32,8 @@ import (
|
||||||
dockercli "github.com/docker/cli/cli"
|
dockercli "github.com/docker/cli/cli"
|
||||||
"github.com/docker/cli/cli-plugins/manager"
|
"github.com/docker/cli/cli-plugins/manager"
|
||||||
"github.com/docker/cli/cli/command"
|
"github.com/docker/cli/cli/command"
|
||||||
|
"github.com/docker/cli/cli/flags"
|
||||||
|
"github.com/docker/docker/client"
|
||||||
"github.com/morikuni/aec"
|
"github.com/morikuni/aec"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
@ -291,6 +293,18 @@ func RootCommand(dockerCli command.Cli, backend api.Service) *cobra.Command {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reset DockerCli and APIClient to get possible `DOCKER_HOST` and/or `DOCKER_CONTEXT` loaded from environment file.
|
||||||
|
err = dockerCli.Apply(func(cli *command.DockerCli) error {
|
||||||
|
return cli.Initialize(flags.NewClientOptions(),
|
||||||
|
command.WithInitializeClient(func(_ *command.DockerCli) (client.APIClient, error) {
|
||||||
|
return nil, nil
|
||||||
|
}))
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
parent := cmd.Root()
|
parent := cmd.Root()
|
||||||
if parent != nil {
|
if parent != nil {
|
||||||
parentPrerun := parent.PersistentPreRunE
|
parentPrerun := parent.PersistentPreRunE
|
||||||
|
|
|
@ -22,6 +22,8 @@ import (
|
||||||
"github.com/compose-spec/compose-go/types"
|
"github.com/compose-spec/compose-go/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var _ Service = &ServiceProxy{}
|
||||||
|
|
||||||
// ServiceProxy implements Service by delegating to implementation functions. This allows lazy init and per-method overrides
|
// ServiceProxy implements Service by delegating to implementation functions. This allows lazy init and per-method overrides
|
||||||
type ServiceProxy struct {
|
type ServiceProxy struct {
|
||||||
BuildFn func(ctx context.Context, project *types.Project, options BuildOptions) error
|
BuildFn func(ctx context.Context, project *types.Project, options BuildOptions) error
|
||||||
|
@ -59,8 +61,6 @@ func NewServiceProxy() *ServiceProxy {
|
||||||
// Interceptor allow to customize the compose types.Project before the actual Service method is executed
|
// Interceptor allow to customize the compose types.Project before the actual Service method is executed
|
||||||
type Interceptor func(ctx context.Context, project *types.Project)
|
type Interceptor func(ctx context.Context, project *types.Project)
|
||||||
|
|
||||||
var _ Service = &ServiceProxy{}
|
|
||||||
|
|
||||||
// WithService configure proxy to use specified Service as delegate
|
// WithService configure proxy to use specified Service as delegate
|
||||||
func (s *ServiceProxy) WithService(service Service) *ServiceProxy {
|
func (s *ServiceProxy) WithService(service Service) *ServiceProxy {
|
||||||
s.BuildFn = service.Build
|
s.BuildFn = service.Build
|
||||||
|
|
Loading…
Reference in New Issue