|
@@ -42,14 +42,12 @@ func newUpdateCommand(dockerCli *client.DockerCli) *cobra.Command {
|
|
flags.Var(newListOptsVar(), flagContainerLabelRemove, "Remove a container label by its key")
|
|
flags.Var(newListOptsVar(), flagContainerLabelRemove, "Remove a container label by its key")
|
|
flags.Var(newListOptsVar(), flagMountRemove, "Remove a mount by its target path")
|
|
flags.Var(newListOptsVar(), flagMountRemove, "Remove a mount by its target path")
|
|
flags.Var(newListOptsVar(), flagPublishRemove, "Remove a published port by its target port")
|
|
flags.Var(newListOptsVar(), flagPublishRemove, "Remove a published port by its target port")
|
|
- flags.Var(newListOptsVar(), flagNetworkRemove, "Remove a network by name")
|
|
|
|
flags.Var(newListOptsVar(), flagConstraintRemove, "Remove a constraint")
|
|
flags.Var(newListOptsVar(), flagConstraintRemove, "Remove a constraint")
|
|
flags.Var(&opts.labels, flagLabelAdd, "Add or update service labels")
|
|
flags.Var(&opts.labels, flagLabelAdd, "Add or update service labels")
|
|
flags.Var(&opts.containerLabels, flagContainerLabelAdd, "Add or update container labels")
|
|
flags.Var(&opts.containerLabels, flagContainerLabelAdd, "Add or update container labels")
|
|
flags.Var(&opts.env, flagEnvAdd, "Add or update environment variables")
|
|
flags.Var(&opts.env, flagEnvAdd, "Add or update environment variables")
|
|
flags.Var(&opts.mounts, flagMountAdd, "Add or update a mount on a service")
|
|
flags.Var(&opts.mounts, flagMountAdd, "Add or update a mount on a service")
|
|
flags.StringSliceVar(&opts.constraints, flagConstraintAdd, []string{}, "Add or update placement constraints")
|
|
flags.StringSliceVar(&opts.constraints, flagConstraintAdd, []string{}, "Add or update placement constraints")
|
|
- flags.StringSliceVar(&opts.networks, flagNetworkAdd, []string{}, "Add or update network attachments")
|
|
|
|
flags.Var(&opts.endpoint.ports, flagPublishAdd, "Add or update a published port")
|
|
flags.Var(&opts.endpoint.ports, flagPublishAdd, "Add or update a published port")
|
|
return cmd
|
|
return cmd
|
|
}
|
|
}
|
|
@@ -204,7 +202,6 @@ func updateService(flags *pflag.FlagSet, spec *swarm.ServiceSpec) error {
|
|
updateString(flagUpdateFailureAction, &spec.UpdateConfig.FailureAction)
|
|
updateString(flagUpdateFailureAction, &spec.UpdateConfig.FailureAction)
|
|
}
|
|
}
|
|
|
|
|
|
- updateNetworks(flags, &spec.Networks)
|
|
|
|
if flags.Changed(flagEndpointMode) {
|
|
if flags.Changed(flagEndpointMode) {
|
|
value, _ := flags.GetString(flagEndpointMode)
|
|
value, _ := flags.GetString(flagEndpointMode)
|
|
if spec.EndpointSpec == nil {
|
|
if spec.EndpointSpec == nil {
|
|
@@ -439,23 +436,6 @@ func equalPort(targetPort nat.Port, port swarm.PortConfig) bool {
|
|
port.TargetPort == uint32(targetPort.Int()))
|
|
port.TargetPort == uint32(targetPort.Int()))
|
|
}
|
|
}
|
|
|
|
|
|
-func updateNetworks(flags *pflag.FlagSet, attachments *[]swarm.NetworkAttachmentConfig) {
|
|
|
|
- if flags.Changed(flagNetworkAdd) {
|
|
|
|
- networks, _ := flags.GetStringSlice(flagNetworkAdd)
|
|
|
|
- for _, network := range networks {
|
|
|
|
- *attachments = append(*attachments, swarm.NetworkAttachmentConfig{Target: network})
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- toRemove := buildToRemoveSet(flags, flagNetworkRemove)
|
|
|
|
- newNetworks := []swarm.NetworkAttachmentConfig{}
|
|
|
|
- for _, network := range *attachments {
|
|
|
|
- if _, exists := toRemove[network.Target]; !exists {
|
|
|
|
- newNetworks = append(newNetworks, network)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- *attachments = newNetworks
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
func updateReplicas(flags *pflag.FlagSet, serviceMode *swarm.ServiceMode) error {
|
|
func updateReplicas(flags *pflag.FlagSet, serviceMode *swarm.ServiceMode) error {
|
|
if !flags.Changed(flagReplicas) {
|
|
if !flags.Changed(flagReplicas) {
|
|
return nil
|
|
return nil
|