mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-11-01 19:22:45 +08:00
feat: support more docker options
This commit is contained in:
@@ -79,7 +79,6 @@ Startup your kubernetes workloads in local Docker container with same volume、e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return handler.SshJump(sshConf, cmd.Flags())
|
return handler.SshJump(sshConf, cmd.Flags())
|
||||||
return nil
|
|
||||||
},
|
},
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
devOptions.Workload = args[0]
|
devOptions.Workload = args[0]
|
||||||
@@ -89,6 +88,7 @@ Startup your kubernetes workloads in local Docker container with same volume、e
|
|||||||
return dev.DoDev(devOptions, cmd.Flags(), f)
|
return dev.DoDev(devOptions, cmd.Flags(), f)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
cmd.Flags().SortFlags = false
|
||||||
cmd.Flags().StringToStringVarP(&devOptions.Headers, "headers", "H", map[string]string{}, "Traffic with special headers with reverse it to local PC, you should startup your service after reverse workloads successfully, If not special, redirect all traffic to local PC, format is k=v, like: k1=v1,k2=v2")
|
cmd.Flags().StringToStringVarP(&devOptions.Headers, "headers", "H", map[string]string{}, "Traffic with special headers with reverse it to local PC, you should startup your service after reverse workloads successfully, If not special, redirect all traffic to local PC, format is k=v, like: k1=v1,k2=v2")
|
||||||
cmd.Flags().BoolVar(&config.Debug, "debug", false, "enable debug mode or not, true or false")
|
cmd.Flags().BoolVar(&config.Debug, "debug", false, "enable debug mode or not, true or false")
|
||||||
cmd.Flags().StringVar(&config.Image, "image", config.Image, "use this image to startup container")
|
cmd.Flags().StringVar(&config.Image, "image", config.Image, "use this image to startup container")
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"github.com/containerd/containerd/platforms"
|
"github.com/containerd/containerd/platforms"
|
||||||
"github.com/docker/docker/api/types/network"
|
"github.com/docker/docker/api/types/network"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/wencaiwulue/kubevpn/pkg/util"
|
"github.com/wencaiwulue/kubevpn/pkg/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -41,6 +42,13 @@ func mergeDockerOptions(r ConfigList, copts *Options, tempContainerConfig *conta
|
|||||||
config.platform = &p
|
config.platform = &p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tempContainerConfig.HostConfig.CapAdd = append(tempContainerConfig.HostConfig.CapAdd, config.hostConfig.CapAdd...)
|
||||||
|
tempContainerConfig.HostConfig.SecurityOpt = append(tempContainerConfig.HostConfig.SecurityOpt, config.hostConfig.SecurityOpt...)
|
||||||
|
tempContainerConfig.HostConfig.VolumesFrom = append(tempContainerConfig.HostConfig.VolumesFrom, config.hostConfig.VolumesFrom...)
|
||||||
|
tempContainerConfig.HostConfig.DNS = append(tempContainerConfig.HostConfig.DNS, config.hostConfig.DNS...)
|
||||||
|
tempContainerConfig.HostConfig.DNSOptions = append(tempContainerConfig.HostConfig.DNSOptions, config.hostConfig.DNSOptions...)
|
||||||
|
tempContainerConfig.HostConfig.DNSSearch = append(tempContainerConfig.HostConfig.DNSSearch, config.hostConfig.DNSSearch...)
|
||||||
|
|
||||||
config.hostConfig = tempContainerConfig.HostConfig
|
config.hostConfig = tempContainerConfig.HostConfig
|
||||||
config.networkingConfig.EndpointsConfig = util.Merge[string, *network.EndpointSettings](tempContainerConfig.NetworkingConfig.EndpointsConfig, config.networkingConfig.EndpointsConfig)
|
config.networkingConfig.EndpointsConfig = util.Merge[string, *network.EndpointSettings](tempContainerConfig.NetworkingConfig.EndpointsConfig, config.networkingConfig.EndpointsConfig)
|
||||||
|
|
||||||
@@ -62,7 +70,11 @@ func mergeDockerOptions(r ConfigList, copts *Options, tempContainerConfig *conta
|
|||||||
if c.User == "" {
|
if c.User == "" {
|
||||||
c.User = config.config.User
|
c.User = config.config.User
|
||||||
}
|
}
|
||||||
|
c.Labels = util.Merge[string, string](config.config.Labels, c.Labels)
|
||||||
c.Volumes = util.Merge[string, struct{}](c.Volumes, config.config.Volumes)
|
c.Volumes = util.Merge[string, struct{}](c.Volumes, config.config.Volumes)
|
||||||
|
if c.WorkingDir == "" {
|
||||||
|
c.WorkingDir = config.config.WorkingDir
|
||||||
|
}
|
||||||
|
|
||||||
config.config = c
|
config.config = c
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user