Commit Graph

6184 Commits

Author SHA1 Message Date
Sebastiaan van Stijn 91bc4ddde2
Fix: proxy-configuration being ignored on docker create
Proxies configured in config.json were only taking effect
when using `docker run`, but were being ignored when
using `docker create`.

Before this change:

    echo '{"proxies":{"default":{"httpProxy":"httpProxy","httpsProxy":"httpsProxy","noProxy":"noProxy","ftpProxy":"ftpProxy"}}}' > config.json
    docker inspect --format '{{.Config.Env}}' $(docker --config=./ create busybox)
    [PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]

With this change applied:

    echo '{"proxies":{"default":{"httpProxy":"httpProxy","httpsProxy":"httpsProxy","noProxy":"noProxy","ftpProxy":"ftpProxy"}}}' > config.json
    docker inspect --format '{{.Config.Env}}' $(docker --config=./ create busybox)
    [NO_PROXY=noProxy no_proxy=noProxy FTP_PROXY=ftpProxy ftp_proxy=ftpProxy HTTP_PROXY=httpProxy http_proxy=httpProxy HTTPS_PROXY=httpsProxy https_proxy=httpsProxy PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]

Reported-by: Silvano Cirujano Cuesta <Silvanoc@users.noreply.github.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-19 12:33:33 +01:00
Silvin Lubecki cf0271ace4 Expose all stack commands to be used by downstream projects.
Factorize orchestrator switch among stack commands.

Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
2019-01-16 14:47:50 +01:00
Sebastiaan van Stijn 48bd4c6deb
Merge pull request #1501 from simonferquel/use-context-commands
Fast context switch: commands
2019-01-15 18:11:38 +01:00
Sebastiaan van Stijn af98c738dd
Merge pull request #1610 from vdemeester/update-code-owners
Remove myself from codeowners 😅
2019-01-15 17:34:37 +01:00
Jean Rouge b039db985a Make it possible to override the volume mounts and shell for the dev container
Through the `DOCKER_CLI_MOUNTS` and `DOCKER_CLI_SHELL` env variables. Also
allows setting the dev container name through the `DOCKER_CLI_CONTAINER_NAME`
env var.

The motivation for allowing overriding the volume mounts is the same as for
moby/moby#37845, namely that I/O perf on native mounted
disks on non-Linux (notably Mac OS) is just terrible, thus making it a real
pain to develop: one has to choose between re-building the image after every
single change (eg to run a test) or just work directly inside the same
container (eg with vim, but even then one would have to re-configure their dev
container every time it gets destroyed - containers, after all, are not
supposed to be long-lived).

Allowing to override DOCKER_CLI_MOUNTS makes it easy for everyone
to decide what their volume/syncing strategy is; for example
one can choose to use [docker-sync](https://github.com/EugenMayer/docker-sync).

As for the shell, it's nice to be able to use bash instead of the more
bare-bones `ash` if preferred.

Finally, being able to name the container can come in handy for easier
scripting on the host.

This patch won't change anything for anyone who doesn't set these env variables
in their environment.

Signed-off-by: Jean Rouge <rougej+github@gmail.com>
2019-01-14 10:40:30 -08:00
Olli Janatuinen 1b8d1e23c5 Add compose schema version 3.8
Signed-off-by: Olli Janatuinen <olli.janatuinen@gmail.com>
2019-01-14 18:18:17 +02:00
Sebastiaan van Stijn a6e37bd666
Merge pull request #1595 from JoeWrightss/patch-1
Fix some spelling errors
2019-01-13 14:55:11 +01:00
Vincent Demeester 355a441712
Merge pull request #1603 from thaJeztah/fix_makefile_help
Fix some missing targets in "make help"
2019-01-11 09:53:08 +01:00
JoeWrightss 9c9ce7f4c2 Fix some spelling errors
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-01-11 15:49:02 +08:00
Simon Ferquel 591385a1d0 Fast Context Switch: commands
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2019-01-10 22:25:43 +01:00
Vincent Demeester d054d47dbe
Remove myself from codeowners 😅
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2019-01-10 17:32:07 +01:00
Sebastiaan van Stijn f5280d60ee
Merge pull request #1430 from AkihiroSuda/non-recursive-bind
support --mount type=bind,bind-nonrecursive,...
2019-01-10 16:37:11 +01:00
Sebastiaan van Stijn cbb699ab9c
Makefile: make help: fix newline wrapping, and missing targets
This patch adds support for multiple newlines and removes the 1-space
indentation of wrapped lines.

Given these targets:

```Makefile
.PHONY: foobar
foobar: ## runs the foobar lorum ipsum.\nand so pn\nand so on
	echo foobar
```

Before this change, the output of `make help` was

```
foobar               runs the foobar lorum ipsum.
                      and so pn\nand so on
```

After this change, the output is:

```
foobar               runs the foobar lorum ipsum.
                     and so pn
                     and so on
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-10 13:30:03 +01:00
Sebastiaan van Stijn 5ab93bc8ef
Fix some missing targets in "make help"
The `make help` output was missing some targets (`fmt`, `test-unit`,
`test-e2e`).

Note that some targets are still hidden (`test-e2e-experimental`,
`test-e2e-non-experimental`, `test-e2e-connhelper-ssh`) as they're likely not
usually run separate from `test-e2e`.

Before this patch:

    make -f docker.Makefile help

    binary               build the CLI
    build                alias for binary
    clean                clean build artifacts
    cross                build the CLI for macOS and Windows
    binary-windows       build the CLI for Windows
    binary-osx           build the CLI for macOS
    dev                  start a build container in interactive mode for in-container development
    shell                alias for dev
    lint                 run linters
    vendor               download dependencies (vendor/) listed in vendor.conf
    dynbinary            build the CLI dynamically linked
    authors              generate AUTHORS file from git history
    manpages             generate man pages from go source and markdown
    yamldocs             generate documentation YAML files consumed by docs repo
    shellcheck           run shellcheck validation
    help                 print this help

With this patch applied:

    make -f docker.Makefile help

    binary               build the CLI
    build                alias for binary
    clean                clean build artifacts
    test-unit            run unit tests (using go test)
    cross                build the CLI for macOS and Windows
    binary-windows       build the CLI for Windows
    binary-osx           build the CLI for macOS
    dev                  start a build container in interactive mode for in-container development
    shell                alias for dev
    lint                 run linters
    fmt                  run gofmt
    vendor               download dependencies (vendor/) listed in vendor.conf
    dynbinary            build the CLI dynamically linked
    authors              generate AUTHORS file from git history
    manpages             generate man pages from go source and markdown
    yamldocs             generate documentation YAML files consumed by docs repo
    shellcheck           run shellcheck validation
    test-e2e             run all e2e tests
    help                 print this help

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-10 13:27:20 +01:00
Akihiro Suda a7b5f2df86 support --mount type=bind,bind-nonrecursive,...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-01-10 12:07:46 +09:00
Silvin Lubecki d04b61658d
Merge pull request #1605 from thaJeztah/update_authors
Update AUTHORS
2019-01-08 11:07:17 +01:00
Silvin Lubecki 308b1f340a
Merge pull request #1572 from thaJeztah/minor_test_nit
TestRunLabel: pass detach as argument
2019-01-08 10:17:01 +01:00
Silvin Lubecki 86f8beef5c
Merge pull request #1604 from thaJeztah/autoremove_makefile_containers
Makefile use --rm ("autoremove") for all targets
2019-01-08 10:15:27 +01:00
Silvin Lubecki edf6f4a3e7
Merge pull request #1571 from thaJeztah/warn_on_create
Fix warnings not being printed on "create", only on "run"
2019-01-08 10:14:01 +01:00
Sebastiaan van Stijn 0d4a858052
Merge pull request #1585 from thaJeztah/bump_golang_1.11.4
Bump Golang 1.11.4 (includes fix for CVE-2018-16875)
2019-01-08 02:50:30 +01:00
Sebastiaan van Stijn 7d9f2affc8
Merge pull request #1473 from thaJeztah/master_bump_licensing_lib
[master] Bump licensing library
2019-01-08 00:41:07 +01:00
Daniel Hiltgen b9f1d30fa7
Remove e-mail from trial flow
Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
(cherry picked from commit 0ff9e5cd10)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-08 00:35:24 +01:00
Daniel Hiltgen f73bd83419
Bump licensing library
Removes the billing profile flow which is now handled on the back-end.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
(cherry picked from commit 8e565d0399)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-08 00:35:18 +01:00
Sebastiaan van Stijn 960ddbf88e
Update AUTHORS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-08 00:01:36 +01:00
Sebastiaan van Stijn 872ee13c84
Makefile use --rm ("autoremove") for all targets
These containers are stateless, so can be removed after exiting

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-07 23:16:58 +01:00
Sebastiaan van Stijn 4c0aa94698
Hide legacy top-level "deploy" command with DOCKER_HIDE_LEGACY_COMMANDS=1
The `DOCKER_HIDE_LEGACY_COMMANDS` environment variable allows hiding legacy
top-level commands that are now available under `docker <object> <verb>`. The
`docker deploy` top-level command is experimental, and replaced by
`docker stack deploy`.

This patch hides the top-level `docker deploy` if the `DOCKER_HIDE_LEGACY_COMMANDS`
environment variable is set.

Before this change:

    DOCKER_HIDE_LEGACY_COMMANDS=1 docker --help

    ...

    Commands:
      build       Build an image from a Dockerfile
      deploy      Deploy a new stack or update an existing stack
      login       Log in to a Docker registry
      logout      Log out from a Docker registry
      run         Run a command in a new container
      search      Search the Docker Hub for images
      version     Show the Docker version information
    ...

With this patch applied:

    DOCKER_HIDE_LEGACY_COMMANDS=1 docker --help

    ...

    Commands:
      build       Build an image from a Dockerfile
      login       Log in to a Docker registry
      logout      Log out from a Docker registry
      run         Run a command in a new container
      search      Search the Docker Hub for images
      version     Show the Docker version information
    ...

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-07 17:24:35 +01:00
Simon Ferquel b34f340346 Introduce docker context store
This PR adds a store to the CLI, that can be leveraged to persist and
retrieve credentials for various API endpoints, as well as
context-specific settings (initially, default stack orchestrator, but we
could expand that).

This comes with the logic to persist and retrieve endpoints configs
for both Docker and Kubernetes APIs.

Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2019-01-04 17:06:51 +01:00
Sebastiaan van Stijn 143028e074
Merge pull request #1593 from olljanat/bump-docker
bump docker to f76d6a078d881f410c00e8d900dcdfc2e026c841
2019-01-04 15:50:21 +01:00
Sebastiaan van Stijn 7ff499d8db
Merge pull request #1598 from thaJeztah/docs_missing_placeholder
docs: add missing ID placeholder for docker node ps
2019-01-04 09:13:36 +01:00
Sebastiaan van Stijn 24018b9ffd
docs: add missing ID placeholder for docker node ps
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-03 19:46:06 +01:00
Olli Janatuinen 0ac5c15fd4 bump docker to f76d6a078d881f410c00e8d900dcdfc2e026c841
Signed-off-by: Olli Janatuinen <olli.janatuinen@gmail.com>
2018-12-31 07:45:37 +02:00
Sebastiaan van Stijn 4eab3cd19a
Merge pull request #1592 from albers/kubernetes-blog-link-criu
Fix link to Kubernetes blog in experimental/checkpoint-restore.md
2018-12-29 02:10:42 +01:00
Harald Albers c12a4d3b34 Fix link to Kubernetes blog
Signed-off-by: Harald Albers <github@albersweb.de>
2018-12-29 01:39:54 +01:00
Silvin Lubecki adf71a41b2
Merge pull request #1583 from jdrouet/compose-on-kube-sync
replace implementation by compose-on-kubernetes
2018-12-28 18:17:38 +01:00
Jérémie Drouet a6b0d1d174 replace the imports in the cli to use compose-on-kubernetes
Signed-off-by: Jérémie Drouet <jeremie.drouet@gmail.com>
2018-12-28 15:49:20 +01:00
Jérémie Drouet 8a634aa578 alias kubernetes api to compose-on-kubernetes implementation
Signed-off-by: Jérémie Drouet <jeremie.drouet@gmail.com>
2018-12-28 15:49:17 +01:00
Vincent Demeester 5d3906ccf1
Merge pull request #1578 from ahh-docker/promote-node-7281
Fixed wording per https://github.com/docker/docker.github.io/issues/7281
2018-12-24 10:04:08 +01:00
Sebastiaan van Stijn 0f33ff06d6
Merge pull request #1589 from fhemberger/patch-1
docs(metrics-addr): Use port 9323, allocated for Docker in prometheus
2018-12-21 23:53:59 +01:00
Mohini Anne Dsouza db31142a6a Add quiet flag to bash completion for docker pull
Signed-off-by: Mohini Anne Dsouza <mohini3917@gmail.com>
2018-12-21 10:44:21 -08:00
Frederic Hemberger 89aa2cf9f6 docs(metrics-addr): Use port 9323, allocated for Docker in prometheus
Signed-off-by: Frederic Hemberger <mail@frederic-hemberger.de>
2018-12-21 19:31:54 +01:00
Anne Henmi b03b9df4d4 docs: clarify that node promote/demote must be executed from a manager
Fixed wording per https://github.com/docker/docker.github.io/issues/7281

Signed-off-by: Anne Henmi <anne.henmi@docker.com>

Update node_promote.md
2018-12-21 10:09:52 -07:00
Sebastiaan van Stijn 6deb4f1f63
Merge pull request #882 from vdemeester/carry-553-pull-quiet-cli
Carry #553 : Add option to pull images quietly
2018-12-19 14:22:35 +01:00
Vincent Demeester dd3407b6cc
Add option to pull images quietly
Add `--quiet` to the `docker image pull` subcommand that will not pull
the image quietly.

```
$ docker pull -q golang
Using default tag: latest
```

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-12-19 13:48:41 +01:00
Sebastiaan van Stijn deaf6e13ab
Bump Golang 1.11.4 (includes fix for CVE-2018-16875)
go1.11.4 (released 2018/12/14) includes fixes to cgo, the compiler, linker,
runtime, documentation, go command, and the net/http and go/types packages. It
includes a fix to a bug introduced in Go 1.11.3 that broke go get for import
path patterns containing "...".

See the Go 1.11.4 milestone for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.11.4+label%3ACherryPickApproved

go1.11.3 (released 2018/12/14)

- crypto/x509: CPU denial of service in chain validation golang/go#29233
- cmd/go: directory traversal in "go get" via curly braces in import paths golang/go#29231
- cmd/go: remote command execution during "go get -u" golang/go#29230

See the Go 1.11.3 milestone on the issue tracker for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.11.3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-12-19 12:55:59 +01:00
Silvin Lubecki 283d8f95c8
Merge pull request #1579 from ijc/e2e-invocation-nit
e2e: assign a default value of 0 to `DOCKERD_EXPERIMENTAL`
2018-12-17 16:59:29 +01:00
Ian Campbell 4f483276cf e2e: assign a default value of 0 to `DOCKERD_EXPERIMENTAL`
Currently running the e2e tests produces a warning/error:

    $ make -f docker.Makefile test-e2e
    «...»
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock docker-cli-e2e
    ./scripts/test/e2e/run: line 20: test: : integer expression expected

This is from:

    test "${DOCKERD_EXPERIMENTAL:-}" -eq "1" && «...»

Where `${DOCKERD_EXPERIMENTAL:-}` expands to the empty string, resulting in
`test "" -eq "1"` which produces the warning. This error is enough to trigger
the short-circuiting behaviour of `&&` so the result is as expected, but fix
the issue nonetheless by provdiing a default `0`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-12-17 14:32:38 +00:00
Sebastiaan van Stijn 298c423b57
Merge pull request #1558 from ijc/build-tweaks
Add a `fmt` build target and make use of a go build cache.
2018-12-17 12:49:59 +01:00
Sebastiaan van Stijn 7c514a31c9
Fix warnings not being printed on "create", only on "run"
Previously, these errors were only printed when using `docker run`, but were
omitted when using `docker container create` and `docker container start`
separately.

Given that these warnings apply to both situations, this patch moves generation
of these warnings to `docker container create` (which is also called by
`docker run`)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-12-13 14:21:34 +01:00
Sebastiaan van Stijn eb1b4b83c9
TestRunLabel: pass detach as argument
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-12-13 13:23:30 +01:00
Silvin Lubecki b9f150b17e
Merge pull request #1566 from thaJeztah/fix_panic_on_update
Fix panic (npe) when updating service limits/reservations
2018-12-13 09:47:31 +01:00