The Docker CLI
Go to file
Sebastiaan van Stijn e6ebaf55dd
Fix --network-add adding duplicate networks
When adding a network using `docker service update --network-add`,
the new network was added by _name_.

Existing entries in a service spec are listed by network ID, which
resulted in the CLI not detecting duplicate entries for the same
network.

This patch changes the behavior to always use the network-ID,
so that duplicate entries are correctly caught.

Before this change;

    $ docker network create -d overlay foo
    $ docker service create --name=test --network=foo nginx:alpine
    $ docker service update --network-add foo test
    $ docker service inspect --format '{{ json .Spec.TaskTemplate.Networks}}' test
    [
      {
        "Target": "9ot0ieagg5xv1gxd85m7y33eq"
      },
      {
        "Target": "9ot0ieagg5xv1gxd85m7y33eq"
      }
    ]

After this change:

    $ docker network create -d overlay foo
    $ docker service create --name=test --network=foo nginx:alpine
    $ docker service update --network-add foo test
    service is already attached to network foo

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-01-09 20:42:09 +01:00
.github Update Misty's GitHub handle 2017-11-02 16:50:38 +01:00
cli Fix --network-add adding duplicate networks 2018-01-09 20:42:09 +01:00
cmd/docker Fix PR comments 2018-01-03 10:23:32 +01:00
contrib/completion Fix bash completion for "docker swarm" 2018-01-01 12:58:16 +08:00
dockerfiles Fix some build failures 2017-12-26 11:22:32 +01:00
docs Fix repeated "for" in docs/reference/builder.md 2018-01-08 12:33:06 +01:00
e2e Fix PR comments 2018-01-03 10:23:32 +01:00
experimental fix a number of minor typos 2017-10-31 15:21:51 +05:00
internal/test Activate kubernetes only when experimental cli is enabled 2017-12-28 14:40:10 +01:00
kubernetes Fix gofmt for auto-generated k8s code 2018-01-03 23:57:23 +01:00
man Update docs and completion-scripts for deprecated features 2017-12-12 17:09:38 -08:00
opts Add nakedret linter. 2017-10-12 11:48:51 -04:00
scripts Add AUTHORS file and script 2018-01-02 17:00:22 +01:00
service/logs Use a local copy of ParseLogDetails 2017-09-07 12:50:25 -04:00
templates Sort component details in template 2017-12-07 02:04:10 +01:00
vendor Update golang.org/x/net to not panic 2017-12-28 14:40:09 +01:00
.dockerignore make go build and docker build operations faster 2017-04-27 15:06:57 -07:00
.gitignore Add scripts and targets for manpages and yamldocs 2017-06-05 19:10:44 +00:00
.mailmap Add AUTHORS file and script 2018-01-02 17:00:22 +01:00
AUTHORS Add AUTHORS file and script 2018-01-02 17:00:22 +01:00
CONTRIBUTING.md Add Contribution guidelines 2017-07-28 11:33:19 -07:00
Jenkinsfile Add a Jenkinsfile 2017-08-16 10:46:43 -04:00
LICENSE Add project files 2017-04-17 17:49:33 -04:00
MAINTAINERS Update Misty's GitHub handle 2017-11-02 16:50:38 +01:00
Makefile Add AUTHORS file and script 2018-01-02 17:00:22 +01:00
NOTICE Add project files 2017-04-17 17:49:33 -04:00
README.md Add jenkins build status to readme 2017-09-15 15:08:28 +02:00
TESTING.md Add TESTING document. 2017-08-24 14:45:50 -04:00
VERSION Bump version to 18.01-dev 2017-12-07 13:58:06 -08:00
circle.yml Fix some build failures 2017-12-26 11:22:32 +01:00
codecov.yml Fix PR comments 2018-01-03 10:23:32 +01:00
docker.Makefile Add AUTHORS file and script 2018-01-02 17:00:22 +01:00
gometalinter.json Add support for kubernetes in docker cli 2017-12-26 11:22:32 +01:00
poule.yml Add github templates and initial poule configuration 2017-05-09 16:57:46 +02:00
vendor.conf Update golang.org/x/net to not panic 2017-12-28 14:40:09 +01:00

README.md

build status Build Status

docker/cli

This repository is the home of the cli used in the Docker CE and Docker EE products.

Development

docker/cli is developed using Docker.

Build a linux binary:

$ make -f docker.Makefile binary

Build binaries for all supported platforms:

$ make -f docker.Makefile cross

Run all linting:

$ make -f docker.Makefile lint

List all the available targets:

$ make help

In-container development environment

Start an interactive development environment:

$ make -f docker.Makefile shell

In the development environment you can run many tasks, including build binaries:

$ make binary

Legal

Brought to you courtesy of our legal counsel. For more context, please see the NOTICE document in this repo.

Use and transfer of Docker may be subject to certain restrictions by the United States and other governments.

It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.

For more information, please see https://www.bis.doc.gov

Licensing

docker/cli is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.