diff --git a/cmd/sync_docker.go b/cmd/sync_docker.go index 0096ed9..176e6cb 100644 --- a/cmd/sync_docker.go +++ b/cmd/sync_docker.go @@ -48,6 +48,6 @@ Reads from Docker the list of containers and add names and IPs to a profile in y return h.Flush() }, PostRunE: func(cmd *cobra.Command, args []string) error { - return postActionCmd(cmd, args, removeCmd, false) + return postActionCmd(cmd, args, removeCmd, true) }, } diff --git a/pkg/host/merge.go b/pkg/host/merge.go index 277631d..53eb7ff 100644 --- a/pkg/host/merge.go +++ b/pkg/host/merge.go @@ -10,6 +10,9 @@ func (f *File) MergeProfiles(content *Content) { continue } baseP := f.data.Profiles[newName] + if baseP.Routes == nil { + baseP.Routes = map[string]*Route{} + } for _, r := range newP.Routes { ip := r.IP.String() if _, ok := baseP.Routes[ip]; ok { diff --git a/pkg/host/profile_docker.go b/pkg/host/profile_docker.go index a19216e..d6d0b13 100644 --- a/pkg/host/profile_docker.go +++ b/pkg/host/profile_docker.go @@ -23,13 +23,14 @@ type DockerOptions struct { func NewProfileFromDocker(ctx context.Context, opts *DockerOptions) (*Profile, error) { cli := opts.Cli + var err error if opts.Cli == nil { - cli, err := client.NewEnvClient() + cli, err = client.NewEnvClient() if err != nil { return nil, err } - defer cli.Close() } + defer cli.Close() f := filters.NewArgs() f.Add("status", "running")