Compare commits

..

4644 Commits

Author SHA1 Message Date
Misty Stanley-Jones
473c5701cb Merge pull request #32332 from mstanleyjones/1.13.x
Cherry-pick command-line ref improvements
2017-04-03 16:54:34 -07:00
Tibor Vass
71e6babfa2 Merge pull request #32215 from tiborvass/docs-yaml-fix-makefile
docs: fix Makefile for yaml docs generation
(cherry picked from commit 5ec88474b7)
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2017-04-03 16:14:49 -07:00
Sebastiaan van Stijn
979cb4fd1e remove Jekyll tags from CLI reference
These Markdown files are now embedded in a YAML
file for templating in the documentation, and
these special markers are no longer needed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7e3169f26d)
2017-04-03 16:11:26 -07:00
French Ben
5f730ed857 docs: added support for CLI yaml file generation
Signed-off-by: French Ben <frenchben@docker.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 5443f0152f)
2017-04-03 16:11:17 -07:00
Misty Stanley-Jones
68e914ce62 Standardized formatting of CLI reference commands
Command name should be a H1

Only Description, Examples, and Related Commands should be H2

Changed 'Related information' heading to 'Related commands' since 99% it is only linking commands

Added some examples where relevant

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 52df69f00d)
2017-04-03 15:12:33 -07:00
Victor Vieux
ce07fb6b0f fix CHANGELOG date
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-19 21:03:35 -08:00
Victor Vieux
1c44f35eb1 bump 17.03.1-ce-rc1
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-19 21:02:06 -08:00
Victor Vieux
d1c1b391bc Merge pull request #31170 from aboch/c1.13.x
[1.13.x/17.03.x] Vendoring libnetwork @ce28404
2017-02-19 15:42:59 -08:00
Sebastiaan van Stijn
8b1112be3b Merge pull request #31165 from vieux/update_version_client
[1.13] update client/client.go DefaultVersion
2017-02-19 13:57:04 -08:00
Alessandro Boch
855eb121aa Vendoring libnetwork @ce28404
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-19 13:35:31 -08:00
Victor Vieux
eb04072245 update client/client.gg DefaultVersion
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-19 01:26:16 -08:00
Victor Vieux
c9e1a9e16d Merge pull request #31150 from thaJeztah/1.13.2-completion-scripts
17.03 bash/zsh completion script cherry-picks
2017-02-19 00:46:42 -08:00
Victor Vieux
c9ae02ec59 Merge pull request #31143 from aaronlehmann/vendor-swarmkit-caa9c95
[1.13] Vendor swarmkit 30a4278
2017-02-19 00:46:21 -08:00
Victor Vieux
19460e43f4 Merge pull request #31155 from justincormack/1.13-sync-file-range
[1.13] Allow sync_file_range2 on supported architectures.
2017-02-19 00:39:20 -08:00
Victor Vieux
2a46799a87 Merge pull request #31140 from thaJeztah/1.13.2-cherry-picks
17.03 cherry picks
2017-02-19 00:36:22 -08:00
Gabriel Linder
aedc0ca2fd Allow sync_file_range2 on supported architectures.
Signed-off-by: Gabriel Linder <linder.gabriel@gmail.com>
2017-02-18 15:53:09 +00:00
Brian Goff
05516452d6 Merge pull request #30945 from sdurrheimer/zsh-completion-plugin
Add zsh completion for missing 'docker plugin' commands and options
(cherry picked from commit da9a162301)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:14:30 -08:00
Brian Goff
b53cef8425 Merge pull request #30944 from sdurrheimer/zsh-completion-build-squash
Add zsh completion for 'docker build --squash'
(cherry picked from commit 0d9bb4ee12)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:14:22 -08:00
Brian Goff
b975e02386 Merge pull request #30943 from sdurrheimer/zsh-completion-checkpoint
Add zsh completion for 'docker checkpoint' commands
(cherry picked from commit 4f6e4bfd02)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:14:15 -08:00
Brian Goff
aaff3d513e Merge pull request #30941 from sdurrheimer/zsh-completion-service-logs
Add zsh completion for 'docker service logs' command
(cherry picked from commit 03db46362e)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:14:06 -08:00
Sebastiaan van Stijn
d4897c746f Merge pull request #30940 from sdurrheimer/zsh-completion-swarm-unlock-cmds
Add zsh completion for 'docker swarm unlock|unlock-key' commands
(cherry picked from commit 27ab008626)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:13:59 -08:00
Vincent Demeester
9287b8f99e Merge pull request #30939 from sdurrheimer/zsh-completion-swarm-init-update
Add zsh completion for missing 'docker swarm init|update' options
(cherry picked from commit 5d47cb901b)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:13:50 -08:00
Kenfe-Mickaël Laventure
7a02f05068 Merge pull request #30823 from albers/completion-plugin-upgrade
Add bash completion for `docker plugin upgrade`
(cherry picked from commit c9fa3eed1b)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-18 00:13:31 -08:00
Sebastiaan van Stijn
d4e2280b0f Merge pull request #31134 from thaJeztah/update-swagger
[1.13.x] swagger cherry-picks
2017-02-17 22:26:43 -08:00
Alexander Morozov
ecfddcf227 Merge pull request #29702 from WeiZhang555/stats-all-format-name-panic
Send "Name" and "ID" when stating stopped containers
(cherry picked from commit 22472c8be5)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:15:04 -08:00
Sebastiaan van Stijn
b0e4cf1ad2 Merge pull request #31141 from thaJeztah/swarm-node-error-return-503
fix status-code for "locked" swarm and "certificate expired"
(cherry picked from commit 6486924f0b)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:05:10 -08:00
Vincent Demeester
dffbf0bc73 Merge pull request #31103 from tonistiigi/update-docs-link
Update storage driver options link
(cherry picked from commit e1839ab953)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:05:03 -08:00
Brian Goff
671a4aa4a4 Merge pull request #31070 from cpuguy83/31060_fix_log_read_spin
Fix cpu spin waiting for log write events
(cherry picked from commit 39851eac0c)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:56 -08:00
Brian Goff
46af6a6a41 Merge pull request #31006 from vdemeester/30991-secret-mode-in-stack-deploy
Set 0444 as default secret mode in stack deploy
(cherry picked from commit a12454d7a9)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:50 -08:00
Brian Goff
87a53468b2 Merge pull request #30113 from thaJeztah/fix-autoremove-on-older-api
Don't use AutoRemove on older daemons
(cherry picked from commit e74623d283)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:44 -08:00
Victor Vieux
fe375a64db Merge pull request #31055 from Microsoft/jjh/fix30278
Windows: Retry workaround for RS1/RS2 compute system enumeration
(cherry picked from commit 7761c69e23)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:37 -08:00
Tõnis Tiigi
2e440580bc Merge pull request #30223 from mlaventure/fix-logwatcher-deadlock
Close logwatcher on context cancellation
(cherry picked from commit 0566f3ffc4)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:30 -08:00
Justin Cormack
4122443aa7 Merge pull request #30893 from Microsoft/jjh/disabletesttemporarily
Windows: Temporarily disable TestBuildLastModified
(cherry picked from commit eaffb3099a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:23 -08:00
Alexander Morozov
e301d956b7 Merge pull request #30776 from WeiZhang555/stats-all-format-name-panic-cli
Fix panic of "docker stats --format {{.Name}} --all"
(cherry picked from commit f5116c6802)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:04:16 -08:00
Sebastiaan van Stijn
1c47c89d76 Merge pull request #29497 from yongtang/29486-docker-build-tmp-file
Clean up tmp files for interrupted `docker build`
(cherry picked from commit 6138a02c87)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 22:03:36 -08:00
Victor Vieux
7e11df6273 Merge pull request #31138 from aboch/c1.13.x
[1.13.x] Release the network attachment on allocation failure
2017-02-17 18:18:46 -08:00
Aaron Lehmann
b326920b3e Vendor swarmkit 30a4278
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-02-17 17:46:12 -08:00
Sebastiaan van Stijn
56e99a8791 fix changes for 1.13.x branch
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 17:21:58 -08:00
Alessandro Boch
9e74ea8594 Release the network attachment on allocation failure
- otherwise the attachment task will stay in store and
  consume IP addresses and there is no way to remove it.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-17 16:05:49 -08:00
Brian Goff
740fbef836 Merge pull request #30952 from yongtang/02122017-swagger-attachable
Add `attachable` for network object in swagger api docs
(cherry picked from commit 0464441fb1)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:41 -08:00
Vincent Demeester
9dcb36dfa2 Merge pull request #30734 from allencloud/add-400-status-code-for-events-endpoint
add status code 400 for api endpoint /events
(cherry picked from commit f3da980a45)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:41 -08:00
allencloud
9f46122c94 add missing filter type and sort filter type in alphabets
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit da1f05d66d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:41 -08:00
Anusha Ragunathan
951ffc056b Merge pull request #30701 from allencloud/add-status-code-404-for-plugin-in-api-doc
add status code 404 for plugin api endpoint enable and disable
(cherry picked from commit 0113128b2a)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:40 -08:00
Sebastiaan van Stijn
ed6e849a1c Merge pull request #29906 from allencloud/update-events-related-things
update events related doc and swagger.yml
(cherry picked from commit dea528e8cd)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:40 -08:00
Sebastiaan van Stijn
e7e23df3f6 Merge pull request #29808 from jmzwcn/issue29796
API: Delete container can return 409, but that isn't documented.
(cherry picked from commit 86f962a4a8)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:40 -08:00
Sebastiaan van Stijn
890f4c7aa5 Merge pull request #26576 from allencloud/change-cluster-response-status-code
update response status code for cluster request
(cherry picked from commit a58b5830b1)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-17 13:24:24 -08:00
Brian Goff
30a5e20cc0 Merge pull request #31011 from aboch/c1.13.x
[1.13.x] Vendoring libnetwork @bba65e5
2017-02-15 16:26:27 -05:00
Alexander Morozov
b3b30b0dcd Merge pull request #31030 from aboch/c1.13.x-2
[1.13.x] Vendoring swarmkit @c7df892
2017-02-15 09:32:45 -08:00
Alessandro Boch
2b0d7d2d86 [1.13.x] Vendoring swarmkit @c7df892
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-14 21:08:59 -08:00
Alessandro Boch
2e544b1513 [1.13.x] Vendoring libnetwork @bba65e5
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-14 09:42:44 -08:00
Vincent Demeester
e5a90d46e3 Merge pull request #30875 from albers/fix-30858
Fix bash completion for `docker service`
2017-02-12 22:00:28 +01:00
Harald Albers
018981111c Fix bash completion for docker service
Signed-off-by: Harald Albers <github@albersweb.de>
2017-02-09 15:35:46 +01:00
Victor Vieux
092cba3727 bump version to 1.13.1
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-07 21:58:41 -08:00
Victor Vieux
f26487b568 Merge pull request #30806 from vieux/bump_api_version
[1.13.x] Bump api version to 1.26
2017-02-07 21:46:17 -08:00
Victor Vieux
fc0b5dbedb bump api version to 1.26
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-07 16:42:41 -08:00
Brian Goff
19d67e6e4a Update swagger spec for plugin upgrade
This was added in 03c6949739 but spec was
not updated.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit ae48cd04da)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-07 12:04:03 -08:00
Christopher Jones
e29c142293 added ppc64le and s390x fixes for manpages
Fixes manpages for p and z by downloading a specific version
of go instead of relying on the distro version.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 5bec1b6864)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-07 11:59:54 -08:00
Victor Vieux
54f71fd84a bump version to 1.13.1-rc2
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 15:04:17 -08:00
Stephen J Day
516792001a cluster/executor: check mounts at start
While it is important to not create controllers for an invalid task,
certain properties should only be checked immediately before use. Early
host validation of mounts prevents resolution of the task Executor when
the mounts are not relevant to execution flow. In this case, we have a
check for the existence of a bind mount path in a creation function that
prevents a task controller from being resolved. Such early validation
prevents one from interacting directly with a controller and result in
unnecessary error reporting.

In accordance with the above, we move the validation of the existence of
host bind mount paths to the `Controller.Start` phase. We also call
these "checks", as they are valid mounts but reference non-existent
paths.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
(cherry picked from commit 92899ffac8)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 15:02:23 -08:00
Andrew Hsu
14deb7d32c remove musl-dev in man/Dockerfile.armhf
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit 1c7a66eda7)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 14:49:22 -08:00
Andrew Hsu
26ec0e71d1 use precompiled go from google, needs debian to work
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit a6886bfc52)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 14:49:16 -08:00
Andrew Hsu
5f696e6d48 from golang:1.7.5-alpine for docker-manpage-dev
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit 7b52ec5f10)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 14:49:09 -08:00
Tibor Vass
0406faf887 Show stacktrace in daemon logs only if 500 internal error
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit f7d9bb6248)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-06 13:02:39 -08:00
Victor Vieux
f6bf85f99c Merge pull request #30730 from dmcgowan/update-go-connections-1.13
[1.13] Update go connections 1.13
2017-02-03 20:53:35 -08:00
Victor Vieux
0220459168 Merge pull request #30728 from cpuguy83/plugin_upgrade_1.13
[1.13] Add plugin upgrade
2017-02-03 20:53:23 -08:00
Derek McGowan
b47fa5a5d1 Update go-connections package
fixes #30450

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-02-03 16:51:49 -08:00
Brian Goff
1a17bc6bc4 Make propagated mount persist outside rootfs
This persists the "propagated mount" for plugins outside the main
rootfs. This enables `docker plugin upgrade` to not remove potentially
important data during upgrade rather than forcing plugin authors to hard
code a host path to persist data to.

Also migrates old plugins that have a propagated mount which is in the
rootfs on daemon startup.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit e8307b868d)
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-02-03 19:15:23 -05:00
Brian Goff
96b0320d5c Add docker plugin upgrade
This allows a plugin to be upgraded without requiring to
uninstall/reinstall a plugin.
Since plugin resources (e.g. volumes) are tied to a plugin ID, this is
important to ensure resources aren't lost.

The plugin must be disabled while upgrading (errors out if enabled).
This does not add any convenience flags for automatically
disabling/re-enabling the plugin during before/after upgrade.

Since an upgrade may change requested permissions, the user is required
to accept permissions just like `docker plugin install`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 03c6949739)
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-02-03 19:14:56 -05:00
Yong Tang
905cf26b43 Fix misleading default for --replicas
This fix tries to address the issue raised in 29291 where
the output of `--replicas` in `service create/update`:
```
      --replicas uint                    Number of tasks (default none)
```
is misleading. User might incorrectly assume the number of replicas
would be `0` (`none`) by default, while the actual default is `1`.

The issue comes from the fact that some of the default values are
from daemon and it is not possible for client to find out the default
value.

In this case, it might be better to just simply not displaying `(default none)`.

This fix returns "" for `Uint64Opt` so that `(default none)` is hidden.

In addition to `--replicas`, this fix also changes
`--restart-delay`, `--restart-max-attempts`, `--stop-grace-period`,
`--health-interval`, `--health-timeout`, and `--restart-window`
in a similiar fashion.

New Output:
```
      --health-interval duration         Time between running the check (ns|us|ms|s|m|h)
      --health-timeout duration          Maximum time to allow one check to run (ns|us|ms|s|m|h)
...
      --replicas uint                    Number of tasks
...
      --restart-delay duration           Delay between restart attempts (ns|us|ms|s|m|h)
      --restart-max-attempts uint        Maximum number of restarts before giving up
      --restart-window duration          Window used to evaluate the restart policy (ns|us|ms|s|m|h)
...
      --stop-grace-period duration       Time to wait before force killing a container (ns|us|ms|s|m|h)
```

The docs has been updated. Note the docs for help output of `service create/update`
is out of sync with the current master. This fix replace with the update-to-date
help output.

This fix fixes 29291.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit acc93db32b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-03 00:48:59 -08:00
John Howard
202df64a3b Windows: Unify workdir handling
Signed-off-by: John Howard <jhoward@microsoft.com>

Working directory processing was handled differently for Hyper-V and Windows-Server containers, as annotated in the builder documentation (updated in this PR). For Hyper-V containers, the working directory set by WORKDIR was not created. This PR makes Hyper-V containers work the same as Windows Server containers (and the same as Linux).

Example (only applies to Hyper-V containers, so not reproducible under CI environment)
Dockerfile:
FROM microsoft/nanoserver
WORKDIR c:\installer
ENV GOROOT=c:\installer
ADD go.exe .
RUN go --help
Running on Windows Server 2016, using docker master without this change, but with daemon set to --exec-opt isolation=hyperv as it would be for Client operating systems.
PS E:\go\src\github.com\docker\docker> dockerd -g c:\control --exec-opt isolation=hyperv
time="2017-02-01T15:48:09.657286100-08:00" level=info msg="Windows default isolation mode: hyperv"
time="2017-02-01T15:48:09.662720900-08:00" level=info msg="[graphdriver] using prior storage driver: windowsfilter"
time="2017-02-01T15:48:10.011588000-08:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
time="2017-02-01T15:48:10.016655800-08:00" level=info msg="Loading containers: start."
time="2017-02-01T15:48:10.460820000-08:00" level=info msg="Loading containers: done."
time="2017-02-01T15:48:10.509859600-08:00" level=info msg="Daemon has completed initialization"
time="2017-02-01T15:48:10.509859600-08:00" level=info msg="Docker daemon" commit=3c64061 graphdriver=windowsfilter version=1.14.0-dev
First with no explicit isolation:
PS E:\docker\build\unifyworkdir> docker build --no-cache .
Sending build context to Docker daemon  10.1 MB
Step 1/5 : FROM microsoft/nanoserver
 ---> 89b8556cb9ca
Step 2/5 : WORKDIR c:\installer
 ---> 7e0f41d08204
Removing intermediate container 236c7802042a
Step 3/5 : ENV GOROOT c:\installer
 ---> Running in 8ea5237183c1
 ---> 394b70435261
Removing intermediate container 8ea5237183c1
Step 4/5 : ADD go.exe .
 ---> e47401a1745c
Removing intermediate container 88dcc28e74b1
Step 5/5 : RUN go --help
 ---> Running in efe90e1b6b8b
container efe90e1b6b8b76586abc5c1dc0e2797b75adc26517c48733d90651e767c8463b encountered an error during CreateProcess: failure in a Windows system call: The directory name is invalid. (0x10b) extra info: {"ApplicationName":"","CommandLine":"cmd /S /C go --help","User":"","WorkingDirectory":"C:\\installer","Environment":{"GOROOT":"c:\\installer"},"EmulateConsole":false,"CreateStdInPipe":true,"CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}
PS E:\docker\build\unifyworkdir>
Then forcing process isolation:
PS E:\docker\build\unifyworkdir> docker build --isolation=process --no-cache .
Sending build context to Docker daemon  10.1 MB
Step 1/5 : FROM microsoft/nanoserver
 ---> 89b8556cb9ca
Step 2/5 : WORKDIR c:\installer
 ---> 350c955980c8
Removing intermediate container 8339c1e9250c
Step 3/5 : ENV GOROOT c:\installer
 ---> Running in bde511c5e3e0
 ---> b8820063b5b6
Removing intermediate container bde511c5e3e0
Step 4/5 : ADD go.exe .
 ---> e4ac32f8902b
Removing intermediate container d586e8492eda
Step 5/5 : RUN go --help
 ---> Running in 9e1aa235af5f
Cannot mkdir: C:\installer is not a directory
PS E:\docker\build\unifyworkdir>
Now compare the same results after this PR. Again, first with no explicit isolation (defaulting to Hyper-V containers as that's what the daemon it set to) - note it now succeeds 😄
PS E:\docker\build\unifyworkdir> docker build --no-cache .
Sending build context to Docker daemon  10.1 MB
Step 1/5 : FROM microsoft/nanoserver
 ---> 89b8556cb9ca
Step 2/5 : WORKDIR c:\installer
 ---> 4f319f301c69
Removing intermediate container 61b9c0b1ff6f
Step 3/5 : ENV GOROOT c:\installer
 ---> Running in c464a1d612d8
 ---> 96a26ab9a7b5
Removing intermediate container c464a1d612d8
Step 4/5 : ADD go.exe .
 ---> 0290d61faf57
Removing intermediate container dc5a085fffe3
Step 5/5 : RUN go --help
 ---> Running in 60bd56042ff8
Go is a tool for managing Go source code.

Usage:

        go command [arguments]

The commands are:

        build       compile packages and dependencies
        clean       remove object files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         run go tool fix on packages
        fmt         run gofmt on package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

        c           calling between Go and C
        buildmode   description of build modes
        filetype    file types
        gopath      GOPATH environment variable
        environment environment variables
        importpath  import path syntax
        packages    description of package lists
        testflag    description of testing flags
        testfunc    description of testing functions

Use "go help [topic]" for more information about that topic.

The command 'cmd /S /C go --help' returned a non-zero code: 2
And the same with forcing process isolation. Also works 😄
PS E:\docker\build\unifyworkdir> docker build --isolation=process --no-cache .
Sending build context to Docker daemon  10.1 MB
Step 1/5 : FROM microsoft/nanoserver
 ---> 89b8556cb9ca
Step 2/5 : WORKDIR c:\installer
 ---> f423b9cc3e78
Removing intermediate container 41330c88893d
Step 3/5 : ENV GOROOT c:\installer
 ---> Running in 0b99a2d7bf19
 ---> e051144bf8ec
Removing intermediate container 0b99a2d7bf19
Step 4/5 : ADD go.exe .
 ---> 7072e32b7c37
Removing intermediate container a7a97aa37fd1
Step 5/5 : RUN go --help
 ---> Running in 7097438a54e5
Go is a tool for managing Go source code.

Usage:

        go command [arguments]

The commands are:

        build       compile packages and dependencies
        clean       remove object files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         run go tool fix on packages
        fmt         run gofmt on package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

        c           calling between Go and C
        buildmode   description of build modes
        filetype    file types
        gopath      GOPATH environment variable
        environment environment variables
        importpath  import path syntax
        packages    description of package lists
        testflag    description of testing flags
        testfunc    description of testing functions

Use "go help [topic]" for more information about that topic.

The command 'cmd /S /C go --help' returned a non-zero code: 2
PS E:\docker\build\unifyworkdir>

(cherry picked from commit f42033ba94)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-03 00:40:46 -08:00
Madhu Venugopal
f709fd4e5b Merge pull request #30692 from aboch/c1.13.x
[1.13.x] Vendoring libnetwork @45b4086 for 1.13.x
2017-02-02 18:32:09 -08:00
Alessandro Boch
17e6f81948 Revert "Fix IT case for network name validation"
This reverts commit 9cebccfb95.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-02 15:32:59 -08:00
Alessandro Boch
778f9a86c4 Vendoring libnetwork @45b4086 for 1.13.x
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-02-02 12:58:16 -08:00
Vincent Demeester
fbc84e24aa Merge pull request #30646 from vieux/1.13.1-rc2-cherrypicks-2
1.13.1 rc2 cherrypicks 2
2017-02-02 11:31:19 +01:00
Sebastiaan van Stijn
553d56d456 install dirmngr if needed
as of Ubuntu Yakkety, dirmngr is now in a separate
package (see https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1634464)

this patch updates the install script to install
the dirmngr package if it's not installed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f5263c8074)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-01 17:26:26 -08:00
Victor Vieux
6e2e808146 Merge pull request #30650 from aluzzardi/1.13.x-swarmkit-bump
[1.13.x] Re-vendor swarmkit to 1c7f003d75f091d5f7051ed982594420e4515f77
2017-02-01 15:54:56 -08:00
Victor Vieux
2556b7a70a Merge pull request #30649 from thaJeztah/1.13-bump-runc
[1.13.x] bump RunC / libcontainer to fix SELinux regression
2017-02-01 15:13:49 -08:00
Andrea Luzzardi
14153795ba Re-vendor swarmkit to 1c7f003d75f091d5f7051ed982594420e4515f77
Includes docker/swarmkit#1914

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2017-02-01 13:23:39 -08:00
Harald Albers
ec0e3fe4e2 Add bash completion for docker checkpoint
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 926fa56c0d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-01 12:35:00 -08:00
Sebastiaan van Stijn
d00e249c26 [1.13.x] bump RunC / libcontainer to fix SELinux regression
This bumps RunC and libcontainer to fix a regression
in 1.13 that caused SELinux labels to not be
applied correctly.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-02-01 12:27:00 -08:00
Tibor Vass
68f9fb9fd7 plugin: use pkg/errors in more places
Also provide stack trace output in daemon logs.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 26d0bac895)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-01 12:00:30 -08:00
John Howard
7b15b4a9b2 Revendor Microsoft/go-winio v0.3.8
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit da6739c99f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-01 12:00:11 -08:00
Christopher Jones
5e859cf3c1 Update systemd drop-in link
Right now it redirects, so change it to the correct one.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 7c763b360a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-02-01 11:59:06 -08:00
Victor Vieux
96b87362e6 Merge pull request #30610 from mlaventure/update-containerd-1.13.x
[1.13.x] Update containerd to version aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
2017-01-31 17:56:51 -08:00
Victor Vieux
baf9288b78 Merge pull request #30574 from vieux/1.13.1-rc2-cherry
1.13.1-rc2 cherry-picks
2017-01-31 17:32:19 -08:00
Kenfe-Mickael Laventure
0311ed7b1c Update containerd to version aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-01-31 15:01:55 -08:00
allencloud
c74f17e91e add 400 status code for build api
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit c81a818b56)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:57:29 -08:00
unclejack
64856b7a24 Dockerfile*: bump Go to 1.7.5
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
(cherry picked from commit b6e2703230)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:57:29 -08:00
Anusha Ragunathan
c7f27f8c07 Add docs for service create based on plugins.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
(cherry picked from commit 62d399e811)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:55:45 -08:00
Joffrey F
171745b261 Fix typo in swagger.yaml for NetworkPrune operation
Signed-off-by: Joffrey F <joffrey@docker.com>
(cherry picked from commit 20c5fa3758)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:55:19 -08:00
Harald Albers
73b9bdc6cb Add bash completion for docker service logs
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 105231556a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:54:57 -08:00
Felix Abecassis
10d999d7ab install: map debian_version 9.X to debian stretch
Signed-off-by: Felix Abecassis <fabecassis@nvidia.com>
(cherry picked from commit ac3d74b0b4)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2017-01-31 12:54:34 -08:00
Alexander Morozov
ee1b5c5944 Merge pull request #30579 from yongtang/1.13.x
[1.13.x] Cherry-pick SwarmKit update to 0af40501a9cc98cd3e9425d2e4246dd3eff5526e
2017-01-31 12:31:15 -08:00
Victor Vieux
c4d731c24c Merge pull request #30577 from justincormack/arm-seccomp-1.13
[1.13.x] Add two arm specific syscalls to seccomp profile
2017-01-30 17:15:27 -08:00
Yong Tang
1e0179589d [1.13.x] Cherry-pick SwarmKit update to 0af40501a9cc98cd3e9425d2e4246dd3eff5526e
This fix cherry-pick SwarmKit update to 0af40501a9cc98cd3e9425d2e4246dd3eff5526e
for branch 1.13.x. The following has been added:
- [docker/swarmkit#1909]: raft: Disable address change detection
- [docker/swarmkit#1910]: Fix issue in service update of published ports in host mode

This fix fixes #30199 in docker.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-01-30 15:22:48 -08:00
Justin Cormack
c1c5d30ee4 [1.13.x] Add two arm specific syscalls to seccomp profile
cherry pick #30545

These are arm variants with different argument ordering because of
register alignment requirements.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 23:01:28 +00:00
Victor Vieux
2527cfcc49 Merge pull request #30515 from vieux/1.13.1-rc1-changelog
bump to 1.13.1-rc1
2017-01-27 13:10:39 -08:00
Victor Vieux
de6c83de28 Merge pull request #30494 from vieux/cherry-pick-secrets-compose
[1.13.x] cherry-pick secrets to compose
2017-01-27 13:10:31 -08:00
Victor Vieux
e84317c735 bump to 1.13.1-rc1
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:46:09 -08:00
allencloud
e25c046488 update incorrect url in docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 5ae95d6245)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:32:10 -08:00
Sebastiaan van Stijn
749f8bfee8 document DOCKER_HIDE_LEGACY_COMMANDS env-var
The `DOCKER_HIDE_LEGACY_COMMANDS` environment
variable was added in a7c8bcac2b
but not documented.

This adds the variable to the documentation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2ef82fd237)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:31:55 -08:00
Lars-Magnus Skog
bdc5b347f5 update api docs on Placement.Constraints for services
Signed-off-by: Lars-Magnus Skog <ralphtheninja@riseup.net>
(cherry picked from commit 9c98bffc2b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:31:34 -08:00
Janonymous
370e8f25d2 Fix json format of plugin
Signed-off-by: Janonymous <janonymous.codevulture@gmail.com>
(cherry picked from commit 2d24dbe896)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:31:20 -08:00
Harald Albers
e0c79df37d Add [OPTIONS] to usage of plugin disable|push
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit aad095f573)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:30:37 -08:00
Victor Vieux
e3441eb64c Merge pull request #30513 from mstanleyjones/1.13.x
Cherry-pick #30478 to 1.13.x
2017-01-27 11:10:08 -08:00
Victor Vieux
8d0198c59d fix cherry-pick
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-27 11:09:43 -08:00
Misty Stanley-Jones
ed7aea3533 Merge pull request #30478 from mstanleyjones/fix_broken_links
Fix broken relative links in old API docs
(cherry picked from commit 05d4c1314e)

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2017-01-27 09:48:48 -08:00
Victor Vieux
1b05e7aee7 Merge pull request #30331 from vieux/1.13.1-rc1-cherrypicks
1.13.1 rc1 cherrypicks
2017-01-26 19:21:38 -08:00
Victor Vieux
c5147e6ab5 Merge pull request #30467 from mavenugo/1.13-lncp
Vendoring libnetwork 2c8b683
2017-01-26 10:56:58 -08:00
Josh Hawn
692c98895f Add SecretUpdate docs to api/swagger.yaml
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)

(cherry picked from commit 1cd5af59bf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:38:32 -08:00
Josh Hawn
4dc1b6221d Add SecretUpdate method to client
closes #28678

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)

Update cli/command/service/update_test.go

Fixes test build error:

  secretAPIClientMock does not implement "github.com/docker/docker/client".SecretAPIClient (missing SecretUpdate method)

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)

(cherry picked from commit 77b8465d7e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:38:25 -08:00
Daniel Nephin
1afa22733c Set default values for uid and gid to prevent errors when starting a service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 167b3f95b7)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:21:01 -08:00
Daniel Nephin
c19f50acef Rebase Compose v3.1 schema on the latest v3 schema.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit b4f23bbc69)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:20:55 -08:00
Daniel Nephin
6b70c68a7c Remove secrets as part of stack remove.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit f0a5531c46)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:20:49 -08:00
Daniel Nephin
909014d324 Test and fix external secrets in stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit b3427e43ed)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:20:36 -08:00
Daniel Nephin
1fed3349fb Add integration test for stack deploy with secrets.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 6ec84ef76d)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:20:26 -08:00
Daniel Nephin
2f445705f9 Implement secret types for compose file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 9419e7df2b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:19:49 -08:00
Daniel Nephin
118e55df62 Add v3.1 schema and support validating multiple version.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 65374488f9)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 06:18:26 -08:00
Madhu Venugopal
e6f89d1af5 Vendoring libnetwork 2c8b683
to address #30295

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-26 04:38:21 -08:00
Alessandro Boch
819bcf8182 Remove attachable network on swarm leave
- When the node leaves the cluster, if any user run
  container(s) is connected to the swarm network,
  then daemon needs to detach the container(s) and
  remove the network.

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 3cedca5d53)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-26 04:31:34 -08:00
Sebastiaan van Stijn
3fc246ded2 Merge pull request #29732 from vdemeester/29676-deploy-indempotent
[1.13.x] Make docker stack deploy a little bit more idempotent
2017-01-26 12:47:23 +01:00
Victor Vieux
426c4cb747 Merge pull request #30452 from dnephin/cherry-compose-refactor
Compose fixes for 1.13.1
2017-01-26 00:47:42 -08:00
Michael Irwin
017381aea4 Fixed secret creation usage during service create in docs
Using source, the following error is made:
invalid field in secret request: src

Signed-off-by: Michael Irwin <mikesir87@gmail.com>
(cherry picked from commit 9250117d58)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 22:17:04 -08:00
Sebastiaan van Stijn
214f42d541 Add "src" alias for --secret
This patch adds a "src" alias for `--secret`
to be consistent with `--mount`.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 950658bbb6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 22:16:32 -08:00
Yong Tang
a64c9357ca Fix incorrect Scope in network ls/inspect with duplicate network names
This fix tries to address the issue raised in 30242 where the `Scope`
field always changed to `swarm` in the ouput of `docker network ls/inspect`
when duplicate networks name exist.

The reason for the issue was that `buildNetworkResource()` use network name
(which may not be unique) to check for the scope.

This fix fixes the issue by always use network ID in `buildNetworkResource()`.

A test has been added. The test fails before the fix and passes after the fix.

This fix fixes 30242.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 05a831a775)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 22:13:13 -08:00
Darren Stahl
e7077f7d26 Windows: Add service dependency ConDrv
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit b2a7f6abb3)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 21:37:54 -08:00
Victor Vieux
328775ea4f removing trailing backslash in zsh completion
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 20:35:42 -08:00
Vincent Demeester
bf43d2a58d Make docker stack deploy a little bit more indempotent
Sort some slice fields before sending them to the swarm api so that it
won't trigger an update.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-25 20:31:09 -08:00
John Howard
6a9670b044 Windows: Bump to latest version of git
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 8a45eea2dd)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 20:07:49 -08:00
Christopher Jones
53576a5bf9 [ppc64le] use official go 1.7.4 binaries
go 1.7.4 introduced official go ppc64le binaries, so use those
instead of using older versions of go and building from src.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 62ab6809bd)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 20:07:09 -08:00
Christopher Jones
6b4a835431 [project] bump go to go 1.7.4
Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 20e243780e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 20:06:06 -08:00
Daniel Nephin
92155e37b3 Add missing network.internal.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:43:05 -05:00
Daniel Nephin
7f396e8ea3 Update Compose schema to match docker-compose.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:43:05 -05:00
Daniel Nephin
d9bda3080a Add validation for compose schema bindata.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:43:05 -05:00
Daniel Nephin
007e492eac Add deps to test compose-file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:43:05 -05:00
Daniel Nephin
6bc7bc19df Fix some bad merges
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:43:02 -05:00
Tibor Vass
cbe6781501 plugins: add example docs for a rexray plugin
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 5f713cecc5)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 13:31:51 -08:00
Daniel Nephin
5bf7901f5d Replace vendor of aanand/compose-file with a local copy.
Add go-bindata for including the schema.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:04:05 -05:00
Harald Albers
06dae4eae5 Fix bash completion for completing nodes
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 550947e437)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-25 13:04:05 -08:00
Daniel Nephin
a757b9bea9 Move pkg to cli/compose/convert
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 16:02:09 -05:00
Daniel Nephin
f147d9b0d1 More unit tests for converting services in stack deploy
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 15:59:23 -05:00
Daniel Nephin
5537dbde84 Move ConvertService to composetransform package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 15:58:07 -05:00
Daniel Nephin
732e19892d Move ConvertVolumes to composetransform package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 15:42:06 -05:00
Daniel Nephin
c9ffd3586c Move ConvertNetworks to composetransform package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-25 15:32:53 -05:00
Victor Vieux
0b27583f82 Merge pull request #30332 from anusha-ragunathan/1.13.x
Cherry pick docker #30145 and vendor corresponding swarmkit #1883
2017-01-25 12:21:45 -08:00
Victor Vieux
3fdce9676b Merge pull request #29826 from vdemeester/29809-fix-network-ipam-configuration
[1.13.x] Change the way IPAM configuration is handled on stack deploy
2017-01-25 11:51:35 -08:00
Anusha Ragunathan
f0f020a579 Vendor swarmkit
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2017-01-25 10:13:26 -08:00
Anusha Ragunathan
3048e50434 Update TestSwarmNetworkPlugin test.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2017-01-25 10:04:27 -08:00
Yong Tang
b194252d80 Fix failure in docker ps --format when .Label has args
This fix tries to fix the issue in 30279 where  `docker ps --format`
fails if `.Label` has args. For example:
```
docker ps --format '{{.ID}}\t{{.Names}}\t{{.Label "some.label"}}'
```

The reason for the failure is that during the preprocessing phase
to detect the existance of `.Size`, the `listOptionsProcessor`
does not has a method of `Label(name string) string`.

This results in the failure of
```
template: :1:24: executing "" at <.Label>: Label is not a method but has arguments
```

This fix fixes the issue by adding needed method of `Label(name string) string`.

This fix fixes 30279.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 2cd4ba1e56)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 17:45:05 -08:00
Brian Goff
e9751047e9 Fix deadlock on v1 plugin with activate error
When a plugin has an activation error, it was not being checked in the
`waitActive` loop. This means it will just wait forever for a manifest
to be populated even though it may never come.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit f2d384fca6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 17:19:02 -08:00
Sebastiaan van Stijn
b875349fef do not create init-dir if not needed
commit 56f77d5ade
added support for cpu-rt-period and cpu-rt-runtime,
but always initialized the cgroup path, even if not
used.

As a result, containers failed to start on a
read-only filesystem.

This patch only creates the cgroup path if
one of these options is set.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f285d5b3e8)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 17:00:52 -08:00
Doug Davis
b0970b629b Only show global warnings once
Upon each container create I'm seeing these warning **every** time in the
daemon output:
```
WARN[0002] Your kernel does not support swap memory limit
WARN[0002] Your kernel does not support cgroup rt period
WARN[0002] Your kernel does not support cgroup rt runtime
```
Showing them for each container.create() fills up the logs and encourages
people to ignore the output being generated - which means its less likely
they'll see real issues when they happen.  In short, I don't think we
need to show these warnings more than once, so let's only show these
warnings at daemon start-up time.

Signed-off-by: Doug Davis <dug@us.ibm.com>
(cherry picked from commit ff42a2eb41)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 17:00:24 -08:00
Anusha Ragunathan
e9779fd7df Fix pluginv1 Windows volumes
c54b717 caused a regression for pluginv1 on Windows, where extraneous
backslashes were added to BasePath of the plugin. For pluginv1 on windows,
BasePath() should return an empty string, since the plugin is fully aware
of the mount path. Also, unlike Linux where all paths are relative to "/",
Windows paths are dependent on system drives and mapped drives.

Fixes #30148

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
(cherry picked from commit 0ef21eb0e3)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 16:37:24 -08:00
Elan Ruusamäe
2dd2ac2c14 do not require custom build of tini
https://github.com/krallin/tini/issues/55#issuecomment-260507562
https://github.com/krallin/tini/issues/55#issuecomment-260538243
https://github.com/docker/docker/pull/28037

Signed-off-by: Elan Ruusamäe <glen@delfi.ee>
(cherry picked from commit d7df731597)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 16:31:39 -08:00
Victor Vieux
b60f411292 Merge pull request #30038 from tonistiigi/setclusterprovider
[v1.13] Add workaround for possible SetClusterProvider deadlock
2017-01-24 16:13:20 -08:00
Sebastiaan van Stijn
482534ff5f Ignore certificate expiry error for top-level inspect
The top-level `docker inspect` command could return
an error if the nodes Swarm certificates were expired.

In situations where the user did not explicitly
ask for an object-type (`--type=foo`), we should
ignore these errors, and consider them equal to
"node is not a swarm manager".

This change makes `docker inspect` ignore these
errors if no type was specified.

As a further optimization, the "swarm status"
result is now stored in a variable, so that
other swarm-specific API calls can be skipped.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 66cf4cc7f7)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 16:05:53 -08:00
Kenfe-Mickael Laventure
25810f3f47 Remove timeout on fifos opening
Instead of a timeout the context is cancelled on error to ensure
proper cleanup of the associated fifos' goroutines.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit c178700a04)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 15:57:14 -08:00
Aaron Lehmann
37be2d4e9b distribution: Add text/html and application/json as image mediatypes
As noted by #30083, the new strict checking of mediatypes misses some
cases where earlier bugs caused nonstandard mediatypes to be stored in
manifests. Two of the known cases are text/html and application/json,
which were returned by certain registries and stored by earlier versions
of Docker. Add special cases for text/html and application/json.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit a215e15cb1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 15:53:36 -08:00
Harald Albers
880c12df7d Add bash completion for run|create --init-path
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 182048f185)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 15:41:44 -08:00
Harald Albers
ecd95a41d2 Add docs for run|create --init|--init-path
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit d049ef2b0d)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 15:41:37 -08:00
Kenfe-Mickael Laventure
b9ee1c6880 Ensure proper value is used when computing reclaimable space
When Size was reverted to be equal to VirtualSize, the df command
formatter was not correctly updated to account for the change.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit dcc1b4baf6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 15:41:06 -08:00
Steve Durrheimer
0c16980468 Add zsh completion for 'dockerd --init' and 'docker {create,run} --init'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit cdf57782fd)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:52:09 -08:00
Harald Albers
1ec7869443 Add bash completion for plugin install --disable-content-trust
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 725a864a04)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:49:24 -08:00
Steve Durrheimer
0fa35e2073 Add zsh completion for 'docker plugin install --alias'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 455b7bcbab)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:48:58 -08:00
Harald Albers
0be8ebd2a1 Fix bash completion for docker service update
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 01ac33ce16)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:48:18 -08:00
Harald Albers
b4fd48ce32 Add bash completion for docker service ps --filter node
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a39a2bb6c2)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:47:54 -08:00
Harald Albers
9da299954f Add missing options to bash completion for docker swarm init|update
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit f93da79dc1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:47:28 -08:00
Harald Albers
d4e6422212 Add bash completion for docker swarm unlock|unlock-key
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 07bd5152b3)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-24 13:47:03 -08:00
Victor Vieux
954520f0ef Merge pull request #30329 from johndmulhausen/patch-2
Fixing formatting errors in Run refdoc
2017-01-20 14:14:15 -08:00
Harald Albers
23e9d30cea Fix treatment of DOCKER_HIDE_LEGACY_COMMANDS in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 12952f537c)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:07:19 -08:00
Harald Albers
7bb3740386 Honour $DOCKER_HIDE_LEGACY_COMMANDS in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit aa006f1280)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:06:58 -08:00
Harald Albers
ba79dde9d2 Add bash completion for build --squash
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e91dbba7ff)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:06:01 -08:00
Harald Albers
d621d74f64 Add bash completion for dockerd --init and docker run|create --init
Fixes #30263

Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 2076261757)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:05:33 -08:00
Steve Durrheimer
78e4fa2caa Add zsh completion for 'docker swarm --availability'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit ee2ce82c61)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:05:10 -08:00
Steve Durrheimer
f6d70d08a8 Add zsh completion for 'docker {container,image,network,system} prune --filter'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 784ebccffa)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-20 14:03:45 -08:00
Anusha Ragunathan
660a186e92 Pass plugingetter as part of swarm node config.
This is necessary for swarmkit to support cluster wide plugins, such as
globally scoped network plugins.

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2017-01-20 13:44:22 -08:00
John Mulhausen
bd6c3ebed9 Fixing formatting errors
Fixing issues on https://docs.docker.com/engine/reference/builder/#arg

Signed-off-by: John Mulhausen <john@docker.com>
2017-01-20 13:26:30 -08:00
Victor Vieux
49bf474f9e bump version to 1.13.0
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-17 01:00:55 -08:00
Victor Vieux
d4f36676f0 Merge pull request #30188 from thaJeztah/update-1.13-changelog
[1.13] Add missing 1.13 features to changelog
2017-01-17 00:59:25 -08:00
Sebastiaan van Stijn
197977d7fd Merge pull request #30108 from thaJeztah/update-changelog-1.12.6
Update changelog on master with changes from 1.12.x
(cherry picked from commit a4bc730298)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-01-17 09:53:25 +01:00
Sebastiaan van Stijn
8324f11b5a Add missing 1.13 features to changelog
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-01-16 18:45:55 +01:00
Victor Vieux
48a9e53d70 bump version to 1.13.0-rc7
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-11 18:06:55 -08:00
Victor Vieux
bca3b05950 Merge pull request #30116 from vieux/cherry-pick-1.13.0-rc7
cherry pick 1.13.0-rc7
2017-01-12 22:03:51 -08:00
Yong Tang
4f914489e3 Add test for image size for v1.12 and v1.13 clients against v1.13 daemon
This test checks to make sure both v1.12 and v1.13 client against v1.13 daemon get correct `Size` after the fix.

This test is related to 30027.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit d9451f1c8c)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-11 17:59:31 -08:00
Kenfe-Mickael Laventure
e62d984138 Fix ImageSummary.Size value
The prune PR changed the meaning of the file to mean "space on disk
only unique to this image", this PR revert this change.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit be20dc15af)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-11 17:21:26 -08:00
Stefan J. Wernli
f6bc09c380 storeLayer.Parent should return describableStoreLayers
When storeLayer.Parent returns the parent layer, it needs to use the same logic as Get where it wraps in a describablyStoreLayer if the layer is describable. Otherwise, on Windows, this can result in pushing the foreign layers, which is not supposed to be allowed.
This fixes https://github.com/docker/docker/issues/30080.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
(cherry picked from commit d14b7212ad)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-11 14:54:09 -08:00
Victor Vieux
2f2d055013 bump version to 1.13.0-rc6
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-11 09:36:57 -08:00
Tõnis Tiigi
fc82c4b391 Merge pull request #30044 from tonistiigi/update-runc-113
[v1.13] vendor: update runc to 2f7393a4
2017-01-11 08:37:36 -08:00
Madhu Venugopal
e0c07ab799 Merge pull request #30042 from aaronlehmann/vendor-swarmkit-296fcfc
[1.13] Update vendored swarmkit to 296fcfc
2017-01-10 20:59:14 -08:00
Tonis Tiigi
acbad31dcd vendor: update runc to 2f7393a4
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-01-10 18:07:20 -08:00
Victor Vieux
7e792d6ca9 Merge pull request #30012 from tiborvass/plugin-devices-redone
[1.13] Plugins: Rename DeviceCreation to AllowAllDevices
2017-01-10 17:28:14 -08:00
Madhu Venugopal
c8083e8735 Modify network plugin test for swarm-mode
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-10 16:38:24 -08:00
Aaron Lehmann
18fd3885c6 Update vendored swarmkit to 296fcfc
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-01-10 16:07:45 -08:00
Tibor Vass
83b2782ea9 plugins: rename DeviceCreation to AllowAllDevices
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit f265727bdf)
Signed-off-by: Tibor Vass <tibor@docker.com>
2017-01-10 15:21:46 -08:00
Alexander Morozov
ece7e8ba27 Merge pull request #30034 from aaronlehmann/vendor-swarmkit-70cb786
[1.13] Update vendored swarmkit to 70cb786
2017-01-10 15:19:17 -08:00
Tonis Tiigi
4b2b0eb608 Add workaround for possible SetClusterProvider deadlock
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-01-10 15:14:26 -08:00
Aaron Lehmann
3fc1510dff [1.13] Update vendored swarmkit to 70cb786
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-01-10 12:55:35 -08:00
Vincent Demeester
340f288211 Merge pull request #29962 from vieux/1.13.0-rc6-cherrypicks
1.13.0 rc6 cherrypicks
2017-01-10 10:09:04 +01:00
Victor Vieux
0b2a029e56 Merge pull request #30009 from thaJeztah/revert-27146
[1.13.x] Revert "Require continuation char to be last char in a line"
2017-01-09 17:45:17 -08:00
Brian Goff
b7f412ef44 Merge pull request #29958 from cpuguy83/1.13_fix_selinux_packaging
[1.13] Fix conflicts with newly updated selinux policies
2017-01-09 20:15:51 -05:00
Sebastiaan van Stijn
57c17882a3 Revert "Require continuation char to be last char in a line"
This reverts commit 105bc63295,
which (although correct), resulted in a backward incompatible
change.

We can re-implement this in future, after this changes
goes through a deprecation cycle

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-01-10 00:36:40 +01:00
Victor Vieux
25879cfa54 Merge pull request #29994 from vdemeester/29974-fix-external-network
[1.13.x] Few stack deploy network fixes
2017-01-09 14:40:54 -08:00
Victor Vieux
6c2fdb64d1 Merge pull request #30004 from dnephin/fix-1.13-stack-deploy-resources
[1.13] Fix parsing resources from compose file for stack deploy
2017-01-09 14:40:30 -08:00
Victor Vieux
3fc150171f Merge pull request #30007 from aaronlehmann/vendor-swarmkit-8ea08a3
[1.13] Update vendored swarmkit to 8ea08a3
2017-01-09 14:39:57 -08:00
Victor Vieux
53ac375422 Merge pull request #29905 from coolljt0725/cherry-pick-29721
1.13.x cherry-pick: Cherry pick 29721
2017-01-09 14:22:23 -08:00
Aaron Lehmann
831eeb38f1 [1.13] Update vendored swarmkit to 8ea08a3
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-01-09 11:45:04 -08:00
Daniel Nephin
f27a297595 Fix parsing resources from compose file for stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-01-09 14:15:32 -05:00
Sebastiaan van Stijn
46af2edec2 un-fork go-memdb
commit 9322636c89
temporarily switched to a fork of go-memdb, because
a pull request that was needed was not yet merged
upstream.

this pull request was merged, so we can un-fork
this dependency.

this change does not bump the dependency, and
only un-forks. bumping the dependency should
be done in a separate change, if needed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 5f057f6350)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Aaron Lehmann
f2260228a7 vendor: Unfork logrus dependency
Vendor the latest official logrus release instead of a custom fork
(which now happens to be identical to the fork).

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 11df2db538)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Victor Vieux
b2219f1bb5 remove -f on secret create and unify usage with other commands
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit db6652ca71)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Tonis Tiigi
7c8511236c Fix workdir cache invalidation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit e160860054)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Harald Albers
b2e12626c7 Add bash completion for plugin names
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e7243a303a)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Yunxiang Huang
57a63f1ed2 Fix "zsh/_docker"
Signed-off-by: Yunxiang Huang <hyxqshk@vip.qq.com>
(cherry picked from commit c6544394b8)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Tonis Tiigi
d3bffd978a Set plugins used in tests back to original names
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit f4798b98fc)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Harald Albers
40736b1848 Fix wrong command in changelog
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 1fe0270e72)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-09 06:37:40 -08:00
Vincent Demeester
462cd90f74 Create only network that are used
- default network is only created if needed
- it's possible to override default network configuration

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-09 12:56:58 +01:00
Vincent Demeester
19cf2b3d5f Fix external network name not properly handle by stack deploy
Make sure we use the Network external name if it's not empty.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-09 12:26:02 +01:00
Sebastiaan van Stijn
1dded0dee4 Merge pull request #29895 from cpuguy83/cherry_pick_29893
[1.13.x] Fix race accessing plugin storage map
2017-01-07 13:03:34 +01:00
Brian Goff
9f0e745152 Merge pull request #29926 from aaronlehmann/vendor-swarmkit-7f910df
[1.13] Vendor swarmkit 7f910df
2017-01-06 16:19:39 -05:00
Brian Goff
464b205956 Fix conflicts with newly updated selinux policies
The base selinux policies on centos/rhel/oraclelinux have all been
updated in a way that conflicts with the policies we install with
`docker-engine-selinux`. This patch fixes these conflicts.

In addition, removes special cases for old/unsupported versions of
fedora in our selinux package, and change to use a single minimum
version for the selinux base policy package, as this is the minimum
version required to use our selinux policy package.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit ec9a05e5e2)
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-01-06 16:04:59 -05:00
Brian Goff
3b2982a2bb Fix race accessing plugin storage map
`plugins.GetAll()` was not locking the plugin map when checking if a
plugin exists, this can cause a race and potentially a panic if another
goroutine is trying to load a plugin into the map at the same time.

Also fixes a race during activation where a plugin inserts itself into
the plugin map but does not check if something else is already there.
This is already checked before trying to activate the plugin, however
the map lock is not held for this entire period, so other plugins may be
loaded during this time.
To fix, before inserting the plugin into the map, check if one with the
same name already exists and use that instead.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 21fcbb39b7)
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-01-06 08:28:43 -05:00
Lei Jitang
d2e99882b9 Follow up #29365, fix fail to remove container after restart
Call daemon.Mount will increase the refcount of mounted path,
for those previous running containers, `Mount` call will make
the refcount to 2. see
https://github.com/docker/docker/blob/v1.13.0-rc4/daemon/graphdriver/counter.go#L38
```
	if !m.check {
		m.check = true
		if c.checker.IsMounted(path) {
			m.count++
		}
	}
	m.count++

```
graphdrive could restore on reboot after #22541, call
daemon.Mount to resore the graphdriver is not necessary.

And call `daemon.Mount` on restorting will mount all the containers
mounted layer even if it was stop.

This fix call Mount and then Unmount to get `BaseFs`

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2017-01-05 20:27:34 -05:00
Yong Tang
25b967e149 Allow containers to continue even if mount failed after live restore
This fix is a follow up to #29365. In #29365 a bug was fixed for
`docker exec -u user` after live restore by remounting.
However, #29365 will prevent containers from restored if mount failed.

In this fix, containers will be restored even if mount in that step failed.
Some functionalities might be missing (like `docker exec -u user`) but
at least it is possible to do certain operations like stop/restart/delete.

This fix is related to #29365.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 3003ae1d8b)
2017-01-05 20:27:19 -05:00
Aaron Lehmann
eb5273edd4 [1.13] Revendor swarmkit to 7f910df
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-01-05 14:53:47 -08:00
Vincent Demeester
46afc8f148 Change the way IPAM configuration is handled on stack deploy
We use the 'default' driver if none is specified.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 20:25:04 +01:00
Tibor Vass
1afd41e4f7 Merge pull request #29866 from vieux/1.13.0-rc5-cherrpicks
1.13.0 rc5 cherrypicks
2017-01-04 11:04:22 -08:00
Victor Vieux
43cc971d76 bump version to rc5
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 04:27:03 -08:00
Victor Vieux
7f20c11c47 Merge pull request #29878 from mavenugo/npfilter2
Cherry-pick #29877 : Use GetAllByCap to get list of network plugins in docker info
2017-01-04 14:54:32 -08:00
Madhu Venugopal
69240476d4 Swarmkit has enabled the plugin filtering logic based on the drivers
returned in "docker info". Currently info endpoint isnt using the
GetAllByCap, but relies on existing networks to get the plugin names.
This causes a basic issue when it comes to global network plugins which
swarm-mode relies on, wherein swarmkit will not be able to schedule the
network on the worker nodes due to the filtering logic.

In order to break this chicken & egg issue, we must start to use the
GetAllManagedPluginsByCap. We are unable to use GetAllByCap due to
various issues with Plugin-V1's lazy loading approach causing issues
especially during daemon restarts (which uses SystemInfo)

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-04 12:46:56 -08:00
Lei Jitang
a46dbbded9 Fix update clear the restart policy of monitor
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 737b5b1781)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:55 +01:00
Victor Vieux
4e9dd0e51c replace no-remove by sample-volume-plugin in docs
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit bcead9282e)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:55 +01:00
Brian Goff
84f25c7cb8 Fix race/deadlock in v1 plugin handlers
When a plugin is activated, and then `plugins.Handle` is called to
register a new handler for a given plugin type, a deadlock occurs when
for anything which calls `waitActive`, including `Get`, and `GetAll`.

This happens because `Handle()` is setting `activated` to `false` to
ensure that plugin handlers are run on next activation.
Maybe these handlers should be called immediately for any plugins which
are already registered... but to preserve the existing behavior while
fixing the deadlock, track if handlers have been run on plugins and
reset when a new handler is registered.

The simplest way to reproduce the deadlock with Docker is to add a `-v
/foo` to the test container created for the external graphdriver tests.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 2938dce794)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:55 +01:00
Yong Tang
6841887132 Add --file flag for docker secret create command
This fix tries to address the issue raised in 28581 and 28927
where it is not possible to create a secret from a file (only
through STDIN).

This fix add a flag `--file` to `docker secret create` so that
it is possible to create a secret from a file with:
```
docker secret create --file secret.in secret.name
```

or
```
echo TEST | docker secret create --file - secret.name
```

Related docs has been updated.

An integration test has been added to cover the changes.

This fix fixes 28581.
This fix is related to 28927.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit c6f0b7f448)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:55 +01:00
Yanqiang Miao
aa5ac38f41 Optimization a error description
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 6c021893aa)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:55 +01:00
Yong Tang
d01138c162 Remove docker stack ps -a to match removal of docker service/node ps -a
In #28507 and #28885, `docker service/node ps -a` has been removed so that
information about slots are show up even without `-a` flag.

The output of `docker stack ps` reused the same output as `docker service/node ps`.
However, the `-a` was still there. It might make sense to remove `docker stack ps -a`
as well to bring consistency with `docker service/node ps`.

This fix is related to #28507, #28885, and #25983.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 9155e14e77)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:54 +01:00
Brian Goff
def75b2c2c Fixes a race condition in client events monitoring
In cases where there is high latency (ie, not-local network)
`waitExitOrRemoved` was not receiving events for short-lived containers.
This caused the client to hang while waiting for a notification that the
container has stopped.

This happens because `client.Events()` returns immediately and spins a
goroutine up to process events. The problem here is it returns before
the request to the events endpoint is even made.
Even without high-latency issues, there is no guarantee that the
goroutine is even scheduled by the time the function returns.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 47585996bf)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:44:54 +01:00
Harald Albers
ff7934faf2 Fix usage message of plugin inspect
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 1b58d0bc51)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:44:54 +01:00
Daniel Nephin
045e9834a5 Trim quotes from TLS flags.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit abe32de6b4)
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-01-04 12:43:17 +01:00
Daniel Nephin
a2dc349c74 Add quoted string flag Value.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit e4c1f07729)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Sebastiaan van Stijn
7cbc4cb7f2 fix powershell dco check
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 611a633ba4)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Yong Tang
e2b04a7818 Fix image's CMD after WORKDIR in Dockerfile
This fix tries to fix 29667 where image's `CMD` is modified
after `WORKDIR` in Dockerfile.

The value of `b.runConfig.Cmd` was modified in the processing
of `WORKDIR`, in order to fix 28902. However, the same
`b.runConfig.Cmd` is passed to `commit()`.

This fix restored the `b.runConfig.Cmd` before `commit()`
the image for `WORKDIR`.

A test has been added.

This fix fixes 29667.

This fix is related to 28902, 28909, 28514.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 0836023847)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Harald Albers
ea00b14170 Add bash completion for plugin disable --force
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e1403453f0)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Harald Albers
5903ead08e Fix bash completion for plugin enable|disable
`docker plugin enable` and `docker plugin disable` only
accept one plugin.

Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 390effdd11)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Alexander Morozov
428ae70759 commit: do not change container labels on commit
Fix #29547

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit ca6c6f0765)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:42 +01:00
Brian Goff
eefb2220c0 Fix usage of boltdb in volume restore
bolt k/v pairs are only valid for the life of a transaction.
This means the memory that the k/v pair is referencing may be invalid if
it is accessed outside of the transaction.
This can potentially cause a panic.

For reference: https://godoc.org/github.com/boltdb/bolt#hdr-Caveats

To fix this issue, unmarshal the stored data into volume meta before
closing the transaction.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 4876a9047e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
yuexiao-wang
8b155a9109 Update 'ID' field for 'docker plugin ls'
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 1e6587ff28)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Harald Albers
c809c40647 Add bash completion for plugin install --alias
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 83158f8aff)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Yanqiang Miao
994b3928f6 Add 'volume prune' to the volume commands index
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 3d4ea98971)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Harald Albers
39b3e39c40 Remove bash completion for deprecated docker daemon
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 536a9ec698)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Harald Albers
e7960584f2 Remove --all|-a from docker node ps reference
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 364e900237)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Harald Albers
c25a4762ef Remove bash completion for docker node ps --all|-a
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a54cc4f88d)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Zhang Wei
2c53989b4b Add missing "--default-runtime" flag in manpage
Add missing flag and more descriptions in manpage.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
(cherry picked from commit 977fd43985)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Akihiro Suda
1c5cb46649 update experimental/README.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit eb11a10ddf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:41 +01:00
Tobias Gesellchen
97b0bb730e fix swagger description for DELETE /plugin/{name}
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
(cherry picked from commit e6b2829a7f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:40 +01:00
Tonis Tiigi
6d6c11dceb Fix inspect object by invalid reference
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 3cd39aaeab)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-04 12:42:40 +01:00
lixiaobing10051267
cf93b2b1c2 update URL of plugins_graphdriver.md in experimental/README.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

(cherry picked from commit 82eeab62df)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-03 23:47:46 -08:00
allencloud
7a89c43a5e update plugins in docs and correct things in index.md
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 6d3e1d2fd2)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-03 23:47:01 -08:00
yuexiao-wang
8afa73d280 Update reference document for secret and stack
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 7bb31f3168)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-03 23:46:29 -08:00
Victor Vieux
d2a4a53f11 small secret doc update
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 91b739b552)
Signed-off-by: Victor Vieux <vieux@docker.com>
2017-01-03 23:45:30 -08:00
Tibor Vass
7d58f5fb88 Merge pull request #29869 from cpuguy83/backport_28263
[cherry-pick] Moves graphdriver plugin docs out of experimental
2017-01-03 21:35:06 -08:00
Tibor Vass
73be1c098a Merge pull request #29858 from mavenugo/1.13-nplugins
Cherry-pick : Fixing a couple of network plugin life-cycle mgmt issues
2017-01-03 19:56:11 -08:00
Brian Goff
c18f592150 Moves graphdriver plugn docs out of experimental
Also updates some of the structures being sent so plugins are getting
all the new options.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-01-03 21:58:43 -05:00
Tibor Vass
f335200410 Merge pull request #29859 from thaJeztah/1.13-fix-anonymous-volumes
[1.13] fix anonymous volumes
2017-01-03 16:20:10 -08:00
Madhu Venugopal
c5b5b4ea45 Properly cleanup plugin states which might impact other tests
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-03 15:37:47 -08:00
Madhu Venugopal
627bc91727 Handle Plugin reference count during network create and delete
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-03 15:37:47 -08:00
Madhu Venugopal
15293063ba Vendoring libnetwork to bring in isbuiltin changes
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-03 15:37:47 -08:00
Madhu Venugopal
b219698e75 Add a GetAll function that returns only managed plugins supported by V2
The current GetAll handles both V2 and legacy plugins. Also due to the
nature of V1 plugins, it also loads them. This causes problems when
loading is not required. Hence adding an independent API that will
return only the plugins that are loaded using v2 mangaed plugins.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-01-03 15:37:46 -08:00
Sebastiaan van Stijn
1ca25a2e5e Improve validation for volume specs
The current validation only checked for the
number of elements in the volume-spec, however,
did not validate if the elements were empty.

Because of this, an empty volume-spec (""),
or volume spec only containing separators ("::")
would not be invalidated.

This adds a simple check for empty elements in
the volume-spec, and returns an error if
the spec is invalid.

A unit-test is also added to verify the behavior.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-01-03 21:49:03 +01:00
Sebastiaan van Stijn
36c0b59149 fix conversion of anonymous volumes in compose-file
the `convertVolumeToMount()` function did not take
anonymous volumes into account when converting
volume specifications to bind-mounts.

this resulted in the conversion to try to
look up an empty "source" volume, which
lead to an error;

    undefined volume:

this patch distinguishes "anonymous"
volumes from bind-mounts and named-volumes,
and skips further processing if no source
is defined (i.e. the volume is "anonymous").

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-01-03 21:22:07 +01:00
Brian Goff
3e0df05ec4 Merge pull request #29734 from tonistiigi/1.13-plugins
[v1.13] plugins updates
2016-12-28 10:56:21 -05:00
Tonis Tiigi
f02d46f050 Fix validation of plugins without rootfs in config
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 6c7cb52009)
2016-12-27 17:21:08 -08:00
Derek McGowan
25bbf8ab7c Support for docker content trust for plugins
Add integration test for docker content trust

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
(cherry picked from commit 14e8bba4f5)
2016-12-27 14:27:28 -08:00
Tonis Tiigi
38d914cc96 Implement content addressability for plugins
Move plugins to shared distribution stack with images.

Create immutable plugin config that matches schema2 requirements.

Ensure data being pushed is same as pulled/created.

Store distribution artifacts in a blobstore.

Run init layer setup for every plugin start.

Fix breakouts from unsafe file accesses.

Add support for `docker plugin install --alias`

Uses normalized references for default names to avoid collisions when using default hosts/tags.

Some refactoring of the plugin manager to support the change, like removing the singleton manager and adding manager config struct.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
(cherry picked from commit 3d86b0c79b)
2016-12-27 13:31:14 -08:00
Derek McGowan
bb37c67a90 Abstract distribution interfaces from image specific types
Move configurations into a single file.
Abstract download manager in pull config.
Add supports for schema2 only and schema2 type checking.
Add interface for providing push layers.
Abstract image store to generically handle configurations.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
(cherry picked from commit 3c7676a057)
2016-12-27 13:31:06 -08:00
Derek McGowan
a55a9b14d1 Update distribution vendor for manifest builder change
Manifest builder allows setting the configuration type
for the manifest being build. Additionally the default
type has been renamed to reflect it is an image type.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
(cherry picked from commit 61ac7c4bf8)
2016-12-27 13:30:44 -08:00
Anusha Ragunathan
2039ea6adc Enforce zero plugin refcount during disable.
When plugins have a positive refcount, they were not allowed to be
removed. However, plugins could still be disabled when volumes
referenced it and containers using them were running.

This change fixes that by enforcing plugin refcount during disable.
A "force" disable option is also added to ignore reference refcounting.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 8cb2229cd1)
2016-12-27 13:19:25 -08:00
Yong Tang
05426c80d9 Fix docker plugin inspect <unkown object> issue on Windows
This fix is a follow up for comment:
https://github.com/docker/docker/pull/29186/files#r91277345

While #29186 addresses the issue of `docker inspect <unknown object>`
on Windows, it actually makes `docker plugin inspect <unknown object>`
out `object not found` on Windows as well. This is actually misleading
as plugin is not supported on Windows.

This fix reverted the change in #29186 while at the same time,
checks `not supported` in `docker inspect <unknown object>` so that
- `docker plugin inspect <unknown object>` returns `not supported` on Windows
- `docker inspect <unknown object>` returns `not found` on Windows

This fix is related to #29186 and #29185.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 0b3c10ac4d)
2016-12-27 13:19:16 -08:00
Yong Tang
fed1b91bb4 Use GetByName to check for collision before create any context in plugin creation
This fix is a follow up to the comment:
https://github.com/docker/docker/pull/28717#discussion_r90040589

Currently, the collision checking is done at the last step `Add()` of
plugin creation. However, at this stage the context such as plugin
directories have already been creation. In case of name collision,
rollback is needed which could be expensive.

This fix performs the check at the beginning of CreateFromContext using
GetByName. In this way, collision fails fast and no context creation
or rollback is needed.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 52405a9b58)
2016-12-27 12:10:11 -08:00
Victor Vieux
88862e707a bump 1.13.0-rc4
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-16 02:10:49 -08:00
Victor Vieux
f3749c5a9c Merge pull request #29465 from docker/1.13.0-rc4-cherrypicks
1.13.0-rc4 cherry-picks: part2
2016-12-16 13:12:57 -08:00
Victor Vieux
7d4318c83c Merge pull request #29433 from aaronlehmann/swarm-plugins-1.13
[1.13] Support v2 plugins in swarm mode
2016-12-16 12:47:52 -08:00
Aaron Lehmann
05fba4af5f Add integration test for volume plugins on swarm
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-12-16 10:44:26 -08:00
Aaron Lehmann
501083e82a Fix volume Create to check against canonical driver name
Previously, it was comparing against the driver name passed in by the
caller. This could lead to subtle issues when using plugins, like
"plugin" vs. "plugin:latest".

Also, remove "conflict:" prefix to improve the error message.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit a854cf262336e5625ec06e8e12e8ebc1500ce656)
2016-12-16 10:44:26 -08:00
Aaron Lehmann
4e5129c511 Publish installed v2 plugins to manager
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 2a97ea9a6e)
2016-12-16 10:44:25 -08:00
Aaron Lehmann
e460a5f45c Vendor swarmkit from bump_v1.13.0 branch
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-12-16 10:44:25 -08:00
Victor Vieux
c9a557765e Merge pull request #29469 from aaronlehmann/swarm-content-trust-1.13
[1.13] Backport "Content trust for swarm services"
2016-12-16 01:00:27 -08:00
Brian Goff
1a865dd303 Fix volume plugin refecounting on daemon restart
Ensures all known volumes (known b/c they are persisted to disk) have
their volume drivers refcounted properly.

In testing this, I found an issue with `--live-restore` (required since
currently the provided volume plugin doesn't keep state on restart)
where restorted plugins did not have a plugin client loaded causing a
panic when trying to use the plugin.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 6ef1060cd0)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 23:39:28 -08:00
Akihiro Suda
0c19045523 api: allow creating a network of which name is the prefix of the ID of a swarm network
Previously, it doesn't allow creating such a network:

e.g.

    $ docker network inspect -f '{{.Id}}' ingress
    84xh9knigj6zyt00u31e26nj3
    $ docker network create 84
    Error response from daemon: network with name 84 already exists

Fix #27866

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit edfbc3b876)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:59:42 -08:00
Andrew Hsu
ecf7a631a6 remove fedora-23 because eol
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit ef98091a90)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:45:20 -08:00
yuexiao-wang
f573d8b621 Fix inconsistency for pause and unpause
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 082f4919ca)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:42:43 -08:00
yuexiao-wang
51020f7074 Add the whole related information for node
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit b67b0949ed)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:42:02 -08:00
Sebastiaan van Stijn
5391ce8ffa swarm leave is not only for workers
the "docker swarm leave" command description
mentioned that the command can only be used
for workers, however, the command can also
be used for managers (using the `-f` / `--force`
option).

this patch removes the "(workers only)" part
of the command description.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f89eee5d9d)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:41:43 -08:00
Victor Vieux
29f42b4036 fix devices in plugins
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 6f00601c9f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:19:28 -08:00
Brian Goff
caaee2ebab Make graphdriver plugin use plugin BasePath
Also enables `PropagatedMount` for graphdrivers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 500210475f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 22:19:22 -08:00
Yong Tang
315c34953d Show usage when docker swarm update has no flags
This fix tries to address the issue raised in 24352. Previously,
when `docker swarm update` has no flags, the output is
```
Swarm updated.
```
even though nothing was updated. This could be misleading for
users.

This fix tries to address the issue by adding a `PreRunE` function
in the command so that in case no flag is provided (`cmd.Flags().NFlag() == 0`),
the usage will be outputed instead.

An integration has been added to cover the changes.

This fix fixes 24352.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 5aa5a1cb00)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:07:18 -08:00
Trapier Marshall
b5d4f87612 fix typo in reference for service create
Signed-off-by: Trapier Marshall <trapier.marshall@docker.com>
(cherry picked from commit 90c680ad25)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
Harald Albers
dc05dfd30e Make bash completion for docker stack deploy --bundle-file experimental
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a53bdfa3be)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
Harald Albers
f68d703a8c Add docs for docker network create --attachable
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 7433d3acf6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
yuexiao-wang
ce5ea47cb0 Add the link for service logs
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 54d38fe115)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
Christopher Jones
a260417927 [plugins] return err when failing remove
Fixes a case where removing the plugin from disk would
fail silently. Also moves pluginStore remove after we
remove from disk, so 'docker plugin ls' doesn't isn't
empty in case it errors out.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit fb11164c4f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
Yong Tang
a80251e8cd Fix docker exec -u issue after docker daemon restart
This fix tries to address the issue raised in 29342 where
`docker exec -u` after docker daemon restart returns an error:
```
unable to find user test: no matching entries in passwd file
```

The reason was that `container.BaseFS` is not present after restart.

This fix adds the `daemon.Mount` during the restore to bring up the
`container.BaseFS`.

An integration test has been added to cover the changes.

This fix fixes 29342.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 7feb2a17e4)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-15 21:06:23 -08:00
Aaron Lehmann
8f724a277a integration-cli: Add integration tests for swarm services + content trust
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 62cd3b39f9)
2016-12-15 20:44:22 -08:00
Aaron Lehmann
61dc897a30 cli: Pin image to digest using content trust
Implement notary-based digest lookup in the client when
DOCKER_CONTENT_TRUST=1.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit d4d6f8c0d0)
2016-12-15 18:20:13 -08:00
Aaron Lehmann
5e7d2ab3b8 cli: Split out GetNotaryRepository and associated functions
Split these into cli/trust so that other commands can make use of them.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 4b8c79f25e)
2016-12-15 18:20:07 -08:00
Aaron Lehmann
261f9b6243 registry: Remove reference.go
This removes some very old vestigial code that really should have been
removed during the content addressability transition. It implements
something called "reference" but it behaves differently from the actual
reference package. This was only used by client-side content trust code,
and is relatively easy to extricate.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit d91ed88365)
2016-12-15 18:18:47 -08:00
Justin Cormack
45b441f4f9 Merge pull request #29395 from mavenugo/exp13
Cherry-pick : Add the missing experimental ipvlan network driver
2016-12-15 14:56:00 -08:00
Sebastiaan van Stijn
61ce93a6f5 Merge pull request #29429 from vdemeester/publish-long-short-syntax-1_13
[1.13.x] Publish long short syntax 1 13
2016-12-15 21:44:06 +01:00
Vincent Demeester
162ef5d158 Make --publish-rm precedes --publish-add, so that add wins
`--publish-add 8081:81 --publish-add 8082:82 --publish-rm 80
--publish-rm 81/tcp --publish-rm 82/tcp` would thus result in 81 and
82 to be published.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-15 09:15:54 +01:00
Vincent Demeester
37ea8104b0 Remove --port and update --publish for services to support syntaxes
Add support for simple and complex syntax to `--publish` through the
use of `PortOpt`.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-15 07:24:26 +01:00
Victor Vieux
1b521547f0 Merge pull request #29229 from vieux/1.13.0-rc4-cherrypicks
1.13.0-rc4 cherry-picks: part1
2016-12-14 17:18:17 -08:00
Victor Vieux
4d2be03b68 Merge pull request #29418 from aboch/p66
[1.13.x] Fix buildIpamResources()
2016-12-14 15:28:58 -08:00
Alessandro Boch
fa9618550a Fix buildIpamResources()
- Can no longer assume IPv6 operational data to be present

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-12-14 10:36:44 -08:00
Madhu Venugopal
29861173e1 Pass daemon experiemental flag to libnetwork
Required to enable ipvlan experimental network driver

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-12-14 00:55:34 -08:00
Madhu Venugopal
b7316e85c0 Vendor libnetwork with experimental daemon flag handling
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-12-14 00:54:57 -08:00
Victor Vieux
efdf7ae8f3 skip empty networks in plugin install
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 04e35a01fc)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 23:49:27 -08:00
yuexiao-wang
a4af72fc87 Update the manual for docker wait
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 303ff807f2)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 23:48:53 -08:00
Ben Firshman
20dc482b10 Add display name for tags in swagger.yaml
In #29071, we made the tags the correct name for generating types,
at the expense of the menu in the documentation looking good.

ReDoc now has support for tag display names
( https://github.com/Rebilly/ReDoc/pull/152 ), so we can assign
a more human-friendly name to the menu items.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 0caa6c218c)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 23:48:22 -08:00
Brian Goff
8b31f217ff Refcount graphdriver plugins properly
Adds 2 new methods to v2 plugin `Acquire` and `Release` which allow
refcounting directly at the plugin level instead of just the store.
Since a graphdriver is initialized exactly once, and is really managed
by a separate object, it didn't really seem right to call
`getter.Get()` to refcount graphdriver plugins.
On shutdown it was particularly weird where we'd either need to keep a
driver reference in daemon, or keep a reference to the pluggin getter in
the layer store, and even then still store extra details on if the
graphdriver is a plugin or not.

Instead the plugin proxy itself will handle calling the neccessary
refcounting methods directly on the plugin object.

Also adds a new interface in `plugingetter` to account for these new
functions which are not going to be implemented by v1 plugins.

Changes terms `plugingetter.CREATE` and `plugingetter.REMOVE` to
`ACQUIRE` and `RELEASE` respectively, which seems to be better
adjectives for what we're doing.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit f29bbd16f5)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 19:56:51 -08:00
Dong Chen
39c9f1c024 Run overlay attachable test on a single daemon
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit e42d1bb4b2)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 19:56:51 -08:00
Brian Goff
4e08d8ef03 Fix issues with plugin and --live-restore
Fixes an issue when starting the daemon with live-restore
where previously it was not set, plugins are not running.

Fixes an issue when starting the daemon with live-restore, the plugin
client (for interacting with the plugins HTTP interface) is not set,
causing a panic when the plugin is called.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit cb6633175c)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 19:56:44 -08:00
Sebastiaan van Stijn
47b838db40 Update reference docs for service ps
commit bbd2018ee1
changed the output format of `docker service ps`.

this patch updates the reference docs
to match the updated output format.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 5902fa3384)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:10:24 -08:00
yuexiao-wang
1dd2e2f545 Fix the incorrect option name
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit b101e451f1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:10:05 -08:00
lixiaobing10051267
e65660da3d stack_config.md not exist and delete it
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
(cherry picked from commit afaff51a8b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:09:47 -08:00
John Howard
004ec96608 Windows: Prompt fix
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 30b8f08443)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:09:29 -08:00
yuexiao-wang
54e52b97f4 Update the option 'network' for docker build
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit cd317282c9)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:09:12 -08:00
allencloud
4aa72cb5a9 add missing status code 403 for services/create in docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 19654fd71e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:08:53 -08:00
Sebastiaan van Stijn
f59aa96e3d deprecate "top-level" network information in NetworkSettings
When inspecting a container, `NetworkSettings` contains top-level
information about the default ("bridge") network;

`EndpointID`, `Gateway`, `GlobalIPv6Address`, `GlobalIPv6PrefixLen`,
`IPAddress`, `IPPrefixLen`, `IPv6Gateway`, and `MacAddress`.

These properties are deprecated in favor of per-network properties in
`NetworkSettings.Networks`. These properties were already "deprecated" in
docker 1.9, but kept around for backward compatibility.

Refer to [#17538](https://github.com/docker/docker/pull/17538) for further
information.

This officially deprecates these properties, and marks them
for removal in 1.16

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit ae6f09b29c)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 17:08:28 -08:00
Victor Vieux
89c27499da Merge pull request #29340 from vieux/1.13_changelog
update changelog 1.13.0-rc4
2016-12-13 09:41:03 -08:00
Christopher Jones
4c65bf9a10 [integration-cli] skip plugin tests on non-x86
Due to the test plugins being architecture specific, these
tests fail to start the plugin (even though they don't fail yet)

Temporary fix until we can build architecture specific test
plugins.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit ebff8c79a3)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 20:56:38 -08:00
Victor Vieux
1149997787 update changelog 1.13.0
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 17:08:18 -08:00
Anusha Ragunathan
1a86cbb031 When plugin enable fails, unmount PropagatedMount.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit cef443bddf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 16:17:19 -08:00
Aleksa Sarai
80c3ed1c0c daemon: switch to 'ensure' workflow for AppArmor profiles
In certain cases (unattended upgrades), system services can disable
loaded AppArmor profiles. However, since /etc being read-only is a
supported setup we cannot just write a copy of the profile to
/etc/apparmor.d.

Instead, dynamically load the docker-default AppArmor profile if a
container is started with that profile set. This code will short-cut if
the profile is already loaded.

Fixes: 2f7596aaef ("apparmor: do not save profile to /etc/apparmor.d")
Signed-off-by: Aleksa Sarai <asarai@suse.de>
(cherry picked from commit 567ef8e785)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 16:16:50 -08:00
Aleksa Sarai
20d6f23b55 apparmor: switch IsLoaded to return bool
Signed-off-by: Aleksa Sarai <asarai@suse.de>
(cherry picked from commit e440a57a79)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:33:10 -08:00
Yong Tang
20a7e39728 Fix missing IPAM options in swarm network mode
This fix tries to fix the issue raised in 29044 where
the IPAM options is missing in swarm network mode
after the service is deployed. Before the service
is deployed, the IPAM options is available.

The reason for the issue is that, before service is
deployed, `network inspect` is querying the swarm and
obtained the correct information.
However, after service is deployed, swarm executor
does not pass the IPAM options to the backend (daemon).
Also after service is deployed, `network inspect` is
actually querying the local daemon for information.
At this time the network information with missing IPAM
options is returned.

This fix fixes the issue by updating the swarm network
allocator and swarm executor.

A separate PR for swarmkit will be opened.

An integration test has been added to cover the change.

This fix fixes 29044.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 4d958e99c1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:26:30 -08:00
Misty Stanley-Jones
09296e053d Edits to plugin upgrade warning
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 66cbb5a552)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:26:12 -08:00
Lajos Papp
1f4dc1158c Note about potential plugin issue when upgrading
Fixes: #29172
Fixes: https://github.com/docker/for-mac/issues/1000

Signed-off-by: Lajos Papp <lalyos@yahoo.com>
Signed-off-by: lalyos <lalyos@yahoo.com>
(cherry picked from commit acd847cd56)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:26:06 -08:00
Andrea Luzzardi
99eb943186 service ps: Revert output to 1.12 behavior.
- Display the ID column
- Do not append the task ID in the name column
- (NEW): Truncate task IDs, unless --no-trunc is specified

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
(cherry picked from commit bbd2018ee1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:25:44 -08:00
Victor Vieux
d8e435ab6c remove old media type compat for plugins
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit f644e758bd)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:25:27 -08:00
John Howard
09cd31b128 Windows: Fix crash in docker system prune
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit e5900ee9bf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:25:01 -08:00
Harald Albers
85ae13f6d0 Add bash completion for docker inspect --type plugin
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 81b4b2b5fa)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:24:42 -08:00
Qinglan Peng
fcb58702bc fix some broken contents links
Signed-off-by: Qinglan Peng <qinglanpeng@zju.edu.cn>

fix-contents-links

Signed-off-by: Qinglan Peng <qinglanpeng@zju.edu.cn>
(cherry picked from commit bac792c163)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:24:22 -08:00
Kei Ohmura
cc855179cf docs: fix description of docker swarm update --help
Signed-off-by: Kei Ohmura <ohmura.kei@gmail.com>
(cherry picked from commit 2f0e00f587)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:24:03 -08:00
Kei Ohmura
9a6c5e14be docs: fix description of docker swarm join --help
Signed-off-by: Kei Ohmura <ohmura.kei@gmail.com>
(cherry picked from commit 77dd8474a7)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:23:57 -08:00
Martin Honermeyer
0d575d1304 Fix link to volume label support in changelog
Signed-off-by: Martin Honermeyer <maze@strahlungsfrei.de>
(cherry picked from commit bb06e138e4)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:23:37 -08:00
Steve Durrheimer
508d06752d Add zsh completion for 'docker inspect --type=plugin' and other missing ones
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 2bdffc1fb5)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:22:44 -08:00
lixiaobing10051267
159f4f14d7 replace env description with args in extend config
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
(cherry picked from commit abdc031aea)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-12 13:22:24 -08:00
Victor Vieux
de5fba3833 Merge pull request #29333 from sanimej/libn_bump_1.13.x
Update libnetwork to 4df06c4
2016-12-12 13:16:51 -08:00
Santhosh Manohar
4b7bef26c5 Update libnetwork to 4df06c4
This fixes docker #28931, #28172, #28969

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-12-12 11:40:14 -08:00
Brian Goff
cd7fea22f4 Merge pull request #29294 from yongtang/1.13.x
[1.13.x] Update vendored swarmkit to b5f07ce49c66d2f5feee83998b23d4c905b78155
2016-12-12 11:46:50 -05:00
Yong Tang
30b458a28c [1.13.x] Update vendored swarmkit to b5f07ce49c66d2f5feee83998b23d4c905b78155
This fix update swarmkit to b5f07ce49c66d2f5feee83998b23d4c905b78155

The following changes have been included:
- Fix missing IPAM options in swarm network mode (docker/swarmkit#1789)

The above PR is related to docker PR #29074 and docker issue #29044.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-12-10 04:02:22 -08:00
Yong Tang
870beb70fb xFix issue for --hostname when running in "--net=host"
This fix tries to address the issue raised in 29129 where
"--hostname" not working when running in "--net=host" for
`docker run`.

The fix fixes the issue by not resetting the `container.Config.Hostname`
if the `Hostname` has already been assigned through `--hostname`.

An integration test has been added to cover the changes.

This fix fixes 29129.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit b0a7b0120f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:42:16 -08:00
Doug Davis
64aac182d6 Fix processing of unset build-args during build
This reverts 26103.  26103 was trying to make it so that if someone did:
  docker build --build-arg FOO .
and FOO wasn't set as an env var then it would pick-up FOO from the
Dockerfile's ARG cmd.  However, it went too far and removed the ability
to specify a build arg w/o any value. Meaning it required the --build-arg
param to always be in the form "name=value", and not just "name".

This PR does the right fix - it allows just "name" and it'll grab the value
from the env vars if set. If "name" isn't set in the env then it still needs
to send "name" to the server so that a warning can be printed about an
unused --build-arg. And this is why buildArgs in the options is now a
*string instead of just a string - 'nil' == mentioned but no value.

Closes #29084

Signed-off-by: Doug Davis <dug@us.ibm.com>
(cherry picked from commit cdb8ea90b0)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:24:00 -08:00
Jake Sanders
4fba52a2f7 Add registry-specific credential helper support
Signed-off-by: Jake Sanders <jsand@google.com>
(cherry picked from commit 07c4b4124b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:23:58 -08:00
John Howard
b18516e6ac Windows: make.ps1 fix DCO check
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit e538c1fdca)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:20:25 -08:00
Michael Friis
6e08e2edcf remove bonus whitespace
Signed-off-by: Michael Friis <friism@gmail.com>
(cherry picked from commit 8d47858f96)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:20:00 -08:00
Sebastiaan van Stijn
c027e4a861 remove unsupported distros from install script
The install script currently includes some
distros that we don't actually have packages
for.

For these distros, the script currently
performs step to install Docker from
the distro's repository.

This patch removes those distros from
the install script, because we have no
control over these packages, and cannot
provide support for them.

Installing docker anyway will give the
false impression that they installed
a package from our repository (but they
didn't), and that they need to contact
us for support.

It's better to tell people that we don't
install in that case, and refer them to
the installation documentation, or the
documentation of their distro.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 29b98b6ee6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:17:25 -08:00
Anusha Ragunathan
1c858abc96 Fix race in setting plugin refcounts.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 4c088d1e2e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:16:26 -08:00
Tibor Vass
3a571b72fd plugins: container-rootfs-relative paths
Legacy plugins expect host-relative paths (such as for Volume.Mount).
However, a containerized plugin cannot respond with a host-relative
path. Therefore, this commit modifies new volume plugins' paths in Mount
and List to prepend the container's rootfs path.

This introduces a new PropagatedMount field in the Plugin Config.
When it is set for volume plugins, RootfsPropagation is set to rshared
and the path specified by PropagatedMount is bind-mounted with rshared
prior to launching the container. This is so that the daemon code can
access the paths returned by the plugin from the host mount namespace.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit c54b717caf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:16:04 -08:00
Qinglan Peng
aa22b96457 fix some version information
Signed-off-by: Qinglan Peng <qinglanpeng@zju.edu.cn>
(cherry picked from commit aa26364ce1)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:15:08 -08:00
lixiaobing10051267
d842cf6db6 add SCOPE field content for docker network ls
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

(cherry picked from commit 170fcead7e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:14:27 -08:00
Anusha Ragunathan
213ee20706 Make v2/Plugin accesses safe.
v2/Plugin struct had fields that were
- purely used by the manager.
- unsafely exposed without proper locking.
This change fixes this, by moving relevant fields to the manager as well
as making remaining fields as private and providing proper accessors for
them.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit b35490a8ba)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:13:13 -08:00
Evan Hazlett
f081b22a4a add headers when using exec
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

ensure headers are properly sanitized

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
(cherry picked from commit f86db80b5f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:12:09 -08:00
Ian Campbell
c84f43d63f Caution against the use of CONFIG_LEGACY_VSYSCALL_NATIVE
It provides an ASLR-bypassing target with usable ROP gadgets.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
(cherry picked from commit 49dcce7ba0)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:11:46 -08:00
Xianglin Gao
be7d576f5d fix apparmor load profile
Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
(cherry picked from commit 2ab8f2e389)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:10:58 -08:00
Derek McGowan
cca0132fcf Add class to repository scope
Expose registry error translation for plugin distribution

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit a12b466183)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:10:29 -08:00
Derek McGowan
9ecbaa77ae Update vendor distribution
Distribution client change for class in resource

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit d1f5e0f7a6)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-09 14:10:23 -08:00
Victor Vieux
edd9c522b7 Merge pull request #29232 from aaronlehmann/vendor-swarmkit-999addf
[1.13] Update vendored swarmkit to 999addf
2016-12-09 13:51:32 -08:00
Aaron Lehmann
aca0bdab13 Update vendored swarmkit to 999addf
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-12-07 17:59:31 -08:00
unclejack
674cf8233d api/types/container,client: gofmt
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
(cherry picked from commit c1ce63b17b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:23:00 -08:00
yuexiao-wang
90a24f7bfd Optimize the log info for client test
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 40b8ff6243)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:22:57 -08:00
Antonio Murdaca
6c8bd56007 hack/make.sh: fix BUILDTIME
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 7b1f77dcbc)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:20:38 -08:00
Steve Durrheimer
78f2dc90bf Add zsh completion for 'docker network create --attachable'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit bce11a29f8)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:17:33 -08:00
lixiaobing10051267
52b88ccc23 modify URLs for bind docker in docs/api
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
(cherry picked from commit 9c76fb253e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:17:14 -08:00
Lei Jitang
c9ec321e56 fix #29199, reset container if container start failed
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit e806821b53)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:16:55 -08:00
Yong Tang
bec385cff0 Fix docker inspect <unkown object> issue on Windows
This fix tries to address the issue raised on 29185 where
`docker inspect <unknown object>` on Windows will return:
```
Error response from daemon: plugins are not supported on this platform
```

The reason was that in case `--type` is not specified, `docker inspect`
will iterate through different types `container`, `image`, `network`,
`plugin` etc. The `plugin` object is the last type to check.

However, as `plugin` is not supported on Windows yet, the error message
is not very informative for `plugins are not supported on this platform`.

This fix tries to fix the issue by return a `not found` error on unsupported
platforms as well.

An integration test has been added to cover the changes for Windows/Linux.

This fix fixes 29185.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 88fcdb0a82)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:16:34 -08:00
Harald Albers
0383913b65 Add bash completion for docker network create --attachable
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 8d2e789bbc)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:16:09 -08:00
allencloud
51b83ae8fb add 403 for endpoint network create
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 0d21e24b9f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:15:45 -08:00
John Howard
ad794bba5b Windows: Dockerfile 2GB clarification Hyper-V
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit f7b4d65445)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:15:24 -08:00
John Howard
540758ee99 Windows: make.ps1 Throw exception on failure
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 8c22a00b77)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:15:01 -08:00
Vincent Demeester
0f2364f73c Handle logging in compose to swarm
Logging configuration was completely ignore when deploy a compose file
to swarm. This fixes it.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 806cc1e0f8)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:14:20 -08:00
Harald Albers
6ce7fb23f5 Add bash completion for docker version --format
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 3d43c48c1b)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:13:12 -08:00
Harald Albers
fd7aee8fe0 Fix bash completion for `docker service create|update
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit be5685e4bf)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:12:50 -08:00
Harald Albers
e0d8cfaa7d Add bash completion for secret management
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 324dd3cfec)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:12:29 -08:00
Arash Deshmeh
62fdac59bd Print checkpoint id when creating a checkpoint
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
(cherry picked from commit f1df2d5a2e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:11:43 -08:00
erxian
487fad2a2c refine api swagger.yaml towards image create status code
Signed-off-by: erxian <evelynhsu21@gmail.com>
(cherry picked from commit 15be050fb3)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:11:20 -08:00
Akihiro Suda
e26de82e54 improve TestServiceLogs for the goroutine issue #28915
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit f8a93d0c9d)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:10:56 -08:00
Victor Vieux
8bed67c368 update docs
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit 30db51c169)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:10:31 -08:00
Victor Vieux
728296b9ea refactor plugin install
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit fa3b61a28f)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:10:24 -08:00
Yong Tang
696130c949 Fix issue where secret ID is masked by name
This fix tries to address the issue in 28884 where
it is possible to mask the secret ID by name.

The reason was that searching a secret is based on name.
However, searching a secret should be done based on:
- Full ID
- Full Name
- Partial ID (prefix)

This fix addresses the issue by changing related implementation
in `getCliRequestedSecretIDs()`

An integration test has been added to cover the changes.

This fix fixes 28884

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 3638ca4d14)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:09:46 -08:00
Yong Tang
d1d6357beb Convert DanglingOnly to Filters for docker image prune
This fix convert DanglingOnly in ImagesPruneConfig to Filters,
so that it is possible to maintain API compatibility in the future.

Several integration tests have been added to cover changes.

This fix is related to 28497.

A follow up to this PR will be done once this PR is merged.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit a6be56b54e)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-07 16:08:18 -08:00
Andrew Hsu
4d92237de1 run dnf upgrade before installing in fedora
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit ebd804bfb6)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 10:13:02 -08:00
Victor Vieux
c0522e349a bump version to 1.13.0-rc3
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 02:30:49 -08:00
Victor Vieux
3ac2991ff8 Merge pull request #29094 from vieux/1.13.0-rc3-cherrypicks
1.13.0-rc3 cherry-picks: part3
2016-12-05 02:29:24 -08:00
allencloud
69f3cb179e add missing status code in api docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 9a1f7b6b0b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:42:55 -08:00
Chris Gavin
1b195847f4 Fix a spelling mistake in the docs.
Signed-off-by: Chris Gavin <chris@chrisgavin.me>
(cherry picked from commit 35c82f422d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:41:35 -08:00
Vincent Demeester
877c2b5ac0 Revert "Fix dockerfile parser with empty line after escape"
This reverts commit 3e1b539e8d.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 6e0666e622)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:41:03 -08:00
Vincent Demeester
1b310cd47c Remove hostname validation as it seems to break users
Validation is still done by swarmkit on the service side.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit ef39256dfb)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:40:19 -08:00
Yong Tang
3891c1f376 Support plugins in docker inspect
This fix tries to address the proposal raised in 28946
to support plugins in `docker inspect`.

The command `docker inspect` already supports
"container", "image", "node", "network", "service", "volume", "task".
However, `--type plugin` is not supported yet at the moment.

This fix address this issue by adding the support of `--type plugin`
for `docker inspect`.

An additional integration test has been added to cover the changes.

This fix fixes 28946.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 90bb2cdb9f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:39:30 -08:00
Yong Tang
c015a2a1a6 Add ID field for docker plugin ls
This fix tries to address the enhancement proposed in 28708 to display
ID field for the output of `docker plugin ls`.

This fix add `ID` field to the output of `docker plugin ls`

Related docs has been updated.

This fix fixes 28708.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 8a226ed643)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-05 00:38:57 -08:00
Brian Goff
2aed732d3a Fix out-of-band vol delete+create for same driver
Fix issue where out-of-band deletions and then a `docker volume create`
on the same driver caused volume to not be re-created in the driver but
return as created since it was stored in the cache.

Previous fix only worked if the driver names did not match.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit d8ce4a6e10)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 16:54:15 -08:00
John Howard
e509501437 Windows: make.ps1 and Dockerfile for native builds
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 155435b6ce)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 16:54:05 -08:00
Victor Vieux
e81d02e4cd Merge pull request #29002 from vieux/1.13.0-rc3-cherrypicks
1.13.0-rc3 cherry-picks: part2
2016-12-02 16:51:49 -08:00
Daniel Nephin
8f961397f4 Fix swagger-gen validation.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit f247a99c6d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:44:34 -08:00
Misty Stanley-Jones
7ec079dbfd Fix instances of doubled words
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 379e9259cf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:43:55 -08:00
Brian Goff
c49078c78d Fix issue where TmpfsOptions are not sent to swarm
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit a5b3649bfa)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:43:02 -08:00
Ben Firshman
94f3ccc31e Use singular tag names in swagger.yaml
This is required to make the type generation put things in the
correct directory, but unfortunately makes the names in the
documentation menu look a bit crap.

I think the best solution would be to add a `x-display-name`
extension to tags to determine how the tags show up in the menu,
rather than it depend on the name of the tag. I shall do this in
a follow-up PR - for now, let's fix the breakage.

Fixes #29045

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 30a9249e15)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:42:15 -08:00
Harald Albers
f1ea64fa07 Add bash completion for experimental docker deploy
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 10f567ec6a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:41:43 -08:00
Harald Albers
64b41aa52a Allow selective activation of experimental features in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit af84b7e441)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:41:36 -08:00
Sebastiaan van Stijn
6df19c209f pin go-swagger 0.7.4
This pins the version of go-swagger used, because
the results generated by different versions
can differ quite a bit (tested between 0.7.2 - 0.7.4),
and can cause CI / validation to fail.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit ba20c3e65e)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:41:10 -08:00
Sebastiaan van Stijn
ecf889816c Fix restartpolicy max-retry validation
the restart policy validation was moved from
the client to the daemon in 94e95e4711

As part of that change, retry-counts < 1
were marked as "invalid".

However, the default is 0 (unlimited), causing

    docker run -d --restart=on-failure nginx

To fail.

This changes the validation to only invalidate
retry-counts < 0.

A test was added, and other tests renamed
to allow running just these tests :)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 9db5d649ae)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:40:40 -08:00
John Howard
018f19f8c9 Windows: Factor out sqlite
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 3f6127b173)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:40:06 -08:00
Yong Tang
3477da0cdb Allow docker plugin inspect to search based on ID or name
This fix tries to address the issue raised in discussion of
PR 28735 where it was not possible to manage plugin based on
plugin ID. Previously it was not possible to invoke
`docker plugin inspect` with a plugin ID (or ID prefix).

This fix updates the implementation of `docker plugin inspect`
so that it is possbile to search based on a plugin name, or a
plugin ID. A short format of plugin ID (prefix) is also possible,
as long as there is no ambiguity.

Previously the check of `docker plugin inspect` was mostly done
on the client side. This could potentially cause inconsistency
between API and CMD. This fix move all the checks to daemon side
so that API and CMD will be consistent.

An integration test has been added to cover the changes.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 0ce6e070f7)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-02 13:39:37 -08:00
Tõnis Tiigi
90c3c389c4 Merge pull request #28999 from mavenugo/1.13.0-rc3-ln
Cherry-picking #28975 to 1.13.x
2016-12-02 13:25:43 -08:00
Alexander Morozov
6ad8328cb8 Merge pull request #29049 from aaronlehmann/vendor-swarmkit-1.13.0
[1.13] Vendor swarmkit
2016-12-02 13:06:34 -08:00
Aaron Lehmann
df71cee489 Vendor swarmkit
Update swarmkit to 522d951f733c821cdc33cccca6127c15a2b6de38, from the
bump_v1.13.0 branch.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-12-01 18:42:24 -08:00
lixiaobing10051267
12aa5ea8b1 rectify several wrong URLs in branch of man
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
(cherry picked from commit 576780369f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-01 13:41:17 -08:00
Lei Jitang
32e0ea346b Fix docker restart panic on machine ungracefully shutdown
Machine ungracefully shutdown leaves a lot of container has a
Running=true state.

```
$ cat config.v2.json | jq .

    "Running": true,
    "Paused": false,
    "Restarting": false,

```

And the next docker start will fail with panic.

```

time="2016-12-01T01:54:45.086446715-05:00" level=warning msg="libcontainerd: client is out of sync, restore was called on a fully synced container (49f41ad5ca0be860622d9190673b5816d012022fb2c1794560ec4851e7cfec6a)."
time="2016-12-01T01:54:45.087046004-05:00" level=warning msg="libcontainerd: failed to retrieve container 49f41ad5ca0be860622d9190673b5816d012022fb2c1794560ec4851e7cfec6a state: rpc error: code = 2 desc = containerd: container not found"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x5db7f3]

goroutine 57 [running]:
panic(0x16a8e60, 0xc420010130)
        /usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/docker/docker/libcontainerd.(*client).Restore(0xc4202e1a40, 0xc420415000, 0x40, 0xc42015a0b0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/docker/docker/libcontainerd/client_linux.go:457 +0x553
github.com/docker/docker/daemon.(*Daemon).restore.func1(0xc4201c46f0, 0xc4202581e0, 0xc4201c46e8, 0xc42047bfb0, 0xc42047bf80, 0xc42047bf50, 0xc42024ba10, 0xc420512c00)
        /go/src/github.com/docker/docker/daemon/daemon.go:205 +0x198
created by github.com/docker/docker/daemon.(*Daemon).restore
        /go/src/github.com/docker/docker/daemon/daemon.go:260 +0x7bb

```

Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 267422e4d0)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-01 13:40:44 -08:00
yuexiao-wang
68b88c8749 Fix the use for secret create
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 5cef55ba91)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-01 13:40:14 -08:00
Darren Stahl
c31df2f3de Stop retrying pull on UnkownBlob error
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit dee2968560)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-01 13:39:35 -08:00
yuexiao-wang
f687616995 Fix the inconsistency for docker secret
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit b4306588e9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-12-01 13:39:06 -08:00
Ben Firshman
766e6ab07f Make swagger.yaml operationIds consistent
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit bf6a790f00)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:25:52 -08:00
Ben Firshman
fba707ee1f Make docs URLs in swagger.yaml absolute
This makes the swagger.yaml useful outside of the documentation.
For background:
https://github.com/docker/docker.github.io/pull/606#issuecomment-261389645

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 54051b18a1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:25:40 -08:00
Ben Firshman
76f4793290 Improve tags in swagger.yaml
- Consistent naming (plural, etc)
- Add section descriptions
- Add docs in swagger.yaml about how to maintain them

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 2aea9ad56b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:24:09 -08:00
Ben Firshman
0e1721f09f Add intro to swagger.yaml to explain what it's for
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit be52738a2c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:24:04 -08:00
Ben Firshman
2d0a198eb8 Fix headings in old API docs
Jekyll automatically adds titles based on the title of the page,
so this was causing duplicate titles.

Also, made all the headings the correct level.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit d9b109b807)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:23:59 -08:00
Akihiro Suda
783e1a94b5 cli: remove --mount from docker run
This commit reverts 273eeb813c (#26825).
For the discussion so far, please refer to #28527.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit e6d9b7de64)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:22:43 -08:00
Brian Goff
bb55c05ec1 Move plugin shutdown after layerstore shtudown
This ensures that graphdriver plugins can properly cleanup on daemon
exit.
Also prevents errors during shutdown when it tries to send the plugin a
`Cleanup()` request but ultimately times out since it's already been
shutdown.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 4b400ecc4d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:19:24 -08:00
chchliang
6c466eadb7 don't spell error
Signed-off-by: chchliang <chen.chuanliang@zte.com.cn>
(cherry picked from commit 167f2f3f1b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:19:22 -08:00
lixiaobing10051267
f5c429bea2 modify some urls related to reference path
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
(cherry picked from commit b069690827)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:15:19 -08:00
Aaron Lehmann
1638b8f5c5 distribution: Fix panic on push
When building a manifest during a push operation, all layers must have
an associated descriptor. If a layer is missing a descriptor, that leads
to a panic.

A break inside a switch in layerAlreadyExists meant to break from the
loop surrounding the switch, but instead breaks from the switch. This
causes the loop to continue, and can overwrite the descriptor with an
empty one, leading to the panic.

Also, fix layerAlreadyExists not to abort the push when a speculative
stat on a candidate layer digest fails with an error. This could happen
in situations like a potential cross-repository mount where the user
does not have permission to access the source repository.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit e0702e9f37)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:14:42 -08:00
Harald Albers
7c081219ac Add more types to bash completion of docker inspect
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 1076f0882b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:13:51 -08:00
Christopher Jones
d55b0802cf [ppc64le] allow replacing httpredir in dockerfile
Allows replacing of the default httpredir.debian.org in /etc/apt/sources.list
with a user-specified mirror. This will (hopefully) fix CI apt issues.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 150a519a0b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:13:18 -08:00
Lei Jitang
d9329742d0 Fix docker save with empty timestamp of layer created time
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit e0b2c0af4d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:12:52 -08:00
erxian
375e970991 correct the http return code of secret remove
Signed-off-by: erxian <evelynhsu21@gmail.com>
(cherry picked from commit 21768933fb)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:12:22 -08:00
Aaron Lehmann
30e5e0a781 Don't resolve or pull images referenced by ID
If a swarm service is created using an image ID, it's useless to try to
pull this reference or resolve it to a manifest digest. Avoid doing this
when a fully qualified image ID is given.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 089842c4b4)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:11:43 -08:00
Vincent Demeester
50bcdc9de2 Revert "Add bash completion for docker service ps --all"
This reverts commit 188d2fac57.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit cee0fff9fe)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:11:08 -08:00
Vincent Demeester
f8b981574c Revert "Add -a option to service/node ps"
This reverts commit 139fff2bf0.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit eb55d03f3c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:11:02 -08:00
Vincent Demeester
4609c728e3 stack deploy: handle external network when deploying
If the network is marked as external, don't use the namespace on
it. Otherwise, it's not found.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 6fff845409)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:10:29 -08:00
Steve Durrheimer
5764fbb878 Add zsh completion for 'docker stack' subcommand
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 1e0c612f84)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:10:02 -08:00
Lei Jitang
ee7d498364 Change Error log to Warning when close stdin fail
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 37db022045)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:09:26 -08:00
Lei Jitang
79f153f49e Ignore "failed to close stdin" if container or process not found
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 9aedaf5b3a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:09:19 -08:00
Yanqiang Miao
bf711ea00e Fix a error of the function 'CopyMessage' in 'daemon/logger/logger.go'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

add a test for 'CopyMessage'

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 3b82eac65f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:08:05 -08:00
Sebastiaan van Stijn
f5df634db7 Add some adjectives to the namesgenerator
Because .. `hardcore_hamilton` and `inspiring_murdock`

https://twitter.com/swiftonsecurity/status/801195049165799424

Also replacing adjectives that could be interpreted as
refering to body size, (mental) health, intoxication.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 169b4d92a1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:07:37 -08:00
Kenfe-Mickael Laventure
5e5d02b9f5 Fix race with containerd events stream on restore
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 9fff9bb761)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:06:59 -08:00
Harald Albers
51f1980e30 Add bash completion for docker stack
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 16494a81f9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:06:29 -08:00
John Howard
68cfaf216d Windows: Builder case insensitive env
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 49f392ff6b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:05:48 -08:00
Brian Goff
0dd3ae8ed0 Move stack dump dir to exec root
Dump stack dumps to exec root instead of daemon root.
When no path is provided to the stack dumper, such is the case with
SIGQUIT, dump to stderr.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 0bd720b28d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-30 14:02:24 -08:00
Madhu Venugopal
1f289dc411 Vendoring libnetwork to address some concurrency issues
Addresses #28697, #28845, #28712, #26111

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 8f082e418b)
2016-11-30 13:28:21 -08:00
Vincent Demeester
005a5428ee Merge pull request #28774 from vieux/1.13.0-rc3-cherrypicks
1.13.0-rc3 cherry-picks
2016-11-30 07:36:53 +01:00
Yanqiang Miao
b4567db876 Fix some format errors
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 71f1205269)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:15:02 -08:00
allencloud
1b187660c2 change secret remove logic in cli
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 5b93e77138)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:14:36 -08:00
Aaron Lehmann
0669e372d2 cluster: Refuse swarm spec not named "default"
If, using the API, a user submits an init request with a spec that has a
name other than "default", the engine will rename the "default" cluster
object. Some parts of swarmkit depend on having a cluster object named
"default". Reject any specs that use other names.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 9dba9e3248)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:14:06 -08:00
John Howard
a40ae77529 WORKDIR set cmd
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 1b97bb416b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:13:40 -08:00
Misty Stanley-Jones
7c030bbd76 Document publishing a UDP port
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 2178c840ba)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:13:15 -08:00
Josh Hawn
98132f7db9 Reject unspecified advertise addr on swarm init
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)

(cherry picked from commit eeac871946)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:12:45 -08:00
Daniel Nephin
a8c2248e6f Use namespace label on stack volumes.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 4013a7c6d8)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:12:10 -08:00
Victor Vieux
97b0fd9fe3 update plugin example
Signed-off-by: Victor Vieux <victorvieux@gmail.com>

cleanup whitespace formatting

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit d73f73b365)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:11:14 -08:00
Vincent Demeester
936499e1ff Fixes ImageList to be retro-compatible with older API
Make sure current client code can talk for ImageList can still talk to
older daemon.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit c6e31454ba)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:10:44 -08:00
Anusha Ragunathan
8c56588d04 Fix issue with plugin exit.
A plugin has an `ExitChan` channel which is used to signal the exit of
the plugin process. In a recent change, the initialization was
incorrectly moved to the daemon Shutdown path.

Fix this by initializing the channel during plugin enable.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 890a98ceed)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:10:10 -08:00
Anusha Ragunathan
e3d03adc25 On plugin pull errors, delete created dirs.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 9e4234261c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:09:33 -08:00
yuexiao-wang
90dab0778c Modify the link for config.json
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 4e970c1e5a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:09:07 -08:00
John Howard
b998f95014 Windows: Note about volumes in run
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit b9e65f40cf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:08:07 -08:00
John Howard
7c74809fe9 Align output of docker version again
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit dfeaf7a959)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:07:39 -08:00
William Henry
0f5d85371a Added and example of using --format with docker images
Docker-DCO-1.1-Signed-off-by: William Henry <whenry@redhat.com> (github: ipbabble)

Signed-off-by: William Henry <whenry@redhat.com>
(cherry picked from commit 798c00a7ee)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:07:00 -08:00
Dong Chen
bee66467cd Fix network attachable option.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit abcb699ad1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:06:31 -08:00
Yong Tang
d0fb24d853 Fix issue caused by duplicate docker plugin create with same names
This fix tries to fix the issue raised in 28684:
1. Duplicate plugin create with the same name will override the old plugin reference
2. In case an error happens in the middle of the plugin creation, plugin directories
   in `/var/lib/docker/plugins` are not cleaned up.

This fix update the plugin store so that `Add()` will return an error if a plugin
with the same name already exist.

This fix also will clean up the directory in `/var/lib/docker/plugins` in case
an error happens in the middle of the plugin creation.

This fix fixes 28684.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 662d456928)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-29 14:06:04 -08:00
Misty Stanley-Jones
4a0b7b215e Fix copypaste error 'is-automated'
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 2333657e1b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:30:34 -08:00
Misty Stanley-Jones
bdde4d3be5 Fix some redirect loops and problems
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit a1f55dca21)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:30:02 -08:00
Vincent Demeester
568a0a83a9 Remove docker stack config commandline reference doc
`docker stack config` command does not exists anymore, removing it
from the command reference documentation.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 3f98871a19)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:29:32 -08:00
Kei Ohmura
a903471bfc fix more according to the actual output of 'docker swarm init --help'
Signed-off-by: Kei Ohmura <ohmura.kei@gmail.com>
(cherry picked from commit 4a3207de5b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:28:57 -08:00
Kei Ohmura
76d2619406 fix description of 'docker swarm init'
Signed-off-by: Kei Ohmura <ohmura.kei@gmail.com>
(cherry picked from commit 3abee1bf8a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:28:52 -08:00
Harald Albers
e0654b40b7 Add bash completion for docker service {create,update} host options
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit f3b7f40aaf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:28:17 -08:00
Harald Albers
555f65587e Add aliases and options to docker stack ls docs
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 8260366dd2)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:27:39 -08:00
Yanqiang Miao
25cb6a829b Fix a description of 'docker run [-a]'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 08ff4f427e)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:27:07 -08:00
Steve Durrheimer
877207946a Add zsh completion for 'docker service update --hostname'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit b23fbc3fbd)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:26:36 -08:00
Justin Cormack
0e386515c8 Fix grammar on error message
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit cd5c8e9c2d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:26:08 -08:00
Harald Albers
7d7af6ad14 Add bash completion for docker service update --hostname
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 9d98d6d8cb)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:25:39 -08:00
lixiaobing10051267
6622465645 modify invalid url in plugins_network.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

(cherry picked from commit fc7c235f84)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:24:33 -08:00
yuexiao-wang
bfbb2fdee9 Modify reponame to PLUGIN and fix some typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit c394034f59)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:23:58 -08:00
Yanqiang Miao
663ca540ea Fix some syntax error
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 18724726c2)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:23:28 -08:00
Daniel Nephin
4b230af83f Add a short flag for docker stack deploy
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit f1dd721b69)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:22:59 -08:00
Ben Firshman
99e1814731 Improve error when connecting service to network
The error didn't hint at how to resolve it. Google auto-suggest
also implies that people have been Googling this error.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 70acb89fa2)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:22:22 -08:00
Ian Campbell
3d27cb3d6f Check for LEGACY_VSYSCALL_* options
Chosing LEGACY_VSYSCALL_NONE (over NATIVE or EMULATE) will mean that binaries
using eglibc <= 2.13 will not run (segfault).

Fixes #28705.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
(cherry picked from commit 163db04452)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:21:53 -08:00
yuexiao-wang
05a75a567a Add options for docker plugin enable and fix some typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
(cherry picked from commit 9e414bfa6b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:21:20 -08:00
Yong Tang
a2c9e625e6 Update docs of docker network ls --filter
Currently the help output of `docker network ls --filter` is:
```
Options:
  -f, --filter value   Provide filter values (i.e. 'dangling=true') (default [])
  ...
```
This caused confusion as only the following filters are supported at the moment:
 - `driver`
 - `type`
 - `name`
 - `id`
 - `label`

This fix update the help output of `docker network ls --filter` and `network_ls.md`.
The `dangling=true` description has been replace to:
```
Options:
  -f, --filter filter   Provide filter values (i.e. 'driver=bridge')
  ...
```

This fix fixes 28786.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 2510f254ee)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:19:34 -08:00
Victor Vieux
edbe73670a support src in --secret
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit f70470b71e)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:19:02 -08:00
Daniel Nephin
234a8b9496 exit with status 1 if help is called on an invalid command.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit bb7601a3ff)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:18:28 -08:00
Yong Tang
86ae5d2895 Restrict checkpoint name to prevent directory traversal
This fix tries to address the issue raised in 28769 where
checkpoint name was not checked before passing to containerd.
As a result, it was possible to use a special checkpoint name
to get outside of the container's directory.

This fix add restriction `[a-zA-Z0-9][a-zA-Z0-9_.-]+` (`RestrictedNamePattern`).
This is the same as container name restriction.

This fix fixes 28769.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit c90ec05175)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:17:55 -08:00
Daniel Nephin
46cfeaf8ef Allow hostname to be updated on service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 1c65cb6657)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:17:18 -08:00
erxian
d981bbc288 update secret command
Signed-off-by: erxian <evelynhsu21@gmail.com>
(cherry picked from commit d87c91e39f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:16:47 -08:00
Masayuki Morita
bc4219bd0c Fix broken markdown in CHANGELOG.md
Signed-off-by: Masayuki Morita <minamijoyo@gmail.com>
(cherry picked from commit 2ca39d27a6)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:16:13 -08:00
Daniel Nephin
f70e7f840b Better error message on stack deploy against not a swarm.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c72daf953a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:15:40 -08:00
John Howard
35a87689e4 Windows: Case insensitive env vars
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit b2049a84de)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:15:09 -08:00
erxian
07fa269eee update the secret command docs
Signed-off-by: erxian <evelynhsu21@gmail.com>
(cherry picked from commit c22821014a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:14:36 -08:00
Harald Albers
46b8a5fb57 Add bash completion for plugin API
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit ecb707cb0f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:13:56 -08:00
dattatrayakumbhar04
fcc38c048c 28600: Docs: network connect for container in Created/Stopped state
Signed-off-by: dattatrayakumbhar04 <dattatraya.kumbhar@gslab.com>
(cherry picked from commit 16c9cdad6f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:13:20 -08:00
John Howard
c75eeb4b7c COPY file . after WORKDIR (now always created)
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 286ab6d69b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-28 11:12:45 -08:00
Vincent Demeester
10d2d8aefd Update docker info cli reference documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit d28eaa1171)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-23 12:28:16 -08:00
Vincent Demeester
d4d4edec2e Update plugin enable cli reference documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 43297dd6f8)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-23 12:27:46 -08:00
Vincent Demeester
833f3b3cf0 Fixes some integration-cli on userns
Mainly adding requirements on Network or NotUserNamespace to make it pass.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit eb5fe064cf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-23 12:27:16 -08:00
Antonio Murdaca
bbfd3a518b daemon: remove not needed unmarshal
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 30b8712e93)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-23 12:27:11 -08:00
Harald Albers
3decd08d7a Move docker stack docs out of experimental
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit bb96e18b19)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-23 12:24:37 -08:00
Victor Vieux
1f9b3ef9e9 bump version to 1.13.0-rc2
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 21:23:23 -08:00
Victor Vieux
dba611d0f1 Merge pull request #28729 from aluzzardi/1.13.x-swarmkit-revendor-1109c363ce9d6400d42908ead944df4f7f788860
1.13.x: revendor swarmkit to 1109c363ce9d6400d42908ead944df4f7f788860
2016-11-22 20:34:10 -08:00
Andrea Luzzardi
2a80a863ca 1.13.x: revendor swarmkit to 1109c363ce9d6400d42908ead944df4f7f788860
Includes:
- https://github.com/docker/swarmkit/pull/1766
- https://github.com/docker/swarmkit/pull/1770

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-22 18:50:46 -08:00
Evan Hazlett
01807b785f update secret inspect to support IDs
This updates secret inspect to support inspect by ID in addition to name
as well as inspecting multiple secrets.  This also cleans up the
help text for consistency.

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
(cherry picked from commit 70d2cefd51)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 18:43:53 -08:00
yupeng
b82be871ab context.Context should be the first parameter of a function
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
(cherry picked from commit aff5dacec1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 18:43:29 -08:00
Darren Stahl
00fd466e00 Swap usage of LazyDLL and LoadDLL to LazySystemDLL.
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit 22c83c567f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 18:40:35 -08:00
John Howard
f9f8a94f42 Windows: Native autogen
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 64cc7677bf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 18:40:19 -08:00
Sebastiaan van Stijn
f531a8f06b Use official fedora 25 image
Fedora 25 was released today, and the official
image will be available soon.

This removes the temporary override, so that
we can build using the official image.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 545a2f009e)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 18:39:58 -08:00
Victor Vieux
44fe761b35 Merge pull request #28674 from vieux/1.13.0-rc2-cherrypicks
1.13.0-rc2 cherry-picks : part 3
2016-11-22 18:39:06 -08:00
cyli
38b0c93954 Update docs to reflect no longer displaying secret digest or size.
Signed-off-by: cyli <cyli@twistedmatrix.com>
(cherry picked from commit fe127b7eae)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:54:55 -08:00
cyli
aa6211e153 Do not display the digest or size of swarm secrets
Signed-off-by: cyli <cyli@twistedmatrix.com>
(cherry picked from commit 2c0613540a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:54:50 -08:00
Ben Firshman
fad605e8c5 Add documentation for working on Engine API
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 109c54c481)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:52:48 -08:00
Ben Firshman
8738566853 Update swagger.yaml with changes to API
Up to and including 673c5ee559

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 44c50807c6)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:52:40 -08:00
Ben Firshman
f67b380325 Add version information to swagger.yaml
- Tidied up copy
- API version is now mandatory
- Links to previous API versions

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit c97f67dbab)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:51:14 -08:00
Ben Firshman
520e601dc2 Rename Remote API to Engine API
Implementation of https://github.com/docker/docker/issues/28319

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit f0d55cd081)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:49:58 -08:00
Ben Firshman
2ac34851ec Move API reference to new location
See: https://github.com/docker/docker.github.io/pull/606

Also:
- Add missing redirects to API reference pages
- Remove v1.25 and 1.26, because they are being replaced with
  swagger generated docs.
- Remove all other docs which aren't reference material, because
  this can live in docker/docker.github.io

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
(cherry picked from commit 993854f58f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:48:38 -08:00
Jacob Tomlinson
a4aabe7286 Add concurrent uploads/downloads section
Document and link to the concurrent uploads/downloads daemon option.

Signed-off-by: Jacob Tomlinson <jacob@tom.linson.uk>
(cherry picked from commit b303381a4d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:20:19 -08:00
Sebastiaan van Stijn
e8b27e7dc7 add note that windows does not support managed plugins
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f885463b58)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:19:48 -08:00
Antonio Murdaca
54518a214d hack/dockerfile/binaries-commits: use full commit hash for docker info
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit fa15d5ed0f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:19:18 -08:00
yupeng
1053fdf27e error strings should not be capitalized or end with punctuation
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
(cherry picked from commit fc11efa2db)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:18:49 -08:00
Andrea Luzzardi
43e6479fd4 service logs: Support no-follow mode
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
(cherry picked from commit c2d435e4f0)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:18:09 -08:00
Darren Stahl
af08f44640 Revendor go-winio to v0.3.7
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit 873a26697d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:17:33 -08:00
Tibor Vass
faab09c1aa plugins: misc fixes
Rename variable to reflect manifest -> config renaming
Populate Description fields when computing privileges.
Refactor/reuse code from daemon/oci_linux.go

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 6547609870)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:39 -08:00
Tibor Vass
561f2b27cb plugins: support for devices
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 53b9b99e5c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:33 -08:00
Tibor Vass
63277b0aff vendor go-connections to error out if unix socket path is too long
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit e2e7ab655f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:24 -08:00
Tibor Vass
8f66c5e731 plugins: fix some tests
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit a08ffa0e93)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:16 -08:00
Tibor Vass
a275ca2093 plugins: support for host networking
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 99124c055a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:10 -08:00
Tibor Vass
c28c63472a plugins: linux capabilities and device creation
In the plugin manifest, Capabilities has been moved to
Linux.Capabilities to avoid confusion with Interface.Types[i].Capability

A DeviceCreation boolean has also been added to the manifest. This could
be changed in the future to be specific to a major number.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 9f239281b1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:16:04 -08:00
Tibor Vass
fb3c3d7eea plugins: do not try to contact disabled plugin
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 84e58e2f89)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:15:58 -08:00
Darren Stahl
40a56f29e2 Ensure vmcompute.dll exists during daemon start
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit 000366f1a7)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:15:19 -08:00
Brian Goff
9e35dea991 Use container Mounts API for Swarm containers.
Instead of converting nicely typed service mounts into untyped `Binds`
when creating containers, use the new `Mounts` API which is a 1-1
mapping between service mounts and container mounts.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 821aeb6a6f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 16:13:28 -08:00
Victor Vieux
a65a2936ac Merge pull request #28676 from aboch/1.13.x-local
[1.13.x] Vendor libnetwork, netlink and libkv
2016-11-22 12:07:05 -08:00
Harald Albers
24628fd7a0 Fix typo in docs (Copmose)
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 2e12055687)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:27:57 -08:00
Vincent Demeester
9302b0f59c Update aanand/compose-file to a3e58764f50597b6217fec07e9bff7225c4a1719
This fixes services networks list to be ignored when loading.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 01b70a95c9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:27:28 -08:00
Andrew Hsu
3168635120 skip solaris and allow dry run control points
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit f60541069c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:27:01 -08:00
Steve Durrheimer
f46b2fd604 Add zsh completion for 'docker image ls --filter reference'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 15134b8d36)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:26:33 -08:00
Steve Durrheimer
702b03b6fc Add zsh completion for 'dockerd --userland-proxy-path'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 97e1892922)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:26:03 -08:00
Tonis Tiigi
3f0aa9bceb Fix race on sending stdin close event
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 4e262f6387)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:25:33 -08:00
Kenfe-Mickael Laventure
3ab3f953d7 Add generate.sh for armhf deb Dockerfiles
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 3b3cf87478)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:25:01 -08:00
Kenfe-Mickael Laventure
bab6bf1d5e Add support for armhf ubuntu-yakkety deb
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit b118056241)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:24:55 -08:00
Darren Stahl
8ebbeda5a8 Update hcsshim
Signed-off-by: Darren Stahl <darst@microsoft.com>
(cherry picked from commit baac0ef67f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:24:21 -08:00
Reficul
ca51b2bf2c fix incorrect ErrConnectFailed comparison
Signed-off-by: Reficul <xuzhenglun@gmail.com>
(cherry picked from commit d5dc9b8b1f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:23:49 -08:00
Anusha Ragunathan
0403addc5f Add HTTP client timeout.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 83ca993c15)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:23:20 -08:00
allencloud
abc0eea899 update secret create url for consistency
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 86d7682843)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:22:39 -08:00
Brian Goff
b4c0b07d89 Handle run --rm against older daemons on the cli
For previous versions of Docker, `--rm` was handled client side, as such
there was no support in the daemon for it.
Now it is handled daemon side, but we still need to handle the case of a
newer client talking to an older daemon.

Falls back to client-side removal when the daemon does not support it.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit f4bb8c51de)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:22:08 -08:00
Harald Albers
2d5f5287c3 Add bash completion for docker build --network
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit d48e70843f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:21:36 -08:00
Felix Ruess
41b92e6f36 build debian package for armhf ubuntu-xenial
Signed-off-by: Felix Ruess <felix.ruess@gmail.com>
(cherry picked from commit 015e83a8da)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:21:10 -08:00
Qiang Huang
8079cc8147 Add make deb support for aarch64
Fixes: #27045

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
(cherry picked from commit a532ff8cc3)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-22 11:20:32 -08:00
Sebastiaan van Stijn
309662d03f Merge pull request #28680 from cyli/1.13.0-rc2-swarmkit-reendor
Include swarmkik dek rotation fixes in re-vendor
2016-11-22 10:50:33 +01:00
Andrew Hsu
e285a304db allow replacing httpredir or deb mirror in jessie
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit 060196ee4c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 17:29:22 -08:00
Harald Albers
6f03b32968 Add bash completion for docker images --filter reference
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e84d62f6cb)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 17:28:46 -08:00
Vincent Demeester
2fb6810841 Add documentation about templating support on…
… services creation/update.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 4571ad05db)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 17:28:06 -08:00
Sebastiaan van Stijn
7e2522ec9f Update service ps reference for "--no-trunc"
The "--no-trunc" option toggles between showing/hiding
digests.

This updates the reference to show this difference.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 90993640f0)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 17:26:38 -08:00
Daniel Nephin
95398c33cc Move docker stack out of experimental
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 6df5baf30f)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:47:24 -08:00
Brian Goff
fcb64b6e08 re-vendor syslog log driver
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 00caf03132)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:46:48 -08:00
allencloud
2ecc8cd4bd judge manager if locked before parsing key
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 89100c162b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:46:22 -08:00
Evan Hazlett
bdc378e781 lint fixes
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
(cherry picked from commit eb036ea4db)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:45:45 -08:00
Evan Hazlett
01aab8baa3 do not force target type for secret references
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

use secret store interface instead of embedded secret data into container

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
(cherry picked from commit bebd472e40)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:45:39 -08:00
Antonio Murdaca
0a5732d1cf api: types: keep info.SecurityOptions a string slice
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 514ca09426)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:45:05 -08:00
Aaron Lehmann
2737519f9a cli: Add valid suffixes for remaining duration options
A recent PR added `(ns|us|ms|s|m|h)` to the descriptions of some
duration options, but not all. Add it to the remaining options for
consistency.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 32b12a28fc)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 14:44:33 -08:00
Alessandro Boch
5c684ba099 Vendoring libkv @1d84310
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-11-21 14:15:33 -08:00
cyli
ba9726350d Include swarmkik dek rotation fixes in re-vendor
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-11-21 16:43:55 -05:00
Vincent Demeester
05eb544ae2 Do not panic if network is nil
network is `nil` if the following case:

```
services:
  foo:
    image: nginx
    networks:
      mynetwork:
```

It's a valid compose so we should not panic.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 158388ef8d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:24 -08:00
Vincent Demeester
040d4ebd58 Update cli reference for docker {,stack} deploy
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 88cdfc512b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:24 -08:00
Zhang Wei
db8991c957 Bugfix: set cli.manualOverride when env var not empty
If env var "DOCKER_API_VERSION" is specified by user, we'll set
`cli.manualOverride`, before this, this field is always true due to
wrong logic.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
(cherry picked from commit 4d54d30477)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:24 -08:00
zhukj
20f3c552e0 close the file
Signed-off-by: zhukj <zhu.kunjia@zte.com.cn>
(cherry picked from commit cf3ef262b1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:23 -08:00
Harald Albers
a20820b05c Add bash completion for dockerd --userland-proxy-path
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 0d573a62f7)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:23 -08:00
Derek McGowan
68e99239d3 Update deprecation notes about v1 registry
Adds section about the hub deprecating the v1 protocol.
Adds note about intent to disable by default and remove support.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit c8f826f407)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:23 -08:00
bbayani
a47957d6f6 Clarify that ipmasq rules are not added when iptables is false
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit db3f06fd97)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:23 -08:00
Nishant Totla
5b81d7e8b5 Suppressing digest for docker service ls/ps
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit e7d83fdb9a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:23 -08:00
Yanqiang Miao
4acf6aa456 The type of 'ExportdPorts' should be 'nat.PortSet'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit c44c542d95)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 13:23:16 -08:00
Tom Denham
c707468415 Update tests to handle bug fix from libnetwork
Signed-off-by: Tom Denham <tom@tomdee.co.uk>
2016-11-21 13:21:02 -08:00
Alessandro Boch
a6e1ed7a51 Vendoring libnetwork @dd0ddde
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-11-21 13:20:57 -08:00
Tom Denham
2c832d7d66 Update netlink library (required for libnetwork)
Signed-off-by: Tom Denham <tom@tomdee.co.uk>
2016-11-21 11:58:37 -08:00
Vincent Demeester
f44e2dca56 Update compose-file to bc280351b9589b05c6da031d9f93c5c5d22db922
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit b0903c9db0)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 11:48:27 -08:00
Vincent Demeester
c8e2552827 Add support for healthcheck in composefile v3
`docker stack deploy` now supports a composefile v3 format that have a
healthcheck.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 3bd64de7a9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 11:48:22 -08:00
Daniel Nephin
a0df810219 Default parallelism to 1.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 7c1b399235)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 11:48:16 -08:00
Boaz Shuster
c050ee1917 Return an empty stats if the container is restarting
In case, a container is restarting indefinitely running
"docker stats --no-stream <restarting_container>" is suspended.

To fix this, the daemon makes sure the container is either not
running or restarting if `--no-stream` is set to true and if so
returns an empty stats.

Should fix #27772.

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
(cherry picked from commit 786a95493d)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-21 11:45:57 -08:00
Vincent Demeester
cbff9474d2 Merge pull request #28604 from aluzzardi/1.13-swarmkit-revendor
1.13.x: Re-vendor swarmkit to a2080913b9cf2cac309845a28902896d65d3f527
2016-11-21 15:09:35 +01:00
Brian Goff
f7ae8204cb Merge pull request #28489 from vieux/1.13.0-rc2-cherrypicks
1.13.0-rc2 cherry-picks : part 2
2016-11-20 10:43:55 -05:00
Sean McIntyre
2d632c34ce Add HostConfig.Tmpfs to docs for container creation remote API
Signed-off-by: Sean McIntyre <s.mcintyre@xverba.ca>
(cherry picked from commit 2c38d43eb5)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:52:14 -08:00
Victor Vieux
4edaaeb671 fix a few golint errors
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit 9c559e6d0b)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:50:06 -08:00
Brian Goff
d63582c131 Allow graphdriver plugins to use v2
Currently the plugin initialization is too late for a loaded v2 plugin
to be usable as a graph driver.

This moves the initialization up before we create the graph driver.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 020b051dfb)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:49:03 -08:00
Victor Vieux
e773e0e654 error on cli when trying to use experimental feature with non experimental daemon
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit 98bb08fe38)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:48:19 -08:00
yupeng
fe8e347741 Fix the typo
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
(cherry picked from commit 9551dd03cf)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:47:44 -08:00
Andrea Luzzardi
0d94260458 router: Return explicit error rather than 404 for experimental.
Instead of not adding experimental routes at all, fail with an explicit
message if the daemon is not running in experimental mode.

Added the `router.Experimental` which does this automatically.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
(cherry picked from commit 3976a33c1a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:47:12 -08:00
Vincent Demeester
cdfde9ecc1 Use Container.Config.Shell instead of hardcoded…
… for healthcheck. It make the code a little cleaner and more
future/usage proof.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 5f81cf11f6)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-19 23:45:58 -08:00
Victor Vieux
8e21480106 skip api/types/container/ (like golint) and fix one pkg
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit 79a891efb7)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 18:41:43 -08:00
Victor Vieux
fd75cc462f fix gofmt in master
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit 9f348d5625)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 15:22:42 -08:00
Sebastiaan van Stijn
c4fd597ab3 swap position of "host" and "ip"
the service definition uses the format as defined
in  http://man7.org/linux/man-pages/man5/hosts.5.html
(IP_address canonical_hostname [aliases...])

This format is the _reverse_ of the format used in
the container API.

Commit f32869d956
inadvertently used the incorrect order.

This fixes the order, and correctly sets it to;

    IP-Address hostname

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f1b9df9172)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 15:15:51 -08:00
Kenfe-Mickael Laventure
47ccfcc09f Update containerd & runc
containerd: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc: 51371867a01c467f08af739783b8beafc15

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 8b1aeb22fe)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 15:15:19 -08:00
Yong Tang
e3c24caf7a Fix several issues with go vet and go fmt
For some reason, `go vet` and `go fmt` validate does not capture
several issues.

The following was the output of `go vet`:
```
ubuntu@ubuntu:~/docker$ go vet ./... 2>&1 | grep -v ^vendor | grep -v '^exit status 1$'
cli/command/formatter/container_test.go:393: possible formatting directive in Log call
volume/volume_test.go:257: arg mp.RW for printf verb %s of wrong type: bool
```

The following was the output of `go fmt -s`:
```
ubuntu@ubuntu:~/docker$ gofmt -s -l . | grep -v ^vendor
cli/command/stack/list.go
daemon/commit.go
```

Fixed above issues with `go vet` and `go fmt -s`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit ace786e9d5)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 15:14:49 -08:00
Aaron Lehmann
d4392659f7 Return warnings from service create and service update when digest pinning fails
Modify the service update and create APIs to return optional warning
messages as part of the response. Populate these messages with an
informative reason when digest resolution fails.

This is a small API change, but significantly improves the UX. The user
can now get immediate feedback when they've specified a nonexistent
image or unreachable registry.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 948e60691e)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:57:11 -08:00
He Xin
649445a206 fix bugs 'fatal error: concurrent map read and map write' to change VolumeStore.globalLock type from Mutex to RWMutex, and add globalLock.RLock() for the read of names, refs, labels and options in VolumeStore
Signed-off-by: He Xin <he_xinworld@126.com>
(cherry picked from commit 19bd1cee23)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:54:40 -08:00
Yanqiang Miao
df8a5e48de Fix a comment error
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
(cherry picked from commit 19e2c9177a)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:54:23 -08:00
Michael Crosby
c0ea2c8498 Fix cfs period calculation
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit aff99136b4)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:45:58 -08:00
Stephen J Day
ce22bc39dc api/server/httputils: service unavailable for disable swarm
When swarm-mode is disabled, we need to return an error indicating this.
406 was chosen for the "Not Acceptable" verbiage, but this code has
specific semantics in relation to the `Accept` header, which aren't
applicable here.

We now use a 503 for this case. While it is not a perfect match, it does
make it clear that the particular "service" (read: API endpoint) is not
available. The body of the message provides the user with enough
information to take action on it by enabling swarm-mode and ensuring the
service is available.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
(cherry picked from commit 1d90d76048)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:44:36 -08:00
Yong Tang
3e9dd55695 Use map[string]bool for preProcessor to ignore unknwon field
This fix is an attempt to address the issue raised in 28339. In
`docker ps`, the formatter needs to expose all fields of `types.Container`
to `preProcessor` so that template could be executed.

This direct exposing is unreliable and could cause issues as user may incorrectly
assume all fields in `types.Container` will be available for templating.

However, the purpose of `preProcessor` is to only find out if `.Size`
is defined (so that opts.size could be set accordingly).

This fix defines `preProcessor` as `map[string]bool` with a func `Size()`.
In this way, any unknown fields will be ignored.

This fix adds several test cases to the existing `TestBuildContainerListOptions`.

This fix fixes 28339.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit 312cc7eebd)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:42:21 -08:00
Boaz Shuster
19d2e68fb8 Change the docker-tag usage text to be clearer
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
(cherry picked from commit 039aca05c2)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:41:48 -08:00
John Howard
530b7cb4a0 Windows: Allow user in builder
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit a3c4ab9b65)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:41:13 -08:00
Nishant Totla
902774c871 Refactoring code for pinning image by digest
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit dc1b6341b9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:40:13 -08:00
Nishant Totla
1af49192e4 Updating docker/distribution vendoring
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit d910781c66)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:40:06 -08:00
Andrea Luzzardi
0be7359265 1.13.x: Re-vendor swarmkit to a2080913b9cf2cac309845a28902896d65d3f527
Includes:
- https://github.com/docker/swarmkit/pull/1749
- https://github.com/docker/swarmkit/pull/1753
- https://github.com/docker/swarmkit/pull/1760
- https://github.com/docker/swarmkit/pull/1762
- https://github.com/docker/swarmkit/pull/1764
- https://github.com/docker/swarmkit/pull/1765

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-18 13:39:53 -08:00
Yong Tang
e013d7c543 Fix error messages for --cpus from daemon
This fix fixes error messages for `--cpus` from daemon.

When `docker run` takes `--cpus`, it will translate into NanoCPUs
and pass the value to daemon. The `NanoCPU` is not visible to the user.
The error message generated from daemon used 'NanoCPU' which may cause
some confusion to the user.

This fix fixes this issue by returning the error in CPUs instead.

This fix fixes 28456.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit d22ac2f3a0)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:38:21 -08:00
Tonis Tiigi
5e7e260bac Fix deadlock on cancelling healthcheck
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 89b1234737)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:37:44 -08:00
Vincent Demeester
20dd2d1e4e Update images cli reference with reference filter
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit a0d7b34d9c)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:37:07 -08:00
John Howard
3d43caf6f6 Windows: Revert 27884
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 7e03ce3f13)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:36:37 -08:00
Anusha Ragunathan
3f6e6b3f2d Cleanup after plugin install.
During error cases, we dont cleanup correctly. This commit takes care
of removing the plugin, if there are errors after the pull passed. It
also shuts down the plugin, if there are errors after the plugin in the
enable path.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 1144f8f1d4)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:36:09 -08:00
Aaron Lehmann
48c2da3cd5 api: Remove omitempty tag on Parallelism
It doesn't make sense to use omitempty here. 0 is a meaningful value and
it's different from the default. If someone sets Parallelism to 0, we
want to show that Parallelism is 0, not hide the field.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit d8b8b12994)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:35:33 -08:00
Yong Tang
7ef4feaf38 Fix crash caused by docker service inspect --pretty
This fix tries to fix the crash caused by `docker service inspect --pretty`,
by performing necessary nil pointer check.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit b6857e91c1)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:34:35 -08:00
Stephen J Day
8b9b8bd930 api/server/httputils: ensure consistent status code
Error code resolution is powered by string matching. Not the greatest
thing in the world and I hope no one is proud of this code, but it
works. However, because a map is used, the iteration order of the map is
random, such that if an error matches two of the snippets, it may return
a different error code depending on the seed of the hashmap. This change
converts it to use a slice instead.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
(cherry picked from commit 3484e02590)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:34:05 -08:00
allencloud
cd587419d0 judge manager before unlocking
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 972a246c67)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:33:07 -08:00
Brian Goff
10ce88227d Reduce spew data dumped
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 4130eb24e9)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:32:26 -08:00
Tom Wilkie
9f3c9209d0 s/bCap/bLen/
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
(cherry picked from commit 3a05545851)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:31:39 -08:00
Tom Wilkie
f02e4e1900 Fix use of cap in MultiReadSeeker
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
(cherry picked from commit 158bb9bbd5)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:31:33 -08:00
Victor Vieux
411e0bdc8e refactor help func in CLI
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
(cherry picked from commit bf95472105)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:30:44 -08:00
Vincent Demeester
51dc584445 Update Tini to fix photon build-rpm compilation errors
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-18 13:29:20 -08:00
Akshay Karle
78fe91c31c fix a typo
Signed-off-by: Akshay Karle <akshay.a.karle@gmail.com>
2016-11-18 13:28:11 -08:00
allencloud
0b8f8876b9 fix typo
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 1f039a66ac)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:27:01 -08:00
Justin Cormack
c125c131d7 Fix check config script on 4.8 kernels
DEVPTS_MULTIPLE_INSTANCES is no longer an option, it is always set, so
do not check for this post 4.8.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit 228ee16df3)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:26:03 -08:00
Felipe Oliveira
0a9521d321 fix infinite recursion
Signed-off-by: Felipe Oliveira <felipeweb.programador@gmail.com>
(cherry picked from commit 271b1f2756)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-18 13:25:29 -08:00
Aaron Lehmann
88a45c4a1b Merge pull request #28525 from aluzzardi/swarmkit-revendor
1.13.x: Re-vendor SwarmKit to 577d6bf89a474d3f459804efc5f160ba9fff2b5d
2016-11-17 11:08:33 -08:00
Sebastiaan van Stijn
22f0055e18 Merge pull request #28433 from thaJeztah/docker-1.13-changelog-updates
Docker 1.13 changelog updates
2016-11-17 10:01:50 +01:00
Andrea Luzzardi
73bf1ec999 1.13.x: Re-vendor SwarmKit to 577d6bf89a474d3f459804efc5f160ba9fff2b5d
Includes https://github.com/docker/swarmkit/pull/1746

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-16 18:10:07 -08:00
Tonis Tiigi
0269ac0494 Skip cli initialization for daemon command
Cli initialization pings back to remote API and
creates a deadlock if socket is already being
listened by systemd.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-16 17:10:48 -08:00
Victor Vieux
f2eeaed8a3 explicitly show plugins as unsupported on !linux
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2016-11-16 17:10:40 -08:00
Noah Treuhaft
43f1682cef Disable v1 protocol for the default registry
All images in the default registry (AKA docker.io, index.docker.io, and
registry-1.docker.io) are available via the v2 protocol, so there's no
reason to use the v1 protocol.  Disabling it prevents useless fallbacks.

Signed-off-by: Noah Treuhaft <noah.treuhaft@docker.com>
2016-11-16 17:10:33 -08:00
Riyaz Faizullabhoy
94c4cfc209 Edits to plugin docs after building authz plugin
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-11-16 17:10:24 -08:00
Sebastiaan van Stijn
dc71b1425e Changelog updates
This adds some missing entries to the changelog,
and some smal fixes / inconsistencies.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-17 01:42:56 +01:00
Vincent Demeester
a51fe6b056 Update stats cli reference documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-16 11:11:52 -08:00
Steve Durrheimer
1841986d17 Add zsh completion for 'docker system df'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-16 11:11:45 -08:00
Yanqiang Miao
0d815d9bb7 Remove redundant 'if' statement
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-11-16 11:11:39 -08:00
Brian Goff
3b93497fdb Don't validate platform-dep tmpfs opts on client
Daemon still does validation and errors out on incorrect options.

Fixes an issue where non-Linux clients attempting to pass tmpfs options
on `docker run` to a Linux daemon will incorrectly error out.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-16 11:11:32 -08:00
Victor Vieux
44bb0bb7f2 update tini to a87614212b3a51a9cad57ff7989103a841546745
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-16 11:11:22 -08:00
Yong Tang
896e4f2d75 Fix missing versions in example requests of api docs
It is not required to have version prefix for all the remote
APIs. Though there are still quite a few example requests
in api docs that does not have the version prefix.

This fix update the remote api docs to address this issue.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-16 11:07:38 -08:00
Yong Tang
7154093e59 Update docs for docker info for most recent changes.
This fix updates docs for `docker info` for most recent changes.
It also made several chagnes:
1. Replace 0.12.0-dev to 0.13.0 for api docs v1.24.
2. Replace 0.13.0-dev to 0.13.0 for api docs v1.25

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-16 11:06:12 -08:00
John Howard
dbf1900e8c Windows: Use sequential file access
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-16 11:05:23 -08:00
allencloud
d1b1dea80f allow node update api receive node name and id prefix
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-16 10:59:21 -08:00
Victor Vieux
2dfa08bc50 Merge pull request #28408 from vieux/1.13.0-rc2-cherrypicks
1.13.0 rc2 cherrypicks
2016-11-16 10:50:34 -08:00
Tõnis Tiigi
f5afe63eb6 Merge pull request #28463 from aluzzardi/swarmkit-revendor
1.13.x: Revendor swarmkit to 3076318ec0327e22c837c2bfdfacea08124dc755
2016-11-15 21:41:12 -08:00
Andrea Luzzardi
7a457451f6 Revendor swarmkit to 3076318ec0327e22c837c2bfdfacea08124dc755
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-15 19:04:09 -08:00
Sebastiaan van Stijn
5c69e4fa94 Revert reference docs for ambient capabilities
This feature was reverted for docker 1.13
in c5251f7116,
so removing the documentation as well.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-15 13:59:39 -08:00
Jonathan Boulle
c102ab8711 man/docker: wrap lines consistently
Quite a few changes, as it seems like previous wrapping was done
manually, so it's all over the place.

As noted in #28424

Signed-off-by: Jonathan Boulle <jonathanboulle@gmail.com>
2016-11-15 13:58:43 -08:00
Jonathan Boulle
44b5bcd744 man page: consistent indents for flag descriptions
Signed-off-by: Jonathan Boulle <jonathanboulle@gmail.com>
2016-11-15 13:57:57 -08:00
yuexiao-wang
0f254ab8b9 Remove inexistent link and add related links
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-15 13:57:10 -08:00
bbayani
4d850bd49a Updated daemon documentation to clarify that live-restore is not suppoted on windows
Review comment implementation

Signed-off-by: bbayani <bhumikabayani@gmail.com>
2016-11-15 13:55:14 -08:00
John Howard
7346a6aebd Gitignore dockerversion\version_autogen_unix.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-14 17:32:44 -08:00
Anusha Ragunathan
846b198dd7 Perform graceful shutdown during plugin disable.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-11-14 17:31:00 -08:00
Steve Durrheimer
6c3744f4fc Add zsh completion for 'docker image build --network'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 17:04:08 -08:00
lixiaobing10051267
6e10c4c8b2 fix the wrong title with docker swarm
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-14 17:02:42 -08:00
Brian Goff
a9bbf92b3f Fix issue with missing fields for ps template
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-14 14:25:27 -08:00
Muayyad Alsadi
02c7b6ffad remove "starting with /"
Signed-off-by: Muayyad Alsadi <alsadi@gmail.com>
2016-11-14 14:22:24 -08:00
Muayyad Alsadi
d3ae1d7bd6 fixes #17734, clear message for host volumes not starting with /
Signed-off-by: Muayyad Alsadi <alsadi@gmail.com>
2016-11-14 14:22:22 -08:00
Steve Durrheimer
b1c96a73a3 Add zsh completion for 'docker service {create,update} --secret'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 14:18:12 -08:00
Steve Durrheimer
d114b7dc48 Add zsh completion for the new 'docker secret' command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 14:17:36 -08:00
Steve Durrheimer
fd04a2db51 Add zsh completion for 'docker service' DNS settings
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 14:16:57 -08:00
Yong Tang
2c61e9c3bd Fix a small typo in docs/deprecated.md
A small typo in `docs/deprecated.md`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-14 14:16:19 -08:00
Yong Tang
9ed0bb2d0a Update bash completion dns-options-add/rm -> dns-option-add/rm
In 28186, `dns-options-add/rm` has been changed to `dns-option-add/rm`
in `docker service create/update`, for the purpose of consistency.

This fix updates bash completion to remove extra `s`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-14 14:15:31 -08:00
Harald Albers
ba5d2331d5 Add bash completion for DNS settings in services
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-14 14:14:52 -08:00
Harald Albers
6ec7c7a89c Add bash completion for docker service ps --all
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-14 14:13:10 -08:00
Steve Durrheimer
a2575eb741 Add zsh completion for 'docker service {create --port, update --port-{add,rm}}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 14:12:08 -08:00
Harald Albers
4b003634bc Fix bash completion for docker ps --filter is-task
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-14 14:11:27 -08:00
Steve Durrheimer
580343247e Add zsh completion for 'docker image build --cache-from'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-14 14:10:44 -08:00
Harald Albers
261958bfa8 Add bash completion for managing ports in services
Bash completion for

- `docker service create --port`
- `docker service update --port-{add,rm}`

Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-14 14:10:03 -08:00
Harald Albers
2da971cf06 Add bash completion for docker build --cache-from
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-14 14:09:02 -08:00
Brian Goff
285915755c Move StreamConfig out of runconfig
`StreamConfig` carries with it a dep on libcontainerd, which is used by
other projects, but libcontainerd doesn't compile on all platforms, so
move it to `github.com/docker/docker/container/stream`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-14 14:03:05 -08:00
allencloud
9798cdd632 fix typo in node update docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-14 13:30:51 -08:00
yuexiao-wang
5060ff0d8d Remove duplicated document
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-14 13:29:51 -08:00
John Howard
4bfd3643da Extra v1.25 in API docs
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-14 12:00:24 -08:00
Alexander Morozov
f3d628129e dockerversion: add other binaries to _lib.go
Otherwise it's impossible to build without autogen tag

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-11-14 11:59:08 -08:00
Shayne Wang
19c16fd95e Change reading order of tailfile
change reading order from beginning at the end to beginning at a buffer start
added intergration tests for boundary cases
Removed whitespace
Signed-off-by: Shayne Wang <shaynexwang@gmail.com>
2016-11-14 11:58:01 -08:00
allencloud
89c4410799 judge manager before getting secret
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-14 11:54:29 -08:00
Kenfe-Mickael Laventure
70e7fcc595 Remove extra binaries commit variables from windows build
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-11-14 11:52:45 -08:00
Kenfe-Mickael Laventure
03c8f0cda1 Fix version detection for docker-init
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-11-14 11:52:39 -08:00
Tonis Tiigi
22c09cf902 Skip plugin tests if not in amd64
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-14 11:50:20 -08:00
Evan Hazlett
8ac6b97189 only check secrets for service create if requested
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-14 11:48:48 -08:00
Anusha Ragunathan
a7a8fa0e6b Add docs for plugin push
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-11-14 11:34:28 -08:00
John Stephens
16d4e6395e Show experimental flags and subcommands if enabled
Signed-off-by: John Stephens <johnstep@docker.com>
2016-11-14 11:34:17 -08:00
Victor Vieux
75fd88ba89 bump version to 1.13.0-rc1
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-11 02:27:33 -08:00
Victor Vieux
3c5e09f5e9 Merge pull request #28275 from vieux/1.13.0_changelog
add 1.13.0 CHANGELOG.md
2016-11-11 09:57:45 -08:00
Victor Vieux
6f3720ca9e Merge pull request #28042 from yongtang/28018-docker-info-swarm-managers
Add information for `Manager Addresses` in the output of `docker info`
2016-11-11 09:30:01 -08:00
Victor Vieux
2712bb26e3 Merge pull request #28274 from Microsoft/jjh/acl
Windows: create daemon root with ACL
2016-11-11 09:20:32 -08:00
Antonio Murdaca
0dfeeac206 Merge pull request #28307 from albers/completion-dockerd--seccomp-profile
Add bash completion for `docker daemon --seccomp-profile`
2016-11-11 17:42:11 +01:00
Tõnis Tiigi
d06b1e2cc2 Merge pull request #28285 from vieux/try_arm_fix_libnetwor
update libnetwork to fix ARM tests
2016-11-11 08:32:29 -08:00
Brian Goff
de325535d4 Merge pull request #27872 from vdemeester/images-filter-filters
Add reference filter and deprecated filter param…
2016-11-11 11:24:19 -05:00
Sebastiaan van Stijn
e8469c0e63 Merge pull request #28297 from vdemeester/compose-swarm-openstdin
Add support for stdin_open in compose to swarm
2016-11-11 17:09:04 +01:00
Brian Goff
e0280c568a Merge pull request #28299 from vdemeester/compose-swarm-extra_hosts
Add support for extra_hosts in compose to swarm
2016-11-11 10:54:53 -05:00
Yong Tang
828bd441eb Add information for Manager Addresses in the output of docker info
As is specified in 28018, it would be useful to know the manager's addresses
even in a worker node. This is especially useful when there are many
worker nodes in a big cluster.

The information is available in `info.Swarm.RemoteManagers`.

This fix add the information of `Manager Addresses` to the output
of `docker info`, to explicitly show it.

A test has been added for this fix.

This fix fixes 28018.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-11 07:35:32 -08:00
Harald Albers
98a2071696 Add bash completion for docker daemon --seccomp-profile
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-11 16:12:17 +01:00
Vincent Demeester
820b809e70 Add reference filter and deprecated filter param…
… for `docker images`.

This deprecates the `filter` param for the `/images` endpoint and make a
new filter called `reference` to replace it. It does change the CLI
side (still possible to do `docker images busybox:musl`) but changes the
cli code to use the filter instead (so that `docker images --filter
busybox:musl` and `docker images busybox:musl` act the same).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 15:34:01 +01:00
Vincent Demeester
f32869d956 Add support for extra_hosts in composefile v3
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 15:20:02 +01:00
Vincent Demeester
84450b72cd Add support for stdin_open in composefile v3
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 15:19:00 +01:00
Vincent Demeester
bc739a8d70 Update swarmkit to efd44df04cc0fd828de5947263858c3a5a2729b1
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 15:18:34 +01:00
Brian Goff
0bb6bac793 Merge pull request #28298 from vdemeester/compose-swarm-tty
Add support for tty in compose to swarm
2016-11-11 09:06:09 -05:00
Vincent Demeester
58c0406076 Merge pull request #28293 from AkihiroSuda/update-deprecate-md
[doc] Update docs/deprecated.md for 1.13
2016-11-11 13:48:14 +01:00
Vincent Demeester
de15de6b4d Add support for tty in composefile v3
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 11:27:21 +01:00
Vincent Demeester
f3dcae7dd3 Update compose-file to 8cff34df885ef07824138236bc4d27d359888b17
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-11 11:25:57 +01:00
Victor Vieux
433bb52521 add 1.13.0 CHANGELOG.md
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-11 02:08:55 -08:00
Akihiro Suda
6694974c9e Update docs/deprecated.md for 1.13
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-11-11 09:26:01 +00:00
Victor Vieux
84264e9461 fix ARM unsafe access
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 23:55:38 -08:00
Victor Vieux
90d10203a4 Merge pull request #28128 from leth/commit_image_id
Add Image ID to container commit event
2016-11-10 23:14:46 -08:00
Evan Hazlett
45585ab7a5 Merge pull request #28266 from tonistiigi/fix-service-update-test
Fix flaky TestServiceUpdateSecrets
2016-11-11 01:17:29 -05:00
Victor Vieux
e68003142f Merge pull request #28278 from yuexiao-wang/stack-deploy
Add --with-registry-auth for stack deploy
2016-11-10 21:28:40 -08:00
Victor Vieux
0427afa409 Merge pull request #27955 from mlaventure/runc-docker-info
Add external binaries version to docker info
2016-11-10 21:27:14 -08:00
Tõnis Tiigi
48a0c3e831 Merge pull request #28235 from dmcgowan/fix-registry-authorization-errors
Fix registry authorization errors
2016-11-10 19:39:28 -08:00
Tõnis Tiigi
a5da9f5cc9 Merge pull request #27917 from mrjana/ports
Add support for host port PublishMode in services
2016-11-10 19:38:54 -08:00
Tõnis Tiigi
1229105582 Merge pull request #28265 from aaronlehmann/dont-repull-digest
executor: Don't repull image if pinned by digest
2016-11-10 19:19:31 -08:00
yuexiao-wang
8e04bc5572 Add --with-registry-auth for stack deploy
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-11 11:01:31 +08:00
Victor Vieux
82130b725d Merge pull request #28277 from datawolf/small-fix
Use '.' directly
2016-11-10 19:00:21 -08:00
Victor Vieux
4453fd22a7 Merge pull request #28217 from Microsoft/jjh/373engineapifollowup
Tidy GetDockerOS() function
2016-11-10 18:57:56 -08:00
Wang Long
2b7f7e9aff Use '.' directly
Signed-off-by: Wang Long <long.wanglong@huawei.com>
2016-11-11 10:22:32 +08:00
Brian Goff
bd78374618 Merge pull request #28276 from lixiaobing10051267/masterSwarmRouter
rectify type defination for swarmRouter
2016-11-10 21:16:31 -05:00
lixiaobing10051267
ac5d86a672 rectify type defination for swarmRouter
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-11 10:45:48 +08:00
Jana Radhakrishnan
14ac9f60d0 Add support for host port PublishMode in services
Add api/cli support for adding host port PublishMode in services.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-11-10 18:07:55 -08:00
Victor Vieux
750d634d62 Merge pull request #27998 from dnephin/compose-on-swarm
Support `docker stack deploy` from a Compose file
2016-11-10 17:59:57 -08:00
Lei Jitang
891e03eb7d Merge pull request #28231 from yuexiao-wang/container-exec
Remove redundant parameter and fix typos
2016-11-11 09:55:42 +08:00
John Howard
46ec4c1ae2 Windows: create daemon root with ACL
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-10 17:51:28 -08:00
Derek McGowan
19a93a6e3d Update pull error handling
Translate pull errors to provide a more consistent and user friendly
error message.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-10 17:34:12 -08:00
Derek McGowan
c85eb00841 Update for distribution vendor
Handle updates to reference package.
Updates for refactoring of challenge manager.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-10 17:34:12 -08:00
Derek McGowan
60ecc132c5 Update distribution vendor
Pull in client changes to handle oauth errors

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-10 17:34:12 -08:00
Victor Vieux
acd6e0d9b2 Merge pull request #28226 from vieux/exit_exp_plugin
move plugins out of experimental
2016-11-10 17:30:54 -08:00
Tõnis Tiigi
d54f4472fd Merge pull request #28229 from darrenstahlmsft/FixUnexpectedResult
Fix failure to get containers when deleting a layer
2016-11-10 17:10:05 -08:00
Tõnis Tiigi
7aeacd35f2 Merge pull request #28238 from ijc25/jsonmessage-urxvt-corruption
pkg/jsonmessage: Avoid undefined ANSI escape codes.
2016-11-10 17:07:01 -08:00
Victor Vieux
bed96ce922 Merge pull request #28031 from yongtang/27902-extra-hosts
Add flag `--host` to `service create` and `--host-add/rm` to `service update`
2016-11-10 16:55:29 -08:00
Victor Vieux
813f86697f Merge pull request #28271 from andrewhsu/fix-opensuse
replace vim-common with vim for opensuse
2016-11-10 16:52:30 -08:00
John Howard
29b7a73792 Merge pull request #28268 from Microsoft/jjh/clientcheck
Windows: Additional client check
2016-11-10 16:11:44 -08:00
Victor Vieux
970b23db2e update media_type
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 15:51:32 -08:00
Victor Vieux
c410222e42 move plugins out of experimental
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 15:51:32 -08:00
John Howard
1e592349f1 Merge pull request #28228 from tonistiigi/swarm-cert-expired
Start daemon if certificates have been expired
2016-11-10 15:50:36 -08:00
Andrew Hsu
5764171fe7 replace vim-common with vim for opensuse
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2016-11-10 15:50:29 -08:00
Aaron Lehmann
5d1feb561f Merge pull request #28221 from aboch/ala
Add local address autodetection on swarm init
2016-11-10 15:45:59 -08:00
Vincent Demeester
f3f9b3dac9 Merge pull request #28264 from dmcgowan/fix-overlay2-naivediff-unittest
Skip overlay2 diff tests when using naivediff
2016-11-11 00:24:06 +01:00
Andrea Luzzardi
5f9fe54b35 Merge pull request #28089 from aluzzardi/service-logs
service logs
2016-11-10 15:13:41 -08:00
Aaron Lehmann
f69e5c18ac executor: Don't repull image if pinned by digest
If the image reference in the spec uses a digest, and an image with that
digest already exists locally, avoid an unnecessary repull.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-10 14:45:54 -08:00
John Howard
6b4ad8d6f5 Windows: Additional client check
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-10 14:35:19 -08:00
Vincent Demeester
f87e6eb830 Merge pull request #28261 from Microsoft/jjh/dockerfile
Windows: Dockerfile Win 10 client note
2016-11-10 23:28:03 +01:00
Tonis Tiigi
439de7694d Start daemon if certificates have been expired
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-10 14:11:53 -08:00
Darren Stahl
d4095a5902 Fix failure to get containers when deleting a layer
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-10 14:07:11 -08:00
Darren Stahl
d0e1949d22 Vendor update hcsshim to v0.5.8
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-10 14:06:57 -08:00
Victor Vieux
f700a86dc0 Merge pull request #28257 from sanimej/iptables
vendor libnetwork @1861587
2016-11-10 14:01:02 -08:00
Victor Vieux
0151fb7618 Merge pull request #28253 from aaronlehmann/arg-descriptions
cli: Change autolock flag description
2016-11-10 13:59:46 -08:00
Tonis Tiigi
fc21fcc90e Fix flaky TestServiceUpdateSecrets
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-10 13:59:28 -08:00
Victor Vieux
f1f3c4cc87 Merge pull request #28222 from thaJeztah/add-fedora-25
Add Fedora 25 RPMs
2016-11-10 13:57:41 -08:00
Derek McGowan
5a1b557281 Skip overlay2 diff tests when using naivediff
Naivediff fails when layers are created directly on top of
each other. Other graphdrivers which use naivediff already
skip these tests. Until naivediff is fixed, skip with overlay2
when running tests on a kernel which causes naivediff fallback.
Fix applydiff to never use the naivediff size when not applying
changes with naivediff.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-10 13:52:22 -08:00
Kenfe-Mickaël Laventure
f3864bcd34 Merge pull request #27116 from cpuguy83/22564_fix_volume_unmount
Fix uneccessary calls to `volume.Unmount()`
2016-11-10 13:48:44 -08:00
Victor Vieux
a81385b0cb Merge pull request #28192 from allencloud/fix-docs-issue-on-service-ls-api
change node ls and service ls api and docs
2016-11-10 13:46:35 -08:00
Andrea Luzzardi
97e4bff6b2 service logs reference documentation
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-10 13:46:03 -08:00
Andrea Luzzardi
c7995fdc77 cli: docker service logs support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-10 13:46:02 -08:00
Andrea Luzzardi
819d0159bb api: Service Logs support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-10 13:46:02 -08:00
Alessandro Boch
c8d0cb9e71 Add local address autodetection on swarm init
- when advertise-addr is not local and listen-addr is
  not specified

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-11-10 13:45:32 -08:00
Aaron Lehmann
2161f35672 Merge pull request #28251 from cyli/re-vendor-swarmkit
Vendor the latest swarmkit
2016-11-10 13:28:31 -08:00
Michael Crosby
801230ce31 Merge pull request #27797 from vdemeester/stats-format-names-support
Add support for Names and ID in stats format
2016-11-10 13:26:00 -08:00
Victor Vieux
fa7c1a68a6 Merge pull request #28043 from vieux/plugin_set_gogogo_continue
support mounts,devices and args for docker plugin set
2016-11-10 13:24:02 -08:00
Daniel Nephin
dfd1227906 Implement ipamconfig.subnet and be more explicit about restart policy always.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 16:22:31 -05:00
Michael Crosby
1883b73a57 Merge pull request #27753 from tonistiigi/fix-overlay-unmount
Fix overlay unmount for the root case
2016-11-10 13:14:45 -08:00
Sebastiaan van Stijn
b24a833f81 Merge pull request #28259 from sdurrheimer/zsh-completion-node-rm-swarm-leave-force
Add zsh completion for 'docker {node rm,swarm leave} -f'
2016-11-10 21:52:18 +01:00
Sebastiaan van Stijn
93591faeb5 Merge pull request #28255 from sdurrheimer/zsh-completion-dockerd-seccomp-profile
Add zsh completion for 'docker daemon --seccomp-profile'
2016-11-10 21:51:29 +01:00
Sebastiaan van Stijn
8aa04807ad Merge pull request #28256 from sdurrheimer/zsh-completion-service-create-update-tty
Add zsh completion for 'docker service {create,update} --tty'
2016-11-10 21:50:29 +01:00
Sebastiaan van Stijn
c51b16f0e4 Merge pull request #28252 from sdurrheimer/zsh-completion-service-create-hostname
Add zsh completion for 'docker service create --hostname'
2016-11-10 21:49:02 +01:00
John Howard
f6ecfd620a Windows: Dockerfile Win 10 client note
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-10 12:45:56 -08:00
Steve Durrheimer
04e7fca620 Add zsh completion for 'docker {node rm,swarm leave} -f'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 21:31:34 +01:00
Steve Durrheimer
a34a41b20b Add zsh completion for 'docker service {create,update} --tty'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 21:25:24 +01:00
Steve Durrheimer
0f324a5b15 Add zsh completion for 'docker daemon --seccomp-profile'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 21:21:25 +01:00
Brian Goff
a851cad25c Merge pull request #28254 from sdurrheimer/zsh-completion-container-create-run-cpus
Add zsh completion for 'docker {run,create} --cpus'
2016-11-10 15:16:19 -05:00
Victor Vieux
47dd8c7cc6 Merge pull request #28250 from sdurrheimer/zsh-completion-prune
Add zsh completion for new prune commands
2016-11-10 12:11:26 -08:00
Steve Durrheimer
9b02c87f7b Add zsh completion for 'docker {run,create} --cpus'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 21:10:22 +01:00
Aaron Lehmann
41b84e0994 cli: Change autolock flag description
This change incorporates feedback from @thaJeztah in the PR that added
the autolock flag. It changes the descriptions to be different for
"swarm init" and "swarm update" so that the boolean nature so that the
purpose of the flag in both contexts is clearer.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-10 12:05:19 -08:00
Santhosh Manohar
90bc2756ed vendor libnetwork @1861587
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-11-10 12:04:28 -08:00
Andrea Luzzardi
0ec6865713 cluster executor: Logs retrieving support.
Plumbed the executor to the container logs backend.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-10 12:02:47 -08:00
Steve Durrheimer
ca654a417a Add zsh completion for 'docker service create --hostname'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 21:00:17 +01:00
Victor Vieux
aef1dec9a6 update swagger and docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 11:58:15 -08:00
Victor Vieux
fc7a265258 support mounts, devices and args for docker plugin set
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 11:55:48 -08:00
cyli
b399d29a57 Vendor the latest swarmkit PR
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-11-10 11:53:02 -08:00
Steve Durrheimer
712445607d Add zsh completion for new prune commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 20:51:44 +01:00
Sebastiaan van Stijn
a2937b2013 Merge pull request #28223 from bfirsh/update-swagger
Update swagger.yaml with recent API changes
2016-11-10 20:49:55 +01:00
cyli
81f3e699c3 Fix an issue in the swarm unlock-key rotate test where we were never updating the
previous generation unlock key.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-11-10 11:48:39 -08:00
Sebastiaan van Stijn
c4f1cb7791 Add Fedora 25 RPMs
This is a temporary version for building
Fedora 25. Fedora 25 will be released during
code-freeze, and is currently in beta, so no
official images are available yet.

Current release date is scheduled for 2016-11-15
https://fedoraproject.org/wiki/Releases/25/Schedule

Once released, the image will be updated for
GA

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-10 20:44:30 +01:00
Sebastiaan van Stijn
4705728b41 Merge pull request #28182 from msabansal/overlayexternal
Swarm-mode overlay networking support for windows
2016-11-10 20:42:51 +01:00
Vincent Demeester
b7ecc2e3c0 Merge pull request #28198 from sdurrheimer/zsh-completion-system-subcommand
Add zsh completion for new 'docker system' subcommands
2016-11-10 20:24:43 +01:00
Steve Durrheimer
9df7cdcb2e Add zsh completion for 'docker system' subcommands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-10 20:17:58 +01:00
Brian Goff
9a2d0bc3ad Fix uneccessary calls to volume.Unmount()
Fixes #22564

When an error occurs on mount, there should not be any call later to
unmount. This can throw off refcounting in the underlying driver
unexpectedly.

Consider these two cases:

```
$ docker run -v foo:/bar busybox true
```

```
$ docker run -v foo:/bar -w /foo busybox true
```

In the first case, if mounting `foo` fails, the volume driver will not
get a call to unmount (this is the incorrect behavior).

In the second case, the volume driver will not get a call to unmount
(correct behavior).

This occurs because in the first case, `/bar` does not exist in the
container, and as such there is no call to `volume.Mount()` during the
`create` phase. It will error out during the `start` phase.

In the second case `/bar` is created before dealing with the volume
because of the `-w`. Because of this, when the volume is being setup
docker will try to copy the image path contents in the volume, in which
case it will attempt to mount the volume and fail. This happens during
the `create` phase. This makes it so the container will not be created
(or at least fully created) and the user gets the error on `create`
instead of `start`. The error handling is different in these two phases.

Changed to only send `unmount` if the volume is mounted.

While investigating the cause of the reported issue I found some odd
behavior in unmount calls so I've cleaned those up a bit here as well.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-10 14:04:08 -05:00
Andrea Luzzardi
c13bf5ba51 Merge pull request #28173 from nishanttotla/pin-images-by-digest
Pin images by digest
2016-11-10 10:59:28 -08:00
allencloud
48c3fcedfa change node ls and service ls api and docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-11 02:51:19 +08:00
Yong Tang
ea9a23ccdb Add flag --host to service create and --host-add/--host-rm to service update
This fix tries to address 27902 by adding a flag `--host`
to `docker service create` and `--host-add/--host-rm` to
`docker service update`, so that it is possible to
specify extra `host:ip` settings in `/etc/hosts`.

This fix adds `Hosts` in swarmkit's `ContainerSpec` so that it
is possible to specify extra hosts during service creation.

Related docs has been updated.

An integration test has been added.

This fix fixes 27902.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-10 10:20:24 -08:00
Sebastiaan van Stijn
02918908af Merge pull request #28243 from andrewhsu/change-context
use "golang.org/x/net/context" instead of "context"
2016-11-10 19:13:56 +01:00
Ben Firshman
48af987afe Update misc things in swagger.yaml
Changes to docs/reference/api/docker_remote_api_v1.25.md up to
and including 2d42032225

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-10 10:10:12 -08:00
Ben Firshman
54c37ecc23 Add /plugins/{name}/set endpoint to swagger.yaml
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-10 10:10:12 -08:00
Ben Firshman
50a5f3afaf Add prune endpoints to swagger.yaml
Introduced in #26108

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-10 10:07:25 -08:00
Sandeep Bansal
6e95165679 Vendoring latest swarmkit and libnetwork
Signed-off-by: Sandeep Bansal <msabansal@microsoft.com>
2016-11-10 09:54:47 -08:00
msabansal
ed8ccc3046 Swarm-mode overlay networking support for windows
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-11-10 09:54:40 -08:00
Tibor Vass
89cc35447d Merge pull request #28148 from vieux/rename_plugin_manifest
rename plugin manifest
2016-11-10 09:47:15 -08:00
Daniel Nephin
ef90081d44 Handle bind options and volume options
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 12:37:17 -05:00
Daniel Nephin
bd8de8d8be Restore stack deploy integration test with dab
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:19 -05:00
Aanand Prasad
aa5e7d038a Reinstate --bundle-file argument to 'docker deploy'
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
eefccc25c5 Add integration test for stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
b45581b786 Remove bundlefile
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
46ca5827f9 Remove duplication of name mangling.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
644d30369a Always use a default network if no other networks are set.
also add network labels.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
b0efbcc34a Send warnings to stderr.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Aanand Prasad
3d2cb23782 Default to replicated mode
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-10 11:28:18 -05:00
Vincent Demeester
d0117238fa Fix hostname support for compose file
Pass the hostname from ContainerSpec to the actual container.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-10 11:28:18 -05:00
Aanand Prasad
fcad58f3c8 Handle unsupported, deprecated and forbidden properties
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
13384ba34b Add swarmkit fields to stack service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Aanand Prasad
0884e3c868 Add support for service-level 'volumes' key
Support volume driver + options
Support external volumes
Support hostname in Compose file

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
cbbc6b4d9b Convert deploy to use a compose-file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Daniel Nephin
ed35648151 Vendor dependencies for compose-file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-10 11:28:18 -05:00
Andrew Hsu
2de83a430d use "golang.org/x/net/context" instead of "context"
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2016-11-10 08:23:19 -08:00
Sebastiaan van Stijn
44c816a808 Merge pull request #27829 from DieterReuter/fix-aptrepo-distro-versions
Fix creation of the APT repo directory structure for similar distros
2016-11-10 16:23:27 +01:00
Sebastiaan van Stijn
33af4dd505 Merge pull request #28186 from yongtang/27567-follow-up-dns-options
Add `--dns-option` to `docker run` and hide `--dns-opt`
2016-11-10 16:20:17 +01:00
Vincent Demeester
c730a96454 Merge pull request #28233 from erxian/update-network-ls-docs
update network ls docs to add SCOPE
2016-11-10 16:16:13 +01:00
Ian Campbell
b08b437acc pkg/jsonmessage: Avoid undefined ANSI escape codes.
The ANSI escape codes \e[0A (cursor up 0 lines) and \e[0B (cursor down 0 lines)
are not well defined and are treated differently by different terminals. In
particular xterm treats 0 as a missing parameter and therefore defaults to 1,
whereas rxvt-unicode treats these escapes as a request to move 0 lines.

However the use of these codes is unnecessary and were really just hiding the
fact that we were not correctly computing diff when adding a new line. Having
added the new line to the ids map and output the corresponding \n we need to
then calculate a correct diff of 1 rather than leaving it as the default 0
(which xterm then interprets as 1). The fix is to pull the diff calculation out
of the else case and to always do it.

With this in place we can then avoid outputting escapes for moving 0 lines.
Actually diff should never be 0 to start with any more, but check to be safe.

This fixes corruption of `docker pull` seen with rxvt-unicode (and likely other
terminals in that family) seen in #28111. Tested with rxvt-unicode
($TERM=rxvt-unicode), xterm ($TERM=xterm), mlterm ($TERM=mlterm) and aterm
($TERM=kterm).

The test cases have been updated to match the new behaviour.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-11-10 14:10:47 +00:00
Marcus Cobden
e60ae53802 Add Image ID & Ref to container commit event
Signed-off-by: Marcus Cobden <mcobden@cisco.com>
2016-11-10 10:05:25 +00:00
Vincent Demeester
7df0ed49d7 Merge pull request #28220 from tophj-ibm/test-killing-with-stop-signals
[integration-cli] fix race condition in kill tests
2016-11-10 10:51:38 +01:00
Victor Vieux
49ca91fbeb rename plugin manifest
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-10 00:09:23 -08:00
Nishant Totla
764a9ed357 Pin image by digest on service create and update
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-11-09 23:31:26 -08:00
Victor Vieux
d286734b41 Merge pull request #28224 from vieux/fix_manpages
fix manpages
2016-11-09 23:22:30 -08:00
erxian
9410f4cc86 update network ls docs to add SCOPE
Signed-off-by: erxian <evelynhsu21@gmail.com>
2016-11-10 12:18:08 +08:00
Brian Goff
a3b0ade346 Merge pull request #28138 from dmcgowan/handle-overlay2-copy-up-bug
Use naive diff for overlay2 when opaque copy up bug present
2016-11-09 22:29:19 -05:00
yuexiao-wang
713cae7ca2 Remove redundant parameter and fix typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-10 11:05:31 +08:00
Victor Vieux
f7b27ded4a Merge pull request #28219 from darrenstahlmsft/WindowsConflictingOptions
Adding more strict resource checks on Windows
2016-11-09 18:01:03 -08:00
Victor Vieux
55543c45a2 Merge pull request #28150 from AkihiroSuda/mounttmpcli
opts/mount: add tmpfs-specific options
2016-11-09 17:50:04 -08:00
Victor Vieux
28a1ea342d Merge pull request #28164 from anusha-ragunathan/plugin-build
Add plugin create functionality.
2016-11-09 17:49:51 -08:00
Victor Vieux
18a07f5991 Merge pull request #27967 from aaronlehmann/encryption
Encryption at rest of manager keys and raft data
2016-11-09 17:49:26 -08:00
Victor Vieux
8e701f0bd7 fix manpages
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-09 17:11:14 -08:00
Darren Stahl
0ed00b36ff Adding more strict resource checks on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-09 16:29:54 -08:00
Aaron Lehmann
824db2c454 Document autolock/unlock/unlock-key
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-09 16:12:11 -08:00
Aaron Lehmann
c3c70c4bcd Lock/unlock integration tests
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-09 16:09:01 -08:00
Aaron Lehmann
a6030a50c9 Add unlock key rotation
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-09 16:09:01 -08:00
Aaron Lehmann
0f9fc54df9 Revise swarm init/update flags, add unlocking capability
- Neither swarm init or swarm update should take an unlock key
- Add an autolock flag to turn on autolock
- Make the necessary docker api changes
- Add SwarmGetUnlockKey API call and use it when turning on autolock
- Add swarm unlock-key subcommand

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-09 16:09:00 -08:00
Tonis Tiigi
8b1f72ad44 Add integration tests for encrypted swarm
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-09 16:09:00 -08:00
Tonis Tiigi
b4a667c8c4 Add support for swarm init lock and swarm unlock
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-09 16:09:00 -08:00
Tonis Tiigi
472ecae0d8 vendor: update errors to 839d9e91
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-09 16:09:00 -08:00
Tonis Tiigi
2a68f0f001 vendor: update swarmkit to bddd3f0
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-09 16:08:52 -08:00
Sebastiaan van Stijn
f11ac963af Merge pull request #27915 from rhvgoyal/graph-create-opts
Pass all graphdriver create() parameters in a struct
2016-11-10 01:07:41 +01:00
Victor Vieux
8ffd1a370c Merge pull request #28025 from vdemeester/swarm-mode-templating
Add support for swarm mode templating
2016-11-09 15:57:52 -08:00
Jana Radhakrishnan
5ef5a4216a Merge pull request #28078 from sanimej/inspect
Show peer nodes in network inspect for swarm overlay networks
2016-11-09 15:33:13 -08:00
Anusha Ragunathan
5b6e1bc9e5 Add plugin create functionality.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-11-09 15:23:03 -08:00
Victor Vieux
75091abe76 Merge pull request #28212 from crosbymichael/tini-deps
Add tini deps for deb and rpm
2016-11-09 15:20:58 -08:00
Christopher Jones
de1dad7074 Add restart policy to restart policy tests
Fixes two tests that tested containers restart policy without
actually having a restart policy

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-09 17:13:42 -06:00
Christopher Jones
ff42a1ab53 [integration-cli] fix race condition in kill tests
Fixes a race condition in the kill tests where the container
would be killed but inspected before it's state changed. Fixes
this by waiting for a state change instead.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-09 17:00:01 -06:00
John Howard
d8dcbf3ec3 Tidy GetDockerOS() function
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-09 14:46:53 -08:00
Tibor Vass
5e3d777401 Merge pull request #28002 from Microsoft/jjh/noreexec
Windows: Allow a no-reexec option for importLayer
2016-11-09 14:46:21 -08:00
Vincent Demeester
6212ea669b Add support for swarm mode templating
Wire templating support of swarmkit for the engine, in order to be used
through services.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-09 23:28:06 +01:00
Santhosh Manohar
dd9944aa64 Show peer nodes in network inspect for swarm overlay networks
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-11-09 13:58:04 -08:00
Sebastiaan van Stijn
9482da362c Merge pull request #28214 from albers/completion-for-28196
Add bash completion for `docker {node rm,swarm leave} -f`
2016-11-09 22:56:22 +01:00
Derek McGowan
64b43ed5ec Use naive diff for overlay2 when opaque copy up bug present
When running on a kernel which is not patched for the copy up bug
overlay2 will use the naive diff driver.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-09 13:42:10 -08:00
Brian Goff
9e2d4f91d4 Merge pull request #28215 from dnephin/validate-swagger-gen
Add validate/swagger-gen
2016-11-09 16:39:22 -05:00
Victor Vieux
643ac2f804 Merge pull request #27433 from AkihiroSuda/fix-ovl-xfs-ftype0
overlay: warn if overlay backing fs doesn't support d_type
2016-11-09 13:39:07 -08:00
Vincent Demeester
6e885540a2 Update swarmkit to 00890359d8bfba630824b66b848dbf7851149fef
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-09 22:38:24 +01:00
Sebastiaan van Stijn
5e143b5f8d Merge pull request #27794 from ehazlett/secrets
Secret Management
2016-11-09 22:26:53 +01:00
Vivek Goyal
b937aa8e69 Pass all graphdriver create() parameters in a struct
This allows for easy extension of adding more parameters to existing
parameters list. Otherwise adding a single parameter changes code
at so many places.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-11-09 15:59:58 -05:00
Yong Tang
9b6b3c2076 Add --dns-option to docker run and hide --dns-opt
This fix is a follow up to #27567 based on:
https://github.com/docker/docker/pull/27567#issuecomment-259295055

In #27567, `--dns-options` has been added to `service create/update`,
together with `--dns` and `--dns-search`. The `--dns-opt` was used
in `docker run`.

This fix add `--dns-option` (not `--dns-options`) to `docker run/create`, and hide
`--dns-opt`. It is still possible to use `--dns-opt` with
`docker run/create`, though it will not show up in help output.

This fix change `--dns-options`to --dns-option` for `docker service create`
and `docker service update`.

This fix also updates the docs and bash/zsh completion scripts.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-09 12:13:25 -08:00
Daniel Nephin
be807639b0 Add validate/swagger-gen
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-09 14:44:16 -05:00
Harald Albers
cc0c14aab7 Add bash completion for docker {node rm,swarm leave} -f
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-09 11:42:18 -08:00
Michael Crosby
053738f7e2 Reorder rpm deps for changelog
The changelog is auto generated and the comment in the generate.sh
script is a lie, these should not be in alphabetical order but
in chronological order.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-09 11:33:35 -08:00
Victor Vieux
f67d4b897a Merge pull request #28184 from Microsoft/jjh/user
Windows: Plumb through user
2016-11-09 11:32:42 -08:00
Phil Estes
8119809b68 Correct secrets permissions when userns enabled
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-11-09 14:27:46 -05:00
Evan Hazlett
83af60e623 fix lint issue from rebase
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:46 -05:00
Evan Hazlett
880e8be1ee use human readable units when listing secrets
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:46 -05:00
Evan Hazlett
0bcb65ccba add api docs for secrets
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
427c70d977 more review updates
- return err instead of wrap for update secret
- add omitempty for data in secret spec

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
a9d4118429 embed spec when converting from grpc
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
5b2230a38b SecretRequestOptions -> SecretRequestOption
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
e9fd1c5918 review updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
eff36b7d66 more review updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
e077f701db add integration tests for secret create with labels
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
583c013a87 support labels for secrets upon creation; review updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
4d1fba0204 remove SecretRequestSpec
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
a257f674ba secrets: support simple syntax --secret foo
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
b2e4c7f3b5 review updates
- use Filters instead of Filter for secret list
- UID, GID -> string
- getSecrets -> getSecretsByName
- updated test case for secrets with better source
- use golang.org/x/context instead of context
- for grpc conversion allocate with make
- check for nil with task.Spec.GetContainer()

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
c00138748d move secretopt to opts pkg
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
e0e65b9a3b secrets: enable secret inspect and rm by secret name
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:45 -05:00
Evan Hazlett
2adbdcdf5a secrets: use explicit format when using secrets
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
ca6b653551 update tests for service create and update
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
88dea0e06e update to support new target in swarmkit
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
76b33fdb99 secrets: add service create and update integration tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
baffa793db lint fixes
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
cf6483a152 doc review updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
643ae8b400 secrets: only try to unmount if present
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
6d12de5369 secrets: only setup secret mount if secrets are requested
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
e63dc5cde4 secrets: add secret create and delete integration tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
dce2afbd81 simplify secret lookup on service create
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
958881d209 docs: update cli reference for secret usage
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

docs: minor update to service create usage

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
111e497dc6 support the same secret with different targets on service create
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
00237a9624 add secret support for service update
- add nosuid and noexec to tmpfs

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:44 -05:00
Evan Hazlett
72c1d7f46b add SecretMount and UnmountSecrets methods for non-Linux
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
0c170a76c5 proper cleanup upon mount fail
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
f50a65ff0c update to support latest swarm changes
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
189f89301e more review updates
- use /secrets for swarm secret create route
- do not specify omitempty for secret and secret reference
- simplify lookup for secret ids
- do not use pointer for secret grpc conversion

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
669a9dbe7f more review changes
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
857e60c2f9 review changes
- fix lint issues
- use errors pkg for wrapping errors
- cleanup on error when setting up secrets mount
- fix erroneous import
- remove unneeded switch for secret reference mode
- return single mount for secrets instead of slice

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
3716ec25b4 secrets: secret management for swarm
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

wip: use tmpfs for swarm secrets

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

wip: inject secrets from swarm secret store

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

secrets: use secret names in cli for service create

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

switch to use mounts instead of volumes

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vendor: use ehazlett swarmkit

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

secrets: finish secret update

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Evan Hazlett
1310dadf4a secrets: vendor swarmkit
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

secrets: vendor swarmkit

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-11-09 14:27:43 -05:00
Michael Crosby
6440c5d822 Add tini build deps to deb generation
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-09 11:12:14 -08:00
Michael Crosby
da0ccf8e61 Merge pull request #28047 from cpuguy83/27773_chrootarchive_rbind
Fix issue with cp to container volume dir
2016-11-09 10:52:14 -08:00
Michael Crosby
e0e7dd6fee Add tini deps to rpm build
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-09 10:47:24 -08:00
Vincent Demeester
fe77fc5bf1 Merge pull request #28196 from allencloud/add-short-flag-for-force
add short flag for force
2016-11-09 18:11:58 +01:00
Sebastiaan van Stijn
01f5c52a59 Merge pull request #28163 from yongtang/11082016-help-ptr
Remove `-ptr` from the help output of `service create`
2016-11-09 17:53:06 +01:00
Sebastiaan van Stijn
ce142ec7a3 Merge pull request #28208 from thaJeztah/carry-27830-deprecate-no-version-in-api-urls
[carry 27830] Deprecate API calls without a version
2016-11-09 17:45:44 +01:00
Brian Goff
bf960a6bdc Merge pull request #28189 from Microsoft/jjh/fluentd
Windows: Enable fluentd logdriver
2016-11-09 11:28:37 -05:00
Ben Firshman
a5fe15072d Deprecate API calls without a version
See #21157 for more details.

In a future version of Docker, providing a version to API calls
will be mandatory. An implementation of this is in #27801.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-09 17:04:16 +01:00
Kenfe-Mickael Laventure
2790ac68b3 Add expected 3rd party binaries commit ids to info
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-11-09 07:42:44 -08:00
Brian Goff
5125484720 Merge pull request #28197 from sdurrheimer/zsh-completion-image-subcommand
Add zsh completion for new 'docker image' subcommands
2016-11-09 10:30:55 -05:00
Sebastiaan van Stijn
70b53c932d Merge pull request #28141 from darrenstahlmsft/TerminateTemplates
Terminate template containers before delting a layer
2016-11-09 15:44:33 +01:00
Vincent Demeester
4f7083a04f Merge pull request #27947 from milindchawre/fix_27798
Fixes #27798 : Update help for --blkio-weight parameter
2016-11-09 15:35:38 +01:00
Vincent Demeester
103641f5c6 Merge pull request #28201 from yuexiao-wang/test-func
Update function name for TestCalculBlockIO
2016-11-09 15:34:25 +01:00
Yong Tang
beafc7c7d9 Remove -ptr from the help output of service create
This fix is based on the comment:
https://github.com/docker/docker/pull/28147#discussion_r86996347

Previously the output string of the `DurationOpt` is `duration-ptr`
and `Uint64Opt` is `uint64-ptr`. While it is clear to developers,
for a normal user `-ptr` might not be very informative.

On the other hand, the default value of `DurationOpt` and `Uint64Opt`
has already been quite informative: `none`. That means if no flag
provided, the value will be treated as none.
(like a ptr with nil as the default)

For that reason this fix removes the `-ptr`.

Also, the output in the docs of `service create` has been quite
out-of-sync with the true output. So this fix updates the docs
to have the most up-to-date help output of `service create --help`.

This fix is related to #28147.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-09 06:30:10 -08:00
Brian Goff
93e837d1d2 Merge pull request #28037 from crosbymichael/tini
Replace grimes with tini for default init shipped in Docker
2016-11-09 09:29:42 -05:00
Sebastiaan van Stijn
bab1b2a0a4 Merge pull request #27733 from milindchawre/fix_update_delay
Fixes #24083 : Improving cli help for flags with duration option
2016-11-09 15:06:05 +01:00
Justin Cormack
5020905e9d Merge pull request #27329 from dattatrayakumbhar04/26639_nfs_volume_with_hostname
#26639: Local NFS volumes do not resolve hostnames
2016-11-09 13:46:56 +00:00
milindchawre
ecb59a2283 Fixes #24083 : Improving cli help for flags with duration option
Signed-off-by: milindchawre <milindchawre@gmail.com>
2016-11-09 12:17:28 +00:00
Sebastiaan van Stijn
806f09bf32 Merge pull request #26088 from akirakoyasu/patch-fluent-unixsocket
Proposal: unix-sockets support in Fluentd logging driver
2016-11-09 12:49:06 +01:00
yuexiao-wang
5ffe496a22 Update function name for TestCalculBlockIO
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-09 17:43:10 +08:00
Vincent Demeester
c025049c27 Merge pull request #28098 from yongtang/25099-oom_score_adj-empty-env
Fix `/proc/<pid>/oom_score_adj: invalid argument` error caused by empty env name
2016-11-09 10:39:18 +01:00
Sebastiaan van Stijn
79c37d1483 Merge pull request #28193 from yuexiao-wang/plugin-driver
Fix the link for plugin documentation
2016-11-09 10:25:06 +01:00
Vincent Demeester
29a38a4fe8 Merge pull request #27997 from aaronlehmann/raft-options
cli: Add options for Raft snapshotting
2016-11-09 10:19:45 +01:00
Victor Vieux
2ee6032c88 Merge pull request #27311 from darrenstahlmsft/CloseStdinError
Windows: Stop returning errors that should be ignored while closing stdin
2016-11-09 00:17:04 -08:00
Akihiro Suda
2e20e63da2 overlay: warn if overlay backing fs doesn't support d_type
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-11-09 07:18:27 +00:00
Steve Durrheimer
29367c7e68 Cleanup after moving all zsh completion logics for the new image command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:25 +01:00
Steve Durrheimer
cc879af088 Move zsh completion logic to new subcommand: tag
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:23 +01:00
Steve Durrheimer
d2af96342d Move zsh completion logic to new subcommand: save
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:22 +01:00
Steve Durrheimer
e5c98f3887 Move zsh completion logic to new subcommand: rm
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:20 +01:00
Steve Durrheimer
17cdc95a19 Move zsh completion logic to new subcommand: push
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:18 +01:00
Steve Durrheimer
102742a3cd Move zsh completion logic to new subcommand: pull
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:16 +01:00
Steve Durrheimer
c333821334 Move zsh completion logic to new subcommand: ls
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:14 +01:00
Steve Durrheimer
c308befdc0 Move zsh completion logic to new subcommand: load
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:13 +01:00
Steve Durrheimer
d0014299b4 Add zsh completion logic to new subcommand: inspect
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:11 +01:00
Steve Durrheimer
a4656e46f7 Move zsh completion logic to new subcommand: import
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:10 +01:00
Steve Durrheimer
2014e78730 Move zsh completion logic to new subcommand: history
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:08 +01:00
Steve Durrheimer
d3305a17e1 Move zsh completion logic to new subcommand: build
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:07 +01:00
Steve Durrheimer
53a56990c4 Add zsh completion for 'docker image' subcommands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:15:05 +01:00
Steve Durrheimer
2a44da9732 Rename zsh images & log complete functions
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-09 08:14:40 +01:00
allencloud
955c35b6a6 add short flag for force
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-09 14:40:47 +08:00
yuexiao-wang
701021ebd8 Fix the link for plugin documentation
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-09 13:50:14 +08:00
John Howard
cff9679c6c Windows: Enable fluentd logdriver
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 19:54:57 -08:00
John Howard
64a42d656b Merge pull request #28185 from Microsoft/jjh/concurrentaccess
Windows: Avoid concurrent access to sysinfo
2016-11-08 19:22:09 -08:00
Victor Vieux
d3c780bb90 Merge pull request #27745 from vieux/cli_backward_compose_api
allow client to talk to an older server
2016-11-08 18:27:23 -08:00
Darren Stahl
ae35c0f70e Stop returning errors that should be ignored while closing stdin
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-08 18:25:43 -08:00
Akihiro Suda
45ed6a7579 opts/mount: add tmpfs-specific options
added following options:

 * tmpfs-size
 * tmpfs-mode

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-11-09 02:01:53 +00:00
John Howard
d936a77160 Revendor Microsoft/go-winio to v0.3.6
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 17:59:01 -08:00
John Howard
d9294719b5 Windows: Allow a no-reexec option for importLayer
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 17:57:43 -08:00
John Howard
54e09aa4e2 Windows: Avoid concurrent access to sysinfo
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 17:52:38 -08:00
Victor Vieux
383a2f046b Merge pull request #28088 from aluzzardi/service-ps-task-resolution
service ps: Truncate Task IDs
2016-11-08 17:44:15 -08:00
Victor Vieux
462e57f05e Merge pull request #27567 from yongtang/24391-dns-setting
Add custom DNS settings to service definition
2016-11-08 17:43:00 -08:00
Victor Vieux
c3c58f83b6 Merge pull request #28171 from tonistiigi/fix-fifo-rm-warn
Don’t warn on missing fifo
2016-11-08 17:42:15 -08:00
John Howard
5207ff7202 Windows: Plumb through user
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 17:41:56 -08:00
Victor Vieux
4b63ad33ec Merge pull request #28086 from vieux/delete_rootfs_plugin
delete plugin rootfs on `docker plugin rm`
2016-11-08 17:03:01 -08:00
Sebastiaan van Stijn
3975d648b7 Merge pull request #27420 from Shugyousha/journaldfixes
Small logger journald cleanup
2016-11-09 01:35:08 +01:00
Andrea Luzzardi
d296f7a391 service ps: Truncate Task IDs
- Refactored to move resolution code into the idresolver
- Made `ps` output more bearable by shortening service IDs in task names

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-08 16:17:15 -08:00
Victor Vieux
2d42032225 Merge pull request #27992 from Microsoft/jjh/minapitoinfo
Adds `MinAPIVersion` to docker version
2016-11-08 15:49:33 -08:00
Yong Tang
a39c0cf007 Add custom DNS settings to service update
This fix adds `--dns-add`, `--dns-rm`, `--dns-opt-add`, `--dns-opt-rm`,
`--dns-search-add` and `--dns-search-rm` to `service update`.

An integration test and a unit test have been added to cover the changes in this fix.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-08 15:41:32 -08:00
Yong Tang
9e8adbecf5 Add custom DNS settings to service definition
This fix tries to fix the issue raised in 24391 about allowing
custom DNS settings to service definition.

This fix adds `DNSConfig` (`Nameservers`, `Options`, `Search`) to
service definition, as well as `--dns`, `--dns-opt`, and `dns-search`
to `service create`.

An integration test has been added to cover the changes in this fix.

This fix fixes 24391.

A PR in swarmkit will be created separately.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-08 15:41:32 -08:00
Darren Stahl
c58e8dea6c Terminate template VMs on layer delete
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-08 15:39:25 -08:00
Sebastiaan van Stijn
703dcbe579 Merge pull request #28175 from Microsoft/jjh/hcsshim0.5.6
Revendor Microsoft/HCSShim v0.5.7
2016-11-09 00:37:13 +01:00
Tibor Vass
c33fb1013d Merge pull request #28142 from vieux/plugin_install_args
support settings in docker plugins install
2016-11-08 15:05:39 -08:00
Aaron Lehmann
0ccbae0437 Merge pull request #27123 from tonistiigi/fix-join-reconnect
Don’t attempt to reconnect swarm on failed join after timeout
2016-11-08 14:53:44 -08:00
Michael Crosby
47637b49a0 Convert err description to lower
Convert this to lower before checking the message of the error.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-08 14:42:54 -08:00
Michael Crosby
d58b47623b Replace grimes with tini
There is no reason to duplicate efforts and tini is well built and
better than grimes.  It is a much stronger option for the default init
and @krallin has done a great job maintaining it and helping make
changes so that it will work with Docker.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-08 14:42:54 -08:00
Alexander Morozov
ff41cecc17 Merge pull request #28167 from mlaventure/update-containerd
Update containerd to 8517738ba4b82aff5662c97ca4627e7e4d03b531
2016-11-08 14:25:16 -08:00
Vincent Demeester
4c6db5d9cb Merge pull request #28170 from icecrime/poule_rebuild_all
poule: add `rebuild/*` to rebuild all at once
2016-11-08 22:37:33 +01:00
Victor Vieux
bbb645e84b Merge pull request #28178 from Microsoft/jjh/limited-typo
Fix typo 'limitied' in error message
2016-11-08 13:36:03 -08:00
Aaron Lehmann
842d11f44c cli: Add options for Raft snapshotting
Add the following options to "swarm init" and "swarm update":

- --max-snapshots: Retain this many old Raft snapshots in addition
  to the latest one

- --snapshot-interval: Number of log entries between Raft snapshots

These options already existed in SwarmKit and the Docker API but were
never exposed in the CLI. I'm adding them here to fix this oversight.

--max-snapshots may be useful for debugging purposes and more
conservative users who want to store rolling backups of old versions of
the Raft state.

--snapshot-interval is most useful for performance tuning. The default
value of 10000 may not be ideal for some setups.

There is also a LogEntriesForSlowFollowers option that is not exposed. I
decided not to expose it along with these others because I don't think
it's generally useful (and I'm not sure what I would call the CLI flag).
But if people want, I can expose it for the sake of completeness.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-08 13:14:01 -08:00
John Howard
27de9f6ece Fix typo limitied
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 13:06:24 -08:00
John Howard
8ae9160643 Revendor Microsoft/HCSShim v0.5.7
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-08 12:09:11 -08:00
Victor Vieux
fb9aca3128 Merge pull request #28147 from yongtang/27567-service-update-docs-plural-form
Change to plural forms for help output of `docker service update`
2016-11-08 11:14:40 -08:00
Victor Vieux
ffccf2cab9 Merge pull request #28166 from vdemeester/dont-use-pkg-integration-in-other-pkg
Remove use of pkg/integration in pkg/idtools
2016-11-08 10:43:45 -08:00
Silvan Jegen
d359daaa48 Clean up journald logger
We clean up the journald logger with these four changes.

1. Make field array static
2. Make function name more appropriate
3. Initialize the file descriptors only once
4. Avoid copying the journald cursor

Point 4 is the most significant change: instead of treating the journald
cursor like a Go string we use it as a raw C.char pointer. That way we
avoid the copying by the C.CString and C.GoString functions.

Signed-off-by: Silvan Jegen <s.jegen@gmail.com>
2016-11-08 19:09:59 +01:00
Tonis Tiigi
ee9d28bd3f Don’t warn on missing fifo
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-08 09:59:49 -08:00
Kenfe-Mickael Laventure
0aa17f0f60 Update containerd to 8517738ba4b82aff5662c97ca4627e7e4d03b531
This version:
 - properly follow context cancellation on Start and Exec
 - add support for Solaris
 - ensure exec exit events are always seen before init's

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-11-08 09:47:41 -08:00
Vincent Demeester
a70b1d74a0 Merge pull request #27710 from allencloud/show-num-for-global-service-in-service-ls
support show numbers of global service in service ls command
2016-11-08 18:43:53 +01:00
Arnaud Porterie (icecrime)
3d89d694ea poule: add rebuild/* to rebuild all at once
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-11-08 09:42:09 -08:00
Nishant Totla
87075353dc Adding function to resolve tag to digest in daemon
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-11-08 09:34:01 -08:00
Brian Goff
16ea0806f8 Merge pull request #28140 from tonistiigi/update-fifo
vendor: update fifo to 14056439
2016-11-08 12:31:03 -05:00
Sebastiaan van Stijn
9a61bd05f8 Merge pull request #27466 from mrjana/net
Retry AttachNetwork when it fails to find network
2016-11-08 18:25:45 +01:00
Vincent Demeester
acf7ce1aa0 Remove use of pkg/integration in pkg/idtools
This remove a dependency on `go-check` (and more) when using
`pkg/idtools`. `pkg/integration` should never be called from any other
package then `integration`.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-08 17:21:02 +01:00
Justin Cormack
3a5a0ef1d4 Merge pull request #28130 from tophj-ibm/change-jq-syntax-for-old-version-support
[integration-cli] changes syntax to support older version of jq
2016-11-08 14:00:59 +00:00
Brian Goff
8a396f90f5 Merge pull request #28152 from AkihiroSuda/fix-tmpfs-ro-mount
api: fix ReadOnly support for tmpfs
2016-11-08 08:59:48 -05:00
Yong Tang
1b42d9d0db Change to plural forms for help output of docker service update
This fix is based on the comment in
https://github.com/docker/docker/pull/27567#discussion_r86910604

Basically, in the help output of `docker service update`, the `--xxx-add`
flags typically have plural forms while `--xxx-rm` flags have singular
forms.

This fix updates the help output for consistency.

This fix also updates the related docs in `service_update.md`.
The help output in `service_update.md` has been quite out-of-sync
with the actual output so this fix replaces the output with the
most up-to-date output.

This fix is related to #27567.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-08 05:53:56 -08:00
Akihiro Suda
189727581b Merge pull request #28158 from lixiaobing10051267/masterMakeSum
fix using wrong function name for MakeTarSumContext
2016-11-08 22:37:23 +09:00
Akihiro Suda
cbc511720a Merge pull request #28157 from yuexiao-wang/update-checkpoint
Update for docker checkpoint
2016-11-08 22:36:22 +09:00
Victor Vieux
e98e4a7111 always add but hide experimental cmds and flags
Signed-off-by: Victor Vieux <vieux@docker.com>

update cobra and use Tags

Signed-off-by: Victor Vieux <vieux@docker.com>

allow client to talk to an older server

Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-08 04:55:27 -08:00
Sebastiaan van Stijn
14a06cbb29 Merge pull request #28143 from icecrime/poule
Add poule.yml
2016-11-08 13:09:09 +01:00
Vincent Demeester
ec22164358 Merge pull request #28153 from YuPengZTE/devCtx
context.Context should be the first parameter of a function
2016-11-08 12:40:32 +01:00
Vincent Demeester
2fa63c90de Merge pull request #28144 from yongtang/11072016-swarmkit-update
Revendor swarmkit to 29950a4e9912178cadb72abc5a445e3a857cb2b0
2016-11-08 12:39:03 +01:00
Victor Vieux
586b7cc19e delete plugin rootfs on plugin rm
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-08 03:30:37 -08:00
Vincent Demeester
d46c7109b5 Merge pull request #27888 from sdurrheimer/zsh-completion-container-subcommand
Add zsh completion for new 'docker container' subcommands
2016-11-08 11:24:28 +01:00
Vincent Demeester
9075aa4ddd Merge pull request #28038 from bfirsh/add-validate-swagger
Validation for swagger.yaml
2016-11-08 10:57:01 +01:00
lixiaobing10051267
71f144648a fix using wrong function name for MakeTarSumContext
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-08 17:16:13 +08:00
yuexiao-wang
90ce77e46a Update for docker checkpoint
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-08 16:56:29 +08:00
Sebastiaan van Stijn
f5283bd253 Merge pull request #28117 from ping035627/ping035627-patch-1107
Modify to improve code readability
2016-11-08 09:44:45 +01:00
Sebastiaan van Stijn
c48c44371b Merge pull request #28156 from albers/completion-service-create--tty
Add bash completion for `docker service {create,update} --tty`
2016-11-08 09:35:17 +01:00
dattatrayakumbhar04
668fa8aff2 #26639: Local NFS volumes do not resolve hostnames
Signed-off-by: dattatrayakumbhar04 <dattatraya.kumbhar@gslab.com>
2016-11-08 08:26:53 +00:00
allencloud
ea03f090b8 support show numbers of global service in service ls command
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-08 16:17:15 +08:00
Harald Albers
bfd8f7a7e1 Add bash completion for docker service {create,update} --tty
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-08 09:13:23 +01:00
yupeng
4b86bd050b context.Context should be the first parameter of a function
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-11-08 14:51:17 +08:00
Victor Vieux
69276fddf8 support settings in docker plugins install
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-07 22:49:22 -08:00
Akihiro Suda
3e3d3c8086 api: fix ReadOnly support for tmpfs
For `--mount type=tmpfs,target=/foo,readonly`, the `readonly` flag was just ignored.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-11-08 06:49:17 +00:00
John Howard
d29995bb84 Adds minimum API version to version
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-07 21:20:00 -08:00
Daniel Nephin
69efb4652c Merge pull request #28076 from yongtang/25644-docker-service-tty
Add `--tty` to `docker service create/update`
2016-11-07 22:15:27 -05:00
Arnaud Porterie (icecrime)
7cb1fad4a5 Add poule.yml
Add configuration for `poule` (https://github.com/icecrime/poule) to
manage GitHub automations.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-11-07 19:06:35 -08:00
Akihiro Suda
8937b35936 Merge pull request #28132 from johnstep/win2lin
TestRunDuplicateMount requires the same host
2016-11-08 11:32:39 +09:00
Yong Tang
f0e2eb24cf Revendor swarmkit to 29950a4e9912178cadb72abc5a445e3a857cb2b0
This fix revendor swarmkit to 29950a4e9912178cadb72abc5a445e3a857cb2b0.

This fix is related to 28031.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-07 17:57:20 -08:00
Victor Vieux
03da822ee9 Merge pull request #27923 from vieux/plugin_set_gogogo
support env for docker plugin set
2016-11-07 17:07:14 -08:00
Victor Vieux
efbed4500e support env for docker plugin set
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-07 16:59:29 -08:00
Victor Vieux
8442db9830 Merge pull request #27993 from thaJeztah/add-yakkety-yak
Add Ubuntu 16.10 Yakkety Yak
2016-11-07 16:47:12 -08:00
Tibor Vass
109c26bd74 Merge pull request #28056 from LK4D4/solaris_me
Add functional support for Docker sub commands on Solaris
2016-11-07 16:46:18 -08:00
Yong Tang
599be5a551 Add --tty to docker service create/update
This fix tries to add `--tty` to `docker service create/update`. As was
specified in 25644, `TTY` flag has been added to SwarmKit and is
already vendored.

This fix add `--tty` to `docker service create/update`.

Related document has been updated.

Additional integration tests has been added.

This fix fixes 25644.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-07 16:42:32 -08:00
WangPing
2bfd1495de modify to improve code readability
Signed-off-by: WangPing <present.wp@icloud.com>

align

Signed-off-by: WangPing <present.wp@icloud.com>

align

Signed-off-by: WangPing <present.wp@icloud.com>
2016-11-08 08:37:44 +08:00
Michael Crosby
05b249e70f Merge pull request #28118 from runcom/fix-secopts-types
Fix secopts types
2016-11-07 16:32:21 -08:00
Tonis Tiigi
bebfcade04 vendor: update fifo to 14056439
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-11-07 16:19:03 -08:00
Tõnis Tiigi
67b0311c8c Merge pull request #27615 from darrenstahlmsft/ExecCloseAsync
Asynchronously close streams to prevent holding container lock
2016-11-07 16:16:21 -08:00
Misty Stanley-Jones
c16860b649 Merge pull request #28029 from tealtail/27994-add-service-ls-truncate-opt
remove COMMAND column from `service ls` output. closes #27994
2016-11-07 14:39:16 -08:00
Ben Firshman
5c4abd107a Add swagger.yaml validation
- yamllint to ensure it is a valid YAML file
- go-swagger validate to ensure it is a valid swagger file

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-07 11:03:21 -08:00
Ben Firshman
e5e1c7feef Fix validation errors in swagger.yaml
- Some objects were missing `type: "object"`
- Some examples had invalid null values (go-swagger validation
  doesn't support x-nullable, so they have just been removed)
- ImageSummary example was out of date
- Removed timeNano because YAML interprets it as a float, not
  a long (sigh)
- Tidy up archive errors

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-07 11:03:10 -08:00
Ben Firshman
cd0c0d0666 Add logo to swagger.yaml
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-11-07 11:03:09 -08:00
Aaron Lehmann
c1cdfe78f6 Merge pull request #25974 from kunalkushwaha/mount-add
correct handling of volumes while service update.
2016-11-07 10:34:22 -08:00
John Stephens
bc87ec3815 TestRunDuplicateMount requires the same host
Signed-off-by: John Stephens <johnstep@docker.com>
2016-11-07 10:19:06 -08:00
Amit Krishnan
934328d8ea Add functional support for Docker sub commands on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-11-07 09:06:34 -08:00
Christopher Jones
1d0a5eb33f [integration-cli] changes syntax to support older version of jq
Fixes a bug where a test would fail due to jq syntax
not being supported on all versions. Changes the syntax
to an equivalent way also supported on older versions.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-07 10:54:25 -06:00
Vincent Demeester
89ef0f2151 Merge pull request #25983 from jhorwit2/jah/ps-refactor
Add -a option to service/node ps
2016-11-07 17:33:10 +01:00
Yong Tang
818d55c34b Fix /proc/<pid>/oom_score_adj: invalid argument error caused by empty env name
This fix is part of the fix for issue 25099. In 25099, if an env
has a empty name, then `docker run` will throw out an error:
```
ubuntu@ubuntu:~/docker$ docker run -e =A busybox true
docker: Error response from daemon: invalid header field value "oci runtime error:
container_linux.go:247: starting container process caused \"process_linux.go:295:
setting oom score for ready process caused \\\"write /proc/83582/oom_score_adj:
invalid argument\\\"\"\n".
```

This fix validates the Env in the container spec before it is sent
to containerd/runc.

Integration tests have been created to cover the changes.

This fix is part of fix for 25099 (not complete yet, non-utf case
may require a fix in `runc`).
This fix is related to 25300.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-07 08:15:26 -08:00
Sebastiaan van Stijn
27beb64d46 Add Ubuntu 16.10 Yakkety Yak
Ubuntu 16.10 has been released http://releases.ubuntu.com/yakkety/

Note that this is a short-term release, so will
EOL (and removed again) in 9 months

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-07 15:14:36 +01:00
Brian Goff
e00e7e9582 Merge pull request #28059 from lixiaobing10051267/masterDockerInfo
Rectify Images display information for docker 1.10.3
2016-11-07 09:05:34 -05:00
Madhu Venugopal
bee2beeaad Merge pull request #27279 from dongluochen/lbapi_integration
Support health aware load balancing
2016-11-07 02:42:51 -08:00
Antonio Murdaca
42a1f7cdf9 client: bump default version to v1.25
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-11-07 10:01:28 +01:00
Antonio Murdaca
667315576f api: add Info struct for v1.24
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-11-07 10:01:14 +01:00
Akihiro Suda
b34b29e237 Merge pull request #28104 from Microsoft/jjh/nogoroot
Don't set GOROOT in dockerfile.Windows
2016-11-07 17:37:21 +09:00
Akihiro Suda
de78ed432b Merge pull request #28093 from albers/completion-run--cpus
Add bash completion for `docker {run,create} --cpus`
2016-11-07 17:31:40 +09:00
Akihiro Suda
67a247154c Merge pull request #28094 from albers/completion-system-df
Add bash completion for `docker system df`
2016-11-07 17:31:27 +09:00
Vincent Demeester
afb1119c85 Merge pull request #28096 from albers/completion-prune
Add bash completion for new prune commands
2016-11-07 09:30:56 +01:00
Vincent Demeester
d049c6f8a1 Merge pull request #28097 from albers/completion-fix-inspect--type
Fix bash completion for `docker inspect --type`
2016-11-07 09:30:04 +01:00
Vincent Demeester
5b2cedf11e Merge pull request #28102 from yongtang/11052016-docs-build-Step
Update docs for the output of `docker build` (Step 1/...)
2016-11-07 09:28:08 +01:00
Vincent Demeester
b8140249b4 Merge pull request #28075 from yongtang/27958-docs-follow-up
Follow up docs update for PR #27958
2016-11-07 09:21:40 +01:00
Vincent Demeester
325eaa7ba4 Merge pull request #28065 from lixiaobing10051267/masterServerEror
add error information to distinguish different test scene
2016-11-07 09:16:16 +01:00
Vincent Demeester
6e0893f304 Merge pull request #28020 from YuPengZTE/devArg
Align arg with other cli
2016-11-07 08:58:51 +01:00
Daniel Nephin
9c8e1c3c06 Merge pull request #28103 from Microsoft/jjh/removevalidatestubs
Remove Windows CI stubs from hack/
2016-11-06 19:39:18 -05:00
Alicia Lauerman
6ad95c4dad remove COMMAND column from service ls output. closes #27994
Signed-off-by: Alicia Lauerman <alicia@eta.im>
2016-11-06 13:32:44 -05:00
Josh Horwitz
139fff2bf0 Add -a option to service/node ps
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-11-06 07:40:39 -05:00
John Howard
3e75c5b68e Don't set GOROOT in dockerfile.Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-05 21:14:12 -07:00
John Howard
d945441e23 Remove Windows CI stubs from hack/
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-05 21:01:06 -07:00
Yong Tang
7d529492cc Update docs for the output of docker build (Step 1/...)
PR 24978 adds hint of of progress to the output of `docker build`
for 1.13, in the format of
```
Step 1/5 ...
...
Step 2/5 ...
...
```

Though some of the docs hasn't been updated.

This fix did a grep in docs and updated the related places.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-05 19:05:19 -07:00
Harald Albers
d65934a8b8 Fix bash completion for docker inspect --type
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-05 11:22:47 -07:00
Harald Albers
8099280cd8 Add bash completion for new prune commands
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-05 10:39:33 -07:00
Harald Albers
09172051fc Add bash completion for docker system df
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-05 10:12:35 -07:00
Harald Albers
9268bbaeea Add bash completion for docker {run,create} --cpus
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-05 09:59:55 -07:00
yupeng
c09277d5c3 Align arg with other cli
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-11-05 13:47:02 +08:00
Dong Chen
aba4190612 Vendor libnetwork a98901aebe7ce920b6fbf02ebe5c3afc9ca975b8.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-11-04 21:50:56 -07:00
Dong Chen
ca81f6ee7c dynamic service binding.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-11-04 21:50:56 -07:00
Yong Tang
f82f8eeaf8 Follow up docs update for PR 27958
This fix is a follow up for any additional docs update for PR 27958.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-04 20:18:40 -07:00
Sebastiaan van Stijn
c5ceb0f945 Merge pull request #28085 from aaronlehmann/remove-comment
distribution: Remove misleading comment
2016-11-04 19:57:57 -07:00
Tibor Vass
29d85753cd Merge pull request #28084 from thaJeztah/add-andrew-and-alessandro
Add Andrew and Alessandro as curator
2016-11-04 17:30:16 -07:00
Aaron Lehmann
99c59d5988 distribution: Remove misleading comment
Remove the following comment in pullV2Tag:

// NOTE: not using TagService.Get, since it uses HEAD requests
// against the manifests endpoint, which are not supported by
// all registry versions.

This is actually not an issue, because TagService.Get does a fallback to
GET if HEAD fails. It has done this ever since TagService was added to
the distribution API, so this comment was probably based on an early
version of TagService before it was merged, or was always a
misunderstanding.

However, we continue to use ManifestService.Get instead because it
saves a round trip. The manifest can be retrieved directly instead of
resolving the digest first.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-04 17:10:47 -07:00
Sebastiaan van Stijn
7eb4a1d616 Add Andrew and Alessandro as curator
They're helping out with triaging, so
just making this official :)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-04 17:08:07 -07:00
Sebastiaan van Stijn
1c62d8619d Merge pull request #28081 from LK4D4/update_for_solaris
vendor: update package for solaris support
2016-11-04 17:01:16 -07:00
Sebastiaan van Stijn
e8c9063353 Merge pull request #24194 from Microsoft/WindowsCpuCount
Windows: Added processor count option
2016-11-04 16:13:43 -07:00
Alexander Morozov
bb1153a613 Merge pull request #28077 from aluzzardi/swarmkit-revendoring
Revendor swarmkit to 2eaae1ab6800f8521236e01bafb2667d2ec5371f
2016-11-04 14:59:05 -07:00
Alexander Morozov
553b0b9731 vendor: update package for solaris support
Update includes next packages:
* golang.org/x/sys 8f0908ab3b2457e2e15403d3697c9ef5cb4b57a9
* github.com/fsnotify/fsnotify v1.2.11
* github.com/tonistiigi/fifo b4c3a126bac4051ae3fa83bfcb3c60ab7a9da0dd

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-11-04 14:39:47 -07:00
Sebastiaan van Stijn
6087185676 Merge pull request #28068 from tophj-ibm/switch-all-golang-download-links
switch all go download links to https://golang.org/dl
2016-11-04 14:21:58 -07:00
Kenfe-Mickaël Laventure
3a9322e9ec Merge pull request #28074 from dmcgowan/force-sha512-sign-repos
Use sha512 when gpg signing builds
2016-11-04 14:08:52 -07:00
Victor Vieux
f6edbdf883 Merge pull request #28010 from vieux/fix_experimental_client
always add but hide experimental cmds and flags
2016-11-04 13:49:19 -07:00
Darren Stahl
4e15420b9b Windows: Add cpu count option
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-04 13:38:50 -07:00
Justin Cormack
d7d0bc1d58 Merge pull request #28070 from runcom/seccomp-path-fixes
Seccomp path fixes
2016-11-04 20:36:35 +00:00
Michael Crosby
cac13fc131 Merge pull request #27737 from justincormack/no-ambient-1.13
Revert ambient capabilities for 1.13
2016-11-04 12:52:21 -07:00
Andrea Luzzardi
014eeb539b Revendor swarmkit to 2eaae1ab6800f8521236e01bafb2667d2ec5371f
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-04 12:26:37 -07:00
Andrea Luzzardi
9322636c89 Revendor go-memdb to floridoo/go-memdb's fork (608dda3b1410a73eaf3ac8b517c9ae7ebab6aa87)
We are temporarily using a fork containing a PR that hasn't been merged
upstream yet.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-04 12:26:37 -07:00
Misty Stanley-Jones
da499758b8 Merge pull request #28064 from lixiaobing10051267/masterInstallation
modify URL because installation directory removed
2016-11-04 12:06:37 -07:00
Victor Vieux
d34ca0178e update cobra and use Tags
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-04 12:04:14 -07:00
Sebastiaan van Stijn
24d822d179 Merge pull request #28072 from Microsoft/jjh/api124
Windows: Allow API v1.24
2016-11-04 11:57:42 -07:00
Sebastiaan van Stijn
c859a9ff1f Merge pull request #28073 from albers/completion-service-create--hostname
Add bash completion for `docker service create --hostname`
2016-11-04 11:57:08 -07:00
Aaron Lehmann
ab25934579 Merge pull request #28057 from aaronlehmann/lint-api
Run lint on most of api/types
2016-11-04 11:56:02 -07:00
Antonio Murdaca
c68e75e51d cli/info: fix seccomp warning
also reword seccomp warning around default seccomp profile

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-11-04 19:25:51 +01:00
Antonio Murdaca
e6ec90608c docs: update for new secopts struct in GET /info
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-11-04 19:25:51 +01:00
Michael Crosby
6572c46716 Merge pull request #27958 from yongtang/27921-cpus
Add `--cpus` flag to control cpu resources
2016-11-04 11:18:17 -07:00
Harald Albers
42f8562984 Add bash completion for docker service create --hostname
Signed-off-by: Harald Albers <github@albersweb.de>
2016-11-04 19:08:17 +01:00
Justin Cormack
c5251f7116 Use runc version built without ambient capabilities
Until we can support existing behaviour with `sudo` disable
ambient capabilities in runc build.

Add tests that non root user cannot use default capabilities,
and that capabilities are working as expected.

Test for #27590

Update runc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-04 17:25:28 +00:00
John Howard
e4af39aeb3 Windows: Allow API v1.24
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-04 10:10:42 -07:00
Derek McGowan
201f804310 Use sha512 when gpg signing builds
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-04 09:45:13 -07:00
Yong Tang
846baf1fd3 Add --cpus flag to control cpu resources
This fix tries to address the proposal raised in 27921 and add
`--cpus` flag for `docker run/create`.

Basically, `--cpus` will allow user to specify a number (possibly partial)
about how many CPUs the container will use. For example, on a 2-CPU system
`--cpus 1.5` means the container will take 75% (1.5/2) of the CPU share.

This fix adds a `NanoCPUs` field to `HostConfig` since swarmkit alreay
have a concept of NanoCPUs for tasks. The `--cpus` flag will translate
the number into reused `NanoCPUs` to be consistent.

This fix adds integration tests to cover the changes.

Related docs (`docker run` and Remote APIs) have been updated.

This fix fixes 27921.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-04 09:43:10 -07:00
Justin Cormack
efa5e85cf7 Merge pull request #26276 from runcom/seccomp-conf
daemon: add a flag to override the default seccomp profile
2016-11-04 15:45:30 +00:00
Vincent Demeester
b4e14c6edc Merge pull request #27857 from vasil-yordanov/docker-service-hostname-2
Adding the hostname option to docker service command
2016-11-04 15:22:55 +01:00
Christopher Jones
732d1035d2 switch all go download links to https://golang.org/dl
this switches all go download links to use a redirect,
https://golang.org/dl/ instead of the direct source.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-04 09:03:41 -05:00
lixiaobing10051267
925c1427a8 add error information to distinguish different test scene
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-04 17:16:11 +08:00
lixiaobing10051267
56cca92922 modify URL because installation directory removed
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-04 16:40:15 +08:00
Steve Durrheimer
94863d8c63 Cleanup after moving all zsh completion logics for the new container command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:16 +01:00
Steve Durrheimer
6a662de965 Move zsh completion logic to new subcommand: wait
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:13 +01:00
Steve Durrheimer
b25603391c Move zsh completion logic to new subcommand: update
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:12 +01:00
Steve Durrheimer
07a3ccec0a Move zsh completion logic to new subcommand: top
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:10 +01:00
Steve Durrheimer
6aff1be430 Move zsh completion logic to new subcommand: stop
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:09 +01:00
Steve Durrheimer
d0e4f7fbe6 Move zsh completion logic to new subcommand: stats
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:07 +01:00
Steve Durrheimer
8e5285c283 Move zsh completion logic to new subcommand: start
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:05 +01:00
Steve Durrheimer
dcc5b72020 Move zsh completion logic to new subcommand: run
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:04 +01:00
Steve Durrheimer
1df32a4f6c Move zsh completion logic to new subcommand: rm
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:02 +01:00
Steve Durrheimer
64b546e7b8 Move zsh completion logic to new subcommand: restart
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:55:01 +01:00
Steve Durrheimer
fc6bd22725 Move zsh completion logic to new subcommand: rename
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:59 +01:00
Steve Durrheimer
4ffc37224d Move zsh completion logic to new subcommand: port
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:58 +01:00
Steve Durrheimer
e602bfbc34 Move zsh completion logic to new subcommand: pause, unpause
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:56 +01:00
Steve Durrheimer
44bb318161 Move zsh completion logic to new subcommand: ps
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:55 +01:00
Steve Durrheimer
28bd616212 Move zsh completion logic to new subcommand: logs
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:53 +01:00
Steve Durrheimer
45fdea257c Move zsh completion logic to new subcommand: kill
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:51 +01:00
Steve Durrheimer
e5424b656b Add zsh completion logic to new subcommand: inspect
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:50 +01:00
Steve Durrheimer
911ef73ee1 Move zsh completion logic to new subcommand: export
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:48 +01:00
Steve Durrheimer
ee27e97218 Move zsh completion logic to new subcommand: exec
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:47 +01:00
Steve Durrheimer
0632c34439 Move zsh completion logic to new subcommand: diff
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:45 +01:00
Steve Durrheimer
abf2f0087d Move zsh completion logic to new subcommand: create
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:44 +01:00
Steve Durrheimer
b067a59bfd Move zsh completion logic to new subcommand: cp
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:42 +01:00
Steve Durrheimer
89737ea253 Move zsh completion logic to new subcommand: commit
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:40 +01:00
Steve Durrheimer
d5ca5c1e08 Move zsh completion logic to new subcommand: attach
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:39 +01:00
Steve Durrheimer
a9443b7388 Add zsh completion for 'docker container' subcommands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:37 +01:00
Steve Durrheimer
431e9cb27c Rename containers complete function in zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-11-04 08:54:27 +01:00
Vincent Demeester
16bcc1afdd Merge pull request #28045 from vincentbernat/fix/inspect-short-description
cli: shorten description of "inspect" subcommand
2016-11-04 08:15:49 +01:00
Vincent Demeester
9f7cc7d032 Merge pull request #28035 from thaJeztah/add-test-for-long-loglines
add tests for long log-lines and trailing lines
2016-11-04 07:59:20 +01:00
lixiaobing10051267
1a43f5c396 Rectify Images display information for docker 1.10.3
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-11-04 13:04:20 +08:00
Aaron Lehmann
efa7068133 Run lint on most of api/types
The validate-lint script excludes any package names that match
api/types. However, the only subpackage that appears to cause issues is
api/types/container (due to stuttering names). Tighten the filtering so
that other code inside api/types is validated.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-11-03 19:08:24 -07:00
Alexander Morozov
c072347078 Merge pull request #27912 from LK4D4/vndr
project: use vndr for vendoring
2016-11-03 18:30:19 -07:00
Kunal Kushwaha
630613d69e correct handling of volumes while service update.
Updating a service to replace a volume is handled properly now.
Fixes bug#25772

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2016-11-04 10:15:18 +09:00
Brian Goff
7248742ae7 Merge pull request #28052 from mavenugo/nid
Handle NetworkDettach for the case of network-id
2016-11-03 21:00:37 -04:00
Victor Vieux
3e43fa28ec always add but hide experimental cmds and flags
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-03 17:31:12 -07:00
Brian Goff
d5c3eb0afb Merge pull request #28046 from tophj-ibm/make-debs-1610
[ppc64le] add yakkety yak to 'make deb'
2016-11-03 20:17:36 -04:00
Sebastiaan van Stijn
2793f198de Merge pull request #28000 from riyazdf/revert-27804
Revert "Update authz plugin list on failure."
2016-11-03 17:17:22 -07:00
Misty Stanley-Jones
a89f8f2d93 Merge pull request #28053 from gdevillele/pr_fix_docs_frontmatter_keywords_2
fix frontmatter keywords value type (string, instead of []string) in /docs/reference/
2016-11-03 17:16:40 -07:00
Misty Stanley-Jones
8956853398 Merge pull request #28049 from gdevillele/pr_fix_docs_frontmatter_keywords
fix frontmatter keywords value type (string, instead of []string)
2016-11-03 17:14:11 -07:00
Sebastiaan van Stijn
58a930d66b Merge pull request #26792 from mrunalp/bug/26790
Add SELinux options to security opt even when it is not empty
2016-11-03 17:04:36 -07:00
Sebastiaan van Stijn
6b3b9d53e1 Merge pull request #28021 from YuPengZTE/devString
Add “” for String
2016-11-03 17:03:56 -07:00
Sebastiaan van Stijn
f424b1d884 Merge pull request #27707 from FrenchBen/aws-logstream
Aws logstream
2016-11-03 16:16:02 -07:00
Madhu Venugopal
5f17e0f6c9 Handle NetworkDettach for the case of network-id
When a container is attached to an "--attachable" network, it strictly
forms the attacherKey using either the network-id or network-name
because at the time of attachment, the daemon may not have the network
downloaded locally from the manager. Hence, when the NetworkDettach is
called, it should use either network-name or network-id. This fix
addresses the missing network-id based dettachment case.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-11-03 15:56:35 -07:00
Riyaz Faizullabhoy
a64fc8eea3 Revert "Update authz plugin list on failure."
This reverts commit fae904af02.

Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-11-03 15:49:21 -07:00
Gaetan de Villele
248c699ec8 fix frontmatter keywords value type (string, instead of []string) in /docs/reference
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2016-11-03 15:48:30 -07:00
Alexander Morozov
f2614f2107 project: use vndr for vendoring
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-11-03 15:31:46 -07:00
Alexander Morozov
f54339dfea Merge pull request #27964 from dnephin/faster-validate
Faster validation scripts
2016-11-03 15:17:34 -07:00
Tianon Gravi
98c3e0c929 Merge pull request #28044 from tophj-ibm/update-ppc64le-make-deb
[ppc64le] update go download link, and improve comments
2016-11-03 14:42:32 -07:00
Madhu Venugopal
2d676d38a0 Merge pull request #28019 from sanimej/vendor
Vendoring libnetwork @9ab6e13
2016-11-03 14:35:28 -07:00
Gaetan de Villele
4aa6618acb fix frontmatter keywords value type (string, instead of []string)
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2016-11-03 14:21:33 -07:00
French Ben
3661510f7f Updated AWS logstream to understand tags
Signed-off-by: French Ben <frenchben@docker.com>
2016-11-03 13:49:40 -07:00
Brian Goff
02bc2e652b Merge pull request #27331 from Microsoft/jjh/spew
Add spew debugging
2016-11-03 16:36:20 -04:00
Daniel Nephin
9a2eb8b162 Add stubs for windows CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-03 14:24:58 -06:00
Daniel Nephin
22033e1003 Move validation out of hack/make
Allow each script to run directly without the hack/make.sh wrapper. These
scripts do not produce artifacts and do not benefit from the "bundles"
framework.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-03 14:24:22 -06:00
Mrunal Patel
4c10c2ded3 Ensure that SELinux Options are set when seccomp is already set
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-11-03 13:23:53 -07:00
Sebastiaan van Stijn
16f6b3e8a9 Merge pull request #27383 from runcom/authz-peercerts
pkg/authorization: send request's TLS peer certificates to plugins
2016-11-03 13:22:29 -07:00
Victor Vieux
e9158358e5 Merge pull request #28040 from vieux/fix_prune_container_msg
fix double [y/N] in container prune
2016-11-03 13:19:10 -07:00
Brian Goff
e6eef7eb49 Fix issue with cp to container volume dir
In some cases, attempting to `docker cp` to a container's volume dir
would fail due to the volume mounts not existing after performing a
bind-mount on the container path prior to doing a pivot_root.

This does not seem to be effecting all systems, but was found to be a
problem on centos.
The solution is to use an `rbind` rather than `bind` so that any
existing mounts are carried over.

The `MakePrivate` on `path` is no longer neccessary since we are already
doing `MakeRPrivate` on `/`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-03 16:01:15 -04:00
Christopher Jones
da382044d3 [ppc64le] add yakkety yak to 'make deb'
This adds 'make deb' support for yakkety yak on ppc64le

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-03 15:59:59 -04:00
Vincent Bernat
3443668e04 cli: shorten description of "inspect" subcommand
The short description should be kept short. Spanning on several lines is
a bit ugly. A user can still get more information in the manual or we
can expand the long description instead if we want (there is currently
none).

This reverts a bit of #26683.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2016-11-03 20:46:28 +01:00
Christopher Jones
629e85ad89 [ppc64le] update make deb go download link
Updates the ppc64le `make deb` trusty download link to be
consistent with the other Dockerfiles. Also minor clarification
to how we install go.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-11-03 15:26:28 -04:00
Santhosh Manohar
9cebccfb95 Fix IT case for network name validation
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-11-03 11:04:37 -07:00
Santhosh Manohar
8479a765dd Vendoring libnetwork @9ab6e13
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-11-03 10:58:47 -07:00
Victor Vieux
eadb5b315b fix double [y/N] in container prune
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-03 10:33:17 -07:00
Sebastiaan van Stijn
b2641bd9df Merge pull request #27910 from dperny/node_ip_in_raft
Auto-detect node IP address
2016-11-03 10:30:55 -07:00
John Howard
ecf405b64d Merge pull request #27873 from duglin/fixContChar
Fix case where \ at EOF made the builder ignore the command
2016-11-03 10:30:15 -07:00
Anusha Ragunathan
cf55397e13 Merge pull request #27164 from cpuguy83/carry_24205
Fix volume creates blocked by stale cache entries
2016-11-03 10:28:13 -07:00
Victor Vieux
6ee25e6277 Merge pull request #27968 from vieux/add_volume_test
add test plugin install --disable and volume ls
2016-11-03 10:22:52 -07:00
John Howard
4c62b12636 Spew debugging
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-03 10:05:11 -07:00
Sebastiaan van Stijn
ee34dd9f8a add tests for long log-lines and trailing lines
this adds new tests to test logging of long log-lines
(without newlines), and trailing log-lines.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-03 10:01:00 -07:00
John Howard
3b6cd20b0b Vendor davecgh/gospew @ 6d212880
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-03 09:35:58 -07:00
Brian Goff
6a0bdffc1a Fix volume creates blocked by stale cache entries
When a conflict is found in the volume cache, check with the driver if
that volume still actually exists.
If the volume doesn't exist, purge it from the cache and allow the
create to happen.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-03 11:56:44 -04:00
Justin Cormack
81683e898a Merge pull request #27599 from estesp/getent-path
Add support for looking up user/groups via `getent`
2016-11-03 15:11:42 +00:00
Drew Erny
9bcf623719 added node ip autodetection
Manager now auto-detects the address that an agent connects to the cluster
from and stores it. This is useful for many kinds of internal cluster
management tools.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-11-03 08:10:14 -07:00
Doug Davis
eaf0b5708f Fix case where \\ at EOF made the builder ignore the command
Came from looking at issue #27545

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-11-03 05:48:49 -07:00
Vincent Demeester
aa90a531c5 Merge pull request #27934 from yuexiao-wang/volume-create
Update descriptions for the docker volume sub-command, such as  create,list and inspect
2016-11-03 03:12:10 -07:00
yuexiao-wang
cf5fadeb0c Update for docker volume create
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-03 22:40:04 +08:00
Vincent Demeester
e93f84a48b Merge pull request #26825 from AkihiroSuda/mountcli
cli: add `--mount` to `docker run`
2016-11-03 03:11:44 -07:00
Nikolay Milovanov
b222aa1a58 Adding the hostname option to docker service command
Signed-off-by: Nikolay Milovanov <nmil@itransformers.net>
2016-11-03 10:02:14 +00:00
yupeng
167daf5060 Add for String
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-11-03 16:15:26 +08:00
Vincent Demeester
19b5b4aada Merge pull request #27951 from LK4D4/dump_always_to_file
daemon: always dump stack to file
2016-11-03 00:35:06 -07:00
Akihiro Suda
273eeb813c cli: add --mount to docker run
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-11-03 07:08:59 +00:00
milindchawre
51012aa0af Fixes #27798 : Update help for --blkio-weight parameter
Signed-off-by: milindchawre <milindchawre@gmail.com>
2016-11-03 06:42:15 +00:00
Vincent Demeester
0f9ba0ea70 Merge pull request #28016 from thaJeztah/dont-include-powershell-in-tgz
Don't include PowerShell completions in tgz
2016-11-02 23:32:48 -07:00
Vincent Demeester
ef915fd036 Add support for Names and ID in stats format
This adds support to display names or id of container instead of what
was provided in the request.

This keeps the default behavior (`docker stats byname` will display
`byname` in the `CONTAINER` colmun and `docker stats byid` will display
the id in the `CONTAINER` column) but adds two new format directive.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-03 07:20:46 +01:00
Vincent Demeester
1f4137857f Merge pull request #28006 from dmcgowan/clean-overlay2-layerstore
Cleanup invalid code in overlay2 and layer store
2016-11-02 23:16:38 -07:00
Vincent Demeester
5c9e38b73f Merge pull request #27889 from Microsoft/jjh/windockerfile
Windows: dockerfile tweaks
2016-11-02 23:08:27 -07:00
Vincent Demeester
9a6f26ce55 Merge pull request #27973 from yuexiao-wang/add-stack
Add stack service and fix typos
2016-11-02 23:04:54 -07:00
yuexiao-wang
0a56e81ca4 Add stack service and fix typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-03 19:21:27 +08:00
Sebastiaan van Stijn
1be4b0e0cc Don't include PowerShell completions in tgz
The PowerShell completion script was outdated,
and removed from this repository in
65fdbf0210.

A more up to date implementation can be found
here; https://github.com/samneirinck/posh-docker

Removing this script from the tgz

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-02 21:51:58 -07:00
Brian Goff
877c860428 Merge pull request #27849 from miaoyq/clean-up-redundant-constants
Clean up the constants in 'libcontainerd' that are no longer in use
2016-11-02 23:01:59 -04:00
John Howard
cb352501af Merge pull request #27963 from darrenstahlmsft/RenameDelete
Windows: Rename layers before deletion
2016-11-02 19:20:39 -07:00
Sebastiaan van Stijn
11605903d0 Merge pull request #27746 from Microsoft/jjh/pscompletion
Redirect powershell completion
2016-11-02 19:08:38 -07:00
Sebastiaan van Stijn
a1a93f631f Merge pull request #28007 from justincormack/check-config-error
Make the check-config script return success or failure
2016-11-02 18:23:59 -07:00
Brian Goff
666377b23e Merge pull request #27986 from milindchawre/fix_21803
Fixes #21803 : Removing unused configuration in daemon/logger/fluentd
2016-11-02 21:03:15 -04:00
Sebastiaan van Stijn
d83f56ee5f Merge pull request #27979 from allencloud/more-specific-in-service-scale-description
add replicated in service scale command description
2016-11-02 18:01:59 -07:00
Victor Vieux
7236e42046 add test plugin install --disable and volume ls
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-11-02 17:03:46 -07:00
Justin Cormack
6d116ffbbb Make the check-config script return success or failure
Although primarily a human readable script, it is quite useful
to return success or failure from this script so it can be used
as a basic test.

Fail if any check fails, including some that are optional,
other than the storage driver tests, where only one needs to
succeed, so the system has at least one workable storage driver.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-02 23:23:52 +00:00
Derek McGowan
6622cc970e Cleanup invalid code in overlay2 and layer store
The overlay2 change ensures that the correct path is used to resolve the
symlink. The current code will not fail since the symlinks are always given
a value of "../id/diff" which ends up ignoring the incorrect "link" value.
Fix this code so it doesn't cause unexpected errors in the future if the
symlink changes.

The layerstore cleanup ensures that the empty layer returns a tar stream if
the provided parent is empty. Any value other than empty still returns an
error since the empty layer has no parent. Currently empty layer is not
used anywhere that TarStreamFrom is used but could break in the future if
this function is called.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-02 16:13:53 -07:00
Sebastiaan van Stijn
ed1d57c5f9 Merge pull request #27838 from dperny/swarm_support_npipe
Support Windows Named Pipe for Swarm Mode
2016-11-02 16:00:38 -07:00
Misty Stanley-Jones
8f6fd3687d Merge pull request #27999 from gdevillele/fix_frontmatter_keywords
fix frontmatter in reference md files
2016-11-02 15:00:40 -07:00
Victor Vieux
42ef2bd4fe Merge pull request #27990 from crosbymichael/grimes-11-2
Update init to fe069a03affd2547fdb05e5b8b07202d2e4
2016-11-02 14:27:31 -07:00
Gaetan de Villele
8d61e36edc fix frontmatter in reference md files
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2016-11-02 14:23:27 -07:00
Tibor Vass
1e51f99684 Merge pull request #27918 from dmcgowan/use-system-certs
Merge system certificate pool with custom certificates
2016-11-02 13:51:58 -07:00
Drew Erny
5b6c565f74 use named pipe on windows
Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-11-02 13:47:35 -07:00
Antonio Murdaca
b237189e6c daemon: add a flag to override the default seccomp profile
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-11-02 21:41:29 +01:00
Anusha Ragunathan
4a955dc4d4 Merge pull request #27914 from riyazdf/check-plugins-on-startup
Check authz plugins on daemon startup, add v2 integration tests
2016-11-02 13:38:32 -07:00
Vincent Demeester
5e5c7d5216 Merge pull request #27980 from allencloud/change-description-in-node-rm-force-flag
node rm can be applied on not only active node
2016-11-02 13:35:48 -07:00
Alexander Morozov
197befe047 Merge pull request #27995 from vdemeester/vendor-swarmkit-for-templating
Update swarmkit to 4dfc88ccce14ced6f0a6ea82d46dca004c6de0e2
2016-11-02 13:32:13 -07:00
Tibor Vass
ecd806cdf1 Merge pull request #27991 from Microsoft/jjh/testapiclientversionoldnotsupported
Fix TestAPIClientVersionOldNotSupported
2016-11-02 13:10:04 -07:00
Vincent Demeester
cff3cdd35a Update swarmkit to 4dfc88ccce14ced6f0a6ea82d46dca004c6de0e2
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-02 19:43:27 +01:00
Michael Crosby
d0d0f982f9 Merge pull request #27989 from dnephin/fix-swagger-gen
Fix swagger-gen
2016-11-02 11:40:12 -07:00
Alexander Morozov
e5d36586ac daemon: always dump stack to file
Dumping to log is unusable in 90% of cases and inspecting file is much
more convenient.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-11-02 11:22:43 -07:00
Kenfe-Mickaël Laventure
fae5a9e053 Merge pull request #27962 from epeterso/patch-2
remove world/group writable perms
2016-11-02 11:22:40 -07:00
Riyaz Faizullabhoy
2b045027ce Check authz plugins are valid on daemon startup, add integration tests
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-11-02 11:20:54 -07:00
Justin Cormack
b06f25496d Merge pull request #27835 from tophj-ibm/update-install-script-for-p-and-z
Fix install script for multiarch
2016-11-02 17:14:24 +00:00
John Howard
29d21388d5 Fix TestAPIClientVersionOldNotSupported
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-11-02 09:43:29 -07:00
Michael Crosby
131514dad6 Update init to fe069a03affd2547fdb05e5b8b07202d2e4
diff:

```patch
diff --git a/Makefile b/Makefile
index 0b2b063..70df01b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,4 @@
+GIT_VERSION := $(shell git describe --abbrev=40 --long --dirty --always --tags)

 all:
-	gcc -O2 -o init -static grimes.c
+	gcc -O2 -DVERSION=\"$(GIT_VERSION)\" -o init -static grimes.c
diff --git a/grimes.c b/grimes.c
index d0f836b..ffeea98 100644
--- a/grimes.c
+++ b/grimes.c
@@ -29,7 +29,7 @@ typedef struct reaper_t {
 } reaper_t;

 // reaper_new initializes the reaper with the provided process.
-// it also sets up the signal handlers and child handlers for restore
+// it also sets up the signal handlers and child handlers for restore
 // when the child is execed
 int reaper_new(reaper_t * reaper, process_t * process)
 {
@@ -57,7 +57,7 @@ int reaper_new(reaper_t * reaper, process_t * process)
 	return 0;
 }

-// reaper_exit closes the reaper's signalfd and exits with the
+// reaper_exit closes the reaper's signalfd and exits with the
 // child's exit status
 void reaper_exit(reaper_t * reaper, int status)
 {
@@ -68,11 +68,11 @@ void reaper_exit(reaper_t * reaper, int status)
 	exit(WEXITSTATUS(status));
 }

-// reaper_reap reaps any dead processes.  If the process that is reaped
+// reaper_reap reaps any dead processes.  If the process that is reaped
 // is the child process that we spawned get its exit status and exit this program
 int reaper_reap(reaper_t * reaper)
 {
-	int status, child_exited, child_status = 0;
+	int status = 0, child_exited = 0, child_status = 0;
 	for (;;) {
 		pid_t pid = waitpid(-1, &status, WNOHANG);
 		switch (pid) {
@@ -140,6 +140,12 @@ int main(int argc, char **argv)
 {
 	process_t process;
 	reaper_t reaper;
+
+	if (argc == 2 && !strcmp(argv[1], "--version")) {
+		printf("grimes version %s\n", VERSION);
+		exit(0);
+	}
+
 	if (reaper_new(&reaper, &process) != 0) {
 		bail("initialize reaper %s", strerror(errno));
 	}

```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-02 09:27:54 -07:00
Daniel Nephin
252963bd3f Fix swagger-gen.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-11-02 10:48:34 -04:00
Alexander Morozov
78a83a2269 Merge pull request #27932 from thaJeztah/promote-overlay
promote overlay(2) graphdriver
2016-11-02 07:00:49 -07:00
Akihiro Suda
e448a32192 Merge pull request #27974 from yongtang/27969-duplicate-bind-mount
Fix issue related to duplicate identical bind mounts for `docker run`
2016-11-02 20:26:25 +09:00
milindchawre
3463bbcc71 Fixes #21803 : Removing unused configuration in daemon/logger/fluentd
Signed-off-by: milindchawre <milindchawre@gmail.com>
2016-11-02 11:11:02 +00:00
Vincent Demeester
ebf10dc5b0 Merge pull request #27883 from mavenugo/na
Copy only the relevant endpoint configs from Attachable config
2016-11-02 11:50:31 +01:00
allencloud
002262d6f5 node rm can be applied on not only active node
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-02 17:22:04 +08:00
Vincent Demeester
6740bc5895 Merge pull request #27965 from dmcgowan/remove-rw-tar-stream-from
Remove TarStreamFrom from RWLayer interface
2016-11-02 10:18:20 +01:00
Vincent Demeester
bcdce2a6b0 Merge pull request #27705 from dmcgowan/fix-27298
Ensure opaque directory permissions respected
2016-11-02 10:13:30 +01:00
allencloud
b9fdbbad61 add replicated in service scale command description
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-11-02 16:15:57 +08:00
Sebastiaan van Stijn
f96d45dc8a Merge pull request #27948 from WeiZhang555/consistent-filters
Replace all "Filter" field with "Filters" for consistency
2016-11-02 00:53:15 -07:00
Sebastiaan van Stijn
85da2562f4 Merge pull request #27862 from crosbymichael/metrics-docs
Add metrics docs to cli reference
2016-11-02 00:41:14 -07:00
Vincent Demeester
68a981105f Merge pull request #27848 from hqhq/remove_armhf_in_aarch64
Remove legacy armhf things in aarch64 Dockerfile
2016-11-02 08:09:59 +01:00
Sebastiaan van Stijn
d1fe79ca84 Merge pull request #27869 from bltavares/nuke-when-graphdir-is-a-mount
Nuke when graphdir is a mount
2016-11-01 23:21:49 -07:00
Jana Radhakrishnan
849e345e2c Retry AttachNetwork when it fails to find network
When trying to attach to swarm scope network for an unmanaged container
sometimes even if attaching to network succeeds, we may not find the
network because some other container which was using the network went
down and removed the network. So if it is not found, try to detach and
reattach to re-download the network from the manager.

Fixes #26588

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-11-01 21:46:24 -07:00
Sebastiaan van Stijn
2c43762cf2 Merge pull request #27942 from yuexiao-wang/remove-const
Remove some redundant consts
2016-11-01 20:43:50 -07:00
yuexiao-wang
6b412d4fd3 Remove some redundant consts
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-11-02 16:42:42 +08:00
Sebastiaan van Stijn
b998088145 Merge pull request #27864 from vdemeester/add-statsformat-to-configfile
Add StatsFormat to the config.json file
2016-11-01 20:32:13 -07:00
Yong Tang
90ce6de50b Fix issue related to duplicate identical bind mounts for docker run
This fix tries to address the issue raised in 27969 where
duplicate identical bind mounts for `docker run` caused additional volumes
to be created.

The reason was that in `runconfig`, if duplicate identical bind mounts
have been specified, the `copts.volumes.Delete(bind)` will not truly
delete the second entry from the slice. (Only the first entry is deleted).

This fix fixes the issue.

An integration test has been added to cover the changes

This fix fixes 27969.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-11-01 20:31:34 -07:00
Sebastiaan van Stijn
b5589fba89 Merge pull request #27855 from justincormack/check-ext3
Do not warn in check-config script about ext3 if provided by ext4
2016-11-01 20:21:48 -07:00
Darren Stahl
be68006d19 Windows: Rename layers before deletion
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-11-01 18:05:09 -07:00
Tibor Vass
1966f8e09d Merge pull request #27920 from mavenugo/npp
Basic IT for plugin-v2 network driver
2016-11-01 17:46:06 -07:00
Tibor Vass
0aefcd6ab6 Merge pull request #27960 from anusha-ragunathan/plugin_teardown
Add plugin cleanup as part of standard TearDownTest.
2016-11-01 17:36:51 -07:00
Bruno Tavares
5f98b97749 Nuke when graphdir is a mount
Previously, when the graphdir was a root of a mountpoint, we would not
be able to cleanup the graphdir, as the script would umount in case
target dir is a mount itself

```/etc/mtab
/dev/xvdc1 /var/lib/docker btrfs
```

When running the script, the graphdir would be unmounted and it would
remove a (possibly) empty folder.

```
Nuking /var/lib/docker ...
  (if this is wrong, press Ctrl+C NOW!)

  + sleep 10

  + umount -f /var/lib/docker
  + rm -rf /var/lib/docker
  ```

This PR includes the necessary changes to nuke the folder on this
scenario, including when the graphdir is a btrfs mount iself.

Signed-off-by: Bruno Tavares <btavare@thoughtworks.com>
2016-11-01 22:22:25 -02:00
Tibor Vass
cc8b8ce0b3 Merge pull request #27924 from vieux/prevent_panic_volume_plugin_disable
prevent panic when docker build & volume plugin is disabled
2016-11-01 14:57:52 -07:00
Derek McGowan
8625d25351 Remove TarStreamFrom from RWLayer interface
RWLayers do not implement the tar stream from, moved the
definition to Layer instead of TarStreamer

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-11-01 14:44:27 -07:00
Michael Crosby
70459d6f1e Merge pull request #27908 from Microsoft/jjh/fix27601APIVersion
Windows: Require REST 1.25 or later
2016-11-01 14:32:32 -07:00
Michael Crosby
74bdacb908 Merge pull request #27953 from thaJeztah/fix-deprecation-version
Update deprecation versions for "email" and colon in "security options"
2016-11-01 14:31:32 -07:00
Michael Crosby
22f3e43e9a Merge pull request #22641 from cpuguy83/build_finalization
Adds ability to flatten image after build
2016-11-01 14:30:18 -07:00
epeterso
3ec8fed747 remove world/group writable perms
change files from being written with group and world writable permissions.

Signed-off-by: epeterso <epeterson@breakpoint-labs.com>
2016-11-01 16:18:15 -04:00
Anusha Ragunathan
3e85271a64 Add plugin cleanup as part of standard TearDownTest.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-11-01 11:17:33 -07:00
Alexander Morozov
bf16fa47b7 Merge pull request #27929 from daehyeok/logrus_refactoring
Fix logrus formatting
2016-11-01 11:12:46 -07:00
Brian Goff
362369b4bb Adds ability to squash image after build
Allow built images to be squash to scratch.
Squashing does not destroy any images or layers, and preserves the
build cache.

Introduce a new CLI argument --squash to docker build
Introduce a new param to the build API endpoint `squash`

Once the build is complete, docker creates a new image loading the diffs
from each layer into a single new layer and references all the parent's
layers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-11-01 13:41:59 -04:00
Sebastiaan van Stijn
e41a39dbae Update deprecation versions for "email" and colon in "security options"
These features were originally scheduled
for removal in docker 1.13, but we changed
our deprecation policy to keep features
for three releases instead of two.

This updates the deprecation version
to match the deprecation policy.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-11-01 09:12:27 -07:00
Doug Davis
4f347e2db2 Merge pull request #27926 from miaoyq/optimized-indentation-of-codes-and-fix-two-typos
Optimized the indentation of codes and fix two typos
2016-11-01 11:36:53 -04:00
Zhang Wei
89a6966726 Replace all "Filter" field with "Filters" for consistency
In file `api/types/client.go`, some of the "*Options{}" structs own a
`Filters` field while some else have the name of `Filter`, this commit
will rename all `Filter` to `Filters` for consistency. Also `Filters`
is consistent with API with format `/xxx?filters=xxx`, that's why
`Filters` is the right name.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-11-01 23:09:30 +08:00
Sebastiaan van Stijn
ad4cce1573 Merge pull request #27931 from thaJeztah/add-akihiro-to-maintainers
add Akihiro to maintainers
2016-11-01 07:52:19 -07:00
Doug Davis
f8d5d65fb8 Merge pull request #27412 from loftylabs/26249-make-unused-args-warning
Convert Unused ARG error to warning
2016-11-01 08:47:03 -04:00
Doug Davis
28dfeec238 Merge pull request #27930 from YuPengZTE/devLogout
Align with other cli descriptions
2016-11-01 08:39:04 -04:00
Sebastiaan van Stijn
299beff1c4 promote overlay(2) graphdriver
Now that overlay has matured, using
overlay is a better choice than devicemapper
on loopback devices.

This change promotes overlay in the
priority list. It also adds the
overlay2 graphdriver to the list
because overlay2 (if supported)
should be preferred over overlay.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-31 23:32:10 -07:00
Sebastiaan van Stijn
bc571700d2 add Akihiro to maintainers
This adds Akihiro as a maintainer for
docker/docker, as was proposed and
voted on the maintainers mailinglist.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-31 23:06:05 -07:00
yupeng
06f1602374 Align with other cli descriptions
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
2016-11-01 13:41:49 +08:00
Daehyeok Mun
fa710e504b Fix logrus formatting
This fix tries to fix logrus formatting by removing `f` from
`logrus.[Error|Warn|Debug|Fatal|Panic|Info]f` when formatting string
is not present.

Fixed issue #23459

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2016-10-31 22:05:01 -06:00
Addam Hardy
f150f42009 Convert Unused ARG error to warning
Signed-off-by: Addam Hardy <addam.hardy@gmail.com>
2016-10-31 21:42:50 -05:00
Vincent Demeester
d8d33148d8 Merge pull request #27916 from dnephin/refactor-client
Refactor client/request.go
2016-11-01 03:39:06 +01:00
Yanqiang Miao
a9b6319e67 Optimized the indentation of codes and fix two typos
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-11-01 10:35:18 +08:00
Victor Vieux
34f4b197b8 prevent plugin when volume plugin is disabled
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-31 17:59:45 -07:00
Madhu Venugopal
259441c027 Basic IT for plugin-v2 network driver
Since the plugin APIs have not changed for local-scoped network drivers
between plugin-v1 and v2, a simple test to validate the bootstrapping
and network creation APIs would suffice.

Any network driver specific API validations are handled independent of
plugin v1 or v2 format.

Using a sample v2 network plugin :
https://github.com/mavenugo/test-docker-netplugin/

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-31 15:43:50 -07:00
Michael Crosby
66c2549be3 Add metrics docs to cli reference
Fixes #27843

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-31 15:34:52 -07:00
Tibor Vass
8cced87022 Merge pull request #26471 from yongtang/22717-workdir-windows
Use `filepath.Clean` in `normaliseWorkdir` for windows
2016-10-31 15:02:18 -07:00
Derek McGowan
66a5e34cc4 Use system ca pool from tlsconfig
Remove deprecated config from local pkg/tlsconfig.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-10-31 14:52:07 -07:00
Daniel Nephin
d32ffb72b7 Refactor client/request
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 17:36:49 -04:00
John Howard
f811d5b128 Windows: Require REST 1.25 or later
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-31 14:33:59 -07:00
Sebastiaan van Stijn
c600cfa93c Merge pull request #27901 from ripcurld00d/load_stdin_valid
Validate docker-load receives a tar file
2016-10-31 14:23:18 -07:00
Sebastiaan van Stijn
a13fc3fd36 Merge pull request #26683 from yuexiao-wang/update-inspect
Modify short and flags for docker inspect
2016-10-31 13:39:59 -07:00
Derek McGowan
fd82240e0a Update go connections vendor
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-10-31 13:38:40 -07:00
Yong Tang
6f7e8d1d7f Use filepath.Clean in normaliseWorkdir for windows
As is seem in the comment of `normaliseWorkdir` for windows:
```
...
	//	WORKDIR c:\\foo                 --> C:\foo
	//	WORKDIR \\foo                   --> C:\foo
...
```

However, this is not the case in the current implementation because
`filepath.FromSlash` is used and `FromSlash` does not replace multiple
separator with a single one (`file.Clean` does).
So `normaliseWorkdir` does not truly normalize workdir.

This fix changes the implementation of `normaliseWorkdir` and use
`filepath.Clean` instead of `filepath.FromSlash`.

Additional test cases have been added to the unit test.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-31 13:27:05 -07:00
Brian Goff
2fc760496b Merge pull request #27648 from dnephin/swagger-gen-operations
Generated more api types from swagger spec
2016-10-31 15:33:16 -04:00
Sebastiaan van Stijn
88c8252686 Merge pull request #27907 from vdemeester/pr-27822
Updating aws-sdk-go to version 1.4.22
2016-10-31 11:21:06 -07:00
Vincent Demeester
a0629eab73 Merge pull request #27884 from Microsoft/jjh/copyfiletodot
Windows: Fix COPY file . after WORKDIR
2016-10-31 17:54:44 +01:00
John Howard
5add621331 Windows: dockerfile tweaks
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-31 09:39:55 -07:00
Antonio Murdaca
1452c1cc71 pkg/authorization: send request's TLS peer certificates to plugins
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-31 17:37:19 +01:00
Laura Frank
ba4e0c328f Updating aws-sdk-go to version 1.4.22
Signed-off-by: Laura Frank <ljfrank@gmail.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-31 09:23:45 -07:00
Brian Goff
0cdcb9ea73 Merge pull request #27782 from tombooth/27779-decouple-watcher-close
Decouple removing the fileWatcher from reading
2016-10-31 11:50:26 -04:00
Daniel Nephin
181562c2e5 Generate ContainerWait response from the swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:19:53 -04:00
Daniel Nephin
2732b8a9bb generate AuthResponse type from swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:16:03 -04:00
Daniel Nephin
f196cf6a09 Generate container update response from swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:16:02 -04:00
Daniel Nephin
c8d5e7203e Use IDResponse for container create response.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:16:02 -04:00
Daniel Nephin
01883c136d Add an IDResponse type
Generated from a swagger spec and use it for container exec response

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:16:02 -04:00
Daniel Nephin
bad849fc82 Generate container create response from swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:16:02 -04:00
Daniel Nephin
29df3bdb11 Use a config to generate swagger api types
Moves the resposne types to a package under api/types

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
8f81bb92a3 Update to inline comments.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
52a4737319 Cleanup network swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
5c2498fd3c Generate VolumesCreateRequest from the swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
bc75738545 Generate ErrorResponse struct from swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
84a39c0830 Cleanup volume swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Daniel Nephin
d459e83b1c Generate VolumeList response from the swagger spec
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-31 11:13:41 -04:00
Wentao Zhang
64d0592d41 fix volume driver deletions prevents recreation of volume issue
Signed-off-by: Wentao Zhang <zhangwentao234@huawei.com>
2016-10-31 10:24:29 -04:00
Christopher Jones
28bdf08e0a Fix install script for multiarch
The current check for uname -m just looks for *64 which hits a lot
more cases than it should (mips for ex), and ignores a few that it shouldn't.

This check will run the install script if on a supported architecture
(x86_64 or amd64) or an unofficial one with a docker repository
(armv6l or armv7l) and will give a more accurate error on an unofficial
64-bit architecture that isn't in the docker repository.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-10-31 09:38:26 -04:00
Boaz Shuster
4426189b35 Validate docker-load receives a tar file
To load an image from a tar file, you can specify
the tar file in the -i/--input option:
docker load -i image_1.tar

or using stdin:

docker load < image_1.tar
cat image_1.tat | docker load

If the image file isn't given the `docker load`
command gets stuck.

To avoid that, the load makes sure the CLI input is
not a terminal or the `--input` option was set.
If not then an error message is shown.

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2016-10-31 15:30:55 +02:00
yuexiao-wang
cc03984e17 Modify short and flags for docker inspect
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-31 18:11:25 +08:00
John Howard
f0b93b6ed8 Windows: Fix COPY file . after WORKDIR
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-30 13:12:27 -07:00
Madhu Venugopal
c5dd4d70c6 Copy only the relevant endpoint configs from Attachable config
When a container is run on a --attachable network, the endpoint
configs passed by the user were incorrectly overwritten.
Copy the relevant configs instead of overwriting the entire configs.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-29 17:11:30 -07:00
Vincent Demeester
17aaa0890a Merge pull request #27879 from sdurrheimer/zsh-completion-ps-health-filter
Add zsh completion for 'docker ps --filter health='
2016-10-29 19:23:55 +02:00
Sebastiaan van Stijn
e1369f2f39 Merge pull request #27881 from albers/completion-ps--filter-health
Add bash completion for `docker ps --filter health`
2016-10-29 10:05:24 -07:00
Doug Davis
72ec0f3488 Merge pull request #27878 from hqhq/fix_typos
Fix bunch of typos
2016-10-29 07:50:45 -04:00
Harald Albers
5e6a59b59f Add bash completion for docker ps --filter health
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-29 04:26:08 -07:00
Steve Durrheimer
8df3d6a2a7 Add zsh completion for 'docker ps --filter health='
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-29 12:13:29 +02:00
Qiang Huang
e6866492c4 Fix bunch of typos
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-10-29 15:03:26 +08:00
Vincent Demeester
515e5dade7 Merge pull request #24698 from jhorwit2/jah/clist-health-filter-format
Fixes #24022 - Adds container health support to docker ps filter/format
2016-10-29 06:56:06 +02:00
Sebastiaan van Stijn
507b4e9e4a Merge pull request #27874 from duglin/addComment
Add a comment about how we don't mkdir during WORKDIR directly
2016-10-28 21:03:47 -07:00
Doug Davis
9f79043a63 Add a comment about how we don't mkdir during WORKDIR directly
Just to help the next time someone goes looking for it while debugging.
Like @jhowardmsft and I did while looking at #27545.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-10-28 19:24:37 -07:00
Vincent Demeester
1fb9c4e891 Merge pull request #27840 from estesp/add-userns-status-to-info
Add "userns" to `docker info` security options output
2016-10-29 02:58:34 +02:00
Sebastiaan van Stijn
cff976a0b8 Merge pull request #27844 from LK4D4/fix_build_rpm
project: fix build rpm
2016-10-28 16:50:58 -07:00
Sebastiaan van Stijn
a0eae7e3c0 Merge pull request #27867 from Microsoft/jjh/difftest
Windows: Port a docker diff test
2016-10-28 16:44:03 -07:00
Sebastiaan van Stijn
a9753c333f Merge pull request #26857 from thaJeztah/docs-add-missing-IPAM-options
docs: add missing IPAM options to API docs
2016-10-28 16:25:23 -07:00
Sebastiaan van Stijn
d69fce79f9 docs: add missing IPAM options to API docs
Commit dd28ded711
brought in new networking features and API, but
did not document the available IPAM options.

This adds a description of those options.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-28 16:18:49 -07:00
Phil Estes
ae74092e45 Add "userns" to docker info security options output
If user namespaces is enabled on the daemon, reveal that via docker info
by adding "userns" to the list of security options reported by the
info endpoint.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-10-28 19:16:57 -04:00
Phil Estes
6cb8392be9 Add support for looking up user/groups via getent
When processing the --userns-remap flag, add the
capability to call out to `getent` if the user and
group information is not found via local file
parsing code already in libcontainer/user.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-10-28 19:06:07 -04:00
Anusha Ragunathan
406c19f096 Merge pull request #27804 from anusha-ragunathan/blacklist-authz
Blacklist authz plugins that failed.
2016-10-28 15:06:20 -07:00
Vincent Demeester
9ddbaddedc Merge pull request #27851 from yuexiao-wang/add-format
Add --format to man and fix some typos
2016-10-28 23:58:20 +02:00
Alexander Morozov
bf0fe87fe6 project: fix build rpm
* change workdir for accessing install-binaries.sh
* use other gopath for binaries to preserve sources
* add sources of proxy and grimes to rpc spec
* use dynamic proxy with -linkmode external in deb and rpm

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-28 14:34:17 -07:00
Sebastiaan van Stijn
0fb23fb6bc Merge pull request #27871 from yongtang/10282016-docs-max-concurrent-downloads-uploads
Update docs for dockerd.md about `max-concurrent-downloads/max-concurrent-uploads`
2016-10-28 14:32:48 -07:00
Sebastiaan van Stijn
f190c7053e Merge pull request #27870 from vdemeester/update-events-manpage-with-filters
Complete docker-events man page with filter list…
2016-10-28 14:22:02 -07:00
Yong Tang
1f660febbd Update docs for dockerd.md about max-concurrent-downloads/max-concurrent-uploads
It seems that `max-concurrent-downloads` and `max-concurrent-uploads`
are supported in Windows for `config.json`. Though that was not
mentioned in the docs for dockerd.md.

This fix adds the following to the example `config.json` file for Windows:
```
    "max-concurrent-downloads": 3,
    "max-concurrent-uploads": 5,
```

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-28 14:11:18 -07:00
Sebastiaan van Stijn
beccf0f898 Merge pull request #27863 from Microsoft/jjh/clarifyworkdir
Windows: Clarify WORKDIR in docs
2016-10-28 14:07:03 -07:00
Michael Crosby
91f477b830 Merge pull request #27800 from lilybguo/group-add-rm
Service create --group param
2016-10-28 14:01:53 -07:00
Sebastiaan van Stijn
c5adc271b2 Merge pull request #24725 from yongtang/24693-dockerfile-empty-line-after-escape
Fix dockerfile parser with empty line after escape
2016-10-28 13:53:15 -07:00
Lily Guo
2f58494ae6 Service create --group param
--group-add was used for specifying groups for both service create
and service update. For create it was confusing since we don't have
an existing set of groups. Instead I added --group to create, and
moved --group-add to service update only, like --group-rm
This deals with issue 27646

Signed-off-by: Lily Guo <lily.guo@docker.com>

Update flag documentation

Specify that --group, --group-add and --groupd-rm refers to
supplementary user groups

Signed-off-by: Lily Guo <lily.guo@docker.com>

Fix docs for groups and update completion scripts

Signed-off-by: Lily Guo <lily.guo@docker.com>
2016-10-28 13:26:31 -07:00
Derek McGowan
daa7019517 Ensure opaque directory permissions respected
When converting an opaque directory always keep the original
directory tar entry to ensure directory is created with correct
permissions on restore.

Closes #27298

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-10-28 13:13:10 -07:00
Victor Vieux
c73dd3fe7b Merge pull request #27758 from anusha-ragunathan/fix-overflow
Fix stack overflow in ErrInAdequateCapacity.
2016-10-28 13:10:54 -07:00
Vincent Demeester
7d1fa71675 Complete docker-events man page with filter list…
… and examples.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-28 13:07:00 -07:00
Misty Stanley-Jones
010ee5a8e8 Merge pull request #27819 from lixiaobing10051267/masterDirInvalid
fill all the rest invalid address because no related directory
2016-10-28 13:05:18 -07:00
Misty Stanley-Jones
cfe7cb0292 Merge pull request #27815 from lixiaobing10051267/masterDocsDel
fill the complete address because of no userguide directory
2016-10-28 13:04:04 -07:00
Vincent Demeester
f860289131 Merge pull request #27369 from cezarsa/hc
Add --health-* flags to service create and update
2016-10-28 21:59:52 +02:00
Josh Horwitz
1a149a0ea5 Adds container health support to docker ps filter
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-10-28 15:43:04 -04:00
John Howard
9aa7501696 Merge pull request #27842 from Microsoft/jjh/supportdiff
Windows: support docker diff
2016-10-28 12:41:08 -07:00
John Howard
5cab19a08b Windows: Port a docker diff test
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-28 12:21:54 -07:00
Darren Stahl
07cd19655b Stop holding container lock while waiting on streams
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-28 12:19:22 -07:00
Brian Goff
f81c538fec Merge pull request #27700 from Microsoft/jjh/servicerestart
Windows: Set service recovery options
2016-10-28 12:06:24 -07:00
Brian Goff
f391f9c3b9 Merge pull request #27860 from vdemeester/update-go-connections-vendor
Update go-connections vendoring
2016-10-28 12:01:59 -07:00
Dieter Reuter
8b8d27fb78 Include distro name into .deb filename
Right now we do have a problem to store the .debs for raspbian-jessie and
debian-jessie distro version for armhf arch. Both .debs have the same filename
so we have to include the distro version, too.

Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-10-28 20:59:49 +02:00
Vincent Demeester
12cae3a590 Add StatsFormat to the config.json file
As for `ps`, `images`, `network ls` and `volume ls`, this makes it
possible to define a custom default format.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-28 11:48:25 -07:00
Sebastiaan van Stijn
7c809039f5 Merge pull request #27865 from Microsoft/jjh/builderdocsnanoserver
Update examples in builder.md
2016-10-28 11:44:38 -07:00
John Howard
744cf2c971 Update examples in builder.md
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-28 11:36:11 -07:00
Michael Crosby
8a99bf6fa9 Merge pull request #27394 from Microsoft/jjh/runelevated
Windows: Hint to run client elevated
2016-10-28 11:25:04 -07:00
Anusha Ragunathan
fae904af02 Update authz plugin list on failure.
When daemon fails to load an authz plugin, it should be removed from
the plugin list. Else the plugin is retried on every request and
response, resulting in undesired behavior (eg. daemon panic)

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-28 11:16:06 -07:00
Michael Crosby
b57f321a4a Merge pull request #26709 from boucher/checkpoint-dir
Allow providing a custom storage directory for docker checkpoints
2016-10-28 11:12:44 -07:00
Michael Crosby
9e436c9aad Merge pull request #26464 from vdemeester/11065-stop-signal-and-restart-policies
Taking stop-signal into account when docker kill
2016-10-28 11:08:55 -07:00
John Howard
4fac603682 Windows: support docker diff
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-28 11:06:54 -07:00
Michael Crosby
1e989abefb Merge pull request #26659 from yongtang/26341-fixed-cidr-multiple-addresses-bridge
Fix issue for `--fixed-cidr` when bridge has multiple addresses
2016-10-28 11:05:01 -07:00
Michael Crosby
9842f019ec Merge pull request #27731 from albers/completion-export--output
Add bash completion for `docker export --output`
2016-10-28 10:59:05 -07:00
Michael Crosby
a52b9b4591 Merge pull request #27732 from albers/completion-pause-multiple-containers
Add support for multiple containers to bash completion for `docker pause`
2016-10-28 10:58:34 -07:00
John Howard
e87c6dd3e4 Windows: Clarify WORKDIR in docs
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-28 10:28:38 -07:00
Vincent Demeester
87ddc8b0a5 Merge pull request #26837 from AkihiroSuda/newtmpfs
api: add TypeTmpfs to api/types/mount
2016-10-28 19:21:26 +02:00
Cezar Sa Espinola
7bd2611789 Add --health-* commands to service create and update
A HealthConfig entry was added to the ContainerSpec associated with the
service being created or updated.

Signed-off-by: Cezar Sa Espinola <cezarsa@gmail.com>
2016-10-28 15:19:08 -02:00
Anusha Ragunathan
4db753c017 Fix stack overflow in ErrInAdequateCapacity.
fmt package formats an error by calling its Error() method.
This results in recursion. Fix this. Also remove dead code.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-28 10:02:48 -07:00
Vincent Demeester
1462ea37d0 Merge pull request #27856 from albers/completion-service-create--env-file
Add bash completion for `docker service create --env-file`
2016-10-28 19:00:06 +02:00
Vincent Demeester
609c183ae7 Update go-connections vendoring
This makes possible to use IPv6 addresses in the `--publish` flag of
docker (`run`, …)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-28 09:35:30 -07:00
Vincent Demeester
b5d37a4242 Merge pull request #27850 from sdurrheimer/zsh-completion-service-create-env-file
Add zsh completion for 'docker service create --env-file'
2016-10-28 17:50:59 +02:00
yuexiao-wang
2d99344d3c Add --format to man and fix some typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-28 22:31:20 +08:00
Brian Goff
dd344aabb2 Merge pull request #27852 from yuexiao-wang/modfiy-its
Fix some typos
2016-10-28 05:57:56 -07:00
yuexiao-wang
4d2af44300 Fix some typos
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-29 00:46:16 +08:00
boucher
bd7d51292c Allow providing a custom storage directory for docker checkpoints
Signed-off-by: boucher <rboucher@gmail.com>
2016-10-28 07:56:05 -04:00
Justin Cormack
b28619046a Do not warn in check-config script about ext3 if provided by ext4
Many distributions now use ext4 to provide ext2 and ext3 support,
so do not warn about possibly missing ext3 support if the config
option is used.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-28 12:51:09 +01:00
Harald Albers
b2db0cdae7 Add bash completion for docker service create --env-file
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-28 12:53:32 +02:00
Tom Booth
a69a59ffc7 Decouple removing the fileWatcher from reading
Fixes #27779

Currently `followLogs` can get into a deadlock if we receive an inotify
IN_MODIFY event while we are trying to close the `fileWatcher`. This is
due to the fact that closing the `fileWatcher` happens in the same block
as consumes events from the `fileWatcher`. We are trying to run
`fileWatcher.Close`, which is waiting for an IN_IGNORE event to come in
over inotify to confirm the watch was been removed. But, because an
IN_MODIFY event has appeared after `Close` was entered but before the
IN_IGNORE, the broadcast never comes. The IN_MODIFY cannot be consumed
as the events channel is unbuffered and the only `select` that reads
from it is busy waiting for the IN_IGNORE event.

In order to try and fix this race condition I've moved the removal of
the `fileWatcher` out to a separate go block that waits for a signal to
close, removes the watcher and then signals to the previous selects on
the close signal.

This has introduced a `fileWatcher.Remove` in the final case, but if we
try and remove a watcher that does not exist it will just return an
error saying so. We are not doing any checking on the return of `Remove`
so this shouldn't cause any side-effects.

Signed-off-by: Tom Booth <tombooth@gmail.com>
2016-10-28 10:53:38 +01:00
Akihiro Suda
18768fdc2e api: add TypeTmpfs to api/types/mount
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-28 08:38:32 +00:00
Steve Durrheimer
60813045c1 Add zsh completion for 'docker service create --env-file'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-28 08:10:42 +02:00
Yanqiang Miao
1ad989559f Clean up the constants in 'libcontainerd' that are no longer in use
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-10-28 13:39:04 +08:00
Sebastiaan van Stijn
0aaef963a8 Merge pull request #27845 from cpuguy83/experimental_checks_daemon
error out if checkpoint specified on non-experimental
2016-10-27 20:42:09 -07:00
Vincent Demeester
89011970e0 Merge pull request #27654 from gaocegege/add-quiet-mode-to-service-ps
Add -q option to `docker service ps`
2016-10-28 05:21:03 +02:00
Vincent Demeester
10d77b878c Merge pull request #25800 from vdemeester/25798-fix-event-actions
Fix 25798 : Allow "partial/prefix" filter for health_status, exec_create and exec_start events
2016-10-28 05:20:49 +02:00
Vincent Demeester
5945ba64b2 Merge pull request #27839 from vdemeester/lets-clise-this
Small log formatting fixes
2016-10-28 05:20:24 +02:00
lixiaobing10051267
7d1eb5ea1b fill all the rest invalid address because no related directory
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-10-28 11:12:54 +08:00
lixiaobing10051267
97c00f9754 fill the complete address because of no userguide directory
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-10-28 10:57:37 +08:00
Cezar Sa Espinola
fd657a10d0 vendor: update swarmkit
Signed-off-by: Cezar Sa Espinola <cezarsa@gmail.com>
2016-10-28 00:37:39 -02:00
Vincent Demeester
9e206b5512 Merge pull request #27805 from Microsoft/jjh/fixbuildercache
Windows: Fix builder cache bug
2016-10-28 02:49:40 +02:00
Brian Goff
3c0a2bb289 error out if checkpoint specified on non-experimental
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-10-27 17:43:57 -07:00
Qiang Huang
ad06e3fba3 Remove legacy armhf things in aarch64 Dockerfile
It's leftover from #20342 . We used to need this so we
can use armv6 binaries as bootstrap to build golang.
Now it's not needed.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-10-28 08:32:33 +08:00
Tibor Vass
4e6cb66ecc Merge pull request #27774 from runcom/vendor-distr
vendor docker/distribution fbb70dc3a14ca65cdac3aaf5e5122b03b42f6fbc
2016-10-27 17:07:03 -07:00
Ce Gao
9efa472bd1 fixes #27643
Signed-off-by: Ce Gao <ce.gao@outlook.com>
2016-10-28 08:02:57 +08:00
Sebastiaan van Stijn
3a3a87bff8 Merge pull request #26988 from thaJeztah/remove-service-update-name-flag
Remove service update name flag
2016-10-27 16:55:47 -07:00
Sebastiaan van Stijn
33474a11fe Merge pull request #25820 from crosbymichael/prom
Add metrics output to docker
2016-10-27 16:44:26 -07:00
Vincent Demeester
71d8313ad4 Fix some event filtering
Make it possible to use health_status, exec_start and exec_create as
is in event filter. This way, using `health_status` as filter will allow
to get all health_status events (healthy, unhealthy, …) instead of
having to us all combination (`health_status: healthy`, `health_status:
unhealthy`, …). Same goes for `exec_start` and `exec_create`.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-27 16:14:13 -07:00
Alexander Morozov
3a4ae1f661 Merge pull request #27806 from erikh/stdcopy-logrus
stdcopy: remove logrus debug messages; makes it easier to vendor without the dependency.
2016-10-27 16:00:01 -07:00
Vincent Demeester
2f7e907846 Small log formatting fixes
… and clise to close 👼

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-27 15:29:24 -07:00
Sebastiaan van Stijn
a3525d6f1f Merge pull request #27701 from ripcurld00d/unit_test_formatter_stats
Add unit tests to cli/command/formatter/stats.go
2016-10-27 15:10:47 -07:00
Vincent Demeester
60ef48dd4a Merge pull request #27814 from albers/completion-system
Add bash completion for new `docker system` command family
2016-10-27 22:42:47 +02:00
Sebastiaan van Stijn
322f88f367 Merge pull request #24844 from yongtang/24712-create-service-env-file
Add `--env-file` flag to `docker create service`
2016-10-27 13:40:51 -07:00
Kenfe-Mickaël Laventure
4d2e258531 Merge pull request #26718 from ncdc/add-logs-to-container-attach-options
Add Logs to ContainerAttachOptions
2016-10-27 13:32:50 -07:00
John Howard
4f3889e4be Windows: Fix builder cache bug
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-27 12:27:30 -07:00
Yong Tang
ee3105c68a Add --env-file flag to docker create service
This fix tries to address the issue in 24712 and add
`--env-file` file to `docker create service`.

Related documentation has been updated.

An additional integration has been added.

This fix fixes 24712.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-27 11:48:32 -07:00
Yong Tang
3e1b539e8d Fix dockerfile parser with empty line after escape
This fix tries to fix the bug reported by #24693 where an empty
line after escape will not be stopped by the parser.

This fix addresses this issue by stop the parser from continue
with an empty line after escape.

An additional integration test has been added.

This fix fixes #24693.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-27 10:43:08 -07:00
Michael Crosby
3343d234f3 Add basic prometheus support
This adds a metrics packages that creates additional metrics.  Add the
metrics endpoint to the docker api server under `/metrics`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add metrics to daemon package

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

api: use standard way for metrics route

Also add "type" query parameter

Signed-off-by: Alexander Morozov <lk4d4@docker.com>

Convert timers to ms

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-27 10:34:38 -07:00
Sebastiaan van Stijn
047e44eeb1 Remove --name flag from service update
The --name flag was inadvertently added to
docker service update, but is not supported,
as it has various side-effects (e.g., existing
tasks are not renamed).

This removes the flag from the service update
command.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-27 09:16:29 -07:00
Yong Tang
fc62ad6b95 Vendor libnetwork to f4338b6f1085ccfe5972e655cca8a1d15d73439d
This fix updates libnetwork to f4338b6f1085ccfe5972e655cca8a1d15d73439d.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-27 09:13:25 -07:00
Boaz Shuster
51fb35f0b0 Add unit tests to cli/command/formatter/stats.go
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2016-10-27 18:00:38 +03:00
Harald Albers
a3efa05d3a Move bash completion logic to new subcommand: info
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-27 09:10:39 +02:00
Harald Albers
1de8e84a5c Move bash completion logic to new subcommand: events
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-27 09:08:18 +02:00
Harald Albers
5290f74878 Add bash completion for new docker system command family
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-27 09:05:21 +02:00
Yong Tang
e9c4c513d1 Fix issue for --fixed-cidr when bridge has multiple addresses
This fix tries to address the issue raised in 26341
where multiple addresses in a bridge may cause `--fixed-cidr`
to not have the correct addresses.

The issue is that `netutils.ElectInterfaceAddresses(bridgeName)`
only returns the first IPv4 address.

This fix (together with the PR created in libnetwork )
changes `ElectInterfaceAddresses()` and `addresses()`
so that all IPv4 addresses are returned. This will allow the
possibility of selectively choose the address needed.

In `daemon_unix.go`, bridge address is chosen by comparing with
the `--fixed-cidr` first, thus resolve the issue in 26341.

This fix is tested manually, as is described in 26341:
```
brctl addbr cbr0
ip addr add 10.111.111.111/20 dev cbr0 label cbr0:main
ip addr add 10.222.222.222/12 dev cbr0 label cbr0:docker
ip link set cbr0 up
docker daemon --bridge=cbr0 --iptables=false --ip-masq=false --fixed-cidr=10.222.222.222/24
docker run --rm busybox ip route get 8.8.8.8 | grep -Po 'src.*'
src 10.222.222.0
```

This fix fixes 26341.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-26 20:11:29 -07:00
Sebastiaan van Stijn
2428534998 Merge pull request #27759 from Microsoft/jjh/fixstats
Windows: Fix stats CLI
2016-10-26 18:17:18 -07:00
John Howard
36d3ffe059 Merge pull request #27803 from darrenstahlmsft/RevendorHcsshim
Update hcsshim to v0.5.2
2016-10-26 18:03:10 -07:00
Sebastiaan van Stijn
ff2df99969 Merge pull request #27810 from vieux/add_back_1.12.3-changelog
merge 1.12.3 CHANGELOG to master
2016-10-26 18:00:20 -07:00
Erik Hollensbe
c4be1b117f stdcopy: remove logrus debug messages; makes it easier to vendor without the dependency.
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2016-10-26 16:29:37 -07:00
Vincent Demeester
362eb4cfbb Merge pull request #27719 from albers/completion-image
Add bash completion for new `docker image` command family
2016-10-27 00:41:26 +02:00
Darren Stahl
f9adce18c7 Update hcsshim to v0.5.2
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-26 15:39:35 -07:00
Vincent Demeester
80d6d2e129 Merge pull request #23430 from erikstmartin/realtime-threads
Implementing support for --cpu-rt-period and --cpu-rt-runtime
2016-10-27 00:22:06 +02:00
Victor Vieux
fdddacd8a2 merge 1.12.3 CHANGELOG to master
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-26 15:08:48 -07:00
Sebastiaan van Stijn
d5fe259e12 Merge pull request #26296 from yongtang/26179-env-file-non-ascii-windows-crash
Return error if env file contains non-ascii or utf8 bytes (for windows)
2016-10-26 15:07:36 -07:00
Andrea Luzzardi
d6a5d54086 Merge pull request #27784 from yongtang/10262016-vendor-swarmkit
Revendor swarmkit to 0ec7c6ee4b3185ec4e3d6bd65f8f5542b1761421
2016-10-26 14:20:13 -07:00
Tibor Vass
335a3c6149 Merge pull request #26402 from qudongfang/ensure_client_transport_be_closed
ensure transport.Client be closed
2016-10-26 11:51:51 -07:00
Tom Booth
6314bec641 Do not directly cast io.ReadSeeker to io.Reader
`golint` had the following issue when linting this file:

```
daemon/logger/jsonfilelog/read.go:116:10: should omit type io.Reader
from declaration of var rdr; it will be inferred from the right-hand
side
```

In order to keep it happy changing it to an indirect assignment will
still maintain the same functionality.

Signed-off-by: Tom Booth <tombooth@gmail.com>
2016-10-26 17:37:48 +01:00
Brian Goff
2a2f183627 Merge pull request #27724 from sdurrheimer/zsh-completion-dockerd-experimental
Add zsh completion for 'dockerd --experimental'
2016-10-26 09:02:27 -07:00
Erik St. Martin
56f77d5ade Implementing support for --cpu-rt-period and --cpu-rt-runtime so that
containers may specify these cgroup values at runtime. This will allow
processes to change their priority to real-time within the container
when CONFIG_RT_GROUP_SCHED is enabled in the kernel. See #22380.

Also added sanity checks for the new --cpu-rt-runtime and --cpu-rt-period
flags to ensure that that the kernel supports these features and that
runtime is not greater than period.

Daemon will support a --cpu-rt-runtime flag to initialize the parent
cgroup on startup, this prevents the administrator from alotting runtime
to docker after each restart.

There are additional checks that could be added but maybe too far? Check
parent cgroups to ensure values are <= parent, inspecting rtprio ulimit
and issuing a warning.

Signed-off-by: Erik St. Martin <alakriti@gmail.com>
2016-10-26 11:33:06 -04:00
Vincent Demeester
e2133b42ff Merge pull request #27763 from tonistiigi/fix-logging-formatting
Fix logging formatting
2016-10-26 16:49:05 +02:00
Yong Tang
bb568f8097 Revendor swarmkit to 0ec7c6ee4b3185ec4e3d6bd65f8f5542b1761421
This fix revendor swarmkit to 0ec7c6ee4b3185ec4e3d6bd65f8f5542b1761421.

Related docker PR and issues:
(#27567)
(#25437)
(#26988)
(#25644)

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-26 06:49:39 -07:00
Antonio Murdaca
78a429a97a vendor docker/distribution fbb70dc3a14ca65cdac3aaf5e5122b03b42f6fbc
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-26 10:55:50 +02:00
Sebastiaan van Stijn
a6a38f811f Merge pull request #27767 from harche/patch-1
Restoring the missing image in the repo.
2016-10-26 00:11:15 -07:00
Harshal Patil
784fa222c6 Putting back the missing image back in the repo.
Signed-off-by: Harshal Patil <harshalp@linux.vnet.ibm.com>
2016-10-26 12:34:24 +05:30
Sebastiaan van Stijn
a6dfab03f5 Merge pull request #27764 from elgalu/patch-1
Typo --ti and missing my_strace_docker_image
2016-10-25 22:46:04 -07:00
Sebastiaan van Stijn
62ff3e9083 Merge pull request #27702 from tonistiigi/net-builder0
add --network option for docker build
2016-10-25 21:50:33 -07:00
Leo Gallucci
a5b69faafb Typo --ti and missing my_strace_docker_image
Signed-off-by: Leo Gallucci <leo.gallucci@zalando.de>
2016-10-26 06:07:42 +02:00
John Howard
2894d07696 Windows: Fix stats CLI
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-25 19:57:47 -07:00
Tonis Tiigi
aa01ee4ac5 Fix logging formatting
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-25 18:34:35 -07:00
Sebastiaan van Stijn
77f4c30a21 Merge pull request #27748 from amitkris/uprev_certificate_transparency
Uprev google/certificate-transparency to include Solaris support
2016-10-25 16:21:06 -07:00
Michael Crosby
05b1344ba6 Merge pull request #27756 from vdemeester/21571-remove-kate-syntax-from-contrib
Remove unmaintained Dockerfile syntax for Kate
2016-10-25 16:04:56 -07:00
Vincent Demeester
3dabad7992 Merge pull request #27751 from stevvooe/task-naming-correction
cluster/container: correctly name swarm tasks
2016-10-25 15:56:46 -07:00
Tibor Vass
280eadf9bf Merge pull request #27735 from justincormack/completions-tgz
Add shell completions to tgz
2016-10-25 15:46:45 -07:00
Vincent Demeester
a2f695d7fa Remove unmaintained Dockerfile syntax for Kate
We don't support this and no maintainers uses Kate.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-25 15:42:27 -07:00
Sebastiaan van Stijn
f7e2f8ac1c Merge pull request #27620 from andrewhsu/fix-debian-stretch-apt-mirror
sed replace apt mirror with default deb.debian.org for debian distros
2016-10-25 15:30:07 -07:00
Tonis Tiigi
e4349ad901 Fix overlay unmount for the root case
In root case no mount call or reference count
increment actually happens so don’t try to unmount.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-25 14:40:13 -07:00
Stephen J Day
3b1af17518 cluster/container: correctly name swarm tasks
Even after a slew of PRs, this still wasn't quite right. Now, we ensure
the task name is calculared in one place in the executor, as least.

We'll have to follow this up once the `api/naming` package from SwarmKit
lands.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-10-25 14:17:57 -07:00
Brian Goff
6e462412d7 Merge pull request #27503 from Microsoft/validcredspec
Windows: Add cred spec test with well form credentials
2016-10-25 13:44:52 -07:00
John Howard
ff6db320f8 Merge pull request #27747 from Microsoft/jjh/clientisolationcomment
Windows: Add comment for containers on client SKUs
2016-10-25 13:37:25 -07:00
Alexander Morozov
844a3166e5 Merge pull request #27698 from tonistiigi/cluster-config-refactor
Refactor swarm node config to struct
2016-10-25 13:29:55 -07:00
Andrew Hsu
dbe17defd1 sed replace apt mirror with default deb.debian.org for debian distros
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2016-10-25 13:25:21 -07:00
Amit Krishnan
16db092af2 Uprev google/certificate-transparency to include Solaris support
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-10-25 13:14:57 -07:00
Yong Tang
01d3a16f58 Return error if env file contains non-ascii or utf8 bytes (for windows)
This fix tries to address the issue raised in 26179 where an env file
with non-ascii or utf8 bytes will crash on windows platform.

The issue is two-fold:
- Windows will adds a BOM mark at the begining with Notepad as the editor
- Non-utf8 bytes can not be handled by env file parser.

This fix removes utf8 BOM marker if exists so that utf8 encoded env file
could be processed.
This fix also returns an error (instead of a runtime CreateProcess crash)
if env file contains non-utf8 bytes, thus giving users better experiences.

Additional test cases has been added in unit tests.

This fix fixes 26179.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-25 12:34:25 -07:00
Sebastiaan van Stijn
0797e3f61a Merge pull request #27644 from Microsoft/jjh/builderslash
Windows: Honour escape directive fully
2016-10-25 11:52:13 -07:00
Akira Koyasu
cb176c848e add scheme to fluentd-address
Signed-off-by: Akira Koyasu <mail@akirakoyasu.net>

- add scheme to fluentd-address
- define a new type `location`
- use `errors.Wrapf`
2016-10-26 03:36:51 +09:00
Vincent Demeester
0dfa306cdd Merge pull request #27690 from Microsoft/service
mkdirall on the PID file path
2016-10-25 11:15:46 -07:00
John Howard
87ab13add4 Windows: Add comment re client containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-25 10:30:00 -07:00
Tonis Tiigi
e3b48fca0d Add integration tests for build with network opts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-25 10:25:42 -07:00
sandyskies
60813af7ae add --network option for docker build
Signed-off-by: sandyskies <chenmingjie0828@163.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-25 10:25:36 -07:00
John Howard
65fdbf0210 Redirect powershell completion
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-25 09:48:53 -07:00
John Howard
745f3ece53 mkdirall on the PID file path
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-25 09:11:20 -07:00
Vincent Demeester
11cd64f0dc Merge pull request #27525 from AkihiroSuda/prune-network-cluster
add `docker network prune`
2016-10-25 09:02:28 -07:00
Vincent Demeester
95b459df6d Merge pull request #27716 from sdurrheimer/zsh-completion-daemon-shutdown-timeout
Add zsh completion for 'dockerd --shutdown-timeout'
2016-10-25 08:58:34 -07:00
Vincent Demeester
c851aea2b6 Merge pull request #27715 from sdurrheimer/zsh-completion-create-run-stop-timeout
Add zsh completion for 'docker {create,run} --stop-timeout'
2016-10-25 08:58:18 -07:00
Alexander Morozov
36f47aa252 Merge pull request #27519 from justincormack/proxy-build
Build docker-proxy from git checkout like other external binaries
2016-10-25 08:54:13 -07:00
Antonio Murdaca
8ed31089c0 Merge pull request #27467 from tonistiigi/attach-cb
Move stdio attach from libcontainerd backend to callback
2016-10-25 16:23:07 +02:00
Kenfe-Mickaël Laventure
9643f0e816 Merge pull request #27721 from albers/completion-dockerd--experimental
Add bash completion for `dockerd --experimental`
2016-10-25 07:10:23 -07:00
Brian Goff
e1c04514dd Merge pull request #27717 from sdurrheimer/zsh-completion-fix-exec-env
Fix zsh completion for 'docker exec --env'
2016-10-25 06:51:06 -07:00
Justin Cormack
1c6f5b5fff Add shell completions to tgz
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-25 13:43:55 +01:00
Harald Albers
2e44e74874 Add support for multiple containers to bash completion for docker pause
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 14:24:59 +02:00
Harald Albers
3ac19862f2 Add bash completion for docker export --output
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 14:18:13 +02:00
Justin Cormack
3996975b08 Build docker-proxy from git checkout like other external binaries
This means we can vendor libnetwork without special casing, and
it is built the same way as the other external binaries.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-25 13:13:22 +01:00
Steve Durrheimer
11b6c4c58a Add zsh completion for 'dockerd --experimental'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-25 11:26:39 +02:00
Harald Albers
e63f196536 Add bash completion for dockerd --experimental
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 10:04:48 +02:00
Harald Albers
28469b5720 Move bash completion logic to new subcommand: tag
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
18e8c59fbb Move bash completion logic to new subcommand: save
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
01c259e08a Move bash completion logic to new subcommand: rmi
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
2d139df59c Move bash completion logic to new subcommand: push
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
6864f3ae5a Move bash completion logic to new subcommand: pull
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
df486631bc Move bash completion logic to new subcommand: images
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
75aede3a7c Move bash completion logic to new subcommand: load
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:47 +02:00
Harald Albers
9eb1f55402 Delegate bash completion for docker {container,image} inspect to parameterized function
In #23614 `docker inspect` was semantically enhanced to inspect "everything".
Therefore moving its logic to `_docker_container_inspect` was not correct.

This commit moves it back to its original top-level location (`_docker_inspect`)
so that it can be called by `_docker_{container,image}_inspect` and others (will
be added in follow-up PRs).
Parameterization was added in order to get caller-specific behavior.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-25 09:57:38 +02:00
Steve Durrheimer
94b6376ee5 Fix zsh completion for 'docker exec --env'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-25 09:05:07 +02:00
Steve Durrheimer
20890b4aad Add zsh completion for 'dockerd --shutdown-timeout'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-25 08:59:23 +02:00
Steve Durrheimer
34f5d97468 Add zsh completion for 'docker {create,run} --stop-timeout'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-25 08:55:00 +02:00
Akihiro Suda
7e24c16086 add docker network prune
`docker network prune` prunes unused networks, including overlay ones.
`docker system prune` also prunes unused networks.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-25 06:43:54 +00:00
Sebastiaan van Stijn
28ef366cea Merge pull request #27526 from AkihiroSuda/update-network-inspect-doc
[doc] update docs/reference/commandline/network_inspect.md
2016-10-24 21:21:54 -07:00
Akihiro Suda
2c288e60db update docs/reference/commandline/network_inspect.md
The following sentences (introduced in v1.11 via #21160) were misleading for Swarm mode services (>= v1.12)

  For networks backed by multi-host network driver, such as Overlay,
  this command also shows the container endpoints in other hosts in the
  cluster. These endpoints are represented as "ep-{endpoint-id}" in the output.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-25 02:46:59 +00:00
Sebastiaan van Stijn
f901c5ed1c Merge pull request #27699 from yongtang/27695-info-duplicate-nat-null-plugin
Remove duplicate `nat`, `null` in `docker info` for Windows
2016-10-24 18:41:34 -07:00
Aaron Lehmann
4882c263c6 Merge pull request #27703 from aaronlehmann/fix-test-name
integration-cli: Fix style of swarm test name
2016-10-24 18:23:33 -07:00
Sebastiaan van Stijn
411e7b4416 Merge pull request #24533 from yongtang/24392-docker-info-label-duplicate-keys
Remove duplicate keys in labels of `docker info`
2016-10-24 18:12:28 -07:00
Vincent Demeester
ec30cf4f14 Merge pull request #27697 from amitkris/fix_units_import
Correct go-units import in cli/command/formatter/stats.go
2016-10-24 16:59:15 -07:00
Sebastiaan van Stijn
ba41a5edac Merge pull request #27223 from mlaventure/merge-experimental
Make experimental a runtime flag
2016-10-24 16:58:32 -07:00
Aaron Lehmann
073d811587 integration-cli: Fix style of swarm test name
A recent change fixed integration tests to use "API" in test names
instead of "Api". A new test was added in a PR opened before this
change, and didn't benefit from the cleanup. Fix its name.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-24 16:45:17 -07:00
Tonis Tiigi
b1014428c1 Refactor swarm node config to struct
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-24 16:36:50 -07:00
John Howard
eea679fbcc Windows: Set service recovery options
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-24 16:24:27 -07:00
Vincent Demeester
09985ad897 Merge pull request #27624 from erxian/remove-duplicate-err-judgement
remove duplicated error judgement in cluster.go
2016-10-24 16:11:53 -07:00
Yong Tang
3347aba957 Remove duplicate nat, null in docker info for Windows
This fix tries to address the issue raised in 27695 where
duplicate `nat` and `null` has been listed in `docker info`
for Windows.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-24 15:21:14 -07:00
Kenfe-Mickael Laventure
7781a1bf0f Make experimental a runtime flag
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-24 15:20:01 -07:00
Amit Krishnan
cf8a667b8d Correct go-units import in cli/command/formatter/stats.go
from src/github.com/docker/go-units -> github.com/docker/go-units

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-10-24 15:06:58 -07:00
Vincent Demeester
67b85f9d26 Merge pull request #26354 from KingEmet/fixbranch
make GetAll use client.List as the source of truth
2016-10-24 14:25:24 -07:00
Brian Goff
0ab13dda66 Merge pull request #26848 from miaoyq/del-a-redundant-err-return
Delete a redundant error return
2016-10-24 11:27:08 -07:00
Vincent Demeester
d2e64247e6 Taking stop-signal into account when docker kill
If a container sets a stop-signal, taking it into account to disable or
not the restart policy.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-24 11:10:14 -07:00
Vincent Demeester
96efb2cf25 Merge pull request #27578 from yuexiao-wang/update-network
Fix the incorrect links in the document about network and service
2016-10-24 08:05:04 -07:00
yuexiao-wang
49e8c3d8d0 Fix the incorrect links in the document about network and service
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-24 22:01:38 +08:00
Harald Albers
e93298650d Move bash completion logic to new subcommand: import
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-24 01:37:52 -07:00
Harald Albers
9059b9532e Move bash completion logic to new subcommand: history
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-24 01:37:52 -07:00
Harald Albers
db31883a92 Move bash completion logic to new subcommand: build
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-24 01:37:52 -07:00
Harald Albers
33910a89b9 Add bash completion for new docker image command family
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-24 01:37:52 -07:00
Tonis Tiigi
37a3be2449 Move stdio attach from libcontainerd backend to callback
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-24 00:20:36 -07:00
Sebastiaan van Stijn
b2786a3888 Merge pull request #27546 from yuexiao-wang/fix-subtitle
Update the subtitle for stack ps
2016-10-23 22:28:43 -07:00
Vincent Demeester
1f9beceacc Merge pull request #27660 from Microsoft/jjh/git2.10.1
Windows dockerfile: Changes to support git 2.10.1
2016-10-23 00:06:27 +02:00
John Howard
929fa9ff80 Windows dockerfile: Changes to support git 2.10.1
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-22 13:07:28 -07:00
John Howard
935d4d1c17 Merge pull request #27616 from Microsoft/jjh/microsoftprefix
Windows: Overhaul Dockerfile.windows and test image name
2016-10-22 13:01:40 -07:00
Vincent Demeester
daca6baceb Merge pull request #27655 from albers/completion-exec--env
Fix bash completion for `docker exec --env`
2016-10-22 21:54:19 +02:00
Harald Albers
4126229741 Fix bash completion for docker exec --env
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-22 08:14:59 -07:00
Vincent Demeester
ce6cfef36d Merge pull request #27460 from Microsoft/jjh/dockerpid
Windows: Calculate PID file after root
2016-10-22 13:41:42 +02:00
Vincent Demeester
9058ec3be5 Merge pull request #27596 from aaronlehmann/rolling-restart
Add force option to service update
2016-10-22 13:37:12 +02:00
Sebastiaan van Stijn
b54a1d83fa Merge pull request #27630 from runcom/fix-info-route
api/server/router/system: fix info versioning
2016-10-21 18:58:10 -07:00
Sebastiaan van Stijn
a6688959b4 Merge pull request #26973 from allencloud/change-code-in-container-restore
change code in container restore
2016-10-21 18:53:37 -07:00
Sebastiaan van Stijn
064eda192e Merge pull request #27640 from thaJeztah/carry-26348-update-remote-api
[carry 26348] Update cURL connection example in remote API reference
2016-10-21 18:17:33 -07:00
Sebastiaan van Stijn
3c385b9f6b Merge pull request #27117 from dnephin/swagger-gen
Add swagger.yaml and generate a few types from the spec
2016-10-21 18:15:28 -07:00
Yanqiang Miao
2d126f190d Delete a redundant error return
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-10-22 08:53:57 +08:00
Aaron Lehmann
c9fdf9abf8 Add force option to service update
Currently, there's no way to restart the tasks of a service without
making an actual change to the service. This leads to us giving awkward
workarounds as in
https://github.com/docker/docker.github.io/pull/178/files, where we tell
people to scale a service up and down to restore balance, or make
unnecessary changes to trigger a restart.

This change adds a --force option to "docker service update", which
forces the service to be updated even if no changes require that.

Since rolling update parameters are respected, the user can use
"docker service --force" to do a rolling restart. For example, the
following is supported:

   docker service update --force --update-parallelism 2 \
   --update-delay 5s myservice

Since the default value of --update-parallelism is 1, the default
behavior is to restart the service one task at a time.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-21 17:43:27 -07:00
John Howard
9a19bd1b45 Windows: Update Dockerfile.windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-21 16:06:29 -07:00
Kenfe-Mickaël Laventure
87ae571fed Merge pull request #27609 from tonistiigi/fix-chroot-shared-parent
chroot: remount everything as private in new mntns
2016-10-21 14:40:40 -07:00
John Howard
9127818414 Windows: Honour escape directive fully
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-21 14:22:14 -07:00
Victor Vieux
d0e6dae233 Merge pull request #27522 from vieux/data_race_plugins
prevent data race in pkg/plugins
2016-10-21 14:19:48 -07:00
Victor Vieux
f7af80860c prevent data race in pkg/plugins
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-21 13:28:13 -07:00
Sebastiaan van Stijn
2e0d6e6be2 Update cURL example for cURL 7.40 differences
cURL 7.50 changed the validation for URL's
when using socket connections. cURL 7.4x
did not expect a hostname, whereas cURL
7.5x and above _requires_ a hostname.

See https://github.com/curl/curl/issues/936

This updates the example to take both
versions into account, because cURL 7.4x
is still widely used by distros.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-21 11:40:58 -07:00
Gerwim
587b186f85 Update docker_remote_api.md
See https://github.com/docker/docker/issues/26099#issuecomment-245007539

Signed-off-by: Gerwim Feiken <g.feiken@tfe.nl>
2016-10-21 11:34:08 -07:00
Misty Stanley-Jones
78dae2a037 Merge pull request #27575 from yuexiao-wang/fix-cli-link
Modify the links for docker container commands
2016-10-21 11:15:57 -07:00
Sebastiaan van Stijn
95c36b301b Merge pull request #27579 from albers/completion-container
Add bash completion for new `docker container` subcommands
2016-10-21 09:47:55 -07:00
Sebastiaan van Stijn
32b541e443 Merge pull request #27405 from tonistiigi/fix-fifo2
Fix issues with fifos blocking on open
2016-10-21 09:44:33 -07:00
Sebastiaan van Stijn
0c767f0a6c Merge pull request #27490 from caarlos0/editorconfig
added editorconfig
2016-10-21 09:15:17 -07:00
Vincent Demeester
29f676564d Merge pull request #27618 from allencloud/vendor-go-units
revendor go-units to update more accurate duration display
2016-10-21 17:14:20 +02:00
Harald Albers
93ccf95db1 Move bash completion logic to new subcommand: wait
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
f9a24c72ba Move bash completion logic to new subcommand: update
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
6ac201721f Move bash completion logic to new subcommand: unpause
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
4bab104761 Move bash completion logic to new subcommand: top
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
150dcabc0f Move bash completion logic to new subcommand: stop
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
19f31f8e48 Move bash completion logic to new subcommand: stats
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
2bbfd01e7a Move bash completion logic to new subcommand: start
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
5200d18dbf Move bash completion logic to new subcommand: run
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
9fc4670b3b Move bash completion logic to new subcommand: rm
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
58027826d4 Move bash completion logic to new subcommand: restart
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
96547d0e88 Move bash completion logic to new subcommand: port
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
48e75d4bc2 Move bash completion logic to new subcommand: port
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
27abd03059 Move bash completion logic to new subcommand: pause
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
a91fb558d2 Move bash completion logic to new subcommand: ps
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
4dedad3118 Move bash completion logic to new subcommand: logs
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
f1e12a4951 Move bash completion logic to new subcommand: kill
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
3cd9f22664 Move bash completion logic to new subcommand: inspect
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
3b6f6611b0 Move bash completion logic to new subcommand: diff
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Harald Albers
8fde0d7f2b Move bash completion logic to new subcommand: exec
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:39:32 +02:00
Antonio Murdaca
63b5a37203 api/server/router/system: fix info versioning
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-21 12:32:23 +02:00
Harald Albers
f15debe56c Move bash completion logic to new subcommand: diff
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
Harald Albers
cd4a490b3f Move bash completion logic to new subcommand: create
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
Harald Albers
939a97f7ac Move bash completion logic to new subcommand: cp
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
Harald Albers
6a0dff0a9a Move bash completion logic to new subcommand: commit
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
Harald Albers
dc5794b306 Move bash completion logic to new subcommand: attach
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
Harald Albers
a77bc8bbcf Add bash completion for docker container
At this point, we just delegate to the existing completions.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-21 12:32:08 +02:00
yuexiao-wang
98fb1644c2 Update the subtitle for stack ps
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-21 16:47:21 +08:00
Evelynhsu
75c51ad76b remove duplicated error judgement in cluster.go
Signed-off-by: erxian <evelynhsu21@gmail.com>
2016-10-21 14:28:10 +08:00
Sebastiaan van Stijn
44dc9ef602 Merge pull request #27617 from lixiaobing10051267/masterUserGuide
fix wrong location for network related doc files
2016-10-20 22:28:43 -07:00
Aaron Lehmann
bc52939b04 Merge pull request #27613 from stevvooe/archive-package-cleanup
pkg/archive: remove unnecessary Archive and Reader type
2016-10-20 20:56:23 -07:00
lixiaobing10051267
c026076658 fix wrong location for network related doc files
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-10-21 11:27:24 +08:00
allencloud
3cff9e0267 revendor go-units to update more accurate time display
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-21 11:05:11 +08:00
Sebastiaan van Stijn
015c2d32ee Merge pull request #27531 from AkihiroSuda/nit-api125-changelog
[nit] add missing changes in API v1.25 (prune) to docker_remote_api.md
2016-10-20 19:37:15 -07:00
Stephen J Day
aa2cc18745 pkg/archive: remove unnecessary Archive and Reader type
The `archive` package defines aliases for `io.ReadCloser` and
`io.Reader`. These don't seem to provide an benefit other than type
decoration. Per this change, several unnecessary type cases were
removed.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-10-20 19:31:24 -07:00
Victor Vieux
d98f995d7d Merge pull request #27564 from mlaventure/add-networks-format-to-ps
Add Networks placeholder to ps --format
2016-10-20 18:43:46 -07:00
Akihiro Suda
afb2177631 add missing changes in API v1.25 (prune) to docker_remote_api.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-21 01:33:08 +00:00
Tõnis Tiigi
392b816199 Merge pull request #27530 from allencloud/change-join-role-display-judge
change join node role judge
2016-10-20 17:46:08 -07:00
Carlos Alexandro Becker
962f347923 added editorconfig
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2016-10-20 22:18:16 -02:00
Tonis Tiigi
6f2658fb8c Refactor stdin closing
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-20 17:10:15 -07:00
Aaron Lehmann
2e742b0221 Merge pull request #27606 from stevvooe/no-pool-pointer
pkg/pool: no need for double pointer for sync.Pool
2016-10-20 17:03:41 -07:00
Tonis Tiigi
6d26464502 Fix issues with fifos blocking on open
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-20 17:02:02 -07:00
Tõnis Tiigi
eee025ec9a Merge pull request #27594 from aaronlehmann/vendor-swarmkit
Vendor swarmkit and libnetwork in master
2016-10-20 16:33:28 -07:00
Sebastiaan van Stijn
76200f1d0b Merge pull request #27593 from mstanleyjones/improve_develop_plugins
Rewrites to Developing Plugins topic
2016-10-20 15:55:42 -07:00
Tonis Tiigi
70dfea63ba chroot: let root be cleaned up by kernel
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-20 15:50:46 -07:00
Tonis Tiigi
b511d1f0ca chroot: remount everything as private in new mntns
If parent of the destination path is shared, this
path will be unmounted from the parent ns even if
the path itself is private.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-20 15:29:23 -07:00
Stephen J Day
836f347cb0 pkg/pool: no need for double pointer for sync.Pool
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-10-20 15:27:38 -07:00
Misty Stanley-Jones
b39e65e937 Rewrites to Developing Plugins topic
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-10-20 15:03:41 -07:00
Aaron Lehmann
12a4ed0317 Vendor swarmkit in master
Also, update libnetwork and grpc.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-20 13:49:22 -07:00
Aaron Lehmann
2c620d0aa2 Merge pull request #27287 from mavenugo/pluginv2-sk2
Allow multiple handlers to support network plugins in swarm-mode
2016-10-20 13:43:04 -07:00
Misty Stanley-Jones
790629c021 Merge pull request #27560 from mstanleyjones/sync_docs_master
Sync docker/docker refs with files mistakenly edited in docker.github.io repo
2016-10-20 13:42:40 -07:00
Daniel Nephin
7e7d0ab5e6 Update volume type and regenerate types
generation fixed some comments.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:31:32 -07:00
Daniel Nephin
4bfa2e634c Exclude generated types from linting.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Daniel Nephin
6f7b69b63f Generate plugin types from the swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Daniel Nephin
02e1ffd76c Add whitespace and create a script to run generation
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Daniel Nephin
b06c352783 Generate api/types:Image from the swagger spec
and rename it to a more appropriate name ImageSummary.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Daniel Nephin
f06d8d6db9 Generate api/types:Port from swagger spec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Daniel Nephin
0243936d92 Add swagger.yaml
Generate Volume type from the swagger.yaml
Add makefile target for generating the models

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-20 13:24:23 -07:00
Vincent Demeester
13fd75c3dd Merge pull request #27470 from runcom/expose-exec-pid
record pid of exec'd process
2016-10-20 21:36:21 +02:00
Alexander Morozov
c18fbc9455 Merge pull request #22337 from allencloud/support-insecure-registry-config-reload
support insecure registry in configuration reload
2016-10-20 11:41:23 -07:00
Misty Stanley-Jones
3b36f02c03 Sync docker/docker refs with files mistakenly edited in docker.github.io repo
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-10-20 10:51:30 -07:00
Michael Crosby
ffa0446e8b Merge pull request #27556 from LK4D4/unify_install
project: unify way of installing runc and containerd
2016-10-20 10:13:40 -07:00
Aaron Lehmann
a67a977305 Merge pull request #27516 from allencloud/change-remove-multi-nodes
make every node and plugin removal call api
2016-10-20 10:10:52 -07:00
Sebastiaan van Stijn
6698a66be7 Merge pull request #27327 from flixr/deb_armhf_ubuntu-trusty_buildtags
debian package: update buildtags for armhf ubuntu-trusty
2016-10-20 09:52:43 -07:00
Sebastiaan van Stijn
b7950e072b Merge pull request #27569 from allencloud/change-created-description-api-change
change created description in api change
2016-10-20 09:18:45 -07:00
allencloud
c37d6bf2a0 change created description in api change
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-21 00:10:16 +08:00
Alexander Morozov
179479c6cd project: unify way of installing runc and containerd
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-20 08:50:02 -07:00
Antonio Murdaca
1808348136 record pid of exec'd process
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-20 17:06:11 +02:00
Vincent Demeester
a4125e2265 Merge pull request #27514 from crosbymichael/update-init-oct18
Update docker-init to 74341e923bdf06cfb6b70cf54089
2016-10-20 16:58:26 +02:00
yuexiao-wang
e5e1729698 Modify the links for docker container commands
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-20 22:52:20 +08:00
Vincent Demeester
f529f2a0d5 Merge pull request #27535 from YuPengZTE/dev
Fix the typo of URLs
2016-10-20 16:51:50 +02:00
Vincent Demeester
e174a4358d Merge pull request #27465 from anusha-ragunathan/plugins_APIVer
Add plugin API version.
2016-10-20 16:48:26 +02:00
Kenfe-Mickael Laventure
a43d9bb9c3 Add Networks placeholder to ps --format
Passing {{.Networks}} to the format parameter will prompt ps to
display all the networks the container is connected to.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-20 07:41:56 -07:00
Vincent Demeester
78624ec81a Merge pull request #26671 from yongtang/25545-docker-volume-inspect-volume-options
Show volume options for `docker volume inspect`
2016-10-20 16:10:23 +02:00
Yong Tang
9ce8aac55e Show volume options for docker volume inspect
This fix tries to address the issue raised in 25545 where
volume options at the creation time is not showed up
in `docker volume inspect`.

This fix adds the field `Options` in `Volume` type and
persist the options in volume db so that `volume inspect`
could display the options.

This fix adds a couple of test cases to cover the changes.

This fix fixes 25545.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-20 05:14:27 -07:00
Antonio Murdaca
11d52b085c Merge pull request #27558 from LK4D4/update_go
project: update Go to 1.7.3
2016-10-20 14:13:41 +02:00
Vincent Demeester
1b677816f5 Merge pull request #24594 from jwendell/24355
Exec: Add ability to set environment variables
2016-10-20 13:26:48 +02:00
Sebastiaan van Stijn
f6e9f71e70 Merge pull request #27451 from vincentbernat/fix/zsh-complete-empty
zsh: fix completion when docker output only has the header line
2016-10-19 23:34:16 -07:00
Sebastiaan van Stijn
adaea58b20 Merge pull request #27534 from yuexiao-wang/fix-link-image-repo
Update the link for sharing images via repositories
2016-10-19 20:37:22 -07:00
Sebastiaan van Stijn
5023d3aa7a Merge pull request #27542 from albers/completion-comments
Improve comments in bash completion
2016-10-19 20:36:40 -07:00
allencloud
582803f00a support insecure registry in configuration reload
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-20 07:54:31 +08:00
Alexander Morozov
7d8831c091 project: update Go to 1.7.3
List of milestone issues https://github.com/golang/go/issues?q=milestone%3AGo1.7.3

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-19 13:55:01 -07:00
yuexiao-wang
e1c849cc57 Update the link for sharing images via repositories
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-20 01:39:41 +08:00
Tõnis Tiigi
9f30c28d21 Merge pull request #26983 from aaronlehmann/logrus-wrapped-errors
Fix problems with wrapped errors in logrus
2016-10-19 10:16:01 -07:00
Kenfe-Mickaël Laventure
01736b9cbe Merge pull request #27550 from albers/completion-daemon--shutdown-timeout
Add bash completion for `dockerd --shutdown-timeout`
2016-10-19 10:05:07 -07:00
Harald Albers
c24c1bd87f Add bash completion for dockerd --shutdown-timeout
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-19 18:59:01 +02:00
Misty Stanley-Jones
2bf4a39161 Merge pull request #27438 from yuexiao-wang/update-volume
Update the link for understand data volumes
2016-10-19 09:56:05 -07:00
yuexiao-wang
b1c2d425e1 Update the link for understand data volumes
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-20 01:25:59 +08:00
Vincent Demeester
4a4f028c47 Merge pull request #23036 from yongtang/22471-daemon-shutdown-timeout-daemon
Add config parameter to change stop timeout during daemon shutdown
2016-10-19 18:47:50 +02:00
Andy Goldstein
fc8097f957 Add Logs to ContainerAttachOptions
Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2016-10-19 11:39:00 -04:00
Jonh Wendell
e03bf1221e Exec: Add ability to set environment variables
Keeping the current behavior for exec, i.e., inheriting
variables from main process. New variables will be added
to current ones. If there's already a variable with that
name it will be overwritten.

Example of usage: docker exec -it -e TERM=vt100 <container> top

Closes #24355.

Signed-off-by: Jonh Wendell <jonh.wendell@redhat.com>
2016-10-19 12:39:25 -02:00
Vincent Demeester
15fb3fd9da Merge pull request #26965 from Microsoft/jjh/rootpath
Windows: Set correct root path logic
2016-10-19 15:50:37 +02:00
Vincent Demeester
7a4d286ddd Merge pull request #27387 from talex5/health-restart
Reset health status to starting when a container is restarted
2016-10-19 15:48:59 +02:00
Vincent Demeester
f279c11a77 Merge pull request #26130 from AkihiroSuda/networkcreationtime
add creation timestamp to `docker network inspect`
2016-10-19 15:48:29 +02:00
Harald Albers
b0987b799e Improve comments in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-19 15:35:56 +02:00
allencloud
e41c0370b4 change join node role judge
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-19 19:47:42 +08:00
Vincent Demeester
ff43982fbb Merge pull request #27316 from albers/completion-plugins
Align bash completion of plugins to completion of nodes and services
2016-10-19 12:17:12 +02:00
Vincent Demeester
d2ccc8007a Merge pull request #26984 from thaJeztah/update-triage-process
[RFC] Update triage process with more labels
2016-10-19 12:12:50 +02:00
YuPengZTE
fa378413f8 Fix the typo of URLs
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-10-19 17:46:27 +08:00
Sebastiaan van Stijn
f11a588d75 Merge pull request #27501 from aaronlehmann/remove-resolveindex
registry: Remove unused method ResolveIndex
2016-10-19 00:30:55 -07:00
Sebastiaan van Stijn
e319954229 Merge pull request #27523 from lixiaobing10051267/masterInstall
Remove invalid installation content because there is no corresponding files
2016-10-18 23:51:28 -07:00
lixiaobing10051267
9146ac50c4 Remove invalid installtion content because there is no corresponding files
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-10-19 15:12:55 +08:00
Akihiro Suda
b5bb7de5d2 add creation timestamp to docker network inspect
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-19 06:38:39 +00:00
Sebastiaan van Stijn
024b97bf0f Merge pull request #27502 from dnephin/fix-dockerd-help-text
Update sfp13/pflag
2016-10-18 23:27:54 -07:00
Sebastiaan van Stijn
74f486cd71 Merge pull request #27520 from dmcgowan/fix-27384
Add limit to page size used by overlay2 driver
2016-10-18 23:11:17 -07:00
Sebastiaan van Stijn
194f04bbbe Merge pull request #27267 from ezrasilvera/plugin_fix
Call the AuthZRes function also when the daemon  returns error
2016-10-18 21:53:43 -07:00
Derek McGowan
520034e35b Add limit to page size used by overlay2 driver
Go can falsely report a larger page size than supported,
causing overlay2 mount arguments to be truncated. When overlay2
detects the mount arguments have hit the page limit, it will
switch to using relative paths. If this limit is smaller than
the actual page size there is no behavioral problems, but if it
is larger mounts can fail for images with many layers.

Closes #27384

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-10-18 17:34:19 -07:00
Daniel Nephin
4e4da146ec Update sfp13/pflag
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-18 17:17:22 -07:00
Aaron Lehmann
738131faae Fix problems with wrapped errors in logrus
This vendors a fork of logrus with fixes to deal with errors generated
by the github.com/pkg/errors package. Without these fixes, the errors
are mishandled when passed to WithError:

- When printing to a terminal (colors enabled), stack traces are
  included in the error fields on a log line.

- When printing to a file (or with colors disabled), the error value is
  missing entirely.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-18 17:14:59 -07:00
allencloud
c6d57ca076 make every node and plugin removal call api
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-19 06:40:30 +08:00
Sebastiaan van Stijn
3b0660da30 Merge pull request #26421 from aaronlehmann/update-thresholds-rollbacks
Service update failure thresholds and rollback
2016-10-18 15:26:24 -07:00
Michael Crosby
3c3ba4cb66 Update docker-init to 74341e923bdf06cfb6b70cf54089
Fixes a bug with background processes after the child process exits.

diff:
74341e923b

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-18 14:45:43 -07:00
Daniel Nephin
701cd7996f Merge pull request #27492 from albers/completion-run--stop-timeout
Add bash completion for `docker {run,create} --stop-timeout`
2016-10-18 17:22:47 -04:00
Tianon Gravi
f803114833 Merge pull request #27348 from albers/completion-containers
Improve bash completion of containers
2016-10-18 13:31:47 -07:00
Sebastiaan van Stijn
b17107a84a Merge pull request #27235 from albers/completion-networks
Align bash completion of networks to completion of nodes and services
2016-10-18 13:30:01 -07:00
Alexander Morozov
462cb3855d Merge pull request #27436 from YuPengZTE/devFirst
The first letter should be small in error of remote.go
2016-10-18 12:49:04 -07:00
Alexander Morozov
329f272fd5 Merge pull request #27474 from tagomoris/identify-fluentd-driver-stops-after-restarts
Update fluent-logger-golang to v1.2.1
2016-10-18 12:47:13 -07:00
Alexander Morozov
32156e1758 Merge pull request #27483 from YuPengZTE/devFixLink
Fix the typo of link in devmapper
2016-10-18 12:45:31 -07:00
Alexander Morozov
34e4c5c59f Merge pull request #27489 from caarlos0/cleanup-vendor
cleaning up more stuff in vendor
2016-10-18 12:44:57 -07:00
Tianon Gravi
29cc38da53 Merge pull request #27239 from albers/completion-volumes
Align bash completion of volumes to completion of nodes and services
2016-10-18 12:27:59 -07:00
John Howard
b8977ae537 Windows: Cred spec test with well form credentials
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-18 12:17:56 -07:00
Aaron Lehmann
19858ff1b1 registry: Remove unused method ResolveIndex
This does not appear to be used.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-18 12:04:10 -07:00
Aaron Lehmann
6d4b527699 Service update failure thresholds and rollback
This adds support for two enhancements to swarm service rolling updates:

- Failure thresholds: In Docker 1.12, a service update could be set up
  to either pause or continue after a single failure occurs. This adds
  an --update-max-failure-ratio flag that controls how many tasks need to
  fail to update for the update as a whole to be considered a failure. A
  counterpart flag, --update-monitor, controls how long to monitor each
  task for a failure after starting it during the update.

- Rollback flag: service update --rollback reverts the service to its
  previous version. If a service update encounters task failures, or
  fails to function properly for some other reason, the user can roll back
  the update.

SwarmKit also has the ability to roll back updates automatically after
hitting the failure thresholds, but we've decided not to expose this in
the Docker API/CLI for now, favoring a workflow where the decision to
roll back is always made by an admin. Depending on user feedback, we may
add a "rollback" option to --update-failure-action in the future.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-18 10:09:50 -07:00
Aaron Lehmann
67bebd6d81 API changes for service rollback and failure threshold
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-10-18 10:09:30 -07:00
Misty Stanley-Jones
668189e7f0 Merge pull request #27435 from yuexiao-wang/fix-link
Fix a link for feature deprecation policy
2016-10-18 10:04:42 -07:00
Kenfe-Mickaël Laventure
f5c21faf88 Merge pull request #27472 from dnephin/move-graphdriver-quota
Move graphdriver quota
2016-10-18 09:09:09 -07:00
Anusha Ragunathan
110e973390 Add plugin API version.
This version is across all plugin types and it versions the actual RPC
API between the daemon and the plugin.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-18 09:07:16 -07:00
Yong Tang
d7be6b2deb Add config parameter to change stop timeout during daemon shutdown
This fix tries to add a daemon config parameter `--shutdown-timeout`
that specifies the timeout value to stop containers gracefully
(before SIGKILL). The default value is 15s.

The `--shutdown-timeout` parameter is added to daemon options and
config file. It will also be updated during daemon reload.

Additional test cases have been added to cover the change.

This fix fixes #22471.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-18 08:07:50 -07:00
yuexiao-wang
c76f8ff1d4 Fix the link for sharing images via repositories
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-18 22:59:18 +08:00
Yong Tang
e4c9079d09 Remove duplicate keys in labels of docker info
This fix tries to address the issue raised in 24392 where
labels with duplicate keys exist in `docker info`, which
contradicts with the specifications in the docs.

The reason for duplicate keys is that labels are stored as
slice of strings in the format of `A=B` (and the input/output).

This fix tries to address this issue by checking conflict
labels when daemon started, and remove duplicate labels (K-V).

The existing `/info` API has not been changed.

An additional integration test has been added to cover the
changes in this fix.

This fix fixes 24392.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-18 07:45:27 -07:00
Vincent Demeester
15ea28f6db Merge pull request #27463 from Microsoft/jjh/runservice
Windows: Mark run-service flag as hidden
2016-10-18 15:51:10 +02:00
Harald Albers
38dc610609 Add bash completion for docker {run,create} --stop-timeout
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-18 15:24:28 +02:00
Vincent Demeester
20be0a6ef7 Merge pull request #27434 from danix800/fix-doc-typos
Fix typos in docs/reference/builder.md.
2016-10-18 15:08:01 +02:00
Vincent Demeester
043192137f Merge pull request #27481 from yuexiao-wang/fix-link-image-repo
Fix the link for sharing images via repositories
2016-10-18 14:54:34 +02:00
Justin Cormack
1feaeac65c Merge pull request #27476 from yuexiao-wang/fix-typos-volume
Fix some typos
2016-10-18 13:50:20 +01:00
Justin Cormack
1643110ef4 Merge pull request #27478 from allencloud/wrap-line-in-deleted-containers
wrap line in deleted containers when pruning
2016-10-18 13:48:44 +01:00
Vincent Demeester
dad8cbfc2d Merge pull request #22566 from yongtang/22471-daemon-shutdown-timeout
Add config parameter to change per-container stop timeout during daemon shutdown
2016-10-18 14:33:09 +02:00
yuexiao-wang
7dad9d5ce4 Fix typs from go to Go
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-18 19:40:16 +08:00
Carlos Alexandro Becker
2ce76c0696 cleaning up more stuff in vendor
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2016-10-18 09:20:41 -02:00
Ding Fei
08fe24c2d5 Fix code block fences and typo.
Signed-off-by: Ding Fei <dingfei@stars.org.cn>
2016-10-18 18:05:37 +08:00
Ding Fei
9ccb1f159e Fix typos in docs/reference/builder.md.
Signed-off-by: Ding Fei <dingfei@stars.org.cn>
2016-10-18 18:05:37 +08:00
yuexiao-wang
b7d34e1c03 Fix link for feature deprecation policy
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-18 17:56:58 +08:00
Sebastiaan van Stijn
24582e8153 Merge pull request #27471 from caarlos0/logentries
Added Logentries Driver
2016-10-18 01:33:28 -07:00
YuPengZTE
f7701d90a9 Fix the typo of link in devmapper
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-10-18 16:02:38 +08:00
allencloud
dcb4d68092 wrap line in deleted containers when pruning
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-18 14:20:12 +08:00
Satoshi Tagomori
53ed17449e Update fluent-logger-golang to v1.2.1
This fixes a regression bug not to connect the destination node twice or more.
That regression was brought by v1.2.0, and it also makes many goroutines for
first reconnection (these will finish after first reconnection established).

Signed-off-by: Satoshi Tagomori <tagomoris@gmail.com>
2016-10-18 11:26:32 +09:00
Daniel Nephin
eb4c4b7ecf Make golint happy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-17 17:28:27 -07:00
Daniel Nephin
767727480f move graphdriver/projectquota.go to its own package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-17 17:27:24 -07:00
Carlos Alexandro Becker
0f4db1cc59 Added logentries dependency to vendor
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2016-10-17 22:06:39 -02:00
Antonio Murdaca
cd0e399e06 Merge pull request #27459 from aquasecurity/xfs_quota_fedora_build_fix
projectquota: fix build failure with new kernels
2016-10-18 00:13:27 +02:00
Justin Cormack
c028a88158 Merge pull request #26519 from AkihiroSuda/fix-cli-command-formatter-json-support
Fix broken JSON support in cli/command/formatter
2016-10-17 22:44:04 +01:00
Kenfe-Mickaël Laventure
0268efc48b Merge pull request #27440 from lixiaobing10051267/masterVolume
fix wrong output title for docker volume ls
2016-10-17 14:34:24 -07:00
Sebastiaan van Stijn
81ce55bb87 Merge pull request #27457 from vdemeester/use-volume-name
Revert docker volume column name to VOLUME_NAME
2016-10-17 13:00:50 -07:00
Yong Tang
cc703784f3 Update docker stop and docker restart to allow not specifying timeout and use the one specified at container creation time.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-17 12:53:35 -07:00
Yong Tang
e66d210891 Add config parameter to change per-container stop timeout during daemon shutdown
This fix tries to add a flag `--stop-timeout` to specify the timeout value
(in seconds) for the container to stop before SIGKILL is issued. If stop timeout
is not specified then the default timeout (10s) is used.

Additional test cases have been added to cover the change.

This fix is related to #22471. Another pull request will add `--shutdown-timeout`
to daemon for #22471.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-17 12:28:46 -07:00
John Howard
102a38ceb1 Windows: Mark run-service flag as hidden
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-17 12:21:31 -07:00
John Howard
7453d028da Windows: Calculate PID file after root
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-17 11:48:51 -07:00
Amir Goldstein
9ea5071446 projectquota: fix build failure with new kernels
In kernel version >= v4.5 the project quota ioctl definitions
have been made public via the include/uapi/linux/fs.h API, so
that ext4 could use the same API.

Avoid re-defining the ioctl API if it is already defined in fs.h.

Signed-off-by: Amir Goldstein <amir73il@aquasec.com>
2016-10-17 21:44:23 +03:00
Sebastiaan van Stijn
f302226a5b Merge pull request #27429 from thaJeztah/update-api-changelog
Add KernelMemory to API changelog
2016-10-17 11:11:00 -07:00
Vincent Demeester
862db3f191 Revert docker volume column name to VOLUME_NAME
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-10-17 20:03:31 +02:00
Sebastiaan van Stijn
92e2a62891 Merge pull request #27452 from lucafavatella/fix-typo-in-build-ref
Fix typo in build documentation
2016-10-17 10:53:36 -07:00
Vincent Demeester
fb65df5bfe Merge pull request #27421 from jcberthon/master
builder: Add AppArmor to runc buildtags for armhf - fixes #27351
2016-10-17 19:20:09 +02:00
Sebastiaan van Stijn
d5a4b0e839 Merge pull request #27424 from pcgeek86/patch-1
Update ISSUE_TEMPLATE.md
2016-10-17 10:15:10 -07:00
Harald Albers
b6237a8550 Improve bash completion of containers
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-17 19:10:48 +02:00
Sebastiaan van Stijn
0cd4d7de43 Update triage process with more labels
Describe new labels in the triage process
to improve the triage workflow / efficiency

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-17 10:01:53 -07:00
Vincent Demeester
165a3d0a75 Merge pull request #25566 from allencloud/fix-config-load-bug
fix config load error with default ulimits
2016-10-17 18:58:12 +02:00
Michael Crosby
8863a9f62c Merge pull request #24771 from aquasecurity/xfs_quota
Implement XFS quota for overlay2
2016-10-17 09:23:42 -07:00
Madhu Venugopal
af185a3806 IT for e2e network-plugin support for swarmkit & services
As of https://github.com/docker/swarmkit/pull/1607, swarmkit honors
global network plugins while allocating network resources.

This IT covers the e2e integration between libnetwork, swarmkit and
docker engine to support global network-plugins for swarm-mode

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-17 09:00:36 -07:00
Madhu Venugopal
5e9c78aeaf Allow plugins to have multiple handlers
Currently the plugins pkg allows a single handler. This assumption
breaks down if there are mutiple listeners to a plugin of a certain
Manifest such as NetworkDriver or IpamDriver when swarm-mode is enabled.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-17 09:00:17 -07:00
Luca Favatella
6dbd1e952b Fix typo in build documentation
Signed-off-by: Luca Favatella <luca.favatella@erlang-solutions.com>
2016-10-17 16:48:25 +01:00
Vincent Bernat
44b83c56b6 zsh: fix completion when docker output only has the header line
Unfortunately, `(f)` aka `(ps:\n:)` flag will not create an array when
there is only one line. The subsequent use of indexes will then affect
the string. This leads to `docker rmi <tab>` to complete on the header
line instead of nothing.

Therefore, for each use of `(f)`, we ensure that we have an extra new
line to be sure we get an array.

Credit to @povesteam for the original report and fix in #27373.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2016-10-17 17:23:09 +02:00
Antonio Murdaca
e5d293375d Merge pull request #27432 from thaJeztah/deprecate-fedora-22
Remove Fedora 22 from RPM build as it is EOL
2016-10-17 17:14:10 +02:00
Vincent Demeester
e40c512f60 Merge pull request #27392 from Microsoft/jjh/securitydescriptor
Windows: Set administrators ACL on debug listener
2016-10-17 17:13:38 +02:00
Vincent Demeester
b0f3d7a1b5 Merge pull request #27367 from Microsoft/jjh/fieldsincontainer
Windows: Factor out unused fields in container
2016-10-17 16:50:39 +02:00
Vincent Demeester
a7c883fb04 Merge pull request #27074 from cyli/bump-notary-version
Bump notary version to 0.4.2
2016-10-17 16:35:57 +02:00
Trevor Sullivan
ff3f3d7941 Update ISSUE_TEMPLATE.md
Added general support information to the issue template.

Signed-off-by: Trevor Sullivan <trevor.sullivan@clusterhq.com>
2016-10-17 11:43:25 +00:00
allencloud
e3164842f3 fix config load error with ulimits
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-17 18:48:40 +08:00
Lei Jitang
55cd8f53c9 Merge pull request #27419 from yongtang/10162016-warning
Fix an incorrect `WARNING` output in `docker run/create`
2016-10-17 18:37:03 +08:00
lixiaobing10051267
43023a5428 fix wrong output titile for docker volume ls
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-10-17 17:58:58 +08:00
Akihiro Suda
3a32b58792 Fix broken JSON support in cli/command/formatter
How to test:

    $ docker ps --format '{{json .}}'
    $ docker network ls --format '{{json .}}'
    $ docker volume ls --format '{{json .}}'

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-17 08:07:17 +00:00
YuPengZTE
1d238181d9 The first letter should be small in error of remote.go
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-10-17 15:19:10 +08:00
Sebastiaan van Stijn
ff405a1d2b Remove Fedora 22 from RPM build as it is EOL
Fedora 22 reached end of life on July 19th, and
will no longer receive updates;

https://fedoramagazine.org/fedora-22-end-of-life-2016-july/

With the recent release of Fedora 24, Fedora 22 will officially enter End Of
Life (EOL) status on July 19th, 2016. After July 19th, all packages in the
Fedora 22 repositories will no longer receive security, bugfix, or enhancement
updates, and no new packages will be added to the Fedora 22 collection.

Upgrading to Fedora 23 or Fedora 24 before July 19th 2016 is highly recommended
for all users still running Fedora 22.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-16 21:13:26 -07:00
Sebastiaan van Stijn
a2ad359730 Merge pull request #27431 from thaJeztah/improve-more-examples
Improve API format examples
2016-10-17 05:35:10 +02:00
Sebastiaan van Stijn
8e02b29d24 Improve API format examples
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-16 19:54:08 -07:00
Sebastiaan van Stijn
f988a9ce5e Add KernelMemory to API changelog
Commit 9bd8a9b66b
added KernelMemory to the API, but forgot
to include this in the API changelog.

This adds the missing entry in the API
changelog.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-16 19:42:35 -07:00
Sebastiaan van Stijn
6f8d11d440 Merge pull request #27428 from thaJeztah/improve-example-format
Improve example for env vars in API docs
2016-10-17 04:32:58 +02:00
Sebastiaan van Stijn
441c9411e3 Improve example for env vars in API docs
This was added in e41de3e631,
but can be a bit confusing due to the "outer" brackets
being for JSON, and the "inner" brackets to indicate
optional values.

During review of that change, this alternative
format was suggested.

Updating the example to use the format that was discussed
during review :)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-16 19:22:42 -07:00
Yong Tang
40f25809ab Fix an incorrect WARNING output in docker run/create
This fix tries to fix an incorrect `WARNING` output in `docker run/create`:
```
ubuntu@ubuntu:~/docker$ docker run -d --cpu-percent 80 busybox top
WARNING: %s does not support CPU percent. Percent discarded.
WARNING: linux
e963d1108e455e7f8f57626ca1305b5f1999e46025d2865b9a21fc8abc51a546
```

The reason was that in `daemon/daemon_unix.go`, the warning string
was not combined with `fmt.Sprintf` before appended to the output.

This fix fixes this issue.

This fix has been manually tested and verified:
```
ubuntu@ubuntu:~/docker$ docker run -d --cpu-percent 80 busybox top
WARNING: linux does not support CPU percent. Percent discarded.
fcf53f79d389235bae846d3d40804834659ac025edbc0d075ed91841a8e4c740
```

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-16 17:11:39 -07:00
Sebastiaan van Stijn
319a929c37 Merge pull request #27416 from AkihiroSuda/fix-failing-TestBuildLabelsOverride
[test] fix failure of TestBuildLabelsOverride on Windows
2016-10-16 15:14:57 -07:00
Vincent Demeester
9f5ffa2a81 Merge pull request #27236 from allencloud/return-nil-when-no-node-or-service
return nil when no node or service to avoid additional api call
2016-10-16 18:41:31 +02:00
Jean-Christophe Berthon
e0c7300e3b builder: Add AppArmor to runc buildtags for armhf
On Raspbian and Debian Jessie for ARMv7 (aka armhf), the builtags for runc
were missing. These buildtags should include 'apparmor' and 'selinux'.

Signed-off-by: Jean-Christophe Berthon <huygens@berthon.eu>
2016-10-16 15:32:31 +00:00
Akihiro Suda
bb17d1fabb [test] fix failure of TestBuildLabelsOverride on Windows
TestBuildLabelsOverride was consistently failing due to "Windows does not support FROM scratch" error

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-16 11:05:31 +00:00
Sebastiaan van Stijn
2a3ba03424 Merge pull request #27341 from milindchawre/doc-change
Fixes #27095 : Removing registrytoken field from doc as it is depreca…
2016-10-15 11:40:48 -07:00
Madhu Venugopal
88cae7412d Vendoring Swarmkit 1fed8d2a2ccd2a9b6d6fb864d4ad3461fc6dc3eb
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-15 08:49:55 -07:00
milindchawre
72dd684c88 Fixes #27095 : Removing registrytoken field from doc as it is deprecated by identitytoken field
Signed-off-by: milindchawre <milindchawre@gmail.com>
2016-10-15 08:38:33 +00:00
Sebastiaan van Stijn
6f54d70a54 Merge pull request #27174 from duglin/Issue26027
Don't env-var evaluate labels from docker build cmd line
2016-10-14 20:57:41 -07:00
Tõnis Tiigi
9b2970283b Merge pull request #26928 from thaJeztah/update-release-checklist
Add updating AUTHORS to the release checklist
2016-10-14 18:33:26 -07:00
Tõnis Tiigi
4a6b37eb3e Merge pull request #27322 from yongtang/25855-deploy-dab-extension
Allow `docker deploy` command accept stack with/without extension
2016-10-14 18:26:49 -07:00
Tõnis Tiigi
1221294386 Merge pull request #27368 from morelena/move_close
integration-cli: move Close() after error check
2016-10-14 18:25:36 -07:00
cyli
0797af39c2 Fix API incompatibilities between notary v0.3.0 and v0.4.2:
- some function signatures have changed - use the new ones
- re-generate the notary delegation key certs, since notary doesn't allow SHA1
- fix some error message mapping because now if a root rotation fails to validate trusted operations will fail

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-10-14 17:53:34 -07:00
cyli
5f4dcd8252 Bump vendored and dockerfile notary version to v0.4.2
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-10-14 17:52:56 -07:00
Sebastiaan van Stijn
f2c094cb99 Merge pull request #27334 from darrenstahlmsft/ExpandSandboxSizeZero
Windows: Stop expanding sandbox size when no new size is specified
2016-10-14 17:51:32 -07:00
Sebastiaan van Stijn
68951594ef Merge pull request #27403 from ry4nz/restore-logo
Restore Docker logo in README.md
2016-10-14 16:15:55 -07:00
Ryan Zhang
59357bab8c Restore Docker logo in README.md
Signed-off-by: Ryan Zhang <ryan.zhang@docker.com>
2016-10-14 16:12:27 -07:00
Sebastiaan van Stijn
07aa2629e3 Merge pull request #27401 from mstanleyjones/toml_to_yaml
Convert Markdown frontmatter to YAML
2016-10-14 15:46:21 -07:00
Misty Stanley-Jones
b30609446d Convert Markdown frontmatter to YAML
Some frontmatter such as the weights, menu stuff, etc is no longer used
'draft=true' becomes 'published: false'

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-10-14 15:44:55 -07:00
Alexander Morozov
678ff27f0f Merge pull request #27395 from mrjana/net
Vendoring libnetwork @04025f2a2eebb
2016-10-14 14:54:47 -07:00
John Howard
d0a17e4813 Merge pull request #27385 from jphuynh/update-jessfraz-github-handle
Fix incomplete change from PR #27347 (jessfraz github handle update.)
2016-10-14 14:24:20 -07:00
Misty Stanley-Jones
fba04ed0ab Merge pull request #27332 from mstanleyjones/27297
Remove contents of docs/ except for reference, point to new location
2016-10-14 14:12:09 -07:00
Misty Stanley-Jones
3aeaa9f8fd Add a link to the new build instructions
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-10-14 14:05:48 -07:00
Yong Tang
1e9d04c458 Allow docker deploy command accept filename with/without extension
This fix tries to address the issue raised in 25855 where the command
`docker deploy` can only accept a STACK without extension of `.dab`.
In other words, `docker deploy hellojavaee.dab` gives an error:
```
Bundle hellojavaee.dab.dab not found. Specify the path with --file
```

This fix updates the way namespace STACK is taken so that in case
`STACK.dab` is provided with `docker deploy`:
```
$ docker deploy STACK.dab
```
The `STACK` is used as namespace (instead of `STACK.dab`).

NOTE: This fix will only allows `.dab` extension in namespace, because
it is not possible to have a namespace with `.` in the middle. In other
words, a namespace `hello.java.ee` will not work anyway (whether the file
`hello.java.ee` exists or not).

An additional integration test has been added to cover the changes.

This fix fixes 25855.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-14 11:44:15 -07:00
Jana Radhakrishnan
9ae9f9812b Vendoring libnetwork @04025f2a2eebb
Fixes #27323

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-10-14 11:12:24 -07:00
John Howard
dcd242d8a2 Windows: Hint to run client elevated
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-14 10:42:04 -07:00
Sebastiaan van Stijn
e8e1c4dfb9 Merge pull request #27363 from tealtail/26227-add-stack-ps-to-docs
add documentation for `docker stack ps`, Fixes #26227
2016-10-14 10:02:26 -07:00
John Howard
192e6d9995 Windows: Set ACL on debug listener
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-14 09:15:17 -07:00
Thomas Leonard
b8793cff48 Reset health status to starting when a container is restarted
Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2016-10-14 15:49:12 +01:00
Jean-Pierre Huynh
666ac08fab Fix incomplete change from PR #27347 (jessfraz github handle update.)
Signed-off-by: Jean-Pierre Huynh <jean-pierre.huynh@ounet.fr>
2016-10-14 14:37:02 +01:00
Sebastiaan van Stijn
66177532b6 Merge pull request #27333 from yongtang/27049-ListOpt
Use ListOpt for `docker network create --label` and `docker volume create --label`
2016-10-14 00:31:09 -07:00
Tibor Vass
9ced849832 Merge pull request #27027 from tonistiigi/fix-name-collision
Fix name collision handling in restore
2016-10-14 08:59:56 +02:00
Sebastiaan van Stijn
429812f86a Merge pull request #27335 from barracks510/master
Simplify function signature
2016-10-13 18:54:01 -07:00
Sebastiaan van Stijn
21a79b503a Merge pull request #27366 from morelena/use_contains
all: use strings.Contains instead Index
2016-10-13 18:44:30 -07:00
Sebastiaan van Stijn
dd383898cd Merge pull request #26795 from darrenstahlmsft/PauseResume
Implement Pause Resume support for Windows
2016-10-13 18:08:11 -07:00
Sebastiaan van Stijn
ba2c13fcf5 Merge pull request #26819 from ripcurld00d/fix_stats_mutex
Hide the mutex lock in formatter.ContainerStats
2016-10-13 17:38:22 -07:00
Elena Morozova
2b9786a9b3 integration-cli: move Close() after error check
Signed-off-by: Elena Morozova <lelenanam@gmail.com>
2016-10-13 16:07:08 -07:00
Elena Morozova
a37027f6bd all: use strings.Contains instead Index
Signed-off-by: Elena Morozova <lelenanam@gmail.com>
2016-10-13 15:55:41 -07:00
Aaron Lehmann
245bd4c3d2 Merge pull request #27365 from morelena/remove_nil_check
all: remove nil check for slices
2016-10-13 15:27:37 -07:00
Alexander Morozov
f299335e6e Merge pull request #27360 from morelena/loop_append
all: replace loop with single append
2016-10-13 14:52:59 -07:00
John Howard
600f0ad211 Windows: Factor out unused fields in container
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-13 14:51:10 -07:00
Elena Morozova
ace53bbe65 all: remove nil check for slices
Signed-off-by: Elena Morozova <lelenanam@gmail.com>
2016-10-13 13:55:38 -07:00
Elena Morozova
64238fef8c all: replace loop with single append
Signed-off-by: Elena Morozova <lelenanam@gmail.com>
2016-10-13 13:31:52 -07:00
Alexander Morozov
f1e5349a03 Merge pull request #27338 from yuexiao-wang/instream-err
Fix the incorrect description for NewInStream
2016-10-13 12:32:43 -07:00
Tõnis Tiigi
62503f245f Merge pull request #27276 from yuexiao-wang/func-name
Modify function name from SetDaemonLogLevel to SetLogLevel
2016-10-13 12:10:59 -07:00
Alicia Lauerman
970ab9a224 add documentation for docker stack ps
also updates related stack docs and removes stack_tasks.md

Signed-off-by: Alicia Lauerman <allydevour@me.com>
2016-10-13 15:09:58 -04:00
yuexiao-wang
90bddb4243 Fix the incorrect description for NewInStream
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-13 22:33:09 +08:00
Tibor Vass
535f52c932 Merge pull request #27296 from tonistiigi/wait-tasks
Wait until tasks have been created in TestSwarmTaskListFilter
2016-10-13 15:02:43 +02:00
Tibor Vass
33cc134663 Merge pull request #27300 from tonistiigi/rm-checkpoint-methods
Remove checkpoint methods from builder backend
2016-10-13 15:02:23 +02:00
Justin Cormack
13279b77d2 Merge pull request #27347 from jphuynh/update-jessfraz-github-handle
Update jessfraz's github handle after she decided to break the internet
2016-10-13 13:57:29 +01:00
Jean-Pierre Huynh
30e61051af Update Jess' github handle after she decided to break the internet
Signed-off-by: Jean-Pierre Huynh <jean-pierre.huynh@ounet.fr>
2016-10-13 11:36:05 +01:00
Sebastiaan van Stijn
0542dcc2d0 Merge pull request #27207 from tonistiigi/deprecate-repo-shortid
Deprecate repo:shortid syntax
2016-10-12 23:44:38 -07:00
Dennis Chen
445620f231 Simplify function signature
Signed-off-by: Dennis Chen <barracks510@gmail.com>
2016-10-12 21:31:55 -04:00
Darren Stahl
0da31c68f1 Stop expanding sandbox size when no new size is specified
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-12 16:58:57 -07:00
John Mulhausen
29f08cf49b Remove old documentation, add README.md with pointer
Signed-off-by: John Mulhausen <john@docker.com>
2016-10-12 16:23:33 -07:00
Yong Tang
e3f484241d Use ListOpt for docker network create --label and docker volume create --label
This fix is related to 27049 and 27047. For `--label` flag, if string slice is
used (like 27047), then quote can not be used in command and will result in
an error :
```
line 1, column 14: bare " in non-quoted-field
```

The issue 27047 has been fixed by 27049.

Recently I found out that both `docker network create --label` and `docker volume create --label`
still use string slice and will return the same error when quotes are used.

This fix fixes `docker network create --label` and `docker volume create --label`
by using `ListOpt` (as 27049) as well.

This fix has been tested and verified manually.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-12 16:06:34 -07:00
Tibor Vass
8658748ef7 Merge pull request #27293 from anusha-ragunathan/use-pluginv2-authz
Make authz use pluginv2
2016-10-13 00:28:43 +02:00
Victor Vieux
aba3a99804 Merge pull request #27325 from tonistiigi/net-tests
Add requirements for tests that require network
2016-10-12 15:08:50 -07:00
Victor Vieux
32f93fdd25 Merge pull request #27328 from vieux/1.12.2_changelog
add 1.12.2 changelog
2016-10-12 13:20:02 -07:00
Victor Vieux
f77a31a58a add 1.12.2 changelog
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-12 13:12:08 -07:00
Tõnis Tiigi
98d19efe50 Merge pull request #27305 from yongtang/27294-docs-Size-RefCount
Update docs for `Size` and `RefCount` for `UsageData`
2016-10-12 11:51:21 -07:00
Felix Ruess
63515bc59e builder: update deb armhf ubuntu-trusty buildtags
Signed-off-by: Felix Ruess <felix.ruess@gmail.com>
2016-10-12 20:47:06 +02:00
Tõnis Tiigi
c8e8be8478 Merge pull request #27308 from LK4D4/fix_racy_auth
pkg/authorization: make it goroutine-safe
2016-10-12 11:18:59 -07:00
Tonis Tiigi
da9ef68f06 Add requirements for tests that require network
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-12 11:11:23 -07:00
John Howard
e736b9a172 Merge pull request #27310 from swernli/servicing-error-reporting
Fixing error reporting on servicing failure
2016-10-12 08:47:54 -07:00
Vincent Demeester
9db4698929 Merge pull request #27217 from Microsoft/jjh/servicingcitest
Windows: Test for container servicing
2016-10-12 15:50:52 +02:00
Vincent Demeester
310068f606 Merge pull request #27225 from darrenstahlmsft/CreateTests
Windows: Enable more create tests
2016-10-12 15:08:32 +02:00
Harald Albers
adbb943200 Align bash completion of plugins to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-12 05:29:26 -07:00
Tibor Vass
8d1d9eebe3 Merge pull request #27314 from AkihiroSuda/mask-sys-firmware-2
oci/defaults_linux.go: mask /sys/firmware
2016-10-12 14:10:12 +02:00
Tibor Vass
625e9f786a Merge pull request #27301 from aboch/cfg
Update required modules for overlay dataplane encryption
2016-10-12 14:07:18 +02:00
Antonio Murdaca
d3ee780bc5 Merge pull request #27306 from stevvooe/deterministic-client-scheme
client: deterministically resolve http scheme
2016-10-12 10:50:55 +02:00
Akihiro Suda
8b1772c86b oci/defaults_linux.go: mask /sys/firmware
On typical x86_64 machines, /sys/firmware can contain SMBIOS and ACPI tables.
There is no need to expose the directory to containers.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-10-12 06:07:13 +00:00
Stefan J. Wernli
f65647463e Fixing error reporting on servicing failure
The code that handles waiting for the servicing container to complete correctly grabs the exit code and logs a failure, but doesn't return that failure to the caller, mistakenly causing servicing operations to look successful when they really failed during processing.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-10-11 17:11:56 -07:00
Alexander Morozov
a616cf3b88 pkg/authorization: make it goroutine-safe
It was racy on config reload

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-11 16:31:45 -07:00
Darren Stahl
69985e85d3 Implement Pause Resume support for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-11 16:23:35 -07:00
Stephen J Day
401778b7e2 client: deterministically resolve http scheme
The docker client has historically used Transport.TLSClientConfig to set
the scheme for the API client. A recent moved the resolution to use the
http.Transport directly, rather than save the TLSClientConfig state on a
client struct. This caused issues when mutliple calls made with a single
client would have this field set in the http package on pre-1.7
installations. This fix detects the presence of the TLSClientConfig once
and sets the scheme accordingly.

We still don't know why this issue doesn't happen with Go 1.7 but it
must be more deterministic in the newer version.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-10-11 15:53:14 -07:00
Aaron Lehmann
9bd8c1d332 Merge pull request #26804 from stevvooe/clear-tlsconfig-unix-socket
client: pedantic checking of tlsconfig
2016-10-11 15:47:47 -07:00
Yong Tang
a68047fe68 Update docs for Size and RefCount for UsageData
In 27294, `Size` and `RefCount` has been wrapped into `UsageData`
and is only exposed in `GET system/df`. Though the docs was not
updated in `docker_remote_api_v1.25.md`.

This fix updates the docs to refect the changes for `UsageData`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-10-11 15:41:00 -07:00
Sebastiaan van Stijn
a7db0a8402 Merge pull request #27294 from mlaventure/hide-unused-volume-fields
Move types.Volumes optional fields under a new type
2016-10-11 23:55:25 +02:00
Alessandro Boch
275013ce8b Update required modules for overlay dataplane encryption
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-10-11 14:06:55 -07:00
Tonis Tiigi
5fb3b4205a Remove checkpoint methods from builder backend
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-11 14:00:29 -07:00
Anusha Ragunathan
c5393ee147 Make authorization plugins use pluginv2.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-11 13:09:28 -07:00
Anusha Ragunathan
1845f506e4 Vendor libnetwork.
This is primarily for plugingetter import path change.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-11 13:09:01 -07:00
Tianon Gravi
8d6e9f0c6a Merge pull request #27005 from lizzha/azurechina
Use the mirror in China for Azure China environment
2016-10-11 13:04:11 -07:00
Tonis Tiigi
f8229aea9f Wait until tasks have been created in TestSwarmTaskListFilter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-11 11:56:42 -07:00
Kenfe-Mickael Laventure
d36952749d Move types.Volumes optional fields under a new type
This allows us to hide those fields when they are not filled.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-11 11:49:26 -07:00
Anusha Ragunathan
a98be0344b Update plugingetter import path in docker/docker.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-11 11:24:18 -07:00
Alexander Morozov
61753568f5 Merge pull request #27271 from tonistiigi/fix-test-timeout
Reduce TestRunCommandWithTimeoutKilled flakiness
2016-10-11 09:24:13 -07:00
Sebastiaan van Stijn
c98571b8f8 Merge pull request #26565 from justincormack/pinata-bundle
Add a script to install a bundle into Docker for Mac
2016-10-11 16:17:49 +02:00
Sebastiaan van Stijn
45d3462914 Merge pull request #26782 from cdrage/add-nat-check-to-script
Add check for CONFIG_IP_NF_NAT to kernel check
2016-10-11 15:14:53 +02:00
Madhu Venugopal
5ff17cb4aa Merge pull request #26954 from mrjana/net
Vendoring libnetwork @7b74403
2016-10-11 05:59:35 -07:00
Sebastiaan van Stijn
f7d1682c60 Merge pull request #26896 from jmzwcn/issue26244
Fix issue26244:swarm service, with overlay network, fails to remove all containers
2016-10-11 14:40:39 +02:00
Vincent Demeester
6b997739fe Merge pull request #26970 from wzhliang/restart-stopped-container
zsh: allow restarting stopped containers by id
2016-10-11 14:37:54 +02:00
yuexiao-wang
fe3ff54c7a Modify function name from SetDaemonLogLevel to SetLogLevel
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-11 19:35:12 +08:00
Sebastiaan van Stijn
f65bf11e26 Merge pull request #26894 from thaJeztah/improve-log-level-help
Improve --log-level help text
2016-10-11 12:35:42 +02:00
Liz Zhang
451979a368 Use the mirror in China for Azure China environment
Signed-off-by: Liz Zhang <lizzha@microsoft.com>

Use the mirror in China for Azure China environment

Signed-off-by: Liz Zhang <lizzha@microsoft.com>

Update option name to --mirror

Signed-off-by: Liz Zhang <lizzha@microsoft.com>

Update indent and change variable name

Signed-off-by: Liz Zhang <lizzha@microsoft.com>
2016-10-11 17:27:18 +08:00
Justin Cormack
d316e172da Merge pull request #26690 from mwhudson/ignore-oom_score_adj-failure
Ignore failure to set oom_score_adj, as happens in an unprivileged container.
2016-10-11 10:01:22 +01:00
Ezra Silvera
5a8ff40254 Call the AuthZRes function also when the daemon returns error
Signed-off-by: Ezra Silvera <ezra@il.ibm.com>
2016-10-11 09:53:30 +03:00
allencloud
3af743bb32 return nil when no node or service to avoid additional api call
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-11 10:59:16 +08:00
Madhu Venugopal
9a570f8d80 Merge pull request #27265 from Microsoft/jjh/gowinio035
Windows: Update go-winio to 0.3.5
2016-10-10 18:11:28 -07:00
Tonis Tiigi
797f630d2e Reduce TestRunCommandWithTimeoutKilled flakiness
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-10 17:31:37 -07:00
John Howard
97ac469934 Windows: Update go-winio to 0.3.5
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-10 15:08:17 -07:00
Jana Radhakrishnan
83ba14a552 Vendoring libnetwork @7b74403be424
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-10-10 14:39:02 -07:00
Sebastiaan van Stijn
4331b6271a Merge pull request #27232 from bfirsh/godoc-client
Add GoDoc for client package
2016-10-10 23:25:34 +02:00
Sebastiaan van Stijn
ef52468fb9 Merge pull request #27252 from startling/more-obsolete-and-gated-by-syscalls
More obsolete and "gated-by"s in docs/security/seccomp.md
2016-10-10 23:16:44 +02:00
Sebastiaan van Stijn
3197b312d0 Improve --log-level help text
This information was added in
1efc940e6f,
but removed again in
a271eaeba2
to make the help-output fit in a 80-chars
terminal.

This adds the available options again
in the help output, and updates the CLI
reference documentation to match actual
output.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-10 23:10:17 +02:00
Tõnis Tiigi
2945f902bd Merge pull request #27259 from LK4D4/no_map_pointers
daemon: do not use pointers to map
2016-10-10 13:15:03 -07:00
Boaz Shuster
929a77b814 Hide the mutex in formatter.ContainerStats
The formatter.ContainerStats struct exposes its Mutex.
This is a bad design and should be fixed.

To fix that, I separated the statistics
attributes from ContainerStats to StatsEntry and
hid the mutex. Notice that the mutex protects both
the `err` field and the statistics attributes.

Then, implemented SetStatistics, SetError, GetStatistics
and GetError to avoid races.

Moreover, to make this less granular, I decided to
replace the read-write mutex with the regular mutex and
to pass a StatsEntry slice to formatter.ContainerStatsWrite

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2016-10-10 21:52:53 +03:00
Alexander Morozov
44c280afbf daemon: do not use pointers to map
Also, do not shadow err with :=

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-10 11:37:36 -07:00
Aaron Lehmann
b687712927 Merge pull request #27253 from coolljt0725/remove_comment
pkg/archive/changes_posix_test.go: un-comment code line "defer os.RemoveAll(src)"
2016-10-10 11:36:52 -07:00
Justin Cormack
b5cbd84439 Merge pull request #27230 from allencloud/fix-bugs-in-prune
better prune and system df
2016-10-10 19:30:06 +01:00
Justin Cormack
199e19548e Add support for ambient capabilities
Linux kernel 4.3 and later supports "ambient capabilities" which are the
only way to pass capabilities to containers running as a non root uid.

Previously there was no way to allow containers not running as root
capabilities in a useful way.

Fix #8460

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-10 19:29:02 +01:00
Sebastiaan van Stijn
4a68c98d70 Merge pull request #27179 from dragonndev/master
Documentation update for trust sandbox example
2016-10-10 19:54:39 +02:00
Darren Stahl
45fe59931a Windows: Enable more create tests
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-10 10:34:03 -07:00
Kenfe-Mickaël Laventure
7ba31540f0 Merge pull request #27209 from tonistiigi/sleep-between-layers
Fix naivediffdriver timestamp precision bug
2016-10-10 10:24:49 -07:00
Tibor Vass
f5f0b77cec Merge pull request #26719 from AkihiroSuda/fix-race-builder-vs-container-1
Fix a race found in TestBuildCancellationKillsSleep
2016-10-10 18:54:55 +02:00
allencloud
fd62b6c950 better prune and system df
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-11 00:42:21 +08:00
Sebastiaan van Stijn
2f12d28084 Merge pull request #26778 from WeiZhang555/parallel-operations
Support parallel kill,rm
2016-10-10 18:31:10 +02:00
Vincent Demeester
9115b65ffd Merge pull request #27249 from yuexiao-wang/container-prune
Add the OPTIONS and Fix the links for prune
2016-10-10 17:02:10 +02:00
yuexiao-wang
6396c62fdc Add the OPTIONS and Fix the links for contain prune
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-11 00:13:33 +08:00
Lei Jitang
6514299fa9 pkg/archive/changes_posix_test.go: un-comment code line "defer os.RemoveAll(src)"
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-10-10 05:23:24 -04:00
Lizzie Dixon
7e84a1aebd More obsolete and "gated-by"s in docs/security/seccomp.md
Have used "obsolete" is "pre-2.6".

These are all sourced from the manpages.

Signed-off-by: Lizzie Dixon <_@lizzie.io>
2016-10-10 01:55:56 -07:00
Ben Firshman
070038bbc7 Add GoDoc for client package
- Tightened up copy in README
- Make example in README a bit simpler
- Update README to point at GoDoc

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-10-10 09:27:07 +01:00
Lei Jitang
bac97fa059 Merge pull request #27250 from yuexiao-wang/fix-links
Fix the incorrect links
2016-10-10 15:57:15 +08:00
yuexiao-wang
4b61b18ed2 Fix the incorrect links
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-10 23:26:05 +08:00
Harald Albers
06d4c11760 Align bash completion of volumes to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-09 04:46:20 -07:00
Daniel Zhang
434eae7dfd fix issue26244
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>
2016-10-09 12:36:44 +08:00
Harald Albers
5207fe75ae Align bash completion of networks to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-08 10:50:31 -07:00
Lei Jitang
920aa95aeb Merge pull request #27227 from x1022as/dev
fix typo in client/errors.go comments
2016-10-08 17:14:57 +08:00
Deng Guangxing
a68ba6be5d fix typo in client/errors.go comments
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2016-10-08 15:29:32 +08:00
Tonis Tiigi
d1a83059f7 Fix naivediffdriver timestamp precision bug
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-07 13:52:17 -07:00
Alexander Morozov
058556d7fc Merge pull request #27169 from tonistiigi/move-restartmanager
move restartmanager out of libcontainerd
2016-10-07 13:41:12 -07:00
Alexander Morozov
390a82c3fa Merge pull request #27221 from crosbymichael/update-init
Update grimes to 15ecf9414859b16a8a19ac6748a622a5498d57e3
2016-10-07 13:22:44 -07:00
Tonis Tiigi
a452d1fccb Remove restartmanager from plugins
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-07 12:10:13 -07:00
Tonis Tiigi
606a245d85 Remove restartmanager from libcontainerd
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-07 12:09:54 -07:00
Michael Crosby
c27116575e Update grimes to 15ecf9414859b16a8a19ac6748a622a5498d57e3
This fixes an issue when wait4 returns a 0 return status causing the
reaping loop to continue to run.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-10-07 12:06:42 -07:00
John Howard
25a148918e Windows: Test for container servicing
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-07 10:47:54 -07:00
Vincent Demeester
febf53d91a Merge pull request #26996 from Microsoft/jjh/imageinspectosversion
(Windows) Inspect image populate OSVersion
2016-10-07 18:33:01 +02:00
Vincent Demeester
b3cc3d7bf9 Merge pull request #23389 from Microsoft/jjh/credentialspec
Windows: Support credential specs
2016-10-07 18:32:44 +02:00
Vincent Demeester
e42ec6d7cb Merge pull request #27171 from tonistiigi/improve-attach-closed
Improve TestAttachClosedOnContainerStop
2016-10-07 11:26:33 +02:00
Vincent Demeester
91312f71aa Merge pull request #26882 from runcom/proxy-path
Specify userland proxy path
2016-10-07 09:44:39 +02:00
Brian Goff
323f8ceffd Merge pull request #27206 from darrenstahlmsft/MoreWindowsTests
Enabled more test on Windows, API and Build
2016-10-07 08:57:40 +02:00
Carlos Alexandro Becker
2764d67c3a added logentries driver
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2016-10-06 22:48:53 -03:00
Darren Stahl
6482410c9d Enabled more test on Windows, API and Build
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-06 17:18:42 -07:00
Tonis Tiigi
5fc71599a0 Deprecate repo:shortid syntax
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-06 17:12:17 -07:00
Victor Vieux
2fd674a00f Merge pull request #27184 from tiborvass/gnupg-debian-stretch
install: fix debian stretch
2016-10-06 14:20:03 -07:00
Tibor Vass
047264763a install: fix debian stretch
Apparently, Debian stretch does not come with gpg installed by
default. This patch ensures that gpg is installed.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-10-06 22:23:08 +02:00
John Howard
b7f537e811 Inspect populate image OSVersion
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-06 11:46:24 -07:00
Justin Cormack
5ee2c2a647 Merge pull request #27160 from mlaventure/update-containerd
Update containerd and runc
2016-10-06 19:36:31 +02:00
John Howard
e85867cb68 Windows: Support credential specs
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-06 09:32:22 -07:00
Brian Goff
28cca5dcaa Merge pull request #27170 from fivestars/26991-consolez
Force input stream ANSI emulation for ConsoleZ
2016-10-06 17:37:16 +02:00
John Howard
efa82c6561 Merge pull request #26926 from darrenstahlmsft/RevendorHcshim
Revendor hcsshim to v0.5.1
2016-10-06 08:35:37 -07:00
Antonio Murdaca
dd2e1947dc daemon: add --userland-proxy-path flag
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-06 17:31:53 +02:00
Brian Goff
f19120c305 Merge pull request #27167 from Microsoft/jjh/blockexport
Windows: export not supported
2016-10-06 16:05:36 +02:00
Brian Goff
48a75f6493 Merge pull request #27183 from darrenstahlmsft/BuildTests
Enable more build tests on Windows
2016-10-06 15:52:45 +02:00
Sebastiaan van Stijn
16a45dba89 Merge pull request #26797 from srodman7689/friendly_error_on_permissions_connection_error
Closes #26761 Updated the client/request.go sendClientRequest method to return a Pe…
2016-10-06 14:13:41 +02:00
Vincent Demeester
2160953d26 Merge pull request #27181 from sdurrheimer/zsh-completion-daemon-init-path
Add zsh completion for 'dockerd --init-path'
2016-10-06 10:58:21 +02:00
Darren Stahl
443d7313f5 Enable more build tests on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-06 00:53:30 -07:00
Sebastiaan van Stijn
306912eb92 Update reviewing process for unified docs repo
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-10-06 09:35:22 +02:00
Steve Durrheimer
3db5222340 Add zsh completion for 'dockerd --init-path'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-10-06 07:38:39 +02:00
Matthew Lapworth
0a43c5fedb Fixed issue when running trust example where the notary server tag wasn't found.
Signed-off-by: Matthew Lapworth <matthewl@bit-shift.net>
2016-10-05 21:05:17 -07:00
Doug Davis
28a9a7deb0 Don't env-var evaluate labels from docker build cmd line
Fixes #26027

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-10-05 18:17:02 -07:00
Tonis Tiigi
9d8f01b4f5 Improve TestAttachClosedOnContainerStop
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-05 15:52:09 -07:00
Kenfe-Mickael Laventure
7e12c3bb99 Update containerd and runc
containerd: 837e8c5e1cad013ed57f5c2090c8591c10cbbdae
runc: 02f8fa7863dd3f82909a73e2061897828460d52f

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-05 14:47:15 -07:00
Darren Stahl
267c04aa36 Revendor hcsshim to v0.5.1
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-05 14:40:51 -07:00
Alexander Morozov
921a0bf686 Merge pull request #26932 from dmcgowan/update-tar-split
Update tar split
2016-10-05 13:45:07 -07:00
Alexander Morozov
33ae7d4c19 Merge pull request #27149 from swernli/servicing_fix
Fixing servicing bug by always specifying LayerFolderPath
2016-10-05 13:21:47 -07:00
John Howard
73932d8d22 Windows: export not supported
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-05 13:15:44 -07:00
Michael Crosby
0b86ca9ad0 Merge pull request #26509 from LK4D4/commits_from_vendor
project: move go binaries installation to separate script
2016-10-05 13:15:30 -07:00
Alexander Morozov
ba9fb73280 Merge pull request #27037 from Microsoft/jjh/apistatsdatarace
Fix datarace in ApiStatsNetworkStatsVersioning
2016-10-05 13:06:40 -07:00
Alexander Morozov
f08a450ad3 Merge pull request #25837 from reaperhulk/support-compressing-build-context
Add support for compressing build context during image build
2016-10-05 12:57:46 -07:00
Josh Wilson
c0a5772668 Force input stream ANSI emulation for ConsoleZ
This performs a similar check to the `"ConEmuANSI"` check that was recently
added to enable arrow keys navigation in docker container terminals.

Signed-off-by: Josh Wilson <josh.wilson@fivestars.com>
2016-10-05 12:42:48 -07:00
Tõnis Tiigi
aa8996f70b Merge pull request #27039 from rojingeorge/patch-1
Updating the DockerFile for build failure, when make build is done, f…
2016-10-05 10:51:42 -07:00
John Howard
825e3a66a4 Fix datarace in ApiStatsnetworkStatsVersioning
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-10-05 10:12:46 -07:00
Michael Crosby
214b70e6ef Merge pull request #27038 from jstarks/non_base_utilityvm
Windows: support Windows servicing layers
2016-10-05 10:02:31 -07:00
Tõnis Tiigi
67155f1c33 Merge pull request #27146 from duglin/fixCont
Require continuation char to be last char in a line
2016-10-05 09:49:47 -07:00
Kenfe-Mickaël Laventure
2616a909e8 Merge pull request #27153 from vieux/awscli_arm
add awscli to arm Dockerfile
2016-10-05 07:29:36 -07:00
Justin Cormack
6860c101ad Add a script to install a bundle into Docker for Mac
After building docker from the git repo, you can run
```
./contrib/mac-install-bundle.sh install
```
and this will tell Docker for Mac to look for a bundle at the current
path to run instead of the built in version of Docker. This will persist
until you do a factory reset or run
```
./contrib/mac-install-bundle.sh undo
```

A factory reset is advised to reset as a development Docker may break your
install.

The path must be a path that is shared with Docker for Mac so that the VM
can find it - nothing is installed into the image.

This is in `contrib/` as it is a best effort attempt to make it easier for
Docker for Mac users to test master or pull requests. If it breaks anything
a factory reset is your friend.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-05 13:21:18 +02:00
Doug Davis
ed72c65a2a Merge pull request #27154 from pwzgorilla/master
typo: modified `Server` as `Serve`
2016-10-05 07:03:18 -04:00
Phil Estes
5a2c19ac4a Merge pull request #27156 from rheinwein/lf/update-installation-link
Update experimental/README link to binary installation instructions
2016-10-05 12:23:46 +02:00
Justin Cormack
d4b8bf49dd Merge pull request #27042 from mlaventure/remove-ubuntu-wily
Remove Ubuntu 15.10 (Wily Werewolf) from build-deb targets
2016-10-05 12:19:05 +02:00
Justin Cormack
5a1efde8f2 Merge pull request #27139 from runcom/fix-WriteJSON
api/server/httputils: compile with go < 1.7 (WriteJSON)
2016-10-05 12:15:04 +02:00
Laura Frank
65e1103789 Update readme link to binary installation instructions
Signed-off-by: Laura Frank <ljfrank@gmail.com>
2016-10-05 11:13:08 +02:00
mgniu
97a4548bb3 typo: modified Server as Serve
Signed-off-by: mgniu <mgniu@dataman-inc.com>
2016-10-05 12:20:31 +08:00
Brian Goff
c48317ad7c Merge pull request #27152 from darrenstahlmsft/Rounding
Windows: fix rounding error in container resources
2016-10-04 21:08:14 -04:00
Victor Vieux
dbec45fa7a add awscli to arm Dockerfile
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-04 16:22:59 -07:00
Stefan J. Wernli
78540d0d18 Fixing servicing bug by always specifying LayerFolderPath
During the recent OCI changes, I mistakenly thought LayerFolderPath is only needed for Windows Server containers (isolation=process) and not for Hyper-V Containers, but it turns out it is also required for servicing containers used to finish installing updates.  Since the servicing containers need to reuse the container's create options, this change makes it so that LayerFolderPath is always filled in for all containers as part of constructing the create options.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-10-04 15:29:30 -07:00
Darren Stahl
1b48203f17 Windows: fix rounding error in container resources
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-10-04 14:11:32 -07:00
Kenfe-Mickael Laventure
e9a8105708 Remove Ubuntu 15.10 (Wily Werewolf) from build-deb targets
As of July 28, 2016, it is officially EOL (https://lists.ubuntu.com/archives/ubuntu-announce/2016-July/000210.html) and will receive no further updates.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-04 13:01:00 -07:00
Brian Goff
e097c2a938 Merge pull request #27148 from anusha-ragunathan/chg_import_path
Add plugingetter to pkg.
2016-10-04 15:17:08 -04:00
Anusha Ragunathan
d599d53db2 Add plugingetter to pkg.
plugingetter is indepedent of docker/docker packages, so it can be
moved to pkg. This is also necessary for authorization plugins (part of
pkg) to use pluginv2. The original path at plugin/getter will be
eventually removed, when external repos (eg. libnetwork) update their
import paths.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-04 12:03:29 -07:00
Doug Davis
105bc63295 Require continuation char to be last char in a line
While look at #27039 I noticed that we allow for whitespace after
the continuation char (\\) which is wrong. It needs to be the very
last char in the line.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-10-04 09:38:00 -07:00
Charlie Drage
2fb2361b29 Add check for CONFIG_IP_NF_NAT to kernel check
This appears to be missing. NAT (via iptables) is required in order to
setup Docker networking.

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
2016-10-04 12:14:45 -04:00
Vincent Demeester
694ba71e36 Merge pull request #26989 from aboch/none
Respect --bridge=none
2016-10-04 16:25:39 +02:00
Brian Goff
5e072a25f8 Merge pull request #27136 from allencloud/add-lock-in-libcontainerd
add lock in libcontainerd client AddProcess of Windows
2016-10-04 09:29:59 -04:00
Antonio Murdaca
d1d505fa70 api/server/httputils: compile with go < 1.7
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-10-04 12:01:49 +02:00
allencloud
5143be0ccf add lock in libcontainerd client AddProcess of Windows
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-04 10:29:21 +08:00
Anusha Ragunathan
0cc7f0185f Merge pull request #26860 from anusha-ragunathan/nw-pv2
Make libnetwork use pluginv2.
2016-10-03 17:12:16 -07:00
Anusha Ragunathan
671d01aabf Merge pull request #27128 from anusha-ragunathan/plugin-shutdown
Shutdown plugins after containers.
2016-10-03 17:08:22 -07:00
Victor Vieux
f60727d185 Merge pull request #27121 from LK4D4/fix_import
volume/local: fix import path
2016-10-03 16:48:20 -07:00
Victor Vieux
bd57e6d25c Merge pull request #27126 from mlaventure/fix-tgz
Remove amd64 assumption in release.sh, cross and tgz scripts
2016-10-03 16:03:00 -07:00
Victor Vieux
0892a737d1 Merge pull request #27127 from vieux/revert_wrong_doc
Revert "fix API doc service delete"
2016-10-03 16:02:08 -07:00
Anusha Ragunathan
ed6e30767e Shutdown plugins after containers.
Fixes #26278

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-03 15:52:44 -07:00
Kenfe-Mickael Laventure
61335bcb03 Remove amd64 assumption in release.sh, cross and tgz scripts
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-03 15:46:42 -07:00
Tonis Tiigi
7381c84bfb Don’t attempt to reconnect swarm on failed join after timeout
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-10-03 13:38:01 -07:00
Alexander Morozov
5af8cfd3b1 volume/local: fix import path
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-03 12:13:56 -07:00
Victor Vieux
94cd7ed72d Merge pull request #27119 from vieux/fix_doc_delete_service
fix API doc service delete
2016-10-03 12:03:45 -07:00
Brian Goff
8b416fb025 Merge pull request #26960 from allencloud/make-remove-cloudprovider-network-return-204
make remove cloudprovider network return 204
2016-10-03 14:46:11 -04:00
Brian Goff
ce64a9bffd Merge pull request #27085 from alexchenfeng/master
add check flag for CONFIG_NETFILTER_XT_MATCH_IPVS CONFIG_IP_VS_NFCT C…
2016-10-03 14:23:07 -04:00
Michael Crosby
e22d4b9654 Merge pull request #27078 from darrenstahlmsft/InteractiveRestartTest
Increase timeout in TestRunInteractiveWithRestartPolicy
2016-10-03 11:22:33 -07:00
Alessandro Boch
a0af884d3a Respect --bridge=none
- Do not create the default "bridge" network
- Get rid of the docker0 bridge

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-10-03 11:08:34 -07:00
John Starks
cab70c391f Windows: Revendor hcsshim v0.4.5
This update adds support for non-base layers that have utility VM updates
and hard links. This is necessary to support Microsoft-released layers
with servicing updates.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-10-03 11:00:04 -07:00
Anusha Ragunathan
009f741351 Vendor docker/swarmkit changes.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-03 10:59:38 -07:00
Anusha Ragunathan
a00940f02c Initialize libnetwork and IPAMDriver with pluginstore.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-03 10:40:05 -07:00
Anusha Ragunathan
2b0f0d0d71 Vendor in docker/libnetwork.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-03 10:40:05 -07:00
Sean Rodman
bec07890aa Updated the client/request.go sendClientRequest method to return a PermissionDenied error if the connection failed due to permissions.
Signed-off-by: Sean Rodman <srodman7689@gmail.com>

Updated the check for the permission error to use os.IsPermission instead of checking the error string. Also, changed the PermissionDenied method to just a new error.

Fixed a typo in client/request.go

Fixed Error name as specified by Pull request builder output.

Worked on making changes to the permissiondenied error.

Fixed typo

Signed-off-by: Sean Rodman <srodman7689@gmail.com>

Updated error message as requested.

Fixed the error as requested

Signed-off-by: Sean Rodman <srodman7689@gmail.com>
2016-10-03 09:02:20 -05:00
Brian Goff
7e29b33546 Merge pull request #26967 from AkihiroSuda/rename-tests
[nit] integration-cli: obey Go's naming convention
2016-10-03 09:52:04 -04:00
Tõnis Tiigi
675e622432 Merge pull request #27094 from allencloud/add-lock-in-libcontainerd-client
add lock in libcontainerd client AddProcess
2016-10-02 16:50:41 -07:00
Sebastiaan van Stijn
367d5b0232 Merge pull request #27097 from albers/completion-node-ps-multiple-nodes
Add support for multiple nodes in bash completion for `docker node ps`
2016-10-02 14:38:46 +02:00
Sebastiaan van Stijn
eca5ff194f Merge pull request #27096 from albers/completion-daemon--init-path
Add bash completion for `dockerd --init-path`
2016-10-02 14:37:13 +02:00
Vincent Demeester
420e22fad4 Merge pull request #27060 from yongtang/27021-inspect-show-env
Disable HTML escaping for JSON strings in `docker inspect`
2016-10-02 14:32:56 +02:00
Harald Albers
9aeb69a069 Add support for multiple nodes in bash completion for docker node ps
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-02 05:18:32 -07:00
Harald Albers
d710a3e1f8 Add bash completion for dockerd --init-path
Signed-off-by: Harald Albers <github@albersweb.de>
2016-10-02 05:10:00 -07:00
allencloud
278273bc16 add lock in libcontainerd client AddProcess
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-02 00:36:25 +08:00
allencloud
ea07ef7a7c make remove network return 204
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-10-01 19:50:40 +08:00
Sebastiaan van Stijn
762556c705 Merge pull request #26564 from miminar/prevent-blob-uploads
Avoid unnecessary blob uploads
2016-10-01 12:53:10 +02:00
Victor Vieux
bd99641466 Revert "fix API doc service delete"
This reverts commit a12120e78c.

Signed-off-by: Victor Vieux <vieux@docker.com>
2016-10-01 02:12:41 -07:00
Vincent Demeester
6e8a2cd291 Merge pull request #27062 from yank1/Inconsistency-"on_failure"-vs-"on-failure"
Fix conversion of restart-policy from GRPC
2016-10-01 10:39:00 +02:00
Victor Vieux
a12120e78c fix API doc service delete
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-09-30 22:31:40 -07:00
Arnaud Porterie
86de7c000f Merge pull request #26108 from mlaventure/data-mngt
New Data Management commands
2016-10-01 03:17:18 +00:00
alexchen
4c74469d30 add check flag for CONFIG_NETFILTER_XT_MATCH_IPVS CONFIG_IP_VS_NFCT CONFIG_IP_VS_RR in contrib/check-config.sh
Signed-off-by: alexchen <alexchenunix@gmail.com>
2016-10-01 09:50:17 +08:00
Michael Crosby
18338427ed Merge pull request #26968 from darrenstahlmsft/TestEventsFix
Limit conccurent container creates in TestEventsLimit to 8
2016-09-30 16:29:01 -07:00
Paul Kehrer
4825e58a96 Add support for compressing build context during image build
When sending a build context to a remote server it may be
(significantly) advantageous to compress the build context. This commit
adds support for gz compression when constructing a build context
using a command like "docker build --compress ."

Signed-off-by: Paul Kehrer <paul.l.kehrer@gmail.com>
2016-09-30 17:46:08 -05:00
Darren Stahl
6eac29490f Increase timeout in TestRunInteractiveWithRestartPolicy
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-30 15:30:18 -07:00
Brian Goff
6de38ebc4d Merge pull request #27075 from tonistiigi/copy-error-reporting
Fix error reporting in `CopyFileWithTar`
2016-09-30 18:14:13 -04:00
Darren Stahl
728a265190 Limit conccurent container creates in TestEventsLimit to 8
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-30 14:44:05 -07:00
Sebastiaan van Stijn
1b944a3025 Merge pull request #27049 from dnephin/fix-label-flag-type
Use ListOpt for build labels
2016-09-30 23:40:08 +02:00
Kenfe-Mickael Laventure
913e5cb77b Add documentation for container, volume, image and system prune subcommands
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-30 14:35:23 -07:00
Kenfe-Mickael Laventure
a860d5db45 Document new /system/df and /{containers,volumes,images}/prune API EndPoints
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-30 14:35:23 -07:00
Kenfe-Mickael Laventure
b650a7bd27 Add new df subcomand to the system command
This command display the state of the data usage of the docker daemon.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-30 14:35:23 -07:00
Tonis Tiigi
57e12037ac Fix error reporting in CopyFileWithTar
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-30 11:46:37 -07:00
Brian Goff
d89fb40e1c Merge pull request #27072 from Microsoft/jjh/fix26843
Windows: Don't resolve volume dest
2016-09-30 14:46:07 -04:00
Michael Crosby
97660c6ec5 Merge pull request #26961 from Microsoft/jjh/oci
Windows: OCI runtime spec compliance
2016-09-30 10:13:57 -07:00
Michael Crosby
6eef2b2ada Merge pull request #26997 from tonistiigi/exec-env
Fix missing hostname and links in exec env
2016-09-30 09:51:02 -07:00
John Howard
3838c314ad Windows: Don't resolve volume dest
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-30 09:40:15 -07:00
Justin Cormack
50856a2ce2 Merge pull request #27051 from tophj-ibm/fix-installing-apparmor
Fix apparmor profile installation
2016-09-30 17:38:20 +01:00
Vincent Demeester
4fabc92cfc Merge pull request #26697 from allencloud/change-service-scale-logic
validate service parameter in client side to avoid api call in `docker service scale`
2016-09-30 18:37:35 +02:00
Vincent Demeester
c9a0dda586 Merge pull request #27059 from yongtang/26964-docs-service-ps-filter-misc
Update docs for node filter of `docker service ps`
2016-09-30 16:15:49 +02:00
Yong Tang
c326e0afe3 Update docs for node filter of docker service ps
As is specified in 26964, it is possible to specify
a filter based on the node name or node ID.

This fix updates the related docs for that.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-30 05:37:14 -07:00
Kay Yan
bc32fcabeb Fix conversion of restart-policy from GRPC
restart-condition for services from "on_failure" to "on-failure".

Since GRPC does not support dashes in properties, this change
added a conversion when _setting_ the restart-condition.

However, when inspecting a service, no conversion took place
from the internal GRPC value, resulting in "on_failure" to
be shown.

This change updates the conversion to fix this, and removes
a "hack" that was previously used for this, now using a
Switch to compare to actual types.

Before this change:

    docker service create --name web --restart-condition=on-failure nginx:alpine

    docker service inspect --format '{{ json .Spec.TaskTemplate.RestartPolicy }}' web
    {"Condition":"on_failure","MaxAttempts":0}

Afer this change:

    docker service create --name web --restart-condition=on-failure nginx:alpine

    docker service inspect --format '{{ json .Spec.TaskTemplate.RestartPolicy }}' web
    {"Condition":"on-failure","MaxAttempts":0}

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2016-09-30 15:54:47 +08:00
Akihiro Suda
7fb7a477d7 [nit] integration-cli: obey Go's naming convention
No substantial code change.

 - Api         --> API
 - Cli         --> CLI
 - Http, Https --> HTTP, HTTPS
 - Id          --> ID
 - Uid,Gid,Pid --> UID,PID,PID
 - Ipam        --> IPAM
 - Tls         --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)

Didn't touch in this commit:
 - Git: because it is officially "Git": https://git-scm.com/
 - Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
 - Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-30 01:21:05 +00:00
Yong Tang
0fa20ad13b Disable HTML escaping for JSON strings in docker inspect
This fix tries to address the issue raised in 27021 where
HTML strings like (`&, >, <, etc`) in environmental variables
are escaped for JSON output for `docker inspect`. For example,
`TEST_ENV="soanni&rtr"` has been escaped to `TEST_ENV="soanni\u0026rtr"`

This fix disabled HTML escaping with `SetEscapeHTML`, which is available
since golang 1.7.0. This changes will be applied to all JSON output
that utilize `httputils.WriteJSON`.

An integration test has been added to cover the changes.

This fix fixes 27021.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-29 18:16:36 -07:00
Christopher Jones
1a702111c6 Fix apparmor profile installation
Fixes #26823

Fixes an issue where apparmor was not loaded into the kernel, because
apparmor_parser was being called incorrectly.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-29 18:47:20 -05:00
Daniel Nephin
6c3b44f755 Use ListOpt for labels.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-29 17:59:52 -04:00
Tonis Tiigi
e981459609 Fix missing hostname and links in exec env
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-29 13:46:10 -07:00
Michael Crosby
1d669d82c1 Merge pull request #26994 from Microsoft/jjh/fix26461regression
Windows: Don't set PATH/TERM on exec
2016-09-29 13:34:12 -07:00
allencloud
6184ff312d change code in container restore
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-30 02:44:21 +08:00
Rojin George
7edbdd9c5c Updating the DockerFile for build failure, when make build is done, fixes #27035
- What I did
While building docker from source, to get the dependencies installed had done make build, then had got this error.

- How I did it
In the DockerFIle, instead using space a tab was put, which when was done make build the next line was getting combined and was unable to install the package.

image

image

Refer the below Hex View of the earlier file.
image

- How to verify it
After fixing, changing tab to space, built from source to install dependencies and was success

- Description for the changelog

Fixing Issue #27035

Signed-off-by: Rojin George itsmerojin@gmail.com
Signed-off-by: rojingeorge <itsmerojin@gmail.com>
2016-09-29 23:46:46 +05:30
Misty Stanley-Jones
a3286783bc Merge pull request #27036 from mstanleyjones/fix_labels_nav
Fix menu position of the labels-custom-metadata.md topic
2016-09-29 11:04:46 -07:00
Misty Stanley-Jones
9e01221048 Fix menu position of the labels-custom-metadata.md topic
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-29 10:51:08 -07:00
John Starks
2a765279fa Windows: Use the top-most utility VM image
Microsoft will be distributing non-base layers that have utility VM image
updates. Update libcontainerd to use the top-most utility VM image that is
available in the image chain when launching Hyper-V-isolated container.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-09-29 10:49:02 -07:00
Sebastiaan van Stijn
6f07a4a69b Merge pull request #27031 from mstanleyjones/fix_broken_image_link
Revert "Add direct link to event chart image"
2016-09-29 19:21:30 +02:00
Misty Stanley-Jones
23207def7c Revert "Add direct link to event chart image"
This reverts commit 86de72fef2.

The link seems malformed and is breaking the overall docs build.

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-29 10:16:41 -07:00
Vincent Demeester
b6ad6d98fd Merge pull request #24411 from vdemeester/24393-ps-filter-managed
Add a new "is-task" ps filter
2016-09-29 18:54:15 +02:00
Tõnis Tiigi
c29eee6e20 Merge pull request #27007 from allencloud/better-node-inspect-pretty
add \n in engine labels display in docker node inspect xxx --pretty
2016-09-29 09:53:59 -07:00
Tõnis Tiigi
5bfe493d93 Merge pull request #27024 from LK4D4/fix_servic_healthtest
integration: wait for task running in TestServiceHealthRun
2016-09-29 09:53:02 -07:00
Tonis Tiigi
a9c1575b1a Fix name collision handling in restore
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-29 08:35:10 -07:00
Alexander Morozov
2de05de98d integration: wait for task running in TestServiceHealthRun
Test can miss Starting state, so wait until its Running

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-29 07:44:00 -07:00
Kenfe-Mickael Laventure
f830d52dd0 Add DiskUsage method to SystemApiclient
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
280c872366 Add subcommand prune to the container, volume, image and system commands
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
33f4d68f4d Add /{containers,volumes,images}/prune API endpoint
These new endpoints request the daemon to delete all resources
considered "unused" in their respective category:
  - all stopped containers
  - all volumes not attached to any containers
  - images with no associated containers

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
f2e11fb8d1 Add /system/df API endpoint
This endpoint return data regarding the space used by docker on disk

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
b717de5153 Update Images() to allow retrieving specific image size data
Those data include:
 - size of data shared with other images
 - size of data unique to a given image
 - how many containers are using a given image

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
c6db1e9c1b Add Size and RefCount fields to types.Volume
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Kenfe-Mickael Laventure
148aef9199 Add Map() method to LayerStore interface
This method return a map associating a chain ID to its layer object

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-09-29 07:42:53 -07:00
Michal Minář
81f7b1f1e5 Different number of retries for layers of different sizes
Classify blobs into three categories based on size.
Use a very limited number of mount attempts and no existence check for
small blobs. Use more attempts for bigger blobs.

Also remember blob associations during layer existence check.

Blob digests are now checked in the target repository from newest to
latest. If the blob exists and the metadata entry does not, it will be
created. If the blob is not found, the metadata entry will be removed.

Signed-off-by: Michal Minář <miminar@redhat.com>
2016-09-29 14:16:01 +02:00
Michal Minář
d3bd14a4fb Allow to mock V2MetadataService in unit tests
Signed-off-by: Michal Minář <miminar@redhat.com>
2016-09-29 14:16:00 +02:00
Michal Minář
c6dd51c32c Try to cross-repo mount until success
Don't fallback back immediately to blob upload if the cross-repo mount
fails and layer upload is initiated by registry.

Instead cancel the upload and re-try cross-repo mount from different
source repository before doing full re-upload.

Signed-off-by: Michal Minář <miminar@redhat.com>
2016-09-29 14:16:00 +02:00
Michal Minář
0928f3f2e3 Compare V2Metadata with associated auth config
to avoid unnecessary blob re-uploads.

Cross repository mount from particular repo will most probably fail if
the user pushing to the registry is not the same as the one who pulled
or pushed to the source repo.

This PR attempts first to cross-repo mount from the source repositories
associated with the pusher's auth config. Then it falls back to other
repositories sorted from the most similar to the target repo to the
least.

It also prevents metadata deletion in cases where cross-repo mount fails
and the auth config hashes differ.

Signed-off-by: Michal Minář <miminar@redhat.com>
2016-09-29 14:16:00 +02:00
allencloud
ddec4c3ee4 add \n in engine labels display in docker node inspect xxx --pretty
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-29 18:17:54 +08:00
Sebastiaan van Stijn
ad398f132b Merge pull request #27001 from mstanleyjones/fix_broken_build
Fix link to non-existent file
2016-09-29 08:39:26 +02:00
Sebastiaan van Stijn
bc0465d2be Merge pull request #26999 from andrewhsu/test-exit-code-125
integration test for missing arg error code
2016-09-29 08:38:19 +02:00
Misty Stanley-Jones
ca04f02d76 Fix link to non-existent file
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-28 20:34:26 -07:00
Andrew Hsu
64b5fe76cf integration test for missing arg error code
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2016-09-28 16:33:45 -07:00
John Howard
e880bbc48b Windows: Don't set PATH/TERM on exec
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-28 13:42:27 -07:00
Vincent Demeester
601004e1a7 Merge pull request #26972 from allencloud/clear-health-monitor-log
make health check log more readable
2016-09-28 14:22:43 +02:00
Sebastiaan van Stijn
9f0593990f Merge pull request #26941 from runcom/docker-init-path-1
configure docker-init binary path
2016-09-28 13:12:59 +02:00
Vincent Demeester
5280ba83e5 Add a new "is-task" ps filter
This makes it easier to list containers that are part of a task
(swarm mode) and those who are not.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-09-28 12:45:30 +02:00
Vincent Demeester
b0e1b8fc79 Merge pull request #24850 from yongtang/24270-service-tasks-filter
Fix partial/full filter issue in `service tasks --filter`
2016-09-28 11:50:27 +02:00
allencloud
a4a4f3733f make health check log more readable
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-28 14:10:15 +08:00
Zhang Wei
2b773257e0 Support parallel rm
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-09-28 12:07:18 +08:00
Zhang Wei
d2bb3aba7e Support parallel kill
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-09-28 12:03:19 +08:00
Wenzhi Liang
568aa9675c allow restarting stopped containers by id
Signed-off-by: Wenzhi Liang <wenzhi.liang@gmail.com>
2016-09-28 11:27:11 +08:00
Yong Tang
880a5f565f Update docs for service ps
This fix updates docs for `service ps` as now the TASK ID part has been
removed.

Also, this fix fixes several incorrect sample output.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-27 19:12:48 -07:00
Brian Goff
9a2f01ef13 Merge pull request #26951 from AkihiroSuda/update-ut-cli-command-service
Fix cli/command/service/opts_test.go, and add some extra test cases
2016-09-27 20:30:26 -04:00
Misty Stanley-Jones
bab64af2ad Merge pull request #26931 from thaJeztah/fix-aux-address-example
Fix incorrect aux-address examples and test
2016-09-27 17:06:01 -07:00
Stephen J Day
dc9f5c2ca3 client: pedantic checking of tlsconfig
Under the convoluted code path for the transport configuration,
TLSConfig was being set even though the socket type is unix. This caused
other code detecting the TLSConfig to assume https, rather than using
the http scheme. This led to a situation where if `DOCKER_CERT_PATH` is
set, unix sockets start reverting to https. There is other odd behavior
from go-connections that is also reproduced here.

For the most part, we try to reproduce the side-effecting behavior from
go-connections to retain the current docker behavior. This whole mess
needs to ripped out and fixed, as this pile spaghetti is unnacceptable.

This code is way to convoluted for an http client. We'll need to fix
this but the Go API will break to do it.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-27 16:27:48 -07:00
John Howard
8f76a1d08b Windows: Set correct root path logic
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-27 15:21:28 -07:00
Misty Stanley-Jones
456e6fe4aa Merge pull request #26963 from londoncalling/docs-swarm-d4mac-d4win
added better Docker Machine links to Swarm tutorial d4mac, d4win, cop…
2016-09-27 14:59:26 -07:00
Victoria Bialas
0a76a4cb5b added better Docker Machine links to Swarm tutorial d4mac, d4win, copyedits
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-09-27 14:21:17 -07:00
Sebastiaan van Stijn
784b601bbd Merge pull request #26957 from dnephin/add_more_areas
Add area/bundles to the list of area labels
2016-09-27 22:01:51 +02:00
John Howard
02309170a5 Remove hacked Windows OCI spec, compile fixups
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-27 12:07:35 -07:00
John Howard
ba2df17493 Revendor OCI runtime-spec 1c7c27d043c2
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-27 12:05:47 -07:00
Sebastiaan van Stijn
e8dc339d43 Merge pull request #26955 from albers/completion-fix-logs--since
Fix bash completion for `docker logs --since`
2016-09-27 20:06:40 +02:00
Daniel Nephin
b94d429f19 Add area/bundles tothe list of area labels.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-27 13:18:53 -04:00
Victor Vieux
95030c26e4 Merge pull request #26952 from andrewhsu/cherry-pick-flags
Specify git cherry-pick flags for release process.
2016-09-27 10:08:01 -07:00
Harald Albers
0e2244352a Fix bash completion for docker logs --since
Signed-off-by: Harald Albers <github@albersweb.de>
2016-09-27 18:58:48 +02:00
Derek McGowan
e338217770 Update tar split
Pulls in fix for tar split disassembly incorrectly storing the padding
at the end of the file, leading to a hash difference on the
re-assembled tar archive.

Closes #26434

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-09-27 09:57:56 -07:00
Vincent Demeester
97d4b9c465 Merge pull request #26074 from allencloud/return-err-when-remove-container-in-progress
make client side know container removal in progress
2016-09-27 18:48:03 +02:00
Vincent Demeester
b881148385 Merge pull request #26255 from Microsoft/jjh/xenon-test-infrastructure
Add isolation to info - enables Hyper-V containers CI bring-up
2016-09-27 18:46:51 +02:00
Vincent Demeester
64fca34860 Merge pull request #26047 from allencloud/mv-mcvlan-out-of-experimental-docs
move macvlan out of experimental docs
2016-09-27 18:45:00 +02:00
Vincent Demeester
c505486bb1 Merge pull request #26906 from allencloud/add-endpoint-mode-in-service-pretty
add endpoint mode in service pretty
2016-09-27 18:28:43 +02:00
Akihiro Suda
ed2e79fc03 Fix a race found in TestBuildCancellationKillsSleep
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-27 16:19:49 +00:00
Andrew Hsu
6d470bb715 Specify git cherry-pick flags for release process.
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
2016-09-27 09:03:20 -07:00
Akihiro Suda
4e01e7924d Fix cli/command/service/opts_test.go, and add some extra test cases
`m.Set("type=volume,target=/foo,volume-nocopy")` is valid even though it lacks "source"

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-27 15:27:02 +00:00
Alexander Morozov
1dbf3c65e1 Merge pull request #26920 from tophj-ibm/add-1404-make-debs
ppc64le: add files for supporting 14.04 'make debs'
2016-09-27 07:54:57 -07:00
Brian Goff
c2f57291ac Merge pull request #26898 from YuPengZTE/devErrorsNew
In error, the first letter is low-case letter
2016-09-27 10:10:57 -04:00
Sebastiaan van Stijn
6e5d5baaed Merge pull request #25697 from yongtang/24958-swarm-init-cluster-defaults
Let swarmkit to handle cluster defaults in `swarm init` if not specified
2016-09-27 15:36:03 +02:00
Antonio Murdaca
6a12685bb7 configure docker-init binary path
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-27 14:49:17 +02:00
Yong Tang
eb19c2f080 Let swarmkit handle cluster defaults in swarm init if not specified
This fix tries to address the issue raised in 24958 where previously
`docker swarm init` will automatically fill in all the default value
(instead of letting swarmkit to handle the default).

This fix update the `swarm init` so that initial value are passed only
when a flag change has been detected.

This fix fixes 24958.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-27 04:19:38 -07:00
Justin Cormack
789e686890 Merge pull request #26921 from tophj-ibm/bump-remaining-go-versions-to-1.7.1
Bump remaining Dockerfile go versions to 1.7.1
2016-09-27 11:51:56 +01:00
allencloud
70bb832060 add endpoint mode in service pretty
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-27 18:41:19 +08:00
allencloud
9a58f298d1 make client side know container removal in progress
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-27 18:06:54 +08:00
Vincent Demeester
b826bebda0 Merge pull request #24634 from thaJeztah/make-network-name-required
API return network-list if no network-name or id is provided
2016-09-27 10:20:38 +02:00
Yong Tang
8f4afb86ee Revendor swarmkit to b79d41fa99c137181d8f58ef76a6e8a25bc2e72f
This commit updates swarmkit to b79d41fa99c137181d8f58ef76a6e8a25bc2e72f

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-26 23:48:16 -07:00
YuPengZTE
110ab746ba In error, the first letter is low-case letter
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-27 10:40:07 +08:00
Sebastiaan van Stijn
fd7161bb30 Fix incorrect aux-address examples and test
The (host)name for aux-addresses should
be unique, otherwise later values overwrite
earlier values.

Before this change, the example command
would send this API request;

    {
      "Attachable": false,
      "CheckDuplicate": true,
      "Driver": "overlay",
      "EnableIPv6": false,
      "IPAM": {
        "Config": [
          {
            "Gateway": "192.168.0.100",
            "IPRange": "192.168.1.0/24",
            "Subnet": "192.168.0.0/16"
          },
          {
            "AuxiliaryAddresses": {
              "a": "192.170.1.5",
              "b": "192.170.1.6"
            },
            "Gateway": "192.170.0.100",
            "Subnet": "192.170.0.0/16"
          }
        ],
        "Driver": "default",
        "Options": {
        }
      },
      "Internal": false,
      "Labels": {
      },
      "Name": "my-multihost-network",
      "Options": {
      }
    }

After this change, the request looks
like this (all aux-addresses preserved);

    {
      "Attachable": false,
      "CheckDuplicate": true,
      "Driver": "overlay",
      "EnableIPv6": false,
      "IPAM": {
        "Config": [
          {
            "AuxiliaryAddresses": {
              "my-router": "192.168.1.5",
              "my-switch": "192.168.1.6"
            },
            "Gateway": "192.168.0.100",
            "IPRange": "192.168.1.0/24",
            "Subnet": "192.168.0.0/16"
          },
          {
            "AuxiliaryAddresses": {
              "my-printer": "192.170.1.5",
              "my-nas": "192.170.1.6"
            },
            "Gateway": "192.170.0.100",
            "Subnet": "192.170.0.0/16"
          }
        ],
        "Driver": "default",
        "Options": {
        }
      },
      "Internal": false,
      "Labels": {
      },
      "Name": "my-multihost-network",
      "Options": {
      }
    }

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-27 01:12:29 +02:00
Yong Tang
f676fc93c3 Fix partial/full filter issue in service tasks --filter
This fix tries to address the issue related to 24108 and 24790, and
also the case from 24620#issuecomment-233715656

The reason for the failure case in the above mentioned issues is that
currently Task names are actually indexed by Service Name
(`e.ServiceAnnotations.Name`)

To fix it, a pull request in swarmkit (swarmkit/pull/1193) has been
opened separately.

This fix adds the integration tests for the above mentioned issues.
Swarmkit revendoring is needed to completely fix the issues.

This fix fixes 24108.
This fix fixes 24790.
This fix is related to 24620.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-26 16:01:20 -07:00
Aaron Lehmann
33466024e7 Merge pull request #26219 from dmcgowan/optimize-token-server-error-test
Update token server error test to not fail on retries
2016-09-26 23:17:09 +01:00
Alexander Morozov
8dc63675c5 Merge pull request #26891 from allencloud/fix-26890-duplicate-overlay-drivers-in-info
fix #26890 avoid duplicate overlay drivers in info
2016-09-26 14:42:39 -07:00
Alexander Morozov
5a8cee5ab6 Merge pull request #26927 from thaJeztah/update-layerstore-for-solaris
Add setupInitLayer() placeholder for Solaris
2016-09-26 14:36:58 -07:00
Alexander Morozov
cab5da77d1 Merge pull request #26923 from tophj-ibm/ppc64le-change-go-download-link
ppc64le: update dockerfile golang dl link
2016-09-26 14:35:57 -07:00
Aaron Lehmann
373d3200c2 Merge pull request #26885 from allencloud/add-swarm-types-comments-and-fix-nits
add swarm type comments and fix nits
2016-09-26 22:33:24 +01:00
Anusha Ragunathan
1de5043f4e Merge pull request #26925 from anusha-ragunathan/pluginstore-handle
Add Handle method to plugingetter.
2016-09-26 13:52:36 -07:00
Sebastiaan van Stijn
2f7fa34302 Add updating AUTHORS to the release checklist
The AUTHORS file should be updated before
each release, and updated using only the
commits that are in the release branch.

This adds updating the file to the release
checklist.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-26 22:23:38 +02:00
Michael Crosby
c35ab68665 Merge pull request #26536 from anusha-ragunathan/aufs_unmount
Add retry logic during aufs unmount.
2016-09-26 13:17:12 -07:00
Sebastiaan van Stijn
9ea591f6ff Merge pull request #26924 from thaJeztah/update-authors
Update AUTHORS
2016-09-26 22:09:18 +02:00
Victor Vieux
f67096c20b Merge pull request #26744 from LK4D4/attach_before_start
libcontainerd: attach streams before create
2016-09-26 13:08:05 -07:00
Sebastiaan van Stijn
eb2fbaa3f2 Add setupInitLayer() placeholder for Solaris
Commit d2bc5d6276 added
a setupInitLayer() for all platforms, but did not
add a placeholder for Solaris.

This adds the missing placeholder.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-26 22:05:28 +02:00
Sebastiaan van Stijn
6ad4bf0a53 API return network-list if no network-name or id is provided
When calling the /networks/ endpoint with a trailing
slash, the default network was returned.

This changes the endpoint to return the list of networks
instead (same response as `/networks` without trailing
slash).

Also updated the description for GetNetworkByName to
explain that the "default" network is returned if
no name or id is provided.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-26 21:44:34 +02:00
Sebastiaan van Stijn
afd22d27c3 Merge pull request #26902 from yuexiao-wang/add-index
Add menu for How PKI works
2016-09-26 21:20:30 +02:00
Sebastiaan van Stijn
a4dd51a660 Merge pull request #23886 from AkihiroSuda/stackcli
add `docker stack ls`
2016-09-26 21:19:04 +02:00
Sebastiaan van Stijn
83873205bb Merge pull request #26918 from thaJeztah/update-man-page-for-devmapper-options
Update man page for dm.xfs_nospace_max_retries
2016-09-26 21:11:14 +02:00
Brian Goff
848bffa786 Merge pull request #26922 from jstarks/add_debugging_to_foreign_layer_pull
Windows: Add debug output to foreign layer pull
2016-09-26 14:45:47 -04:00
Anusha Ragunathan
b3bd7f80af Add Handle method to plugingetter.
This is necessary for IPAM and network plugins.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-26 11:06:26 -07:00
Arnaud Porterie
7944480dd0 Merge pull request #26839 from tonistiigi/build-cache
Implement build cache based on history array
2016-09-26 17:31:49 +00:00
Brian Goff
64af86e74d Merge pull request #26916 from aaronlehmann/sanity-check-replicatedreplicas
cli: Add more nil checking to service pretty-printer
2016-09-26 13:06:07 -04:00
allencloud
ea266f8f7a fix #26890 avoid duplicate overlay drivers in info
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-27 00:19:04 +08:00
Christopher Jones
f431211631 Bump remaining Dockerfile go versions to 1.7.1
These weren't updated with the switch to go1.7.1

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-26 12:13:39 -04:00
Sebastiaan van Stijn
022bce54f5 Update AUTHORS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-26 18:13:14 +02:00
Christopher Jones
6a014a0d33 ppc64le: update dockerfile golang dl link
updates golang download link to be consistent with other dockerfiles

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-26 12:03:38 -04:00
John Starks
6b7d028085 Windows: Add debug output to foreign layer pull
Write the foreign layer URLs being downloaded into the debug log.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-09-26 08:56:34 -07:00
Brian Goff
285a9d5e35 Merge pull request #26909 from sdurrheimer/zsh-completion-stats-format
Add zsh completion for 'docker stats --format'
2016-09-26 10:32:52 -04:00
Brian Goff
6ac74720e0 Merge pull request #26910 from sdurrheimer/zsh-completion-multinodes-ps
Add zsh completion for multi-nodes 'node ps'
2016-09-26 10:26:38 -04:00
Christopher Jones
9a928e3232 ppc64le: add files for supporting 14.04 'make debs'
This PR adds the necessary files needed in order to make ubuntu 14.04
ppc64le docker debs

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-26 10:24:55 -04:00
Sebastiaan van Stijn
41c6083c34 Update man page for dm.xfs_nospace_max_retries
This option was added through commit
0d03c060c7,
but didn't update the man page.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-26 15:08:23 +02:00
Sebastiaan van Stijn
2a8b556ea5 Merge pull request #26907 from yuexiao-wang/fix-typo
Fix typo for how pki works
2016-09-26 11:58:19 +02:00
Aaron Lehmann
c009b7935e Merge pull request #26667 from allencloud/display-no-id-when-service-creation-fails
display service name in log when service creating fails
2016-09-26 10:56:35 +01:00
Sebastiaan van Stijn
7a6b99aef6 Merge pull request #26908 from yuexiao-wang/fix-link
Fix the broken link
2016-09-26 11:54:36 +02:00
allencloud
5ba203e73a validate service parameter in client side to avoid api call
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-26 17:18:02 +08:00
allencloud
c1925ce346 add swarm type comments and fix nits
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-26 17:17:52 +08:00
Aaron Lehmann
02cc464e1a cli: Add more nil checking to service pretty-printer
Currently, if the service mode is not "global", this code assumes that
Replicated is non-nil. This assumption may not be true in the future.
Instead of making the assumption, explicitly check that Replicated is
non-nil before using it.

Similarly, for limits and reservations, enclose methods that read from
Limits and Reservations within checks that those fields are non-nil.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-09-26 10:12:24 +01:00
Sebastiaan van Stijn
c8a19aee09 Merge pull request #26892 from ripcurld00d/stats_format_docs
Add documentation for docker stats --format
2016-09-26 10:52:01 +02:00
Aaron Lehmann
37fdba0428 Merge pull request #26858 from cpuguy83/better_error_on_mount_fail
Fix some places where low-level errors bubbled up
2016-09-26 01:44:56 -07:00
allencloud
6ae8c83ebe display no id in log when service creating fails
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-26 16:23:28 +08:00
Steve Durrheimer
d918fc8e08 Add zsh completion for multi-nodes 'node ps'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-09-26 09:16:16 +02:00
Steve Durrheimer
7aa600dffb Add zsh completion for 'docker stats --format'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-09-26 09:10:29 +02:00
yuexiao-wang
cfb07e642d Fix the broken link
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-26 15:03:56 +08:00
yuexiao-wang
bf9c6d3115 Fix typo for how pki works
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-26 14:28:31 +08:00
Boaz Shuster
9c7b3040cc Add documentation for docker stats --format
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2016-09-26 09:26:48 +03:00
yuexiao-wang
c228931384 Add menu for How PKI works
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-26 14:17:47 +08:00
Sebastiaan van Stijn
8eadd439c6 Merge pull request #26881 from miaoyq/del-redundant-func
The function "errClusterNetworkOnRun" is't used in the project
2016-09-25 19:51:16 +02:00
Sebastiaan van Stijn
4ae7d8ef4d Merge pull request #26585 from yongtang/24538-better-error-remove-internal-networks
Improve error message for removing pre-defined (e.g., `ingress`) network
2016-09-25 16:54:32 +02:00
Sebastiaan van Stijn
219f88364c Merge pull request #24290 from ownaginatious/armv6_arch
Changed ArchLinux image maker script to support ARMV versions other than 7
2016-09-25 01:43:20 +02:00
Yong Tang
f4e94617f0 Revendor swarmkit to 7b202f058db2f3a7d41351a56e5ef720c9b5a45d
This commit revendor swarmkit to 7b202f058db2f3a7d41351a56e5ef720c9b5a45d
to improve error message for removing pre-defined (e.g., `ingress`) network.

This commit is related to 24538.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-24 12:14:04 -07:00
Yong Tang
de4871165b Improve error message for removing pre-defined (e.g., ingress) network
This fix tries to address the issue raised in 24538

where the error message is unclear when removing pre-defined networks:
```
docker network rm ingress
Error response from daemon: rpc error: code = 7 desc = 4vlxuzpk8bxdsxpyvkxluol5g is a pre-defined network and cannot be removed
```

This fix improve the error message so that if network's name is specified
in the `RemoveNetwork`, then error message will contain the name and the ID
(instead of just an ID):
```
docker network rm ingress
Error response from daemon: rpc error: code = 7 desc = ingress (4vlxuzpk8bxdsxpyvkxluol5g) is a pre-defined network and cannot be removed
```

An integration test has been added to cover the changes.

This fix fixes 24538.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-24 11:59:26 -07:00
Brian Goff
baa0324e31 Merge pull request #26869 from anusha-ragunathan/test-fix
Return pipeline errors correctly.
2016-09-24 08:37:21 -04:00
Brian Goff
2a5e85e2e8 Fix some places where low-level errors bubbled up
Found a couple of places where pretty low level errors were never being
wrapped with any sort of context.

For example, if you try to create a local volume using some bad mount
options, the kernel will return `invalid argument` when we try to mount
it at container start.
What would happen is a user would `docker run` with this volume and get
an error like `Error response from daemon: invalid argument`.

This uses github.com/pkg/errors to provide some context to the error
message without masking the original error.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-24 08:01:21 -04:00
Vincent Demeester
8c929eeb34 Merge pull request #25853 from jhorwit2/jah/event-refactor
Refactor to new engine-api events api
2016-09-24 11:07:12 +02:00
Justin Cormack
0a24ae8125 Merge pull request #26878 from mrjana/net
Vendoring libnetwork @bf3d9ccfb8e
2016-09-24 09:41:22 +01:00
qudongfang
03041f94ba ensures that transport.Client is closed while using cli.NewClient with *http.Client = nil.
Signed-off-by: qudongfang <qudongfang@gmail.com>
2016-09-24 14:32:50 +08:00
Yanqiang Miao
9c3d1236d2 Delete the redundant function 'errClusterNetworkOnRun'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-24 11:24:48 +08:00
Jana Radhakrishnan
cd20621201 Vendoring libnetwork @bf3d9ccfb8e
Fixes certain node management issues when a daemon is restarted or fails
or leaves and joins a swarm.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-23 16:06:38 -07:00
Anusha Ragunathan
0e539fec33 Add retry logic during aufs unmount.
Treat EBUSY as a transient error and retry. Also stop ignoring unmount errors.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-23 13:15:04 -07:00
Anusha Ragunathan
af2e256249 Return pipeline errors correctly.
To use a deferred func to overwrite the returned error requires using
the 'named' error. So reuse err, instead of pipelineError. Also, the old
pipelineError will never be nil, since its executed before the error can
be set.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-23 13:09:56 -07:00
John Howard
c4e1697274 Add isolation to info
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-23 12:13:29 -07:00
Jake Sanders
b264632904 make GetAll use client.List as the source of truth
Signed-off-by: Jake Sanders <jsand@google.com>
2016-09-23 11:48:15 -07:00
Tonis Tiigi
4b8e680bcc Add integration test for build —cache-from
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-23 11:30:34 -07:00
Tõnis Tiigi
690882c2e7 Implement build cache based on history array
Based on work by KJ Tsanaktsidis

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: KJ Tsanaktsidis <kjtsanaktsidis@gmail.com>
2016-09-23 11:30:06 -07:00
Anusha Ragunathan
b8265e5550 Merge pull request #26843 from anusha-ragunathan/vol-unmount-win
Call "VolumeDriver.Unmount" during container stop.
2016-09-23 10:37:28 -07:00
Brian Goff
047400c64c Merge pull request #26534 from allencloud/better-checkpoint
change code and fix docs about checkpoint
2016-09-23 12:34:55 -04:00
Alexander Morozov
1b41125ad9 project: move go binaries installation to separate script
It should allow easier updates for containerd and runc

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-23 09:21:29 -07:00
Brian Goff
2c41c020d1 Merge pull request #26844 from mrjana/net
Vendoring libnetwork @6caf9022fa09
2016-09-23 12:03:02 -04:00
John Howard
5039d9aa6c Merge pull request #26842 from jstarks/fix_save
Windows: Back up files mutated during layer import
2016-09-23 08:37:24 -07:00
Vincent Demeester
2d9173f04b Merge pull request #26835 from cpuguy83/fix_make_bundles_dir
Fix issue with bundles dir volume
2016-09-23 15:46:24 +02:00
Phil Estes
57f0164fd2 Merge pull request #26834 from thaJeztah/deprecate-docker-daemon
Deprecate "daemon" subcommand
2016-09-23 08:51:18 -04:00
Sebastiaan van Stijn
bc22318e12 Merge pull request #26412 from YuPengZTE/devERR
In error, the first letter is low-case letter
2016-09-23 14:32:27 +02:00
allencloud
9b4ba34d04 change-code-and-fix-docs-about-checkpoint
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-23 19:37:43 +08:00
Vincent Demeester
72f556a9ff Merge pull request #26516 from yongtang/26453-build-bad-syntax
Check bad syntax on dockerfile before building.
2016-09-23 12:24:20 +02:00
YuPengZTE
4dbc78a5af In error, the first letter is low-case letter
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-23 17:30:13 +08:00
Sebastiaan van Stijn
b0671fdc0b Merge pull request #26854 from lixiaobing10051267/masterNetworkID
the network id is not consistant with the real id created
2016-09-23 11:29:02 +02:00
lixiaobing10051267
392aae44fd the network id is not consistant with the real id created
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-23 17:40:55 +08:00
Lei Jitang
a94067c07f Merge pull request #26803 from YuPengZTE/devFirstLetter
Capitalizes the first letter in notes of dockerfile
2016-09-23 04:27:52 -05:00
Sebastiaan van Stijn
8643903e49 Merge pull request #26805 from miaoyq/refactor-allocateNetwork
Replace two array with a map type, make it easier to understand.
2016-09-23 10:15:37 +02:00
Sebastiaan van Stijn
a70e6dfe80 Merge pull request #26850 from YuPengZTE/devDot
Del the extra dot
2016-09-23 10:10:11 +02:00
Vincent Demeester
c03c80b1b0 Merge pull request #26299 from allencloud/support-docker-node-ps-multi-nodes
support docker node ps multiNodes
2016-09-23 09:50:24 +02:00
YuPengZTE
73770c00fc Del the extra dot
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-23 15:22:52 +08:00
Sebastiaan van Stijn
7a789c5205 Merge pull request #26813 from Starefossen/patch-2
docs: add missing 'on' in Oracle installation guide
2016-09-23 09:14:59 +02:00
Sebastiaan van Stijn
9803d4736f Merge pull request #26836 from thaJeztah/update-exec-api-docs
Add missing API docs for "privileged" and "user" exec
2016-09-23 08:59:18 +02:00
Jana Radhakrishnan
fbcdca7ebc Add GetListenAddress in ClusterProvider
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-22 21:00:32 -07:00
Jana Radhakrishnan
746113d584 Vendoring libnetwork @6caf9022fa09
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-22 21:00:32 -07:00
Madhu Venugopal
d3139fc84a Merge pull request #25987 from msabansal/dnssupport
Support for Windows service discovery
2016-09-22 20:56:03 -07:00
Yanqiang Miao
1989b1b58c Replace two array with a map type, make it easier to understand.
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-23 09:52:05 +08:00
Anusha Ragunathan
d576509d8a Call "VolumeDriver.Unmount" during container stop.
"VolumeDriver.Mount" is being called on container start.
Make the symmetric call on container stop.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-22 18:20:39 -07:00
YuPengZTE
bd31b24336 Capitalizes the first letter in notes of dockerfile
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-23 09:20:27 +08:00
Madhu Venugopal
9896fa356c Merge pull request #26287 from msabansal/composefix
Fixed support for docker compose by allowing connect/disconnect on stopped containers
2016-09-22 18:09:51 -07:00
John Starks
9c79b0efc0 Windows: Back up files mutated during layer import
The Windows BCD store for the utility VM is mutated during layer import,
which causes failures in docker save. Back up the BCD store and related
log files so that save has access to their original contents.

Fixes #25893.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-09-22 17:44:38 -07:00
Sebastiaan van Stijn
6c500c00d2 Merge pull request #26820 from lixiaobing10051267/masterAddress
modify the developer certificate info of origin
2016-09-23 01:55:40 +02:00
Sebastiaan van Stijn
bf58dd82c3 Deprecate "daemon" subcommand
The daemon is in a separate (dockerd) binary
since docker 1.12, so should no longer be
used.

This marks the command as deprecated, and
adds it to the deprecated features list.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-23 00:26:27 +02:00
Sebastiaan van Stijn
c53efdf4c1 Add missing API docs for "privileged" and "user" exec
The "user" feature was added in docker 1.7.0, and
"privileged" feature was added in docker 1.9.0
only contained CLI docs.

This adds the missing API docs.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-22 23:40:05 +02:00
Yong Tang
e33dea5b40 Update documentation and change log to include the preliminary validation of dockerfile.
This commit updates documentation and change log to include
the preliminary validation of the dockerfile before instructions
in dockerfile is run one-by-one.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-22 14:33:37 -07:00
Brian Goff
a95ad53ca4 Fix issue with bundles dir volume
The bundles dir used to be automatically made a volume if BINDDIR was
not set.

The `PKGCACHE_*` stuff was added recently which gets added to
`DOCKER_MOUNT`. This breaks the case where someone wants to use the
package cache (DOCKER_INCREMENTAL_BINARY is enabled) but has not
specified a bind dir but needs the bundles dir made a volume.

Moves the package cache handling to after the bundles dir is made a
volume.

Before this patch, if you have `DOCKER_GRAPHDRIVER` set to anything
other than vfs, the tests in the daemon suite (and swarm suite, and
registry suite) will fail to run since they cannot startup a daemon
(except for speicifc cases where <driver> over <driver> is possible,
like devmapper).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-22 16:49:28 -04:00
Brian Goff
d6bb370602 Merge pull request #26827 from Microsoft/jjh/hardcodingbaseimage
Windows: Remove hard coded base image in TestBuildCopyFileWithWhitespace
2016-09-22 16:29:38 -04:00
Brian Goff
5fa48f2e40 Merge pull request #26814 from p4l1ly/master
overlayfs added to FsNames
2016-09-22 16:26:46 -04:00
Akihiro Suda
5ce08ddfca add docker stack ls
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-22 19:31:39 +00:00
msabansal
522930cfb3 Vendoring dependencies
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-09-22 12:21:28 -07:00
msabansal
d1e0a78614 Changes required to support windows service discovery
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-09-22 12:21:21 -07:00
Josh Horwitz
d6bd79c18f Refactor to new events api
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-09-22 14:42:06 -04:00
John Howard
dc8631ea53 Merge pull request #26677 from Microsoft/jjh/networkendpointlist
Windows OCI: Remove endpoint list
2016-09-22 11:36:25 -07:00
Sebastiaan van Stijn
221d4fca0c Merge pull request #26796 from Microsoft/jjh/race-lcd-si
Windows: Data race in libcontainerd (si)
2016-09-22 19:44:17 +02:00
John Howard
410a8612f4 Windows OCI: Remove endpoint list
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-22 10:08:13 -07:00
John Howard
34fe27f153 Windows: Remove hard coded base image
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-22 09:57:35 -07:00
Michael Crosby
3990f28162 Merge pull request #26746 from Microsoft/jjh/hvruntime
Windows: OCI HVRuntime and LayerPaths to options
2016-09-22 09:55:58 -07:00
lixiaobing10051267
6cd2502030 modify the developer certificate info of origin
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-23 00:17:25 +08:00
Justin Cormack
2526ae37e9 Merge pull request #26809 from jchorl/master
Move /x/net/context to context in docker client README
2016-09-22 14:25:54 +01:00
Pavol Vargovcik
fe5c91c388 overlayfs added to FsNames
Signed-off-by: Pavol Vargovcik <pallly.vargovcik@gmail.com>
2016-09-22 14:35:40 +02:00
Hans Kristian Flaatten
838fe65e53 docs: add missing 'on' in Oracle installation guide
Signed-off-by: Hans Kristian Flaatten <hans.flaatten@evry.com>
2016-09-22 14:34:25 +02:00
Josh Chorlton
a98d957942 Move /x/net/context to context in docker client README
Signed-off-by: Josh Chorlton <jchorlton@gmail.com>
2016-09-22 18:45:23 +08:00
Vincent Demeester
9e2178499a Merge pull request #26787 from Microsoft/jjh/14375hacks
Windows: Remove interim build hacks from tests
2016-09-22 11:12:02 +02:00
Sebastiaan van Stijn
24fbed9a91 Merge pull request #26104 from michael-holzheu/PR-s390x-make-deb-ubuntu-xenial
s390x: Enable "make deb" for Ubuntu Xenial (16.04)
2016-09-22 10:39:58 +02:00
Vincent Demeester
d9aec43a16 Merge pull request #26774 from thaJeztah/remove-engine-api-leftovers
Remove engine-api leftovers
2016-09-22 09:39:27 +02:00
Amir Goldstein
05bac4591a overlay2: add support for --storage-opt size
Allow passing --storage-opt size=X to docker create/run commands
for the `overlay2` graphriver.

The size option is only available if the backing fs is xfs that is
mounted with the `pquota` mount option.
The user can pass any size less then the backing fs size.

Signed-off-by: Amir Goldstein <amir73il@aquasec.com>
2016-09-22 07:03:14 +03:00
Amir Goldstein
52897d1c09 projectquota: utility class for project quota controls
This class implements XFS project quota controls
for setting quota limits on a newly created directory.
It currently supports the legacy XFS specific ioctls.

Using this class, quota limits per container can be set
by directory based storage drivers (e.g. overlay), when
backing storage is XFS mounted with 'pquota' mount option.

TODO: use generic quota control ioctl FS_IOC_FS{GET,SET}XATTR
      for both xfs/ext4 for kernel version >= v4.5

Signed-off-by: Amir Goldstein <amir73il@aquasec.com>
Signed-off-by: albam.c <albam.c@navercorp.com>
2016-09-22 07:03:08 +03:00
Sebastiaan van Stijn
c5f4a1ab19 Merge pull request #26413 from lixiaobing10051267/masterLabel
Labels info ommitted while inspecting self-defined network
2016-09-22 02:07:53 +02:00
Michael Crosby
d2bc5d6276 Merge pull request #26756 from rhvgoyal/init-rw-layer
layer_store: Use CreateReadWrite() for -init layer instead of Create()
2016-09-21 15:45:06 -07:00
Sebastiaan van Stijn
ca1b8b30cf Merge pull request #26260 from mstanleyjones/26125_swarm_leave_force
Clarify usage of --force when used on a swarm manager
2016-09-22 00:11:32 +02:00
John Howard
c2499dff64 Windows: Data race in libcontainerd (si)
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-21 14:36:51 -07:00
Sebastiaan van Stijn
9b7840bb8f Merge pull request #26764 from darrenstahlmsft/RevertInvalidHandle
Revert the fix to invalid handles due to a platform bug
2016-09-21 22:47:02 +02:00
Sebastiaan van Stijn
d7eea4f11e Merge pull request #26615 from mstanleyjones/17770_restructure_metadata_topic
Restructure Labels topic
2016-09-21 22:41:49 +02:00
msabansal
50f02b585c Fixed support for docker compose by allowing connect/disconnect on stopped containers
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-09-21 13:29:17 -07:00
Misty Stanley-Jones
5c4c062ffc Restructure content about Docker object labels
A few points of work:

- Took the topic out of the left-hand nav and made it
  reachable from the User guide intro

- Condensed the topic's contents, presenting only conceptual
  info and pointing instead to the command-line references
  for each type of object

- Added brief information about the `LABELS` keyword to the
  Dockerfile reference

A big part of the point is to establish a pattern of
thinking and use around how Docker uses labels and what they
mean in different contexts.

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-21 13:20:32 -07:00
Misty Stanley-Jones
7b5c3d935a Clarify usage of --force when used on a swarm manager
Fixes #26125

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-21 13:05:33 -07:00
Sebastiaan van Stijn
7e6db44e2b Merge pull request #26786 from Microsoft/jjh/vol14350
Windows: Remove TP5 support from volume
2016-09-21 21:23:34 +02:00
Sebastiaan van Stijn
f8df4b5c2e Merge pull request #26788 from albers/completion-stats--format
Add bash completion for `docker stats --format`
2016-09-21 21:22:02 +02:00
Vincent Demeester
7e20704bf8 Merge pull request #26769 from portworx/master
Add Portworx description
2016-09-21 21:13:39 +02:00
Brian Goff
62faeb5d93 Merge pull request #26753 from LK4D4/fix_flaky_group_test
integration: fix flaky TestSwarmServiceWithGroup
2016-09-21 15:00:53 -04:00
Vivek Goyal
2508ca000e layer_store: Use CreateReadWrite() for -init layer instead of Create()
init layer is read/write layer and not read only layer. Following commit
introduced new graph driver method CreateReadWrite.

ef5bfad Adding readOnly parameter to graphdriver Create method

So far only windows seem to be differentiating between above two methods.
Making this change to make sure -init layer calls right method so that
we don't have surprises in future.

Windows does not need init layer. This patch also gets rid of creation of
init layer on windows.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-09-21 14:45:25 -04:00
Harald Albers
ed0f53d7b6 Add bash completion for docker stats --format
Signed-off-by: Harald Albers <github@albersweb.de>
2016-09-21 20:19:14 +02:00
John Howard
b52c3ec4a4 Windows: Remove interim build hacks from tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-21 11:11:13 -07:00
John Howard
6ceec828bf Windows: Remove TP5 support from volume
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-21 11:03:19 -07:00
Jeff Silberman
da2159ea1c Add Portworx Volume Plugin Description
Signed-off-by: Jeff Silberman <jsilberm@gmail.com>
2016-09-21 09:24:32 -07:00
Alexander Morozov
02d1934279 libcontainerd: attach streams before create
Fix #26371

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-21 09:16:12 -07:00
Daniel Nephin
c0699cd4a4 Merge pull request #24987 from ripcurld00d/stats_format_prod
Add format to stats
2016-09-21 10:38:21 -04:00
Brian Goff
a7b0b6e2a9 Merge pull request #26770 from YuPengZTE/devEG
'eg.' should be 'e.g.'
2016-09-21 10:03:23 -04:00
Vincent Demeester
340f50c1c4 Merge pull request #26737 from miaoyq/del-setting-hostconfig-during-start-container
Modify the print and comment of setting host configuration options when the container starts
2016-09-21 13:30:53 +02:00
Sebastiaan van Stijn
45818d6fc4 Removed engine-api leftovers
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-21 12:36:52 +02:00
Sebastiaan van Stijn
fd1037b432 Merge pull request #26723 from anusha-ragunathan/volmount_win
Add missing call to "VolumeDriver.Mount" during container start.
2016-09-21 10:28:29 +02:00
Antonio Murdaca
b683958dee Merge pull request #26751 from Microsoft/jjh/reverthostconfig
Revert Box from HostConfig
2016-09-21 09:53:39 +02:00
Michael Hudson-Doyle
9ed54d3c67 add log messages when write to oom_score_adj fails
Signed-off-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
2016-09-21 19:36:36 +12:00
YuPengZTE
0b86bca0b5 'eg.' should be 'e.g.'
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-21 13:48:06 +08:00
Darren Stahl
f6d5f7b975 Revert the fix to invalid handles due to a platform bug
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-20 17:31:24 -07:00
Sebastiaan van Stijn
2a3205d7b7 Merge pull request #26752 from icecrime/update_triage_process
Update triage process
2016-09-20 23:26:56 +02:00
Vincent Demeester
758a809f54 Merge pull request #26538 from LK4D4/update_grpc
Update grpc to v1.0.1-GA
2016-09-20 23:19:26 +02:00
John Howard
a3aceeac50 Windows: OCI HVRuntime and LayerPaths to options
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-20 13:51:53 -07:00
Tõnis Tiigi
511fd49402 Merge pull request #26641 from Microsoft/jjh/aggressivenamespacing
Windows: OCI aggressive namespacing
2016-09-20 13:37:41 -07:00
Arnaud Porterie (icecrime)
3dcb11982f Update triage process
Remove `group/*` labels, and explain how milestones are managed.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-09-20 13:00:13 -07:00
Alexander Morozov
ef4bcf23e6 integration: fix flaky TestSwarmServiceWithGroup
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-20 12:07:30 -07:00
John Howard
6b74e2f09d Revert Box from HostConfig
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-20 12:01:04 -07:00
Anusha Ragunathan
ef728a1641 Merge pull request #26645 from anusha-ragunathan/use-pluginv2-graph
Make graphdrivers work with pluginv2.
2016-09-20 10:59:33 -07:00
John Howard
4348878242 Merge pull request #25849 from darrenstahlmsft/LibcontainerdRaces
Lock all calls to hcsshim to prevent close races
2016-09-20 10:34:54 -07:00
Alexander Morozov
5fb3832432 libcontainerd: do not use failfast for events stream
New grpc uses failfast by default, but that code was written with other
default in mind, so just preserve it for now.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-20 09:24:40 -07:00
Alexander Morozov
eeceb0ccc8 vendor: update containerd and swarmkit
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-20 09:24:36 -07:00
Sebastiaan van Stijn
6eb6eaf718 Merge pull request #26720 from AkihiroSuda/fix-TestBuildApiDockerFileRemote
[test] Fix TestBuildApiDockerFileRemote
2016-09-20 17:57:01 +02:00
Anusha Ragunathan
fefea805e9 Make graphdrivers work with pluginv2.
As part of making graphdrivers support pluginv2, a PluginGetter
interface was necessary for cleaner separation and avoiding import
cycles.

This commit creates a PluginGetter interface and makes pluginStore
implement it. Then the pluginStore object is created in the daemon
(rather than by the plugin manager) and passed to plugin init as
well as to the different subsystems (eg. graphdrivers, volumedrivers).
A side effect of this change was that some code was moved out of
experimental. This is good, since plugin support will be stable soon.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-20 08:49:48 -07:00
Sebastiaan van Stijn
a65f01052e Merge pull request #26598 from thaJeztah/fix-binds-api-docs
Update API docs for "HostConfig.Binds"
2016-09-20 17:49:45 +02:00
Sebastiaan van Stijn
708892c403 Update API docs for "HostConfig.Binds"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-20 17:41:59 +02:00
Kenfe-Mickaël Laventure
beea098b97 Merge pull request #26736 from dsheets/fix-typo-from-26061
Fix typo in api/types/container/host_config.go
2016-09-20 08:26:18 -07:00
Arnaud Porterie
359742f2a9 Merge pull request #25097 from msabansal/autosubnet
Fixing support for nat to choose a subnet automatically
2016-09-20 15:23:44 +00:00
Alexander Morozov
e3e6d9f9d0 Merge pull request #26740 from tagomoris/update-fluent-logger-golang-1.2.0
Update fluent-logger-golang to v1.2.0.
2016-09-20 07:49:30 -07:00
Vincent Demeester
7a86930c74 Merge pull request #26436 from stevvooe/remove-transport-package
client: remove transport package
2016-09-20 16:43:56 +02:00
Vincent Demeester
6997182882 Merge pull request #26725 from StefanScherer/log-error-to-event-log
Windows: Write fatal error to event log if running as service
2016-09-20 16:26:21 +02:00
Akihiro Suda
f453261b4a Fix TestBuildApiDockerFileRemote
TestBuildApiDockerFileRemote has been consistently failing (EPERM) on the host
with #26618, which prohibits /sys/firmware from being accessed using apparmor.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-20 14:15:37 +00:00
Vincent Demeester
be9e3f59e6 Merge pull request #26270 from AkihiroSuda/fix-typo-docker-images
[nit] fix the man page and zsh completion for `docker images`
2016-09-20 15:56:23 +02:00
Vincent Demeester
a51967cd02 Merge pull request #26716 from dnephin/move-system-commands
Create system  subcommand
2016-09-20 15:54:01 +02:00
Brian Goff
1dded94b1b Merge pull request #26738 from thaJeztah/remove-unused-state-functions
Removed unused state functions
2016-09-20 09:16:30 -04:00
Brian Goff
5fa94084ac Merge pull request #26741 from thaJeztah/fix-api-docs
Fix incorrectly named API options
2016-09-20 09:14:08 -04:00
Yanqiang Miao
26b6b47420 Remove the support of setting host configuration options when the container starts
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-20 20:57:17 +08:00
Vincent Demeester
00615efced Merge pull request #25025 from cpuguy83/service_inspect_formatter
Add formatter for service inspect
2016-09-20 14:49:45 +02:00
Sebastiaan van Stijn
36a25bdbe4 Fix incorrectly named API options
This renames `MaximumIOps` to `IOMaximumBandwidth`,
and `MaximumIOBps` to `IOMaximumIOps` to match
the actual code.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-20 13:51:55 +02:00
Satoshi Tagomori
87124b9d62 Update fluent-logger-golang to v1.2.0.
Fix race condition issue to solve an issue about "panic: runtime error: invalid memory address or nil pointer dereference".
This fix stabilize Docker daemon under the situation of communication problem with Fluentd processes.

Signed-off-by: Satoshi Tagomori <tagomoris@gmail.com>
2016-09-20 20:31:22 +09:00
Sebastiaan van Stijn
a28c389da1 Removed unused state functions
This removes the SetStoppedLocking, and
SetRestartingLocking functions, which
were not used anywhere.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-20 13:09:18 +02:00
Vincent Demeester
fe0d7e0799 Merge pull request #26727 from Microsoft/jjh/breakcontinue
Oops, break should have been continue
2016-09-20 11:43:27 +02:00
Sebastiaan van Stijn
374ae5ce13 Merge pull request #26732 from yuexiao-wang/update-index
Update on index reference documentation
2016-09-20 11:42:17 +02:00
David Sheets
a003419fca Fix typo in api/types/container/host_config.go
Originally merged in #26061.

Signed-off-by: David Sheets <sheets@alum.mit.edu>
2016-09-20 10:41:08 +01:00
Sebastiaan van Stijn
fcd035e2f9 Merge pull request #26623 from runcom/rev-plugins-timeout
Revert "Add default timeout to pkg/plugins/client"
2016-09-20 11:40:40 +02:00
yuexiao-wang
0483d77613 Update on index refernce documentation
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-20 16:37:52 +08:00
Antonio Murdaca
5c35bfed3f Revert "Add default timeout to pkg/plugins/client"
This reverts commit 0699b00d26.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-20 10:01:03 +02:00
Vincent Demeester
a43691d645 Merge pull request #26482 from yuexiao-wang/add-option
Update the options for docker client
2016-09-20 09:51:57 +02:00
Michael Crosby
eabae093f4 Merge pull request #26061 from crosbymichael/reaper
Add init process for zombie fighting and signal handling
2016-09-19 17:36:12 -07:00
Michael Crosby
ee3ac3aa66 Add init process for zombie fighting
This adds a small C binary for fighting zombies.  It is mounted under
`/dev/init` and is prepended to the args specified by the user.  You
enable it via a daemon flag, `dockerd --init`, as it is disable by
default for backwards compat.

You can also override the daemon option or specify this on a per
container basis with `docker run --init=true|false`.

You can test this by running a process like this as the pid 1 in a
container and see the extra zombie that appears in the container as it
is running.

```c

int main(int argc, char ** argv) {
	pid_t pid = fork();
	if (pid == 0) {
		pid = fork();
		if (pid == 0) {
			exit(0);
		}
		sleep(3);
		exit(0);
	}
	printf("got pid %d and exited\n", pid);
	sleep(20);
}
```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-19 17:33:50 -07:00
Daniel Nephin
d8c9951707 Merge pull request #26717 from dnephin/fix_experimental_commands
Make all the experimental subcommand consistent
2016-09-19 19:29:48 -04:00
Michael Crosby
69114bb3a7 Merge pull request #26442 from vieux/add_warning_plugin_rm
add check plugin is not used before rm
2016-09-19 16:03:17 -07:00
John Howard
bbbc720620 Oops, break should have been continue
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-19 14:41:27 -07:00
Anusha Ragunathan
b15264004d Add missing call to "VolumeDriver.Mount" during container start.
On container start, volume mounts are setup which should include
invoking "VolumeDriver.Mount" to setup necessary mounts. This was
missing for Windows containers. Fix that.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-19 14:40:45 -07:00
Sebastiaan van Stijn
8c508ef813 Merge pull request #26579 from Microsoft/jjh/ociprocess
Windows: OCI `process` struct and console size to uint
2016-09-19 22:52:16 +02:00
Stefan Scherer
40868e263d Write fatal error to event log if running as service
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-09-19 22:36:33 +02:00
Daniel Nephin
89ea589d2c Create a system subcommand for events and info.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-19 16:29:17 -04:00
Brian Goff
54ba82beab Add formatter for service inspect
Allows the user to use `pretty` as the format string.
This enables users to put custom format options into their CLI config
just like is supported for `docker ps` and `docker images`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-19 16:28:19 -04:00
Daniel Nephin
6eefcea51a Make all the experimental subcommand consistent.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-19 16:27:23 -04:00
Sebastiaan van Stijn
ad9ceff3b3 Merge pull request #26025 from dnephin/cli-new-command-structure
Restructure CLI Commands
2016-09-19 22:23:37 +02:00
Sebastiaan van Stijn
920cb5834b Merge pull request #26706 from thaJeztah/update-systemd-instructions
Cleanup / sync RHEL, CentOS, Fedora installation docs
2016-09-19 22:10:30 +02:00
Darren Stahl
740e26f384 Lock all calls to hcsshim to prevent close races
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-19 12:59:02 -07:00
Brian Goff
b7e189ed1f Merge pull request #26640 from Microsoft/jjh/removeosversion
Windows: Remove osversion from OCI
2016-09-19 15:42:34 -04:00
Sebastiaan van Stijn
b2bb4e11aa Cleanup / sync RHEL, CentOS, Fedora installation docs
These installation procedures are very similar, so
synchronized these docs and removed some differences.

Also;

- updated markdown, added language-hints where possible
- replaced "service docker start" with "systemctl start"
- replaced "chkconfig docker on" with "systemctl enable"
- added "systemctl enable" to the list of steps for
  installation, because most people want to have docker
  started automatically (and overlooked this step).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 21:30:57 +02:00
Sebastiaan van Stijn
772db11fd0 Merge pull request #26712 from BlueMonday/master
Fix regex for the json-file logger opts in overview.md
2016-09-19 21:01:51 +02:00
Stephen J Day
9a072adff3 client: remove transport package
This package doesn't really seem to do anything of real interest.
Removing it and replacing with a few helper functions. Most of this was
maintaining a fork of ctxhttp to support a mock that was unnecessary.

We could probably do with a further refactor of the client interface.
There is a lot of confusion of between transport, http layer and
application layer that makes for some awkward code. This change
improves the situation to the point where no breaking changes are
introduced.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-19 11:19:55 -07:00
Sebastiaan van Stijn
5bcaa0e4bb Merge pull request #26715 from thaJeztah/move-mary-to-alumni
Move Mary to alumni
2016-09-19 20:15:23 +02:00
Steven Erenst
e9a9015e38 Fix regex for the json-file logger opts in overview.md
The regex used to describe the max-file and max-size logging options for
the json-file logger were incorrect. The regexes would only match a
single character (a digit or a literal +). Instead the regexes should
match 1 or more digits.

The character class for the units of the max-size also included a pipe
which meant that the regex would match 1| instead of only matching 1m,
1k, and 1g.

Signed-off-by: Steven Erenst <stevenerenst@gmail.com>
2016-09-19 10:47:40 -07:00
John Howard
53774423ff Windows: OCI process struct convergence
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-19 10:34:31 -07:00
Daniel Nephin
a7c8bcac2b Only hide commands if the env variable is set.
Better formatting for usage template.
Group commands in usage to management/operation commands.
Remove the word Docker from the description of management commands.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-19 13:28:15 -04:00
Daniel Nephin
dda198761b Move the search command to the registry package.
And move it back to the top-level command.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-19 13:28:15 -04:00
Daniel Nephin
b993609d5a Move canonical image and container commands into a command group
Hide some top level commands
Add docker container and image inspect commands.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-19 13:28:02 -04:00
John Howard
c89db6c044 Windows: OCI aggressive namespacing
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-19 10:23:11 -07:00
Kenfe-Mickaël Laventure
3fd3d28f5f Merge pull request #26505 from Microsoft/jjh/ocistep1
Windows OCI convergence step 1
2016-09-19 10:23:11 -07:00
John Howard
72de562943 Windows: Remove osversion from OCI
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-19 10:16:15 -07:00
Tõnis Tiigi
b72c7f74a6 Merge pull request #26577 from Microsoft/jjh/fstabmount
Windows: Move to fstab options as per OCI
2016-09-19 10:13:46 -07:00
Sebastiaan van Stijn
9d2d89ce6f Merge pull request #26704 from clbn/patch-1
Fix typos in installation doc for Mac
2016-09-19 18:25:35 +02:00
Sebastiaan van Stijn
1161b10a0a Merge pull request #26708 from thaJeztah/add-evan-as-curator
Add Evan as curator
2016-09-19 18:18:51 +02:00
Sebastiaan van Stijn
6da5889c5b Move Mary to alumni
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 18:09:30 +02:00
Brian Goff
622faab3f6 Merge pull request #26695 from AkihiroSuda/fix-pause-race
Fix a race in libcontainerd/pausemonitor_linux.go
2016-09-19 12:03:56 -04:00
Sebastiaan van Stijn
bb6fe56e88 Merge pull request #26268 from AkihiroSuda/eventsjsonl
add `docker events --format`
2016-09-19 17:30:27 +02:00
Sebastiaan van Stijn
32161fc052 Add Evan as curator
Evan is gonna help triaging issues, so
adding him as a "curator" to make it official

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 17:09:34 +02:00
Alex Olshansky
f7af5cc780 Fix typos in installation doc for Mac
Signed-off-by: Alex Olshansky <i@creagenics.com>
2016-09-19 16:04:46 +02:00
Sebastiaan van Stijn
c2d6e76a70 Merge pull request #26701 from thaJeztah/fix-markdown-formatting
Fix Markdown formatting and missing prompt in service create
2016-09-19 14:58:06 +02:00
Sebastiaan van Stijn
533b00da8b Fix Markdown formatting and missing prompt in service create
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 13:57:39 +02:00
Sebastiaan van Stijn
b16bfbaddd Merge pull request #26699 from thaJeztah/update-sshd-example
Update sshd example to use ubuntu 16.04
2016-09-19 13:17:51 +02:00
Sebastiaan van Stijn
b81d12e7a1 Update sshd example to use ubuntu 16.04
Although the example is just for illustrational
purposes, many users are now switching to
Ubuntu 16.04 as the "default" version for Ubuntu,
so updating the example for those that use
this example as a starting point.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 12:52:13 +02:00
Sebastiaan van Stijn
c496b4eb1b Merge pull request #25776 from thaJeztah/add-basic-mount-docs
Add --mount syntax documentation to CLI reference
2016-09-19 12:17:07 +02:00
Misty Stanley-Jones
5880d62953 Misty's edits and additions
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
(cherry picked from commit 3de7d725137ee1620ae2050e65ace4990a3af87e)
2016-09-19 12:12:54 +02:00
Sebastiaan van Stijn
eb3a01eb43 Add --mount syntax documentation to CLI reference
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-19 11:56:59 +02:00
Sebastiaan van Stijn
1ccd79e1a9 Merge pull request #26682 from yuexiao-wang/fix-typo
Fix typo for docs reference
2016-09-19 11:14:46 +02:00
Sebastiaan van Stijn
abd02a9ba0 Merge pull request #26691 from YuPengZTE/devSUSE
Add prompt of $
2016-09-19 10:45:23 +02:00
Akihiro Suda
69f00a137c Fix a race in libcontainerd/pausemonitor_linux.go
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-19 07:42:21 +00:00
YuPengZTE
638546d120 Add prompt of $
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-19 10:46:25 +08:00
Michael Hudson-Doyle
32f24bc3c5 Ignore failure to set oom_score_adj, as happens in an unprivileged container.
Signed-off-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
2016-09-19 14:27:10 +12:00
Brian Goff
45a8f68026 Merge pull request #26616 from tonistiigi/id-digest
Generalize content addressable and reference storage
2016-09-18 09:40:16 -04:00
Brian Goff
bc60f5af84 Merge pull request #26650 from Microsoft/jjh/firststart
Windows: OCI remove first start
2016-09-18 09:27:10 -04:00
Brian Goff
112ba3637d Merge pull request #26578 from Microsoft/jjh/ociuser
Windows: Unify OCI user struct
2016-09-18 09:20:45 -04:00
Brian Goff
fcf77620d6 Merge pull request #26675 from pestophagous/fix-typo-understanding-docker
Fix typo in docs. s/methodoligies/methodologies/
2016-09-18 09:09:40 -04:00
Sebastiaan van Stijn
1444401b16 Merge pull request #26678 from YuPengZTE/devSUDO
Add bash symbol for sudo
2016-09-18 13:36:13 +02:00
Boaz Shuster
96622b2a7d Add the format switch to the stats command
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2016-09-18 14:16:13 +03:00
yuexiao-wang
0f0b0db842 fix typo for docs reference
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-18 11:00:19 +08:00
Alexander Morozov
beea4d93dc Merge pull request #26676 from Microsoft/jjh/tp5graphdriver
Windows: Remove TP5 hack from graphdriver
2016-09-17 19:54:58 -07:00
YuPengZTE
ced2729841 The hit is missed
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-18 09:38:20 +08:00
John Howard
56952e2159 Merge pull request #26662 from WeiZhang555/fix-flaky-unit-test
Fix flaky unit test
2016-09-17 18:32:11 -07:00
John Howard
f61315f0df Windows: Remove TP5 hack from graphdriver
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-17 16:16:50 -07:00
pestophagous
191adcfb63 Fix typo in docs. s/methodoligies/methodologies/
Signed-off-by: K Heller <pestophagous@gmail.com>
2016-09-17 15:37:03 -07:00
Alexander Morozov
0589358eec Merge pull request #26669 from cpuguy83/vendor_syslog
re-vendor syslog package
2016-09-17 10:27:21 -07:00
John Howard
4a0419f536 Merge pull request #25737 from Microsoft/jjh-statistics
Windows: Add support for docker stats
2016-09-17 09:31:24 -07:00
Brian Goff
f528690674 re-vendor syslog package
Fixes #26394

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-17 10:25:05 -04:00
Sebastiaan van Stijn
788a8a3cac Merge pull request #26634 from thaJeztah/fix-api-docs-for-services
Fix service and tasks API documentation
2016-09-17 16:13:15 +02:00
Sebastiaan van Stijn
1fb556bb7e Merge pull request #26654 from thaJeztah/sync-api-docs
Synchronize API docs
2016-09-17 16:11:42 +02:00
Vincent Demeester
e54171378c Merge pull request #26656 from miaoyq/rename-name-to-destination
Rename the variable 'name' to 'destination'
2016-09-17 16:01:02 +02:00
Vincent Demeester
5d7b725071 Merge pull request #26606 from dnephin/move_errors
Move errors package to api/errors
2016-09-17 16:00:38 +02:00
Vincent Demeester
1d8ad2974e Merge pull request #26643 from allencloud/validate-two-service-modes-in-request
return err when both two service modes in request
2016-09-17 15:50:55 +02:00
Brian Goff
6d8598f4bb Merge pull request #26649 from dperny/add-comment-to-endpointspec
Added comments to PortConfig for greater clarity
2016-09-17 08:16:32 -04:00
Brian Goff
3548356957 Merge pull request #26555 from miaoyq/refactor-aufsMount
refactor the function 'aufsMount' in 'daemon/graphdriver/aufs/aufs.go'
2016-09-17 08:04:18 -04:00
Sebastiaan van Stijn
2f5b379192 Merge pull request #26653 from thaJeztah/move-mounts-to-correct-api-version
Move HostConfig.Mounts to correct API version
2016-09-17 13:53:37 +02:00
Zhang Wei
bc5768733d Fix flaky unit test
Fix flaky test `TestHTTPTimeout` caused by precision problem.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-09-17 19:40:58 +08:00
allencloud
c413d4177b return err when both two service mode in request
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-17 19:04:46 +08:00
Yanqiang Miao
57cec5a777 Rename the variable 'name' to 'destination'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-17 10:52:11 +08:00
Sebastiaan van Stijn
d93a62e9be Merge pull request #26266 from YuPengZTE/dev
The etc and dot is seprated
2016-09-17 03:37:00 +02:00
Sebastiaan van Stijn
1c117aa8cc Merge pull request #26289 from aboch/doc
Fix mtu option in documentation
2016-09-17 03:32:23 +02:00
Sebastiaan van Stijn
30839b0688 Merge pull request #26540 from sfsmithcha/remove_charles_from_maintainers
removes sfsmithcha from maintainers
2016-09-17 03:28:23 +02:00
Sebastiaan van Stijn
0bd281c7cb Merge pull request #26558 from lixiaobing10051267/masterSymbol2
add bash symbol for docker network inspect
2016-09-17 03:26:55 +02:00
Sebastiaan van Stijn
258fa6c23f Merge pull request #26557 from schmunk42/patch-1
fix typo
2016-09-17 03:26:11 +02:00
Sebastiaan van Stijn
53b1dcb25c Synchronize API docs
This synchronizes changes between API versions, and:

- applies e0a552504e to
  older versions of the documentation
- applies a2a0a03e2b to
  API version 1.25
- syncs some minor differences

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-17 03:02:12 +02:00
Sebastiaan van Stijn
cd73ceffd8 Move HostConfig.Mounts to correct API version
This was added in fc7b904dce,
but some parts of the documentation ended up in the
wrong API version, and was overlooked during
review :)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-17 02:36:07 +02:00
Sebastiaan van Stijn
d69409fd43 Fix service and tasks API documentation
The documentation contained some outdated information
on these endpoints.

This change fixes those parts of the documentation

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-17 02:29:38 +02:00
John Howard
f7fd408ba7 Windows: OCI remove first start
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-16 16:05:55 -07:00
Drew Erny
55454752f8 Added comments to PortConfig for greater clarity
I always forget which one is which. Now, I can't forget. This is
probably in the docs somewhere but now it's handy at a glance.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-09-16 14:47:35 -07:00
Sebastiaan van Stijn
94bc2b1bc0 Merge pull request #26387 from Microsoft/jjh/securityopts
Only output security options if there are any
2016-09-16 23:05:30 +02:00
Doug Davis
61639bf63d Merge pull request #26647 from jbodah/patch-1
Remove extra paren in `run --link` docs
2016-09-16 21:38:17 +02:00
Josh Bodah
484fbe236d Remove extra paren in run --link docs
Signed-off-by: Josh Bodah <jb3689@yahoo.com>
2016-09-16 15:32:12 -04:00
John Howard
340e5233b2 Windows: stats support
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-16 11:56:15 -07:00
Vincent Demeester
8a7006ff8e Merge pull request #26620 from runcom/fix-docs
docs: reference: api: clarify pull all tags
2016-09-16 20:56:04 +02:00
Michael Crosby
efe4e914ef Merge pull request #26207 from splunk/splunk-logging-driver-performance-improvements
Splunk Logging Driver performance improvements
2016-09-16 10:22:09 -07:00
John Howard
dd3d223a7e Only output security options if there are any
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-16 10:05:21 -07:00
Daniel Nephin
bcb0405239 Use apiError in server version middleware.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-16 12:27:14 -04:00
Daniel Nephin
c452e1bfe6 Move errors/ to api/errors
Using:
        gomvpkg -from github.com/docker/docker/errors
                -to github.com/docker/docker/api/errors
                -vcs_mv_cmd "git mv {{.Src}} {{.Dst}}"

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-16 12:27:13 -04:00
Vincent Demeester
d05e34ca9b Merge pull request #26637 from thaJeztah/fix-cli-prompt
Use "sudo" for dockerd examples
2016-09-16 17:44:07 +02:00
Sebastiaan van Stijn
87b174080b Use "sudo" for dockerd examples
Because we standardize on using a non-privileged
prompt (`$`) instead of `#`, replacing the
examples to use `sudo` instead to indicate
this has to be run as root.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-16 17:22:58 +02:00
Kenfe-Mickaël Laventure
07b5311147 Merge pull request #26618 from AkihiroSuda/fix-apparmor
apparmor: prohibit /sys/firmware/** from being accessed
2016-09-16 07:41:36 -07:00
Antonio Murdaca
03a8b6798d docs: reference: api: clarify pull all tags
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-16 16:35:15 +02:00
Sebastiaan van Stijn
81ba067a1c Merge pull request #26629 from thaJeztah/add-logging-reference-link
Add link to logging drivers reference
2016-09-16 15:46:21 +02:00
Sebastiaan van Stijn
7ca02f86de Add link to logging drivers reference
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-16 15:29:28 +02:00
Vincent Demeester
76ee0e8185 Merge pull request #26541 from LK4D4/update_labels
project: add area/daemon and area/docs labels
2016-09-16 08:55:04 +02:00
Vincent Demeester
38d187d3ae Merge pull request #26613 from Microsoft/jjh/14393
Windows: Turn off builds<14393
2016-09-16 08:47:00 +02:00
Tõnis Tiigi
4adbd5338d Merge pull request #26583 from aboch/vnd
Vendoring libnetwork @c8ce8c7
2016-09-15 20:28:07 -07:00
Tõnis Tiigi
518e000e70 Merge pull request #26607 from aboch/vnd2
Vendoring boltdb @fff57c100
2016-09-15 20:24:29 -07:00
Aaron Lehmann
a1fc3852da Merge pull request #26512 from AkihiroSuda/fix-pkg-plugins-racy-test
[test] fix racy test in pkg/plugins
2016-09-15 20:11:03 -07:00
Akihiro Suda
693b4ac67a apparmor: prohibit /sys/firmware/** from being accessed
Some firmware information including SMBIOS and ACPI tables were unexpectedly exposed

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-16 02:21:31 +00:00
Akihiro Suda
4bc908ec89 fix racy test in pkg/plugins
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-16 01:43:35 +00:00
Tonis Tiigi
805223982c Generalize content addressable and reference storage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-15 18:08:19 -07:00
John Howard
cc4e17cbba Windows: Turn off builds<14393
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-15 15:20:16 -07:00
Victor Vieux
b22d07f515 add check plugin is not used before rm
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-09-15 13:50:57 -07:00
Vincent Demeester
a7c25f9540 Merge pull request #26537 from dnephin/refactor_cli_formatter
Refactor cli/command/formatter
2016-09-15 21:52:52 +02:00
Alexander Morozov
afe23cea3d vendor: update grpc and protobuf
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-15 11:36:31 -07:00
Alexander Morozov
b2263c111f Merge pull request #26511 from AkihiroSuda/fix-pkg-archive-racy-test
[test] fix racy tests in pkg/archive
2016-09-15 11:10:34 -07:00
Tõnis Tiigi
4c82365cdb Merge pull request #26596 from drakenator/26384-healthcheck-race
Prevent stdout / stderr race condition in limitedBuffer.
2016-09-15 10:59:45 -07:00
Alessandro Boch
5cfbdceafe Vendoring boltdb @fff57c100
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-15 10:53:48 -07:00
Aaron Lehmann
2a87856599 Merge pull request #26589 from allencloud/correct-nits
correct some nits in comments and test
2016-09-15 10:49:47 -07:00
Sebastiaan van Stijn
c2ec745490 Merge pull request #26605 from thaJeztah/sync-push-docs
Synchronize push reference with man page
2016-09-15 19:18:23 +02:00
John Howard
bb585b9c10 Windows: Move to fstab options as per OCI
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-15 10:12:20 -07:00
John Howard
93f61b85eb Windows: Unify OCI user struct
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-15 09:59:27 -07:00
Sebastiaan van Stijn
dddea689ab Synchronize push reference with man page
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-15 18:53:46 +02:00
Sebastiaan van Stijn
51a981fd5f Merge pull request #26581 from yongtang/09142016-docs-getstarted-step-four
Fix a couple of issues in Get Started docs
2016-09-15 16:51:49 +02:00
Sebastiaan van Stijn
69af9b2a92 Merge pull request #26599 from thaJeztah/docs-restore-missing-format-example
Restore missing "format" example
2016-09-15 16:46:00 +02:00
Sebastiaan van Stijn
edbb8fb86d Restore missing "format" example
The "format" example got lost during the
rewrite of the documentation for Cobra. This
restores the missing example.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-15 16:09:24 +02:00
Stephen Drake
c3319445aa Prevent stdout / stderr race condition in limitedBuffer.
Signed-off-by: Stephen Drake <stephen@xenolith.net>
2016-09-15 13:31:11 +02:00
Akihiro Suda
5af5a1be62 add docker events --format
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-15 09:55:29 +00:00
Alexander Morozov
b248de7e33 Merge pull request #26584 from aaronlehmann/rate-limit-progress-bar
progress: Rate limit progress bar output
2016-09-14 22:15:42 -07:00
allencloud
9279a93f6d correct some nits in comments
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-15 12:17:58 +08:00
Aaron Lehmann
f8eab6fea8 progress: Rate limit progress bar output
ProgressReader outputs progress information every 500 KB. This could be
excessive if something is being transfered at a fast rate. Rate-limit
progress output to 10 per second.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-09-14 17:23:16 -07:00
John Howard
39f5d97cde Merge pull request #26553 from darrenstahlmsft/FixWildcard
Windows: Fix wildcard expansion after slash in filename
2016-09-14 16:56:35 -07:00
Sven Dowideit
37869b237c Merge pull request #25774 from ddgenome/cmd-entrypoint-table
Update ENTRYPOINT/CMD table to agree with docs
2016-09-15 09:35:13 +10:00
Alessandro Boch
161c121425 Vendoring libnetwork @c8ce8c7
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-14 14:46:05 -07:00
Anusha Ragunathan
e482d4ee71 Merge pull request #26575 from anusha-ragunathan/update_plugin_docs
Update plugin install docs with registry specifics.
2016-09-14 14:43:41 -07:00
Sebastiaan van Stijn
cfa868f098 Merge pull request #26582 from thaJeztah/add-full-image-link
Add direct link to event chart image
2016-09-14 23:24:34 +02:00
Sebastiaan van Stijn
86de72fef2 Add direct link to event chart image
This adds a direct link to the event chart image
so that the full-resolution image can be "zoomed"
in to.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-14 23:16:32 +02:00
Tõnis Tiigi
1573ea5974 Merge pull request #26552 from darrenstahlmsft/EnableBuildTests
Windows: Enable more build tests
2016-09-14 14:07:19 -07:00
Tõnis Tiigi
094c029207 Merge pull request #26562 from loa/master
Add errexit to mkimage-yum.sh
2016-09-14 14:05:52 -07:00
Vincent Demeester
11ce938ba8 Merge pull request #26570 from thaJeztah/remove-frugalware-installation-docs
Remove Frugalware installation docs
2016-09-14 22:45:08 +02:00
Yong Tang
1cd06fdd1a Fix a couple of issues in Get Started docs
This fix fixes a couple of issues in Get Started docs' Step Four:
1. `Sending build context to Docker daemon 158.8 MB` should be
`Sending build context to Docker daemon 2.048 kB` as there is only
one Dockerfile for context.

2. There are only 3 steps altogether in stead of 4 steps as
`RUN apt-get -y update && apt-get install -y fortunes` is one step.
So `Step 3 : RUN apt-get install -y fortunes` should be removed and
`Step 4 : CMD /usr/games/fortune -a | cowsay` should be changed to
`Step 3 : CMD /usr/games/fortune -a | cowsay`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-14 13:40:15 -07:00
Brian Goff
f8d6dedb6a Merge pull request #26574 from cpuguy83/fix_improper_use_in_test
Fix improper use of `--rm` in test case
2016-09-14 15:28:40 -04:00
Darren Stahl
309056648c Windows: Fix wildcard expansion after slash in filename
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-14 11:40:57 -07:00
Anusha Ragunathan
81d5abf334 Update plugin install docs with registry specifics.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-14 10:21:31 -07:00
Brian Goff
f05ed00758 Fix improper use of --rm in test case
Test is testing that a user can disconnect from the default network
before it is started (#26220).
This test does not need to use `--rm`, which is never aken into account
since the container is never started.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-14 13:14:30 -04:00
Sebastiaan van Stijn
9b8b6aa224 Remove Frugalware installation docs
These docs were outdated, and not actively
maintained. Also, there are no official packages
available for this distribution, so better to
remove it from the documentation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-09-14 18:10:25 +02:00
Sebastiaan van Stijn
9e9ba1e1c1 Merge pull request #26526 from lixiaobing10051267/masterSymble
fix some incorrect symbols before executing command
2016-09-14 17:48:43 +02:00
Alexander Morozov
397df22963 Merge pull request #26504 from tonistiigi/frozen-fix
Fix already loaded detection for frozen images
2016-09-14 08:22:48 -07:00
lixiaobing10051267
7b73b5fd6a fix some incorrect symbols before executing command
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-14 22:28:09 +08:00
Sebastiaan van Stijn
8ac2000f50 Merge pull request #25540 from estesp/ro-plus-userns
Remove --read-only restriction when user ns enabled
2016-09-14 13:53:58 +02:00
Carl Loa Odin
fa255c92df Add errexit to mkimage-yum.sh
Add errexit to mkimage-yum bash script to abort early. This to prevent
disaster when mktemp fails and leave $target variable empty.

Signed-off-by: Carl Loa Odin <carlodin@gmail.com>
2016-09-14 12:04:04 +02:00
lixiaobing10051267
7c3a26db16 add bash symbol for docker network inspect
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-14 17:36:48 +08:00
Tobias Munk
46162c71d2 fix typo
Signed-off-by: Tobias Munk <schmunk@usrbin.de>
2016-09-14 11:19:19 +02:00
Yanqiang Miao
b6a268d91f refactor the function 'aufsMount' in 'daemon/graphdriver/aufs/aufs.go'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-14 15:42:51 +08:00
Yong Tang
c8dc2b156a Check bad syntax on dockerfile before building.
This fix tries to address the issue raised in 26453 where bad syntax
on dockerfile is not checked before building, thus user has to wait
before seeing error in dockerfile.

This fix fixes the issue by evaluating all the instructions and check
syntax before dockerfile is invoked actually.

All existing tests pass.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-13 21:43:10 -07:00
Jana Radhakrishnan
3ae023cd22 Merge pull request #26551 from cpuguy83/26548_fix_tasks
Do not look at `Attachment` tasks in /tasks
2016-09-13 21:27:15 -07:00
Akihiro Suda
62cbd2589f fix racy tests in pkg/archive
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-14 04:17:23 +00:00
Madhu Venugopal
1d76ab4f80 Merge pull request #26449 from mrjana/net
Fix autostart for swarm scope connected containers
2016-09-13 18:22:16 -07:00
Brian Goff
15eee038c0 Do not look at Attachment tasks in /tasks
Fixes #26548

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-13 20:44:06 -04:00
Darren Stahl
e79b0b42f0 Windows: Enable more build tests
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-13 17:43:27 -07:00
Misty Stanley-Jones
e08b2f7a08 Merge pull request #26547 from londoncalling/fix-links-in-overview
fixed on-page links
2016-09-13 16:30:17 -07:00
Victoria Bialas
c073404af8 fixed on-page links
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-09-13 16:20:05 -07:00
Daniel Nephin
e16e9775d4 Fix testcases that expect trailing whitespace
and broken integration tests based of nil pointers

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-13 17:58:12 -04:00
Daniel Nephin
c8336743a4 Refactor formatter.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-13 17:58:12 -04:00
Tõnis Tiigi
9b0aaccf55 Merge pull request #26543 from dnephin/fix_filter_args
Use opts.FilterOpt for filter flags
2016-09-13 14:36:51 -07:00
Jana Radhakrishnan
c9fb551d60 Fix autostart for swarm scope connected containers
The swarm scope network connected containers with autostart enabled
there was a dependency problem with the cluster to be initialized before
we can autostart them. With the current container restart code happening
before cluster init, these containers were not getting autostarted
properly. Added a fix to delay the container start of those containers
which has atleast one swarm scope endpoint to until after the cluster is
initialized.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-13 14:21:58 -07:00
Anusha Ragunathan
8aa454dfc8 Merge pull request #26216 from vieux/plugin_manifest
add some plugin manifest reference doc
2016-09-13 14:03:20 -07:00
Daniel Nephin
a07be9be38 Use opts.FilterOpt for filter flags.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-13 16:20:10 -04:00
Brian Goff
b4c1645db5 Merge pull request #22373 from cpuguy83/add_mounts_api_on_create
Add new `HostConfig` field, `Mounts`.
2016-09-13 14:39:50 -04:00
Tõnis Tiigi
711455d34e Merge pull request #26503 from clnperez/swarm-test-move-err-check
swarm: always check err before http status in tests
2016-09-13 10:53:55 -07:00
Alexander Morozov
851bf81603 project: add area/daemon and area/docs labels
I've removed `kind/docs` because I don't think that it's right kind for
issues.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-13 10:32:03 -07:00
Alexander Morozov
85c3b8c1b1 Merge pull request #26433 from Microsoft/jjh/fix24819
Windows: Fix regression pulling linux images
2016-09-13 08:35:38 -07:00
Daniel Nephin
c2decbe5ee Merge pull request #24761 from WeiZhang555/parallel-stop
Enhancement: allow parallel stop, pause, unpause
2016-09-13 10:46:51 -04:00
Brian Goff
29b1c1da73 Migrate old mount format to use mount specs
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-13 09:55:35 -04:00
Brian Goff
fc7b904dce Add new HostConfig field, Mounts.
`Mounts` allows users to specify in a much safer way the volumes they
want to use in the container.
This replaces `Binds` and `Volumes`, which both still exist, but
`Mounts` and `Binds`/`Volumes` are exclussive.
The CLI will continue to use `Binds` and `Volumes` due to concerns with
parsing the volume specs on the client side and cross-platform support
(for now).

The new API follows exactly the services mount API.

Example usage of `Mounts`:

```
$ curl -XPOST localhost:2375/containers/create -d '{
  "Image": "alpine:latest",
  "HostConfig": {
    "Mounts": [{
      "Type": "Volume",
      "Target": "/foo"
      },{
      "Type": "bind",
      "Source": "/var/run/docker.sock",
      "Target": "/var/run/docker.sock",
      },{
      "Type": "volume",
      "Name": "important_data",
      "Target": "/var/data",
      "ReadOnly": true,
      "VolumeOptions": {
	"DriverConfig": {
	  Name: "awesomeStorage",
	  Options: {"size": "10m"},
	  Labels: {"some":"label"}
	}
      }]
    }
}'
```

There are currently 2 types of mounts:

  - **bind**: Paths on the host that get mounted into the
    container. Paths must exist prior to creating the container.
  - **volume**: Volumes that persist after the
    container is removed.

Not all fields are available in each type, and validation is done to
ensure these fields aren't mixed up between types.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-13 09:55:35 -04:00
Vincent Demeester
675144ff8d Merge pull request #26514 from AkihiroSuda/fix-pkg-integration-race
[test] fix races in pkg/integration/cmd
2016-09-13 15:18:41 +02:00
Brian Goff
04c189fa49 Merge pull request #26517 from yongtang/26493-inspect-size
Fix issue of `WARNING: --size ignored for volume` for `docker inspect`
2016-09-13 08:59:12 -04:00
Sebastiaan van Stijn
8754dc398e Merge pull request #26515 from AkihiroSuda/improve-ckpt-doc
[doc] add current limitation to experimental/checkpoint-restore.md
2016-09-13 14:55:18 +02:00
Sebastiaan van Stijn
027e7be348 Merge pull request #25817 from sfsmithcha/update_glossary
add swarm mode terms to the glossary
2016-09-13 12:08:32 +02:00
Sebastiaan van Stijn
4d187df277 Merge pull request #25466 from justincormack/deprecate-maintainer
Begin process of deprecating MAINTAINER
2016-09-13 12:07:04 +02:00
Justin Cormack
379b02b48d Merge pull request #26518 from SUSE/dont-write-aa-profile-to-etc
apparmor: do not save profile to /etc/apparmor.d
2016-09-13 10:37:11 +01:00
Vincent Demeester
0c90f777b7 Merge pull request #26489 from yuexiao-wang/update-exec
update option for docker exec
2016-09-13 11:16:22 +02:00
Vincent Demeester
eb0728a993 Merge pull request #26439 from lixiaobing10051267/masterReload
fix logruns.Warnf while daemon.networkOptions fails
2016-09-13 11:03:52 +02:00
Vincent Demeester
0deae9f2fa Merge pull request #26478 from sdurrheimer/zsh-completion-service-group-add-rm
Add zsh completion for 'service {create,update} --group-{add,rm}'
2016-09-13 10:18:27 +02:00
Steve Durrheimer
1df220d51f Add zsh completion for 'service {create,update} --group-{add,rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-09-13 10:15:22 +02:00
Aleksa Sarai
2f7596aaef apparmor: do not save profile to /etc/apparmor.d
Writing the profile to /etc/apparmor.d, while also manually loading it
into the kernel results in quite a bit of confusion. In addition, it
means that people using apparmor but have /etc mounted read-only cannot
use apparmor at all on a Docker host.

Fix this by writing the profile to a temporary directory and deleting it
after it's been inserted.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-09-13 16:25:16 +10:00
Yong Tang
54976b718f Fix issue of WARNING: --size ignored for volume for docker inspect
When `docker inspect` is invoked, it is possible to pass a flag of
`-s` for container types to display size information. If `-s` is used
for non-container types then a warning `WARNING: --size ignored for volume`
will show up.

However, currently `WARNING: --size ignored for volume` will show up even
when `-s` is not passed to `docker inspect` for non-container types.

This fix fixes this issue by checking if `-s` has been passed or not (`getSize`).
Also, since image inspect does not support `-s`, `IsSizeSupported` has been changed
to false for images.

This fix is tested manually.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-12 23:08:19 -07:00
Akihiro Suda
d1c910af38 add current limitation to experimental/checkpoint-restore.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-13 05:14:41 +00:00
Akihiro Suda
e17f77ec51 fix races in pkg/integration/cmd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-13 04:23:36 +00:00
Zhang Wei
f1dda4395e Add parallel operation support for pause/unpause
Support parallel pause/unpause

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-09-13 11:01:28 +08:00
Zhang Wei
2155b46915 Enhancement: allow parallel stop
Stop multiple containers in parallel to speed up stop process, allow
maximum 50 parallel stops.

Signed-off-by: Abhinav Dahiya <abhinavdtu2012@gmail.com>
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-09-13 10:50:55 +08:00
lixiaobing10051267
56916b5e8d fix logruns.Warnf while daemon.networkOptions fails
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-13 09:17:39 +08:00
John Howard
7c7c3d7746 Windows OCI convergence step 1
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-12 16:11:47 -07:00
Justin Cormack
6fafd07282 Merge pull request #26496 from riyazdf/trust-sandbox-fix
Use latest version of notary server in trust sandbox docs
2016-09-12 23:56:41 +01:00
Tõnis Tiigi
6a50b673eb Merge pull request #26499 from LK4D4/health_containerd
libcontainerd: use healthcheck to track containerd conn
2016-09-12 15:52:48 -07:00
Alexander Morozov
036a8f77b0 Merge pull request #26461 from crosbymichael/term-exec
Add TERM env var to exec
2016-09-12 14:57:37 -07:00
Sebastiaan van Stijn
056bd44f6b Merge pull request #26508 from docker/stevvooe-patch-1
issues: re-order issue template for more clarity
2016-09-12 23:43:55 +02:00
Stephen Day
be3bc483c6 issues: re-order issue template for more clarity
Triaging issues has become a little challenging since the meat
of the information is below a large amount of unstructured
command line output. These changes add a description and move
the reproduction and expected/received results above the
unstructured output.

This should help for initial triaging, as well as self-triaging.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-12 14:34:00 -07:00
Alexander Morozov
e4ddcb37c1 libcontainerd: use healthcheck to track containerd conn
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-12 14:22:38 -07:00
Sebastiaan van Stijn
6edf09cf58 Merge pull request #26488 from vdemeester/26450-add-client-package-readme
Add a README to the client's package…
2016-09-12 22:56:32 +02:00
Tonis Tiigi
ed747e5a9e Fix already loaded detection for frozen images
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-12 12:55:26 -07:00
Sebastiaan van Stijn
23d5b3be9b Merge pull request #26460 from icecrime/update_issue_triage
Update issue labels
2016-09-12 20:35:59 +02:00
Anusha Ragunathan
a4d1365bce Merge pull request #25794 from chenchun/timeout
Add default timeout to pkg/plugins/client
2016-09-12 11:27:36 -07:00
Charles Smith
68d4000a0c removes sfsmithcha from maintainers
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-09-12 11:16:11 -07:00
Christy Perez
3dea5dbb9a Always check err before http status
A test failed expecting 200, but received -1, which is an err rc,
not an HTTP status code, so move these checks up.

Also log the output an not just check for a nil err.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-09-12 12:45:08 -05:00
Riyaz Faizullabhoy
40f823ccd8 Use latest version of notary server in trust sandbox docs
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-09-12 09:42:12 -07:00
Michael Crosby
4633f15f13 Add TERM env var to exec
When the `-t` flag is passed on exec make sure to add the TERM env var
to mirror the expected configuration from run.

Fixes #9299

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-12 09:20:27 -07:00
Denis Gladkikh
4907cc7793 Splunk Logging Driver performance improvements
New driver options:

- `splunk-gzip` - gzip compress all requests to Splunk HEC
(enabled by default)
- `splunk-gzip-level` - change compression level.

Messages are sent in batches by 1000, with frequency of 5 seconds.
Maximum buffer is 10,000 events. If HEC will not be available, Splunk
Logging Driver will keep retrying while it can hold messages in buffer.

Added unit tests for driver.

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
2016-09-12 09:00:16 -07:00
Arnaud Porterie (icecrime)
19f0feadd6 Update issue labels
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-09-12 08:56:04 -07:00
Michael Holzheu
73df9b4e87 s390x: Enable "make deb" for Ubuntu Xenial (16.04)
With this patch and Docker PR 25883 ("Add a Dockerfile for generating
manpages on s390x") "make deb" creates the following packages for s390x:

 # cd bundles/1.13.0-dev/build-deb/
 # find .
   .
   ./ubuntu-xenial
   ./ubuntu-xenial/docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial_s390x.deb
   ./ubuntu-xenial/docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial.dsc
   ./ubuntu-xenial/docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial_s390x.changes
   ./ubuntu-xenial/Dockerfile.build
   ./ubuntu-xenial/docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial.tar.gz
   ./docker.log
   ./test.log

Package "docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial_s390x.deb"
could be successfully installed on a s390x Ubuntu system:

 # cat /etc/issue
 Ubuntu 16.04.1 LTS \n \l
 # dpkg -i docker-engine_1.13.0~dev~git20160823.161729.0.2693af4-0~xenial_s390x.deb
 ...
 Installing new version of config file /etc/init.d/docker ...
 Installing new version of config file /etc/init/docker.conf ...
 Processing triggers for systemd (229-4ubuntu7) ...
 Processing triggers for ureadahead (0.100.0-19) ...
 Processing triggers for man-db (2.7.5-1) ...

 # docker version
 Client:
  Version:      1.13.0-dev
  API version:  1.25
  Go version:   go1.7
  Git commit:   2693af4-unsupported
  Built:        Wed Aug 24 11:41:13 2016
  OS/Arch:      linux/s390x

 Server:
 ...

The s390x "generate.sh" is a modified version of "ppc64le/generate.sh".
We removed seccomp for s390x because we need at least libseccomp version
2.3.1 which is not provided by Ubuntu Xenial.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-09-12 16:10:36 +02:00
Brian Goff
e5544fbb0d Merge pull request #26103 from sakeven/fix-validate-build-arg
validate build-arg
2016-09-12 09:15:58 -04:00
Antonio Murdaca
e8b9f38c7e Merge pull request #26456 from dnephin/move_cli_command_registry
Remove registry/auth helper methods from the DockerCLI object
2016-09-12 15:11:04 +02:00
Brian Goff
e41839e8a1 Merge pull request #26472 from yongtang/09112016-docker-build-step-0
Fix documentation for `Step 0` to `Step 1` in `docker build`
2016-09-12 09:08:35 -04:00
Vincent Demeester
ab2c9b373d Merge pull request #26483 from miaoyq/optimized-debug-print-in-devicemapper
Optimized debug print in the 'deviceset.go'
2016-09-12 15:08:12 +02:00
Brian Goff
5ada5f129f Merge pull request #26301 from albers/completion-service-groups
Add bash completion for `service {create,update} --group-{add,rm}`
2016-09-12 09:05:49 -04:00
Vincent Demeester
e391e83804 Merge pull request #26481 from AkihiroSuda/nit-fix-convention-26467
[nit] test: fix trivial code convention noncompliance
2016-09-12 15:03:29 +02:00
yuexiao-wang
7084aa24c7 update option for docker commands
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-12 19:10:45 +08:00
sakeven
5426510bea validate build-arg
Signed-off-by: sakeven <jc5930@sina.cn>
2016-09-12 18:02:21 +08:00
Vincent Demeester
a00106f9a5 Add a README to the client's package…
… taken from the old engine-api project.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-09-12 11:41:11 +02:00
yuexiao-wang
1917d3b958 add option and update the description
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-12 16:08:59 +08:00
Akihiro Suda
e03cc68e3a test: fix trivial code convention noncompliance
daemon/events/testutils: rename eventstestutils to testutils
volume/testutils: rename volumetestutils to testutils

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-12 07:36:52 +00:00
Yanqiang Miao
664ad19486 Optimized debug print in the 'deviceset.go'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-12 15:34:17 +08:00
Chun Chen
0699b00d26 Add default timeout to pkg/plugins/client
Signed-off-by: Chun Chen <ramichen@tencent.com>
2016-09-12 10:39:32 +08:00
Sven Dowideit
2cce7bf33a Merge pull request #26306 from deployable/patch-1
Remote API documentation consistancy
2016-09-12 10:52:30 +10:00
Sven Dowideit
ae4582dc28 Merge pull request #26458 from sfsmithcha/fix_vip_diagram
updates swarm overlay network diagram
2016-09-12 10:11:08 +10:00
Yong Tang
256dbe4b75 Fix documentation for Step 0 to Step 1 in docker build
The indexing of steps in the output of `docker build` starts with `Step 1`.
However, there are several places in the docs that start with `Step 0`.

This fix addresses the issue and changes `Step 0` to `Step 1` (and subsequent steps).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-11 10:52:40 -07:00
Madhu Venugopal
130db0a489 Merge pull request #26448 from michael-holzheu/PR-libnetwork-bump-to-fix-s390x-ci
Vendor libnetwork @51d88e9ae63f
2016-09-10 06:00:32 -07:00
Vincent Demeester
e6f76800f5 Merge pull request #26426 from sfsmithcha/carry_pry_25414
Carry pr 25414
2016-09-10 11:50:28 +02:00
Vincent Demeester
4c3f2e7c37 Merge pull request #26303 from yongtang/26300-docker-images-3-fractional-digits
Restrict size to 2 fractional digits for `docker images`
2016-09-10 11:32:45 +02:00
Matt Hoyle
e0a552504e Keep headings consistant in API documentation
The "Stream details" sections are currently a part of the Status codes list.

This change moves them out to the same level as other surrounding sections.

Use () for a paramaters

Remove query param from end point heading

Signed-off-by: Matt Hoyle <matt@deployable.co>
2016-09-10 12:27:41 +10:00
Brian Goff
ebae43efc2 Merge pull request #26457 from aboch/auto
Add fallback to resolveSystemAddr() in linux
2016-09-09 20:46:29 -04:00
Charles Smith
e7e85c7e06 carries and closes 25414
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-09-09 15:57:53 -07:00
Charles Smith
48f3aa7805 updates swarm overlay network diagram
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-09-09 15:18:53 -07:00
Alessandro Boch
c0b24c600e Add fallback to resolveSystemAddr() in linux
- So that swarm init will still work w/o specifying the advertise
  address when the daemon is running inside a container

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-09 13:27:57 -07:00
Daniel Nephin
1dd46e0644 Remove remaining registry methods from DockerCLI.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-09 15:50:01 -04:00
Daniel Nephin
e05fa5de48 Remove cli/command/credentials
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-09 15:50:01 -04:00
Daniel Nephin
5d335fbda7 Remove RetrieveAuthConfigs
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-09 15:50:01 -04:00
Stephen J Day
9d7be9df8f tlsconfig: move Clone into proper package
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-09 12:05:17 -07:00
allencloud
af4461ad29 support docker node ps multiNodes
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-10 02:52:48 +08:00
John Howard
8437d0a329 Windows: Fix regression pulling linux images
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-09 11:40:34 -07:00
Charles Smith
498f18de26 add swarm mode terms to the glossary
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-09-09 11:18:30 -07:00
Phil Estes
cf58eb437c Merge pull request #22049 from boucher/docker-checkpoint-restore
Implement containerd API for checkpoints
2016-09-09 13:36:55 -04:00
Phil Estes
6062ae5742 Remove --read-only restriction when user ns enabled
The restriction is no longer necessary given changes at the runc layer
related to mount options of the rootfs. Also cleaned up the docs on
restrictions left for userns enabled mode. Re-enabled tests related to
--read-only when testing a userns-enabled daemon in integration-cli.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-09-09 13:23:41 -04:00
root
7d8048de06 Vendor libnetwork @51d88e9ae63f
- Fixes #26440

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-09-09 18:57:15 +02:00
Daniel Nephin
81090c9455 Merge pull request #26443 from dnephin/move_trust_client
Move image trust related cli methods into the image package
2016-09-09 12:29:28 -04:00
boucher
67f607a02f Update checkpoint comments to be more accurate
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-09 12:13:46 -04:00
John Howard
704049a691 Merge pull request #26438 from lixiaobing10051267/masterSystem
docker daemon requires windows version info while low build
2016-09-09 09:12:47 -07:00
Michael Crosby
c1f2776bf1 Merge pull request #26428 from darrenstahlmsft/AddToSymlink
Don't attempt to evaluate drive root on Windows
2016-09-09 09:09:24 -07:00
lixiaobing10051267
b4b9efd4c5 Specify the required version while the version not support daemon
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-09 23:04:45 +08:00
Daniel Nephin
e7c9694d76 Move image trust related cli methods into the image package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-09 10:50:16 -04:00
Brian Goff
89bc5d54ca Merge pull request #26432 from stevvooe/dont-hide-context-errors
client: don't hide context errors
2016-09-09 08:53:43 -04:00
Justin Cormack
7c118f40cb Merge pull request #26424 from michael-holzheu/PR-s390x-bump-to-binary-go-1-7-1
Dockerfile.s390x: Use binary go package
2016-09-09 09:53:02 +01:00
boucher
6bc9a2d563 Update containerd to fix unkillable restored containers.
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:56 -04:00
boucher
0dfbf960d7 Fix the clashing route syntax for checkpoint/container delete.
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:56 -04:00
boucher
cb0ad4258b Fix typo
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:56 -04:00
boucher
d8fef66b03 Initial implementation of containerd Checkpoint API.
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:52 -04:00
Yong Tang
6866fda800 Revendor go-units to f2145db703495b2e525c59662db69a7344b00bb8
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-08 18:26:50 -07:00
Yong Tang
4e7e3919ce Restrict size to 2 fractional digits for docker images
This fix tries to address the issue raised in 26300. Previously
`docker images` will use `HumanSize()` to display the size which
has a fixed precision of 4 (thus 3 fractional digits). This
could be problematic in certain languages (e.g. , German, see
26300) as `.` may be interpreted as thousands-separator in number.

This fix use `CustomSize()` instead and limit the precision to 3
(thus 2 fractional digits).

This fix has been tested manually.

This fix fixes 26300.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-08 18:26:50 -07:00
Stephen J Day
8e5ef8af5c client: don't hide context errors
Instead of reformatting error from the request action, we wrap it,
allowing the cause to be recovered. This is important for consumers that
need to be able to detect context errors, such as `Cancelled` and
`DeadlineExceeded`.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-08 17:47:43 -07:00
Michael Crosby
e345d67c4e Merge pull request #26422 from dnephin/move_api_client
Move api/client -> cli/command
2016-09-08 16:44:49 -07:00
Justin Cormack
da7a7f9b76 Merge pull request #26375 from cpuguy83/fix_apt_mirror_propagation
Propagate BUILD_APT_MIRROR and consume in buil-deb
2016-09-09 00:02:42 +01:00
Darren Stahl
fdce2a7775 Don't attempt to evaluate drive root on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-09-08 13:52:54 -07:00
Daniel Nephin
485881b038 Fix a test that expects whitespace at the end of the line.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 15:50:14 -04:00
Daniel Nephin
9c2b935812 Replace api/client imports with cli/command in experimental files.
Using

git grep -l 'client\.DockerCli' cli/command/stack/ | xargs sed -i -e 's/client\.DockerCli/command\.Dockercli/g'

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 15:46:48 -04:00
Daniel Nephin
0640a14b4f Move api/client -> cli/command
Using
  gomvpkg
     -from github.com/docker/docker/api/client
     -to github.com/docker/docker/cli/command
     -vcs_mv_cmd 'git mv {{.Src}} {{.Dst}}'

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 15:46:29 -04:00
Brian Goff
93e8aff1bc Merge pull request #26406 from AkihiroSuda/fix-make-manpages
client: transport: fix tlsconfig Clone() on different Golang versions
2016-09-08 15:37:54 -04:00
Alexander Morozov
d959e7fac4 Merge pull request #26107 from dnephin/client_cleanup
Shrink the DockerCLI type
2016-09-08 12:18:46 -07:00
Richard Mathie
21a9c64b77 Update service_create.md
More info on endpoint setting, and service discovery on swarm mode overlay network.

Signed-off-by: Richard Mathie <richard.mathie@amey.co.uk>
2016-09-08 12:11:48 -07:00
Michael Crosby
46d2256370 Merge pull request #26423 from AkihiroSuda/md2man106-1
update go-md2man to v1.0.6
2016-09-08 11:38:29 -07:00
Michael Crosby
061cc41759 Merge pull request #26224 from q384566678/test-zhou
Modify rename function use tips
2016-09-08 11:22:21 -07:00
Michael Crosby
4e2d442901 Merge pull request #26119 from cpuguy83/lazily_load_fixtures
Move some test fixtures to go
2016-09-08 11:16:27 -07:00
Akihiro Suda
128cefc3bd client: transport: fix tlsconfig Clone() on different Golang versions
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-08 17:55:54 +00:00
Michael Holzheu
47f13d3b84 Dockerfile.s390x: Use binary go package
We finally have a s390x binary tarball for go on "storage.googleapis.com".
So use this instead of bootstrapping with gccgo.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-09-08 19:52:43 +02:00
Akihiro Suda
35ebc168e3 update go-md2man to v1.0.6
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-08 17:25:56 +00:00
Brian Goff
ba07661f0d Merge pull request #26405 from yongtang/26326-inspect-ulimit-with-daemon-default
Fix Ulimits in `docker inspect` when daemon default exists
2016-09-08 13:21:26 -04:00
Aaron Lehmann
bc06542a17 Merge pull request #25523 from dmcgowan/fsync-layer-filestore
Update layer store to sync transaction files before committing
2016-09-08 10:03:12 -07:00
Michael Crosby
d579e24ad2 Merge pull request #26397 from crosbymichael/rm-vendor-api
Remove unused engine-api packages
2016-09-08 10:00:51 -07:00
Daniel Nephin
6af6a3a538 Move holdHijackConnection to the container package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 12:58:06 -04:00
Madhu Venugopal
719a640743 Merge pull request #25962 from mrjana/net
Add support for docker run in swarm mode overlay
2016-09-08 09:39:00 -07:00
Daniel Nephin
31d8c27e70 Move container util methods to the container package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 12:38:52 -04:00
Daniel Nephin
bec81075bf Extract input stream into a new type.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 12:34:55 -04:00
Daniel Nephin
a0ab33124a Extract stream output handling to a new type.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-08 12:33:41 -04:00
Brian Goff
b1dfefc4bb Merge pull request #26205 from allencloud/fix-warnings-append
add warnings when verifying container settings
2016-09-08 12:10:37 -04:00
Vincent Demeester
7baa09faa0 Merge pull request #26252 from leslau/master
Fixed custom daemon options on systemd docs still using -H fd://
2016-09-08 17:15:13 +02:00
Brian Goff
28d18b8205 Merge pull request #25578 from rwilliams/conemu
Force input stream ANSI emulation for ConEmu.
2016-09-08 11:12:33 -04:00
Brian Goff
e96c0fafa0 Merge pull request #26228 from lixiaobing10051267/masterPluginRm
check inconsistant command in docs/reference/commandline
2016-09-08 11:09:18 -04:00
Brian Goff
4219c0018f Merge pull request #25777 from swernli/servicing_race
Fixing race in Windows container servicing
2016-09-08 10:42:15 -04:00
lixiaobing10051267
d5fcf57acb Labels info ommitted while inspecting self-defined network
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-08 17:27:33 +08:00
Yong Tang
7d705a7355 Fix ulimits in docker inspect when daemon default exists
This fix tries to fix 26326 where `docker inspect` will not show
ulimit even when daemon default ulimit has been set.

This fix merge the HostConfig's ulimit with daemon default in
`docker inspect`, so that when daemon is started with `default-ulimit`
and HostConfig's ulimit is not set, `docker inspect` will output
the daemon default.

An integration test has been added to cover the changes.

This fix fixes 26326.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-07 23:15:22 -07:00
Jana Radhakrishnan
99a98ccc14 Add support for docker run in swarm mode overlay
This PR adds support for running regular containers to be connected to
swarm mode multi-host network so that:
    - containers connected to the same network across the cluster can
      discover and connect to each other.
    - Get access to services(and their associated loadbalancers)
      connected to the same network

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-07 21:20:41 -07:00
Sven Dowideit
5be6ccc433 Merge pull request #24586 from farcaller/gcplogs
Added optional flags to init gcp logger metadata
2016-09-08 13:47:48 +10:00
Brian Goff
48c615f853 Merge pull request #25891 from Microsoft/jjh/processlist
Windows: Docker top implementation
2016-09-07 20:58:20 -04:00
Alexander Morozov
e482d8472b Merge pull request #26395 from unclejack/bump_go_to_1.7.1
Dockerfile*: bump Go to 1.7.1
2016-09-07 17:17:38 -07:00
Tõnis Tiigi
b890d475f7 Merge pull request #25806 from Microsoft/jjh-missingdigest
Don't fail daemon start on missing layer
2016-09-07 16:35:27 -07:00
John Howard
52f0474851 Windows: docker top implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-07 16:29:02 -07:00
Michael Crosby
c612147a53 Remove unused engine-api packages
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-07 15:55:13 -07:00
Jana Radhakrishnan
99c3968098 Vendor libnetwork @00e7660daeb4
- Fixes #25325
  - Fixes certain issues with workers leaving swarm and rejoining
  - Adds cluster provider interface methods to support docker run on
    overlay in swarm mode.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-07 15:11:48 -07:00
unclejack
1668894d04 Dockerfile*: bump Go to 1.7.1
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-09-08 00:42:35 +03:00
Brian Goff
ff91276d1f Move some test fixtures to go
moves ensure-frozen-images to go
moves ensure-syscall-test to go
moves ensure-nnp-test to go
moves ensure-httpserver to go

Also makes some of the fixtures load only for the required tests.
This makes sure that fixtures that won't be needed for a test run such as
`make TESTFLAGS='-check.f Swarm' test-integration-cli` (for example)
aren't loaded... like the syscall tests.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-07 17:30:35 -04:00
Brian Goff
ce5eb34e68 Merge pull request #26378 from rhvgoyal/fix-max-retries
devmapper: Fail to start container if xfs_nospace_max_retries can't be enforced
2016-09-07 16:56:45 -04:00
John Howard
540c8e9b20 Windows: Skip layers+base images
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-07 12:16:45 -07:00
Jana Radhakrishnan
39143ef15d Vendor swarmkit @27fbaef4ceed6
Adds a new task runtime to support network attachmemt for plain old
docker containers so that they can participate multi-host networks and
get access to services.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-07 11:52:49 -07:00
Charles Smith
426a0af075 Merge pull request #26256 from mstanleyjones/rewrite_understanding_docker
Rewrites to Understanding Docker topic for clarity
2016-09-07 11:36:58 -07:00
Michael Crosby
3ea762b9f6 Merge pull request #26349 from crosbymichael/api-to-docker
Move engine-api to docker
2016-09-07 11:08:11 -07:00
Michael Crosby
7c36a1af03 Move engine-api client package
This moves the engine-api client package to `/docker/docker/client`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-07 11:05:58 -07:00
Michael Crosby
91e197d614 Add engine-api types to docker
This moves the types for the `engine-api` repo to the existing types
package.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-07 11:05:58 -07:00
Vivek Goyal
6cc55dd65b devmapper: Fail to start container if xfs_nospace_max_retries can't be enforced
We just introduced a new tunable dm.xfs_nospace_max_retries. But this tunable
will work only on new kernels where xfs supports this feature. On older
kernels xfs does not allow tuning this behavior.

There are two issues. First one is that if xfsSetNospaceRetries() fails,
it returns error but leaves the device activated and mounted. We should
be unmounting the device and deactivate it before returning.
 
Second issue is, if docker is started on older kernel, with
dm.xfs_nospace_max_retries specified, then docker will silently ignore the
fact that /sys file to tweak this behavior is not present and will continue.
But I think it might be better to fail container creation/start if kernel
does not support this feature.

This patch fixes it. After this patch, user will get an error like following
when container is run.

# docker run -ti fedora bash
docker: Error response from daemon: devmapper: user specified daemon option dm.xfs_nospace_max_retries but it does not seem to be supported on this system :open /sys/fs/xfs/dm-5/error/metadata/ENOSPC/max_retries: no such file or directory.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-09-07 14:03:01 -04:00
Misty Stanley-Jones
12b740b65c Rewrites to Understanding Docker topic for clarity
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-07 11:02:03 -07:00
Tõnis Tiigi
a6daa94e3e Merge pull request #26342 from cpuguy83/20079_restore_volume_migrate
restore migrating pre-1.7.0 volumes
2016-09-07 10:56:07 -07:00
Charles Smith
6f0502b89b Merge pull request #26156 from mstanleyjones/24905_swarm_noun_usage
Sanitize uses of Swarm as a proper and improper noun (Fixes #24905)
2016-09-07 10:38:59 -07:00
Aaron Lehmann
86124ca04b Merge pull request #23100 from runcom/fix-stores
support legacy registries in exernal stores
2016-09-07 09:44:41 -07:00
Brian Goff
94cfa2cc37 Merge pull request #26209 from allencloud/validate-heartbeat-in-discovery
validate heartbeat in discovery cluster opts
2016-09-07 12:11:53 -04:00
Brian Goff
4f8ca47977 Merge pull request #26376 from dnephin/remove_manpagegen_from_main_dockerfile
Remove download of man page generator dependencies
2016-09-07 11:47:01 -04:00
Brian Goff
93c915b385 Merge pull request #26345 from albers/completion-events-health_status
Add completion for `docker events -f event=health_status`
2016-09-07 11:38:33 -04:00
Brian Goff
6168e98a13 Merge pull request #26115 from yongtang/08292016-info-registry-mirrors
Add registry mirrors information in the output of `docker info`
2016-09-07 11:37:36 -04:00
Daniel Nephin
20607e2cc2 Merge pull request #26269 from yuexiao-wang/remove-option
Remove the option for the command service rm
2016-09-07 11:31:11 -04:00
Daniel Nephin
d0fa13a502 Remove download of man page generator dependencies, which are now in man/Dockerfile.\*
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-07 11:02:51 -04:00
Brian Goff
f672a963c9 Propagate BUILD_APT_MIRROR and consume in buil-deb
Passses down BUILD_APT_MIRROR to the docker env.
Ensures BUILD_APT_MIRROR is used when building debs, but only when the
consuming `Dockerfile` actually uses it, otherwise it will cause the
build to fail (e.g. on Ubuntu builds we aren't using APT_MIRROR).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-07 10:57:00 -04:00
Vincent Demeester
a0bbf54aa7 Merge pull request #26275 from cpuguy83/verify_integration_tests
Fail faster if integration tests don't compile
2016-09-07 16:48:14 +02:00
Sven Dowideit
e73e37f112 Merge pull request #26218 from frosforever/fix_run_reference_typo
Correct typo in run reference docs that use the create command
2016-09-07 22:18:26 +10:00
Brian Goff
cb6ea5b4f5 Merge pull request #26347 from anusha-ragunathan/plugins-libnetwork
Adding pluginv2 support for libnetwork.
2016-09-07 08:04:34 -04:00
Victor Vieux
44a16acff1 add some plugin manifest reference doc
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-09-07 02:35:03 -07:00
Vincent Demeester
0ebb18102f Merge pull request #26362 from lixiaobing10051267/masterIfconfig
rectify some response information while execute ifconfig in container
2016-09-07 11:25:25 +02:00
Vincent Demeester
52c55cf19b Merge pull request #26355 from stevvooe/correct-context-order
api/client/node: correct ordering in context argument
2016-09-07 11:23:56 +02:00
Vincent Demeester
a51fcc26fa Merge pull request #26352 from Microsoft/jjh/volumenocopydata
Windows: Correct TestVolumesNoCopyData
2016-09-07 11:23:10 +02:00
Antonio Murdaca
67d752ac55 support legacy registries in exernal stores
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-07 09:45:42 +02:00
lixiaobing10051267
97bbfc3534 rectify some response information while execute ifconfig in container
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-07 13:19:46 +08:00
Doug Davis
a8f79e5542 Merge pull request #26360 from lixiaobing10051267/masterServiceCreate
remove some incorrect bash symbols
2016-09-06 23:51:23 -04:00
lixiaobing10051267
2d1d4684f0 remove some incorrect bash symbols
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-07 11:44:54 +08:00
Brian Goff
a123ef1bfa Merge pull request #26340 from Microsoft/jjh/blocksinglefilevolume
Windows: Error if mapping single file volume
2016-09-06 21:06:15 -04:00
YuPengZTE
bd914ff5a3 The etc and dot is seprated
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-07 09:02:16 +08:00
Brian Goff
2381c7f18d Merge pull request #26281 from LK4D4/fix_multireader_offset
pkg/ioutils: fix multireader SEEK_CUR branch
2016-09-06 20:47:03 -04:00
Brian Goff
6ae6739af4 Merge pull request #26344 from tophj-ibm/change-test-daemon-id-generation
Integration-cli: change daemon id generation from time to rand
2016-09-06 20:42:58 -04:00
Brian Goff
4d0275c819 Verify integration tests before building bundles
Adds a new bundle `verify-integration-tests` which pre-compiles a test
binary for the integration tests.

This makes sure that the integration tests will actually compile before
doing other tasks which take much longer, such as building dockerd and
loading test fixtures.
When it comes time to actually run the tests, the pre-compiled binary
will be used so it doesn't have to compile the tests a 2nd time.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-06 20:27:28 -04:00
Stephen J Day
084ff6dc6d api/client/node: correct ordering in context argument
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-06 17:04:43 -07:00
John Howard
8a1fdce7fe Windows: Correct TestVolumesNoCopyData
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-06 15:38:19 -07:00
Christopher Jones
42f3865d24 Integration-cli: change daemon id generation
Fixes #24805

Changes test daemon id generation from using time.Now().UnixNano() to using
stringid. This is because of a go bug (fixed upstream for 1.8) on ppc64le
and s390x where time.Now().UnixNano() would not return nanosecond precision,
so initializing consecutive daemons sometimes would result in them having
the same id.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-06 18:17:24 -04:00
Tõnis Tiigi
331e724e87 Merge pull request #26310 from hqhq/cleanup_pullSchema2
Cleanup pullSchema2
2016-09-06 14:35:47 -07:00
Anusha Ragunathan
17b8aba1d9 Adding pluginv2 support for libnetwork (part 1)
Legacy plugins (aka pluginv1) calls in libnetwork are replaced with
calls using the new plugin model (aka pluginv2). pkg/plugins is still
used for managing the http client connections to the plugin.

This commit makes the necessary changes in docker/docker. Part 2 will
will take care of the libnetwork changes.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-06 14:30:55 -07:00
Brian Goff
dc712b9249 restore migrating pre-1.7.0 volumes
This was removed in a clean-up
(060f4ae617) but should not have been.
Fixes issues with volumes when upgrading from pre-1.7.0 daemons.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-06 17:17:47 -04:00
Harald Albers
d5a79579d3 Add completion for docker events -f event=health_status
Signed-off-by: Harald Albers <github@albersweb.de>
2016-09-06 13:46:21 -07:00
Alexander Morozov
f3627c3726 pkg/ioutils: fix multireader SEEK_CUR branch
Before getReaderForOffset returned always nil and wrong offset.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-06 11:08:35 -07:00
John Howard
1b62b8c084 Windows: Error if mapping single file volume
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-06 10:52:56 -07:00
Charles Smith
75c36bcc64 Merge pull request #26288 from sfsmithcha/add_tls
author merge: addressed @diogomonica ' remark: add how pki works topic
2016-09-06 10:41:46 -07:00
Charles Smith
5ca3e6e61f add how pki works topic
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-09-06 10:39:52 -07:00
Phil Estes
078964177f Merge pull request #25950 from akalipetis/fix-#21738-userns-mount-create
Host mounted directories are correctly chowned to the remapped root, if the directory does not already exist
2016-09-06 12:42:39 -04:00
Michael Crosby
368a27a8d8 Merge pull request #26294 from petrsvihlik/updated-windows-mounting-example
Updated Windows mounting example
2016-09-06 09:05:50 -07:00
Michael Crosby
0d03c060c7 Merge pull request #26212 from rhvgoyal/xfs-enospc
devmapper: Set xfs max_retries to 0 upon ENOSPC
2016-09-06 09:03:09 -07:00
Vincent Demeester
da763602af Merge pull request #26307 from AkihiroSuda/fix-doc-26291
fix docs about `sudo docker login`
2016-09-06 17:47:46 +02:00
Vincent Demeester
d4e173fc34 Merge pull request #26258 from mstanleyjones/25625_swarm_init_return_value
Add response to swarm/init example (fixes #25625
2016-09-06 17:43:19 +02:00
Misty Stanley-Jones
a2a0a03e2b Add response to swarm/init example (fixes #25625
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-06 08:39:53 -07:00
Doug Davis
1c7c298d2b Merge pull request #26337 from icaoweiwei/patch_2016-09-06_1
Remove redundant word
2016-09-06 11:24:22 -04:00
Cao Weiwei
c6edecc2d6 Remove redundant word
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-09-06 23:21:41 +08:00
Vincent Demeester
5c6b54c278 Merge pull request #26282 from mstanleyjones/26280_fix_pretty_print
`docker node inspect <node> --pretty`  needs an extra newline at the end
2016-09-06 16:04:55 +02:00
Vincent Demeester
d8e1515350 Merge pull request #26293 from lixiaobing10051267/masterDockerAttach
fix the wrong option info while specifying the command with the "--help"
2016-09-06 15:44:44 +02:00
Brian Goff
778acfdf09 Merge pull request #26304 from OctopusDeploy/26178-env-vars-with-equals
Allow windows environment variables to contain `=`
2016-09-06 09:32:40 -04:00
Brian Goff
3dd6e38b08 Merge pull request #26328 from allencloud/correct-docker-volume-ls-description
correct docker volume ls subcommand description
2016-09-06 09:26:09 -04:00
allencloud
2087f94df5 correct docker volume ls subcommand description
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-06 17:18:41 +08:00
Vincent Demeester
1325cde252 Merge pull request #26313 from yongtang/26312-network-ls-help-output-volume
Fix incorrect help output in `docker network ls`
2016-09-05 19:13:09 +02:00
Vincent Demeester
d7594d23c8 Merge pull request #26320 from yongtang/09052016-man-docker-create
Update man page for `docker create` to add `--rm` flag
2016-09-05 18:40:07 +02:00
Yong Tang
6ac8224207 Update man page for docker create to add --rm flag
The `--rm` flag has been part of the `docker create` and
related docs in `docs/reference/commandline/create.md`
already includes the `--rm` flag. However, man page
`man/docker-create.1.md` has not adds the `--rm` flag yet.

This fix adds the description of `--rm` flag to
`man/docker-create.1.md`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-05 08:38:32 -07:00
Yong Tang
b9e46235fa Fix incorrect help output in docker network ls
As is raised in 26312, in `docker network ls`, the help output was
mistaken to `volume names`:
```
-q, --quiet Only display volume names
```

This fix changes the help output to:
```
-q, --quiet Only display network IDs
```

This fix also updates the documentation in:
`docs/reference/commandline/network_ls.md`

This fix fixes 26312.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-05 08:24:22 -07:00
Vincent Demeester
175188d8b0 Merge pull request #26292 from lixiaobing10051267/masterDockerPull
modify output info for docker pull centos
2016-09-05 15:44:01 +02:00
Sven Dowideit
8f424f7774 Merge pull request #26314 from unclejack/docs_contiv_nfs
docs: mention NFS support for Contiv volume plugin
2016-09-05 21:51:42 +10:00
unclejack
9fbe0f2156 Merge pull request #26199 from bamarni/raspbian-overlay
remove systemd drop-in unit on raspbian
2016-09-05 04:45:47 -07:00
Vincent Demeester
1145c9b0d5 Merge pull request #26233 from yuexiao-wang/fix-readme
Fix readme doc for dockerd
2016-09-05 13:39:19 +02:00
Antonis Kalipetis
c6bff578b4 Add test for checking created directories on remapped root
Signed-off-by: Antonis Kalipetis <akalipetis@gmail.com>
2016-09-05 13:02:13 +03:00
Antonis Kalipetis
72d8a77d52 Make host directory mounts use idtools.MkdirAllNewAs
This makes sure that:
1. Already existing directories are left untouched
2. Newly created directories are chowned to the correct root UID/GID in case of user namespaces
3. All parent directories still get created with host root UID/GID

Fix #21738

Signed-off-by: Antonis Kalipetis <akalipetis@gmail.com>
2016-09-05 12:46:57 +03:00
unclejack
faaccf26e3 docs: mention NFS support for contiv volume plugin
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-09-05 12:38:50 +03:00
Vincent Demeester
01fe5639bc Merge pull request #26236 from yuexiao-wang/remove-h-option
Remove -h option for docker cli
2016-09-05 09:52:18 +02:00
Qiang Huang
cec0e2dfbd Cleanup pullSchema2
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-09-05 15:02:14 +08:00
Akihiro Suda
d6007b4db0 fix docs about sudo docker login
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-05 04:44:18 +00:00
Madhu Venugopal
506c51e71e Merge pull request #26297 from yongtang/26220-disconnect-container-from-network
Fix issue in disconnecting a container from network
2016-09-04 21:15:39 -07:00
Sven Dowideit
b468df9eac Merge pull request #26302 from vdemeester/health_status-in-event-docs
Add health status as action on events documentations
2016-09-05 10:03:14 +10:00
Sven Dowideit
384de833c0 Merge pull request #26245 from dbdd4us/master
add volumes, networks, nodes and services into label doc
2016-09-05 10:02:35 +10:00
Matt Richardson
bc8eabce25 Allow windows environment variables to contain =
Fix issue where environment variables with embedded equals signs were
being dropped and not passed to the container.

Fixes #26178.

Signed-off-by: Matt Richardson <matt.richardson@octopus.com>
2016-09-05 08:49:07 +10:00
Vincent Demeester
fb8b6438f2 Add health status as action on events documentations
This was missing from the docs for 1.12.0.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-09-04 18:01:57 +02:00
Yong Tang
83d79f13aa Fix issue in disconnecting a container from network
This fix tries to address the issue raised in 26220 where
disconnecting a container from network does not work if
the network id (instead of network name) has been specified.

The issue was that internally when trying to disconnecting
a contaienr fromt the network, the originally passed network
name or id has been used.

This fix uses the resolved network name (e.g., `bridge`).

An integration test has been added to cover the changes.

This fix fixes 26220.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-04 07:28:45 -07:00
Harald Albers
be455538aa Add bash completion for service {create,update} --group-{add,rm}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-09-04 05:52:50 -07:00
lixiaobing10051267
2626d341e7 fix the wrong info while specifying the command with the "--help"
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-04 04:26:56 +08:00
Brian Goff
93a8b5c42b Merge pull request #26279 from miaoyq/delete-a-useless-funtion
delete a function which isn't used in the project
2016-09-03 13:36:37 -04:00
Vincent Demeester
c73fae2352 Merge pull request #26290 from tonistiigi/govet17
Fix govet for go1.7
2016-09-03 19:27:19 +02:00
Petr Švihlík
ea0d7b1b3b Updated Windows mounting example
Signed-off-by: Petr Švihlík <svihlik.petr@gmail.com>
2016-09-03 18:23:43 +02:00
lixiaobing10051267
6becc1a577 modify output info for docker pull centos
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-03 22:27:18 +08:00
Tonis Tiigi
7a8c7b47cf Fix govet for go1.7
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-09-02 19:07:54 -07:00
Alessandro Boch
e74a937b00 Fix mtu option in documentation
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-02 15:39:49 -07:00
Misty Stanley-Jones
341489f150 'docker node inspect <node> --pretty' needs an extra newline at the end
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-09-02 11:15:00 -07:00
Daniel Nephin
2e0bc0393a Merge pull request #26225 from yongtang/26173-docker-import-quoted-change
Fix issue in `docker import -c` with quoted flags
2016-09-02 13:34:25 -04:00
Yanqiang Miao
81849600fc delete a function which isn't used in the project
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-02 22:54:19 +08:00
Brian Goff
75f589a979 Merge pull request #26254 from tophj-ibm/change-ppc64le-dockerfile-to-golang
ppc64le: change dockerfile base from gcc to golang
2016-09-02 10:05:39 -04:00
Antonio Murdaca
b98e918248 Merge pull request #26264 from q384566678/test-two
Modify docker-restart.1.md
2016-09-02 15:53:19 +02:00
Brian Goff
84ebbb5231 Merge pull request #26261 from Microsoft/jjh/morebuildtests
Windows CI: Enable some more build tests
2016-09-02 09:41:08 -04:00
Vincent Demeester
1a04d7b1e1 Merge pull request #26271 from AkihiroSuda/fix-service-create-doc
update docs/reference/commandline/service_create.md
2016-09-02 12:39:31 +02:00
Akihiro Suda
aa47961682 update docs/reference/commandline/service_create.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-02 09:59:20 +00:00
Akihiro Suda
f3d9214d0b fix the man page and zsh completion for docker images
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-02 09:52:10 +00:00
yuexiao-wang
1016cbb642 Remove the option for the command service rm
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-02 17:23:59 +08:00
Justin Cormack
9d71cba5f0 Merge pull request #24510 from runcom/new-seccomp-format
New seccomp json format
2016-09-02 09:14:01 +01:00
zhouhao
b99cf0de47 Modify docker-restart.1.md
Signed-off-by: zhouhao <zhouhao@cn.fujitsu.com>
2016-09-02 13:06:08 +08:00
yuexiao-wang
8ad8245ee3 Remove -h option for docker cli
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-02 11:46:49 +08:00
Yong Tang
a79a27412d Fix issue in docker import -c with quoted flags
This fix tries to address the issue in 26173 where `docker import -c`
with quoted flags returns an error.

The issue was that in `api/client/image/import.go` the flag
`--change/-c` was handled by `StringSliceVarP` which does not handle
the quote well.

The similiar issue was enountered for 23309 (`docker commit`).

This fix takes the same approach as 23309 where `StringSliceVarP`
was replaced with `VarP` and `opts.ListOpts`.

An integration test has been added to cover the changes.

This fix fixes 26173.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-01 16:28:22 -07:00
John Howard
ede6163ec6 Windows CI: Enable some more build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-09-01 16:27:04 -07:00
Derek McGowan
3f5392fdda Update token server error test to not fail on retries
Instead of having the misconfigured token server test
fail after maxing out retries, only retry a few times
then return an error which will not retry.

Referenced by #19425

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-09-01 15:18:15 -07:00
Bilal Amarni
de078211b3 Remove systemd drop-in file on raspbian
It makes systemd integration less intrusive, notably needed for
docker machine (cf. https://github.com/docker/machine/pull/3605).

The default storage driver would now be devicemapper, until the
deb package is updated.

Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com>
2016-09-01 23:18:05 +02:00
Christopher Jones
a243f35cf8 ppc64le: change dockerfile base from gcc to golang
Now that gccgo isn't supported, change the ppc64le dockerfile base image
from a debian:jessie based + gccgo image to a debian:jessie + golang image.
Also includes a go path change to be more consistent across Dockerfiles.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-09-01 16:51:11 -04:00
Luciano Mores
c6fae2d12f Fixed custom daemon options on systemd docs still using -H fd://
Signed-off-by: Luciano Mores <leslau@gmail.com>
2016-09-01 17:38:25 -03:00
Vincent Demeester
b14f29dfbd Merge pull request #26241 from YuPengZTE/devNote
The first letter of “docker“ is small
2016-09-01 20:53:07 +02:00
Vincent Demeester
baf2108baf Merge pull request #26242 from YuPengZTE/devEG
"eg." should be "e.g."
2016-09-01 20:46:46 +02:00
Vincent Demeester
a19bdec6f0 Merge pull request #26172 from Microsoft/jjh/testinspect
Windows: Enable multiple TestInspect tests
2016-09-01 19:46:19 +02:00
Tõnis Tiigi
83fc63f967 Merge pull request #26077 from runcom/fix-TestImportBadURL
integration-cli: fix TestImportBadURL w/o network
2016-09-01 09:30:02 -07:00
Vivek Goyal
4f0017b9ad devmapper: Provide a knob dm.xfs_nospace_max_retries
When xfs filesystem is being used on top of thin pool, xfs can get ENOSPC
errors from thin pool when thin pool is full. As of now xfs retries the
IO and keeps on retrying and does not give up. This can result in container
application being stuck for a very long time. In fact I have seen instances
of unkillable processes. So that means once thin pool is full and process
gets stuck, container can't be stopped/killed either and only option left
seems to be power recycle of the box.

In another instance, writer did not block but failed after a while. But
when I tried to exit/stop the container, unmounting xfs hanged and only
thing I could do was power cycle the machine.

Now upstream kernel has committed patches where it allows user space to
customize user space behavior in case of errors. One of the knobs is
max_retries, which specifies how many times an IO should be retried
when ENOSPC is encountered.

This patch sets provides a tunable knob (dm.xfs_nospace_max_retries) so
that user can specify value for max_retries and tune xfs behavior. If
one sets this value to 0, xfs will not retry IO when ENOSPC error is
encountered. It will instead give up and shutdown filesystem.

This knob can be useful if one is running into unkillable
processes/containers issue on top of xfs.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-09-01 11:38:09 -04:00
Vincent Demeester
8abaf62715 Merge pull request #26226 from YuPengZTE/devTest
The first letter should be small in errors.New
2016-09-01 17:28:32 +02:00
dbdd
30404950c4 add volumes, networks, nodes and services into label doc
Signed-off-by: dbdd <wangtong2712@gmail.com>
2016-09-01 20:25:19 +08:00
Antonio Murdaca
5ff21add06 New seccomp format
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-01 11:53:07 +02:00
Justin Cormack
8ccac1ad4d Merge pull request #26200 from runcom/engine-api-vendor
vendor docker/engine-api@f9cef59044
2016-09-01 10:51:34 +01:00
YuPengZTE
e4ac375fdb eg. should be e.g.
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-01 17:44:35 +08:00
YuPengZTE
e0e62874bb The first letter docker is small 2016-09-01 17:03:01 +08:00
Vincent Demeester
f173555de8 Merge pull request #26180 from yongtang/25943-validate-ip6
Fix issue in `--ip6` validation for `docker create`
2016-09-01 11:02:16 +02:00
Vincent Demeester
b8d510e86a Merge pull request #26181 from yongtang/08302016-DockerDaemonSuite-NewDaemon
Change related test from DockerSuite to DockerDaemonSuite in `docker_cli_daemon_test.go`
2016-09-01 09:42:59 +02:00
zhouhao
61c8b3380f Modify rename function usage
Signed-off-by: zhouhao <zhouhao@cn.fujitsu.com>
2016-09-01 14:48:02 +08:00
yuexiao-wang
00dcbd0693 Fix readme doc for dockerd
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-09-01 14:47:51 +08:00
lixiaobing10051267
efe39448f7 check inconsistant command in docs/reference/commandline
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-09-01 12:21:52 +08:00
YuPengZTE
e7935da239 The first letter should be small in errors.New
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-09-01 11:26:40 +08:00
Brian Goff
7776a0ebd7 Merge pull request #26186 from ywk253100/master
Fixes #25654, a bug in implements of loading image
2016-08-31 22:07:01 -04:00
Tõnis Tiigi
beba6ea311 Merge pull request #26211 from aaronlehmann/no-advertise-addr-detection-on-join
cluster: Do not autodetect advertise address on join
2016-08-31 17:19:23 -07:00
Arnaud Porterie
5a56f29c64 Merge pull request #26208 from talex5/fix-health-test
Fix exec form of HEALTHCHECK CMD
2016-08-31 23:27:39 +00:00
frosforever
84196adf3d Correct typo in run reference docs that use the create command
Signed-off-by: Yosef Fertel <yfertel@gmail.com>
2016-08-31 18:09:43 -04:00
Tõnis Tiigi
bdae52a23d Merge pull request #26214 from tonistiigi/revert-daemonsuite-fix
Revert "Change related tests from DockerSuite to DockerDaemonSuite in…
2016-08-31 14:16:39 -07:00
Antonio Murdaca
8f7a8c75ae vendor docker/engine-api@f9cef59044
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-31 22:39:13 +02:00
Vincent Demeester
243d4dcc7e Merge pull request #26206 from crosbymichael/py-xunit
Output docker-py test results in xunit format
2016-08-31 21:48:47 +02:00
Vincent Demeester
6ac30e57d0 Merge pull request #26191 from runcom/fix-unknownflag-exit-code
api: client: container: update: fix help text
2016-08-31 21:15:51 +02:00
Tibor Vass
e3bc989a9d Merge pull request #26058 from anusha-ragunathan/add-pluginstore
Reorganize plugin package into sub packages.
2016-08-31 11:58:34 -07:00
Tonis Tiigi
f0e9997287 Revert "Change related tests from DockerSuite to DockerDaemonSuite in docker_cli_info_test.go"
This reverts commit 0ce5ef279c.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-31 11:52:22 -07:00
Aaron Lehmann
b1d2b08853 cluster: Do not autodetect advertise address on join
On join, remote addresses are supposed to be detected by the manager
that receives the join request. However, the daemon is interfering with
this by automatically detecting an advertise address and specifying that
to the remote manager. Fix this so that an advertise address is only
specified while joining a cluster if one was given by the user.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-08-31 11:44:32 -07:00
allencloud
68fde86256 validate heartbeat in discovery cluster opts
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-01 01:07:05 +08:00
Thomas Leonard
e95b6b51da Fix exec form of HEALTHCHECK CMD
We attached the JSON flag to the wrong AST node, causing Docker to treat
the exec form ["binary", "arg"] as if the shell form "binary arg" had
been used. This failed if "ls" was not present.

Added a test to detect this.

Fixes #26174

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2016-08-31 17:50:12 +01:00
Michael Crosby
a9e513867c Output docker-py test results in xunit format
This adds a `results.xml` to the test-docker-py output folder.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-31 09:35:49 -07:00
Michael Crosby
b42ab41b8f Merge pull request #25616 from rhatdan/overlay_selinux
Linux upstream kernel Overlay file systems support SELinux
2016-08-31 09:25:20 -07:00
allencloud
28b291dfda add warnings when verify setting
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-09-01 00:23:56 +08:00
Justin Cormack
ad6f5a49d5 Merge pull request #26139 from yuexiao-wang/fix-link
Modify link for hub and registry
2016-08-31 16:37:50 +01:00
John Howard
3ae6cd453e Windows: Enable multiple TestInspect tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-31 08:12:50 -07:00
Vincent Demeester
ba23bf202a Merge pull request #26182 from yuexiao-wang/add-options
Miss the options in some commands
2016-08-31 14:45:42 +02:00
Vincent Demeester
cf699ad427 Merge pull request #26192 from lixiaobing10051267/masterPluginInspect
make command "docker plugin inspect" complete
2016-08-31 14:42:03 +02:00
Vincent Demeester
37fd1416da Merge pull request #26190 from lixiaobing10051267/masterNetworkCreate
provide actual command format for docker network create
2016-08-31 14:41:49 +02:00
Vincent Demeester
670eaa71a0 Merge pull request #26187 from albers/docs-volume-create-fix
Fix argument order for docker create in tutorial
2016-08-31 14:41:22 +02:00
Vincent Demeester
0414a2c1a9 Merge pull request #26185 from yuexiao-wang/update-docs
Update description for docker plugin inspect
2016-08-31 14:41:03 +02:00
lixiaobing10051267
d022bb2084 make command "docker plugin inspect" complete
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-31 19:59:23 +08:00
Antonio Murdaca
c2c2617534 api: client: container: update: fix help text
Before:

$ docker update --cpu-period
Status: flag needs an argument: --cpu-period
See 'docker update --help'., Code: 125

After:

$ docker update --cpu-period
flag needs an argument: --cpu-period
See 'docker update --help'.

Also remove flagErrorFunc function which isn't needed anymore.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-31 12:46:40 +02:00
lixiaobing10051267
18a9600fb1 provide actual command format for docker network create
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-31 17:40:13 +08:00
yuexiao-wang
fdedc38f0c Update description for docker plugin inspect
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-31 16:57:44 +08:00
Lei Jitang
4e7cbb91f8 Merge pull request #26188 from albers/completion-volume-create-name
Remove bash completion for `docker volume create --name`
2016-08-31 16:57:32 +08:00
Vincent Demeester
c1b82df740 Merge pull request #26122 from sfsmithcha/updates_for_new_plugin_docs
some fixes to clean up new plugin system docs
2016-08-31 10:43:02 +02:00
Harald Albers
7f9096adb7 Remove bash completion for docker volume create --name
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-31 09:50:11 +02:00
Harald Albers
109334030c Fix argument order for docker create in tutorial
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-31 09:41:04 +02:00
Wenkai Yin
8f37abd056 fixes #25654
Signed-off-by: Wenkai Yin <yinw@vmware.com>
2016-08-31 15:37:52 +08:00
yuexiao-wang
b8af6b579b Miss the options in some commands
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-31 14:18:41 +08:00
Vincent Demeester
198024bf37 Merge pull request #26128 from q384566678/test-zhou
Modify restart function prompt
2016-08-31 08:03:12 +02:00
Arnaud Porterie
347f078918 Merge pull request #26183 from icecrime/misty_docs_maintainer
Add Misty to docs maintainers
2016-08-31 04:31:52 +00:00
Arnaud Porterie
e584d91bec Add Misty to docs maintainers
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-08-30 20:25:20 -07:00
Yong Tang
1e6eccae69 Fix issue in --ip6 validation for docker create
This fix tries to address the issue raised in comment:
https://github.com/docker/docker/pull/25943#discussion_r76843081
Previously, the validation for `ip6` is done by checking ParseIP().To16().
However, in case an IPv4 address or an IPv4-mapped Ipv6 address has been
provided, the validation will pass (should fail).

This fix first check if `--ip6` is passed with a valid IP address and returns
error for invalid IP addresses. It then check if an IPv4 or IPv4-mapped Ipv6
address is passed, and return error accordingly.

This fix adds two more cases in the tests. One for IPv4 address passed to `--ip6`
and another for Ipv4-mapped IPv6 address passed to `--ip6`. In both cases,
without this fix the validation will pass through.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-30 19:28:44 -07:00
Yong Tang
5c0fd2d06e Change related test from DockerSuite to DockerDaemonSuite in docker_cli_daemon_test.go
This fix is a follow-up of 26154. I did a grep on `integration-cli` and
found out that there are several tests in `docker_cli_daemon_test.go`
that still use `NewDaemon` instread of `DockerDaemonSuite`.

This fix changes related tests from DockerSuite to DockerDaemonSuite in
`docker_cli_daemon_test.go`.

With this fix, now `NewDaemon` is only called from `SetUpTest` on
various DockerXXXSuite. That should help maintain the test code base.

This fix is related to the comments in:
26115
24533.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-30 18:30:27 -07:00
Tõnis Tiigi
fbcf0a50b2 Merge pull request #26170 from Microsoft/jjh/testimages
Windows: Enable TestImage and TestImport tests
2016-08-30 17:52:50 -07:00
Tõnis Tiigi
b26059a0ca Merge pull request #26166 from Microsoft/jjh/testhelp
Windows: Enable TestHelpExitCodesHelpOutput
2016-08-30 17:50:52 -07:00
Tõnis Tiigi
4d15f428b1 Merge pull request #26165 from Microsoft/jjh/testexec
Windows: Enable a couple of exec tests
2016-08-30 17:50:25 -07:00
Tõnis Tiigi
75dc3614f7 Merge pull request #26164 from Microsoft/jjh/testcreate
Windows: Enable some create CI tests
2016-08-30 17:49:57 -07:00
Tõnis Tiigi
5d5d80ca69 Merge pull request #26163 from Microsoft/jjh/testcp
Windows: Enable some cp integration tests
2016-08-30 17:49:26 -07:00
Tõnis Tiigi
69f25f9da8 Merge pull request #26161 from Microsoft/jjh/testcontainerapi
Windows: Port api_containers_test tests
2016-08-30 17:48:43 -07:00
Michael Crosby
9718d5377f Merge pull request #24116 from frapposelli/add-photon-rpm
Add RPM builder for VMware Photon OS
2016-08-30 17:08:56 -07:00
Fabio Rapposelli
6c7e1863d5 Add rpm builder for VMware Photon OS
Signed-off-by: Fabio Rapposelli <fabio@vmware.com>
2016-08-30 17:05:32 -07:00
Arnaud Porterie
ec82819cc9 Merge pull request #26140 from yuexiao-wang/modify-usage
Modify options for the command plugin install
2016-08-31 00:04:45 +00:00
Alexander Morozov
399761af4d Merge pull request #26154 from yongtang/08302016-docker-cli-info-test-DockerDaemonSuite
Change related tests from DockerSuite to DockerDaemonSuite in `docker_cli_info_test.go`
2016-08-30 16:56:00 -07:00
Arnaud Porterie
67510c75e9 Merge pull request #26162 from tonistiigi/print-stack-on-leave
Print stacktrace on failing to leave cluster
2016-08-30 23:36:42 +00:00
Alexander Morozov
0fc393674c Merge pull request #26158 from mlaventure/reexport-exitcode
Reexport exitcode
2016-08-30 16:02:48 -07:00
Doug Davis
6705d68c89 Merge pull request #26171 from CrimsonGlory/patch-2
typo
2016-08-30 18:52:13 -04:00
CrimsonGlory
682a8ecb8b typo
Signed-off-by: Javier Bassi <javierbassi@gmail.com>
2016-08-30 19:46:07 -03:00
John Howard
7ea707d5ef Windows: Enable TestImage and TestImport tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 15:20:55 -07:00
John Howard
f93f692e51 Windows: Enable TestHelpExitCodesHelpOutput
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 15:05:02 -07:00
John Howard
ea42182722 Windows: Enable a couple of exec tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 15:03:18 -07:00
John Howard
78aede292b Windows: Enable some create CI tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 14:38:19 -07:00
John Howard
088c3eeea8 Windows: Enable some cp integration tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 14:32:10 -07:00
Tonis Tiigi
166d24e464 Print stacktrace on failing to leave cluster
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-30 14:17:32 -07:00
Kenfe-Mickael Laventure
88bfa6ede8 Add integration test to check persistence of exitcode and error message
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-08-30 14:17:09 -07:00
Kenfe-Mickael Laventure
2998945a54 Re-export container state's ExitCode and Error fields
Those are needed in order to reload their value upon docker daemon
restart.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-08-30 14:17:09 -07:00
John Howard
3d5aac305f Windows: Port api_containers_test tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 14:15:33 -07:00
Charles Smith
1dee308281 some fixes to clean up new plugin system docs
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-30 13:52:13 -07:00
Vincent Demeester
73614f9f1e Merge pull request #26020 from tonistiigi/fix-eventsbefore-test
Fix flaky TestEventsContainerFilterBeforeCreate
2016-08-30 22:24:52 +02:00
Vincent Demeester
cf3e834c9b Merge pull request #26153 from Microsoft/jjh/testcommitcli
Windows: Enable some commit tests
2016-08-30 22:17:20 +02:00
Vincent Demeester
19aee54926 Merge pull request #26145 from allencloud/update-command-description
update command description
2016-08-30 22:16:57 +02:00
Vincent Demeester
8a46c18dd4 Merge pull request #26147 from Microsoft/jjh/testbuildapi
Windows: Enable 5 Build API tests
2016-08-30 22:12:36 +02:00
Vincent Demeester
16148d0420 Merge pull request #26149 from Microsoft/jjh/testbuildcli
Windows: Enable multiple cli build tests
2016-08-30 22:12:24 +02:00
John Howard
783fe398dc Merge pull request #26151 from Microsoft/jjh/testbuildhistory
Windows: Enable docker_cli_history_test.go tests
2016-08-30 11:58:31 -07:00
Misty Stanley-Jones
82304abd80 Sanitize uses of Swarm as a proper and improper noun
Fixes #24905

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
2016-08-30 11:04:41 -07:00
Yong Tang
0ce5ef279c Change related tests from DockerSuite to DockerDaemonSuite in docker_cli_info_test.go
This fix changes related tests from DockerSuite to DockerDaemonSuite
in `docker_cli_info_test.go`. Previously that was done through `NewDaemon()`.

This fix is related to the comments in:
https://github.com/docker/docker/pull/26115#discussion_r76784977
https://github.com/docker/docker/pull/24533#issuecomment-243420042

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-30 10:11:01 -07:00
John Howard
bb4b31585c Windows: Enable multiple cli build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 09:51:13 -07:00
John Howard
ac59dfa761 Windows: Enable some commit tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 09:48:18 -07:00
John Howard
a06c695177 Windows: Enable docker_cli_history_test
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 09:31:33 -07:00
Yong Tang
0f6acff796 Add registry mirrors information in the output of docker info
This fix tries to add the registry mirrors information in the output
of `docker info`.

In our active deployment, we use registry mirrors to help speeding
up the `docker pull`. In the current output of `docker info`,
registry mirrors is not present though it is available in `/info` API.

I think it makes sense to add the registry mirrors to `docker info`,
similiar to insecure registries.

This fix adds the registry mirrors to the output of `docker info`:
```
Registry Mirrors:
 https://192.168.1.2/
 http://registry.mirror.com:5000/
```

An integration test has been added to cover the changes.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-30 09:05:24 -07:00
John Howard
8bc1c9c08a Windows: Enable 5 Build API tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-30 08:41:17 -07:00
Vincent Demeester
5c2064f890 Merge pull request #26123 from cpuguy83/revert_makefile_build_args
Fix passing custom APT_MIRROR on building Docker
2016-08-30 17:30:48 +02:00
Anusha Ragunathan
5bd14f88cd Merge pull request #26134 from lixiaobing10051267/masterDockerExec
Modify use of docker exec command in exec.go
2016-08-30 08:27:02 -07:00
allencloud
123ce0e4be update command description
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-30 23:07:42 +08:00
Daniel Nephin
bb1d70da9a Merge pull request #25214 from allencloud/make-node-ps-default-to-self
make node ps default to self in swarm node
2016-08-30 10:37:20 -04:00
Brian Goff
afd54a1a86 Merge pull request #26127 from lixiaobing10051267/masterDockerDeploy
usage description of docker deploy in md not consistant with go file
2016-08-30 10:18:19 -04:00
lixiaobing10051267
26bd3e8b11 Modify usage of docker exec command in exec.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-30 22:14:55 +08:00
Brian Goff
39c87c79c8 Pass through build APT_MIRROR as separate var
DOCKER_BUILD_APT_MIRROR

This allows passthrough of other options like HTTP_PROXY from
DOCKER_BUILD_ARGS to work on all builds (for example,
ensure-syscall-test) when APT_MIRROR is set.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-30 09:09:31 -04:00
Brian Goff
edafc642b2 Merge pull request #25890 from cpuguy83/fix_swarm_control_sock_path
Use daemon exec root for swarm control socket
2016-08-30 08:51:52 -04:00
Justin Cormack
644cb53b41 Merge pull request #26096 from ohmystack/fix/docs-dockerd
Add docs for "--containerd" in dockerd
2016-08-30 13:36:50 +01:00
Vincent Demeester
4e1eb10cf2 Merge pull request #26124 from darrenstahlmsft/RestoreLock
Lock concurrent access to remove map during Daemon restore
2016-08-30 13:06:01 +02:00
yuexiao-wang
d08886618e Modify options for the command plugin install
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-30 18:45:06 +08:00
allencloud
b13f5dfd13 make node ps default to self in swarm node
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-30 17:34:16 +08:00
Vincent Demeester
92da332638 Merge pull request #25521 from allencloud/modify-vendor-script
better vendor.sh to break when fail in grep
2016-08-30 11:26:41 +02:00
Vincent Demeester
6e09e142a1 Merge pull request #26093 from yongtang/26090-service-update-with-name
Fix issue in API `POST /services/(id or name)/update`
2016-08-30 11:11:08 +02:00
Vincent Demeester
20869b5650 Merge pull request #26135 from kmkr/master
Fix typo in builder.md
2016-08-30 10:53:50 +02:00
yuexiao-wang
aedf95e640 Modify link for hub and registry
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-30 16:37:03 +08:00
Kris-Mikael Krister
afcfa77dd8 Fix typo in builder.md
Signed-off-by: Kris-Mikael Krister <krismikael@protonmail.com>
2016-08-30 09:34:10 +02:00
Yong Tang
80e3975117 Fix issue in API POST /services/(id or name)/update
This fix tries to address the issue raised in 26090 where
remote API `POST /services/(id or name)/update` cannot
use `name` to update. This is not consistent with the
documentation of the remote API.

This fix fixes this issue by performing a lookup with `getService`
in case `name` instead of `id` is used in API.

This fix adds an integration test to cover the changes.

This fix fixes 26090.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-29 21:13:53 -07:00
zhouhao
cc4ac5bb0b Modify restart function prompt
Signed-off-by: zhouhao <zhouhao@cn.fujitsu.com>
2016-08-30 12:07:38 +08:00
lixiaobing10051267
3298bfcb56 usage description of docker deploy in md not consistant with go file
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-30 11:40:51 +08:00
ohmystack
cebb9543e1 Add docs for "--containerd" in dockerd
Signed-off-by: ohmystack <jiangjun1990@gmail.com>
2016-08-30 10:49:39 +08:00
Tõnis Tiigi
13094ffef9 Merge pull request #26112 from tophj-ibm/alphabetize-makefile-targets
Alphabetize makefile targets
2016-08-29 19:00:52 -07:00
Brian Goff
74bfff9798 Merge pull request #26121 from Microsoft/jjh/testattach
Windows: Enable 2 TestAttach* tests
2016-08-29 21:09:53 -04:00
Darren Stahl
d665ca8dc0 Lock concurrent access to remove map during Daemon restore
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-08-29 16:58:01 -07:00
John Howard
934fe3f73e Windows: Enable 2 TestAttach* tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-29 15:57:27 -07:00
John Howard
bf3d017f08 Merge pull request #26118 from Microsoft/jjh/golintfixes
Fix golint errors in api
2016-08-29 15:38:55 -07:00
Brian Goff
2c91c5fdad Merge pull request #25736 from mwieczorek/25689-enable-syslog-driver-on-windows
Enable syslog driver for windows
2016-08-29 17:46:12 -04:00
John Howard
c8ce0856b7 Fix golint errors in api
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-29 13:36:16 -07:00
Charles Smith
6221592087 Merge pull request #26114 from londoncalling/fix-linespacing-swarmtut
fixed line spacing in Swarm tutorial bullets
2016-08-29 12:09:15 -07:00
Victoria Bialas
dcf00020e1 fixed line spacing in Swarm tutorial bullets
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-08-29 11:53:03 -07:00
Christopher Jones
c2775c0b67 Alphabetize makefile targets
Sorts the makefile targets alphabetically

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-08-29 14:06:45 -04:00
Arnaud Porterie
ec73027b71 Merge pull request #26110 from icecrime/add_anusha_jana
Add Anusha and Jana as maintainers
2016-08-29 17:28:21 +00:00
Arnaud Porterie (icecrime)
1a84f0977b Add Anusha and Jana as maintainers
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-08-29 10:23:50 -07:00
Brian Goff
4edb83f4fd Merge pull request #26079 from allencloud/unpause-container-no-running
remove running judgement when unpause container
2016-08-29 10:30:40 -04:00
Brian Goff
4a62f76f9d Merge pull request #26086 from icaoweiwei/patch-2016-08-28-3
Fix typo
2016-08-29 10:28:10 -04:00
Brian Goff
d09c04a667 Merge pull request #25317 from yongtang/25304-docker-service-create-group
Support `--group` in `docker service create`
2016-08-29 10:27:31 -04:00
Brian Goff
ec5aeca38d Merge pull request #26084 from sdurrheimer/zsh-completion-volume-create-name
Replace zsh completion for 'docker volume create --name' by 'docker v…
2016-08-29 10:25:25 -04:00
Brian Goff
3dc19808e0 Merge pull request #26057 from mwieczorek/fix-25903
fix for PR #25903 - spec file support for Windows plugin discovery
2016-08-29 09:53:43 -04:00
Vincent Demeester
ad73e8f169 Merge pull request #26080 from sw-double/patch-1
[docs] Fix volume binding in fluentd container example
2016-08-29 14:36:49 +02:00
Vincent Demeester
2e752540bf Merge pull request #26101 from allencloud/correct-comments-and-test-log
correct some nits in comment and test files
2016-08-29 14:28:47 +02:00
allencloud
52637848a7 correct some nits in comment and test files
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-29 18:37:14 +08:00
allencloud
0bac72e4bd remove running judgement when unpause container
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-29 10:16:18 +08:00
Vincent Demeester
bf0077c138 Merge pull request #25990 from vieux/plugin_inspect
add -f to plugin inspect
2016-08-28 17:03:40 +02:00
Cao Weiwei
cec564984e Fix typo
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-08-28 21:30:14 +08:00
Doug Davis
026f404dad Merge pull request #26081 from icaoweiwei/patch-2016-08-28-2
Fix typo
2016-08-28 07:07:54 -04:00
Steve Durrheimer
85071bda33 Replace zsh completion for 'docker volume create --name' by 'docker volume create {name}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-08-28 12:40:10 +02:00
Cao Weiwei
cdcf7b78fc Fix typo
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-08-28 17:01:22 +08:00
Konstantin L
c450e608b9 Fix volume binding in fluentd container example
Signed-off-by: Konstantin L <sw.double@gmail.com>
2016-08-28 11:45:28 +08:00
Arnaud Porterie
9ea28ea894 Merge pull request #26055 from mavenugo/ndn
Support container disconnect for non-existing network
2016-08-28 01:48:02 +00:00
Tõnis Tiigi
49f51c18fe Merge pull request #26068 from allencloud/add-warnings-in-containerCreate
add warning in containerCreate response
2016-08-27 18:47:37 -07:00
Antonio Murdaca
e2be3fee02 integration-cli: fix TestImportBadURL w/o network
As explained in the test comment itself, the error message may vary on
different platform.
This patch adds another condition found while testing w/o network
access on RHEL based distros (Fedora, RHEL, CentOS).

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-27 23:57:54 +02:00
Yong Tang
b31969ee36 Support --group-add and --group-rm in docker service create/update
This fix tries to address the issue raised in 25304 to support
`--group-add` and `--group-rm` in `docker service create`.

This fix adds `--group-add` to `docker service create` and `docker service update`,
adds `--group-rm` to `docker service update`.

This fix updates docs for `docker service create` and `docker service update`:
1. Add `--group-add` to `docker service create` and `docker service update`
2. Add `--group-rm` to `docker service update`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-27 11:54:05 -07:00
Anusha Ragunathan
27a55fba28 Reorganize plugin package into sub packages.
Split plugin package into `store` and `v2/plugin`. Now the functionality
is clearly delineated:
- Manager: Manages the global state of the plugin sub-system.
- PluginStore: Manages a collection of plugins (in memory and on-disk)
- Plugin: Manages the single plugin unit.

This also facilitates splitting the global PluginManager lock into:
- PluginManager lock to protect global states.
- PluginStore lock to protect store states.
- Plugin lock to protect individual plugin states.

Importing "github.com/docker/docker/plugin/store" will provide access
to plugins and has lesser dependencies when compared to importing the
original monolithic `plugin package`.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-27 11:08:08 -07:00
Vincent Demeester
48659599cb Merge pull request #26036 from yuexiao-wang/add-gcplog
Add the content for Google Cloud Loging driver in index
2016-08-27 14:51:16 +02:00
Vincent Demeester
2cec66d0f5 Merge pull request #25828 from yuexiao-wang/clean-docs
clean up the run.md in reference
2016-08-27 14:50:47 +02:00
allencloud
6e4ec046f4 move mcvlan out of experimental docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-27 19:18:12 +08:00
allencloud
5d6023cf8e add warning in containerCreate response
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-27 10:49:26 +08:00
Madhu Venugopal
05a3f2666e Support container disconnect for non-existing network
There are cases such as migrating from classic overlay network to the
swarm-mode networking (without kv-store), such a mechanism to allow
disconnecting a container even when a network isnt available will be
useful.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-08-26 16:48:52 -07:00
Charles Smith
6072e6bfd2 Merge pull request #26028 from londoncalling/docs-pinata-for-swarm
Clarify how to use d4mac, d4win with swarm mode
2016-08-26 15:55:26 -07:00
Victoria Bialas
566c2c9d32 WIP:Clarify how to use d4mac, d4win with Swarm mode
updated d4mac, d4win clarification per Charles's comments

copyedits and streamline wording

fixed links

streamlined, fixed line wraps

incorporated more review comments

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>

incorporated more review comments

incorporated more edit comments and fixed line wraps

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-08-26 15:42:45 -07:00
Tibor Vass
ed0dff8f16 Merge pull request #25424 from vieux/enabled
replace active by enabled for consistency in plugins
2016-08-26 15:22:41 -07:00
Michael Crosby
07328cf3f6 Merge pull request #26005 from q384566678/branch-test
Optimize the restart function code
2016-08-26 15:14:49 -07:00
Alexander Morozov
bdadcfc1bb Merge pull request #25861 from WeiZhang555/wait-remove-for-start
Using waitExitOrRemoved for `docker start`
2016-08-26 13:36:56 -07:00
Michal Wieczorek
52c0daad82 fix spec file support for Windows plugin discovery (#25903)
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2016-08-26 22:11:58 +02:00
Tibor Vass
d55b3ff568 Merge pull request #26050 from boucher/rb-upgrade-containerd
Upgrade containerd to latest version.
2016-08-26 12:53:03 -07:00
Vincent Demeester
5168c93419 Merge pull request #23830 from ardnaxelarak/23345_remove_name_from_volume_create
remove --name flag from volume create
2016-08-26 21:52:07 +02:00
Tibor Vass
054f681eb8 Merge pull request #26049 from crosbymichael/match-panic
Check for non-nil container after match
2016-08-26 11:45:34 -07:00
Arnaud Porterie
6e85b81df2 Merge pull request #23614 from icecrime/inspect_services
Allow `docker inspect` on all types
2016-08-26 18:45:23 +00:00
Antonio Murdaca
575f37282d Merge pull request #26048 from dnephin/fix_daemon_subcommand
Fix daemon command proxy
2016-08-26 20:30:18 +02:00
boucher
e0123adafd Upgrade containerd to latest version.
Necessary for merging in #22049.

Signed-off-by: Ross Boucher <rboucher@gmail.com>
2016-08-26 14:17:35 -04:00
Michael Crosby
175f6eb55f Merge pull request #25177 from cpuguy83/fix_TestDaemonDiscoveryBackendConfigReload
TestDaemonDiscoveryBackendConfigReload behavior
2016-08-26 10:54:48 -07:00
Brian Goff
6b4fd5f071 Merge pull request #23024 from rhatdan/selinux
We need to relabel newly created container volumes
2016-08-26 13:25:38 -04:00
Michael Crosby
a020ec4c8b Check for non-nil container after match
There can be a race between getting the container ids for matches and
getting the actual container.  This makes sure that we check that the
container returned by `Get` is non-nil before adding it to the list of
matches.

Fixes #25991

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-26 10:02:10 -07:00
Michael Crosby
1dc87122cc Merge pull request #26045 from runcom/systemd-cgroup-fix
daemon: ensure systemd cgroup is passed down to runtimes
2016-08-26 09:59:22 -07:00
Tõnis Tiigi
e875370af8 Merge pull request #25650 from pwzgorilla/master
replace `handleWithGlobalMiddlewares` with `handlerWithGlobalMiddlewa…
2016-08-26 09:51:51 -07:00
Aaron Lehmann
cbd4e4d48a Merge pull request #24514 from cpuguy83/fix_log_follow_rotate
Fix issues with tailing rotated jsonlog file
2016-08-26 09:47:40 -07:00
Brian Goff
416fc7ffe4 Merge pull request #25943 from yongtang/25863-ip-address-validation
Validate `--ip` and `--ip6` for `docker create`
2016-08-26 12:32:00 -04:00
Daniel Nephin
a594cd8991 Fix daemon command proxy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-26 12:19:02 -04:00
allencloud
e06a8dc6be better vendor.sh to break when fail in grep
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-26 23:42:21 +08:00
Brian Goff
20f99a8634 TestDaemonDiscoveryBackendConfigReload behavior
`TestDaemonDiscoveryBackendConfigReload` was doing some wierd things
with files, creating a file (directly in `./integration-cli`), removing
it, then creating a new file.
This is just weird, so fixed it to use a single file, file will go into
a temp dir so it doesn't pollute integration-cli.

It was also blindly sending a SIGHUP to the daemon process then sleeping
for 3 seconds.  This is racey, and slow.
Change this to look for the daemon-reload event in the event stream.
Reload logic is moved to a separate function and blocks (w/ a timeout)
waiting for the reload event to fire.

Runtime of the test is now ~0.5s on my machine, where as it was a
minimum of 3s due to the `time.Sleep` before.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-26 11:02:04 -04:00
Antonio Murdaca
7f88fca48e daemon: ensure systemd cgroup is passed down to runtimes
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-26 15:33:26 +02:00
Doug Davis
91ec7fa811 Merge pull request #26030 from yongtang/08252016-doc-docker-create-rm
Update docs for `docker create` to include `--rm` flag
2016-08-26 09:06:30 -04:00
Vincent Demeester
06829ce8d6 Merge pull request #26035 from sakeven/fmt_dockerfile_error_message
Fmt dockerfile error message
2016-08-26 14:47:22 +02:00
sakeven
7d75e42bc9 fmt dockerfile error message
Signed-off-by: sakeven <jc5930@sina.cn>
2016-08-26 18:36:30 +08:00
mgniu
c5ecf1e6fe change comment
Signed-off-by: mgniu <mgniu@dataman-inc.com>
2016-08-26 18:30:41 +08:00
Antonio Murdaca
91fdafb79f Merge pull request #26029 from WhisperingChaos/25918-permissive-to-privileged
Fixes #25918 - Changed --permissive to --privileged.
2016-08-26 12:06:58 +02:00
yuexiao-wang
9e66ddaf3d Add the content for Google Cloud Loging driver in index
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-26 17:30:32 +08:00
zhouhao
870cf1096f Optimize the restart function code
Signed-off-by: zhouhao <zhouhao@cn.fujitsu.com>
2016-08-26 14:22:39 +08:00
Vincent Demeester
48ff20c795 Merge pull request #26016 from vdemeester/docs-restart-policy-api-changes
Update docker remote api to mention restart policy validation
2016-08-26 07:57:53 +02:00
Vincent Demeester
72e7cd75c1 Merge pull request #25919 from yuexiao-wang/fix-refer
Remove the redundant words in reference for swarm
2016-08-26 07:57:07 +02:00
Victor Vieux
63a19edcb1 add -f to plugin inspect
Signed-off-by: Victor Vieux <vieux@docker.com>

Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-25 22:40:05 -07:00
Yong Tang
5118dd2992 Update documentation for validation of --ip and ip6.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-25 22:11:56 -07:00
Yong Tang
c7045eb935 Validate --ip and --ip6 for docker create
This fix tries to fix the issue raised in 25863 where `--ip` value
is not validated for `docker create`. As a result, the IP address
passed by `--ip` is not used for `docker create` (ignored silently).

This fix adds validation in the daemon so that `--ip` and  `--ip6`
are properly validated for `docker create`.

An integration test has been added to cover the changes.

This fix fixes 25863.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-25 22:11:23 -07:00
Yong Tang
d7468cff4d Update docs for docker create to include --rm flag
Since 20848 has been merged and both `docker create` and
`docker run` share the same `runconfig` parser, now both
`docker run` and `docker create` allow to specify the
`--rm` flag. However, docs for `docker create` has not
been udpated yet.

This fix updates docs for `docker create` so that `--rm`
flag has been included.

This fix is related to 20848 and 25577.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-25 22:05:38 -07:00
Victor Vieux
cf4e268115 replace active by enabled for consistency in plugins
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-25 20:42:49 -07:00
yuexiao-wang
8bcc8ebacc Remove the redundant description
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-26 08:36:34 +08:00
Arnaud Porterie (icecrime)
3db9f7afce Refactor docker inspect to work on all types
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-08-25 16:29:08 -07:00
Kara Alexandra
ba3f0bf0e7 Add option to specify name without --name in volume create
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-25 14:20:06 -07:00
Daniel Nephin
25587906d1 Merge pull request #25354 from dnephin/remove-mflag-from-dockerd
Convert docker and dockerd commands to spf13/cobra
2016-08-25 17:19:19 -04:00
Brian Goff
5761d8b342 Merge pull request #25992 from anusha-ragunathan/legacy_cleanup
Cleanup handleLegacy logic.
2016-08-25 17:13:47 -04:00
Rich Moyse
b63ce3305c Fixes #25918 - Changed --permissive to --privileged.
Signed-off-by: Rich Moyse <rich@moyse.us>
2016-08-25 16:49:37 -04:00
Alexander Morozov
8d99dfbc69 Merge pull request #25978 from justincormack/no-no-gccgo
Remove gccgo support
2016-08-25 12:12:29 -07:00
Vincent Demeester
4e4ebbe340 Merge pull request #25896 from raksonibs/fix/docs_step_6
Email deprecation for step 6 of tutorial
2016-08-25 21:06:20 +02:00
Anusha Ragunathan
031a2a5c4b Cleanup fallback to V1 plugins logic.
handleLegacy is a flag to indicate whether daemon is supporting legacy
plugins. When the time comes to remove support for legacy plugins,
flipping this bool is all that will be needed to remove legacy plugin
support. This can be a global variable rather than be embedded in the
manager, thereby cleaning up code.

Also rename to allowV1PluginsFallback for clarity.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-25 11:39:47 -07:00
Oskar Niburski
fbe222a35b Remove Username and Password prompt with login for Step six.
Signed-off-by: Oskar Niburski <oskarniburski@gmail.com>
2016-08-25 14:23:45 -04:00
Justin Cormack
efb9e38eba Begin process of deprecating MAINTAINER
This may take some time, but start by pointing people at
LABEL instead.

MAINTAINER predates general LABEL and has basically no tooling,
only allows a single item to be added, and is has been
unofficially deprecated for some time, with many images not
including it, but we have never specifically said that it
should be replaced by LABEL as a better more generic metadata
solution.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-25 18:43:27 +01:00
Tonis Tiigi
e372883fcd Fix flaky TestEventsContainerFilterBeforeCreate
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-25 10:29:10 -07:00
Justin Cormack
f243bfbc9d All supported Go versions have -cover now
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-25 18:24:35 +01:00
Arnaud Porterie
46cb1f2601 Merge pull request #25750 from talex5/spec
Document Healthcheck in image spec
2016-08-25 17:23:51 +00:00
Vincent Demeester
29232a5d8e Merge pull request #25888 from vdemeester/listcontainerfornode-refactoring
Move ListContainersForNode into cluster package
2016-08-25 19:10:18 +02:00
Daniel Nephin
6e7405ebd4 Fix tests and windows service.
Support args to RunCommand
Fix docker help text test.
Fix for ipv6 tests.
Fix TLSverify option.
Fix TestDaemonDiscoveryBackendConfigReload
Use tempfile for another test.
Restore missing flag.
Fix tests for removal of shlex.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:36 -04:00
Daniel Nephin
14712f9ff0 Remove old cli framework.
Also consolidate the leftover packages under cli.
Remove pkg/mflag.
Make manpage generation work with new cobra layout.
Remove remaining mflag and fix tests after rebase with master.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:04 -04:00
Daniel Nephin
31bf9ca0c8 Update unit tests for new cobra root command.
Cleanup cobra integration
Update windows files for cobra and pflags
Cleanup SetupRootcmd, and remove unnecessary SetFlagErrorFunc.
Use cobra command traversal

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:04 -04:00
Daniel Nephin
7c556849aa Add testutil/tempfile
Improve error messages raised by assert.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:03 -04:00
Daniel Nephin
0452ff5a4d Convert docker root command to use pflag and cobra
Fix the daemon proxy for cobra commands.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:03 -04:00
Daniel Nephin
fb83394714 Convert dockerd to use cobra and pflag
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:03 -04:00
Daniel Nephin
ac40179e8a Update spf13/cobra vendor to v1.4.1
Support command traversal

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:03 -04:00
Charles Smith
dee3044336 Merge pull request #25781 from sfsmithcha/add_ingress_guide
author merge: add ingress / publish port guide
2016-08-25 10:06:11 -07:00
Vincent Demeester
0c6926070f Merge pull request #25816 from anusha-ragunathan/vol-plugin-list
Make `docker volume list` lookup plugins installed using new model.
2016-08-25 19:02:25 +02:00
Vincent Demeester
a36016cd3a Merge pull request #25481 from keloyang/build-args-docker-env
Add DOCKER_BUILD_ARGS to DOCKER_ENVS in Makefile
2016-08-25 18:56:08 +02:00
Brian Goff
95fca642a1 Merge pull request #26008 from resin-os/fix-btrfs-check
check-config.sh: Add check for CONFIG_BTRFS_FS_POSIX_ACL
2016-08-25 12:39:35 -04:00
Charles Smith
465fd93f1c add ingress / publish port guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-25 09:24:45 -07:00
Zhang Wei
b8464c1c9b Using waitExitOrRemoved for docker start
Currently start command will invoke getExitCode - which is based on
Inspect API - to get returned exit code after container exits.
There's two race conditions here:

if container is started with Restart Policy, there's chance that the
container is restarted quickly before it calls getExitCode, under such
circumstance, the exit code is wrong.

if container is started with --rm, it's possible that container is
removed before getExitCode, in this situation, you can't get correct
exit code either.

Replace getExitCode with waitExitOrRemoved can solve this problem.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-26 00:16:49 +08:00
Brian Goff
15f3d060ac Merge pull request #24153 from frodenas/syslog-fix
Syslog Driver: RFC 5425 Message Framing should be used only when protocol is TCP+TLS
2016-08-25 12:15:06 -04:00
Alexander Morozov
78771b6225 Merge pull request #25786 from splunk/splunk-logging-driver-raw-format-using-json
Splunk Logging Driver: formats and verifyconnection
2016-08-25 09:12:31 -07:00
Vincent Demeester
aff33055ac Merge pull request #25996 from yuexiao-wang/fix-docker-daemon
Replace docker command from 'docker daemon' to 'dockerd'
2016-08-25 17:58:00 +02:00
Vincent Demeester
a011a94be7 Update docker remote api to mention restart policy validation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-25 17:03:18 +02:00
Vincent Demeester
d13ad3ef76 Merge pull request #24073 from johnharris85/move-restart-policy-check-to-daemon
Move restart-policy validation from client to daemon.
2016-08-25 17:02:30 +02:00
Vincent Demeester
8ebb7dba8b Merge pull request #25920 from coolljt0725/fix_inspect_dead
Fix inspect Dead container
2016-08-25 17:00:59 +02:00
Brian Goff
7250dd4222 Merge pull request #26013 from ShawnHe711/correct-nit-in-command-annotation
correct command annotation
2016-08-25 10:39:42 -04:00
Brian Goff
e32e0a6cdc Merge pull request #26010 from allencloud/fix-rm-plugin-arg-num
fix rm plugin arg number to be min 1
2016-08-25 10:38:49 -04:00
shawnhe
b642282990 correct command annotation
Signed-off-by: shawnhe <shawnhe@shawnhedeMacBook-Pro.local>
2016-08-25 21:29:59 +08:00
allencloud
d527149064 fix rm plugin arg number to be min 1
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-25 20:53:49 +08:00
Andrei Gherzan
1c886a70df check-config.sh: Add check for CONFIG_BTRFS_FS_POSIX_ACL
docker is trying to set system.posix_acl_access but using BTRFS this fails if
CONFIG_BTRFS_FS_POSIX_ACL is not activated.

Signed-off-by: Andrei Gherzan <andrei@resin.io>
2016-08-25 13:20:18 +01:00
yuexiao-wang
530668cb22 Replace docker command from 'docker daemon' to 'dockerd'
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-25 17:04:44 +08:00
Brian Goff
4844d13bd7 Merge pull request #25933 from dtrott/25932-container-name
Added the word "container" to clarify the error message.
2016-08-24 16:15:10 -04:00
Vincent Demeester
4d590ba44a Merge pull request #25967 from valgaze/feat/lewin
Add Daniel Lewin to names collection
2016-08-24 20:28:55 +02:00
Vincent Demeester
cb26cfd07c Merge pull request #25883 from justincormack/manpages-s390x
Add a Dockerfile for generating manpages on s390x
2016-08-24 20:23:52 +02:00
Vincent Demeester
4a1b048c15 Merge pull request #25959 from estesp/fail-on-graphdir-perms
Don't start daemon in userns mode if graphdir inaccessible
2016-08-24 20:15:58 +02:00
Michael Crosby
c8b55c19cf Merge pull request #24969 from runcom/fix-network-info
daemon: no map[string]bool from GetNetworkDriverList
2016-08-24 09:49:06 -07:00
Daniel Nephin
b29558ed5d Merge pull request #25426 from dnephin/better-int-testing-cmd
Remove duplicate RunCommand functions used for integration-cli
2016-08-24 11:34:24 -04:00
Phil Estes
43a1df6be2 Don't start daemon in userns mode if graphdir inaccessible
Warn the user and fail daemon start if the graphdir path has any
elements which will deny access to the remapped root uid/gid.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-08-24 11:25:30 -04:00
Phil Estes
76a416ac37 Add system.Stat support for darwin/macOS
darwin had unbuildable support for our system.Stat() implementation.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-08-24 11:25:26 -04:00
Antonio Murdaca
7ca635a1ec daemon: no map[string]bool from GetNetworkDriverList
No user of GetNetworkDriverList needs to access the map by key.
The only user of GetNetworkDriverList is in docker info and with a map
the network list is always flipping because loop is not deterministic.
Fix this by returning a string slice which instead is.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-24 16:02:15 +02:00
Dan Walsh
5a277c8a4a We need to relabel newly created container volumes
This will add a label to any volume that is shared into a container.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-08-24 08:27:01 -04:00
Justin Cormack
eda90f6344 Remove gccgo support
Since Go 1.7, s390x uses upstream Go, so we have no reason to
support gccgo any more.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-24 11:09:35 +01:00
Justin Cormack
a110512e38 Merge pull request #25963 from yuexiao-wang/fix-repo
Modify incorrect repository URL
2016-08-24 10:57:10 +01:00
Justin Cormack
fe125adb0f Merge pull request #25905 from yongtang/25000-docker-stats-NetworkDisabled
Fix issue in `docker stats` with `NetworkDisabled=true`
2016-08-24 10:53:56 +01:00
Justin Cormack
f77dfd591b Merge pull request #25965 from yongtang/25927-authz-plugin-headers
Fix AuthZ plugins headers change issue
2016-08-24 10:52:27 +01:00
Victor Algaze
479b793a3e Add Joan Clarke to name collection
Signed-off-by: Victor Algaze <valgaze@gmail.com>
2016-08-24 01:58:48 -07:00
Victor Algaze
bc0e2f1a6e Add Daniel Lewin to names collection
Signed-off-by: Victor Algaze <valgaze@gmail.com>
2016-08-23 23:24:29 -07:00
Yong Tang
9cb8fb6ea0 Fix AuthZ plugins headers change issue
This fix tries to address the issue raised in 25927 where
the HTTP headers have been chaged when AUthZ plugin is in
place.

This issue is that in `FlushAll` (`pkg/authorization/response.go`),
the headers have been written (with `WriteHeader`) before all the
headers have bee copied.

This fix fixes the issue by placing `WriteHeader` after.

A test has been added to cover the changes.`

This fix fixes 25927

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-23 21:08:23 -07:00
yuexiao-wang
ad4efd3349 Modify incorrect repository URL
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-24 10:09:33 +08:00
Brian Goff
8c5c2842ba Merge pull request #25903 from anusha-ragunathan/windows_plugin_spec
Add spec file support for Windows plugin discovery.
2016-08-23 19:45:54 -04:00
Yong Tang
7bb9c5397e Fix issue in docker stats with NetworkDisabled=true
This fix tries to address the issue in 25000 where `docker stats`
will not show network stats with `NetworkDisabled=true`.

The `NetworkDisabled=true` could be either invoked through
remote API, or through `docker daemon -b none`.

The issue was that when `NetworkDisabled=true` either by API or
by daemon config, there is no SandboxKey for container so an error
will be returned.

This fix fixes this issue by skipping obtaining SandboxKey if
`NetworkDisabled=true`.

Additional test has bee added to cover the changes.

This fix fixes 25000.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-23 16:04:06 -07:00
Justin Cormack
b5b8ec9aeb Merge pull request #25956 from LK4D4/vet_embedded
Dockerfile: do not install vet and cover
2016-08-24 00:01:29 +01:00
Vincent Demeester
602b238136 Merge pull request #25948 from lixiaobing10051267/masterImages
get a redis-cli image while using docker pull
2016-08-23 21:44:26 +02:00
Vincent Demeester
c009e1b6ce Merge pull request #25941 from imnuh/patch-1
Change TMPDIR to DOCKER_TMPDIR
2016-08-23 21:44:03 +02:00
Daniel Nephin
243885808f Change to use c.Assert() instead of result.Assert()
Fix delete containers and make sure it prints errors correctly.
Rename Result.Fails to Result.Assert()
Create a constant for the default expected.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-23 15:12:36 -04:00
Daniel Nephin
d7022f2b46 Create a unified RunCommand function with Assert()
Remove some run functions and replace them with the unified run command.
Remove DockerCmdWithStdoutStderr
Remove many duplicate runCommand functions.
Also add dockerCmdWithResult()
Allow Result.Assert() to ignore the error message if an exit status is expected.
Fix race in DockerSuite.TestDockerInspectMultipleNetwork
Fix flaky test DockerSuite.TestRunInteractiveWithRestartPolicy

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-23 15:11:46 -04:00
Daniel Nephin
fb42e84772 Remove unnecessary json.Unmarshal wrapper.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-23 15:11:46 -04:00
Tõnis Tiigi
0b2ff0ccde Merge pull request #25946 from lixiaobing10051267/masterDockerImages
Incorrect response field name for command "docker images"
2016-08-23 11:19:52 -07:00
Alexander Morozov
08c16f8abf Dockerfile: do not install vet and cover
They're included in go since 1.5.
Also I've removed comment about ancient gofmt version.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-08-23 11:08:31 -07:00
Alexander Morozov
20213c6588 Merge pull request #25954 from michael-holzheu/PR-s390x-gccgo61-to-golang17
Dockerfile.s390x: Switch to golang 1.7
2016-08-23 11:00:50 -07:00
Michael Crosby
684d3f0c9c Merge pull request #24740 from jizhilong/devmapper-deferred-remove
devmapper: prevent libdevmapper from deleting /dev/mapper/docker-xxx symbolic links in RemoveDeviceDeferred
2016-08-23 10:23:37 -07:00
Ji.Zhilong
5e505d101f devmapper: prevent libdevmapper from deleting device symlinks in RemoveDeviceDeferred
if there is no cookie set in dm task, or flag DM_UDEV_DISABLE_LIBRARY_FALLBACK
is cleared for a DM_DEV_REMOVE task, libdevmapper will fallback to clean up the
symlink under /dev/mapper by itself, no matter the device removal is executed
immediately or deferred by the kernel.In some cases, the removal is deferred by the
kernel, while the symlink is deleted directly by libdevmapper, when docker tries to
activate the device again, the deferred removal will be canceld, but the symlink will
not show up again, so docker's attempt to mount the device by the symlink will fail,
and it will eventually leads to a `docker start/diff` error.

Fixes #24671

Signed-off-by: Ji.Zhilong <zhilongji@gmail.com>
2016-08-23 23:58:53 +08:00
Michael Holzheu
ee59f25c2d Dockerfile.s390x: Switch to golang 1.7
With golang version 1.7 the s390x architecture is officially supported.
To be in sync with the other architectures now switch also for s390x
from gccgo 6.1 to golang:

 - golang: build and install to /usr/src/go
   * Download golang-1.7 sources
   * Bootstrap with gccgo 6.1
 - go lint: Sync GO_LINT_COMMIT with other Dockerfiles
 - notary: Remove GO15VENDOREXPERIMENT and softlink hack

With this patch the current CI on s390x completes with:

 - OK: 1375 passed, 43 skipped

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-08-23 08:20:20 -04:00
Vincent Demeester
b97f985054 Merge pull request #25939 from YuPengZTE/printf
It is better to add "\n" in printf
2016-08-23 10:26:54 +02:00
Vincent Demeester
442da0d8aa Merge pull request #25793 from yuexiao-wang/clean-makefile
Clean up the Makefile
2016-08-23 09:43:25 +02:00
lixiaobing10051267
4f7195e3c9 get a redis-cli image using docker pull
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-23 14:44:37 +08:00
lixiaobing10051267
8eae3ceab8 Incorrect response field name for command "docker images"
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-23 14:24:31 +08:00
Neyazul Haque
10cebd4c74 Change TMPDIR to DOCKER_TMPDIR
TMPDIR was changed to DOCKER_TMPDIR in pull request 7113 but the file still asks user to set TMPDIR.
I am new to docker and wasted sometime this morning because of this.
I am using docker version 1.12.1 on ubuntu server 14.04

Signed-off-by: Neyazul Haque <nuhaque@gmail.com>
2016-08-23 08:45:46 +05:30
Doug Davis
a949a79a58 Merge pull request #25931 from fj/patch-1
Fix minor typo in "Getting Started" documentation
2016-08-22 21:53:47 -05:00
Alexander Morozov
251bc2bcd7 Merge pull request #25833 from tonistiigi/update-swarmkit
vendor: update swarmkit to 8a761950f
2016-08-22 19:36:44 -07:00
Lei Jitang
c35186b0b9 Fix inspect Dead container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-08-22 22:09:25 -04:00
YuPengZTE
9b015bd4fd It is better to add "\n" in printf
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-08-23 09:01:25 +08:00
David Trott
c9d0a77657 Added the word "container" to clarify the error message.
Signed-off-by: David Trott <github@davidtrott.com>
2016-08-22 13:41:17 -07:00
Aaron Lehmann
7cd88e5ec4 Merge pull request #25914 from lixiaobing10051267/masterSwarmJoinManager
Remove option "--manager" description for swarm_join.md
2016-08-22 13:13:21 -07:00
Alexander Morozov
2e1a594237 Merge pull request #25824 from dmcgowan/overlay2-make-faster
Avoid fork on mount for overlay2 in common case
2016-08-22 13:02:22 -07:00
John Feminella
435bc9d989 Fix minor typo in "Docker Engine runs navitvely"
Signed-off-by: John Feminella <jxf@jxf.me>
2016-08-22 15:43:26 -04:00
Derek McGowan
c13a985fa1 Avoid fork on mount for overlay2 in common case
In the common case where the user is using /var/lib/docker and
an image with less than 60 layers, forking is not needed. Calculate
whether absolute paths can be used and avoid forking to mount in
those cases.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-08-22 11:43:10 -07:00
Tonis Tiigi
96a27cf093 Update executor changes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-22 11:36:20 -07:00
Tonis Tiigi
ee030251f2 vendor: update swarmkit in 8a761950f
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-22 11:36:06 -07:00
Aaron Lehmann
3b374a25f2 Merge pull request #25582 from anusha-ragunathan/detect-plugin-mediatype
Make `docker pull` detect plugin content and error out.
2016-08-22 09:29:51 -07:00
Brian Goff
2fb2bbe407 Merge pull request #25869 from cjdmax/master
debian sysvinitscript one missed DOCKER->DOCKERD change
2016-08-22 12:24:31 -04:00
Brian Goff
374caa98d8 Merge pull request #25872 from coolljt0725/fix_25870
Persist pause state to disk to support container live restore
2016-08-22 12:18:01 -04:00
Brian Goff
d3b0064d4a Merge pull request #25881 from justincormack/aarch64-manpages
Add a Dockerfile for generating manpages on aarch64
2016-08-22 12:16:09 -04:00
Anusha Ragunathan
36cf93fb0c Add spec file support for Windows plugin discovery.
Plugin discovery on Windows is not possible using named pipes. However,
it is possible using spec file (tcp based). This adds Windows specific
paths for discovery.

Fixes #23605

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-22 09:14:57 -07:00
Brian Goff
43640a890f Merge pull request #25889 from vdemeester/refactoring-reachable-lisibility
Make reachable/unreachable condition more readable
2016-08-22 11:10:03 -04:00
lixiaobing10051267
344d7f773d Remove option "--manager" description for swarm_join.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-22 15:42:38 +08:00
Vincent Demeester
d2fa978d4d Merge pull request #25899 from yuexiao-wang/fix-overview
Optimize description for Feature highlights
2016-08-22 09:17:32 +02:00
Vincent Demeester
daf454d8cd Merge pull request #25719 from eskaaren/master
You can force leave swarm
2016-08-22 09:15:37 +02:00
Vincent Demeester
c1bdda0be8 Merge pull request #25775 from ddgenome/entrypoint-env
Remove erroneous ENTRYPOINT note
2016-08-22 09:13:54 +02:00
Sven Dowideit
e168f0b4ad Merge pull request #25835 from decoursin/patch-1
Update apparmor error message
2016-08-22 15:47:23 +10:00
Sven Dowideit
abd08f4784 Merge pull request #25901 from yuexiao-wang/add-content
Add the content for how services work
2016-08-22 11:58:30 +10:00
Justin Cormack
eb4ae8baed Merge pull request #23235 from runcom/go1.7
Bump go to 1.7
2016-08-21 19:49:52 +01:00
Antonio Murdaca
12e2c2687e Bump go to 1.7
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-21 19:04:15 +02:00
Sebastiaan van Stijn
ab533a98dc Merge pull request #25902 from MihaiB/docs-link-fragment
docs: fix typo in url fragment
2016-08-21 02:12:02 +02:00
Anusha Ragunathan
9b6dcc8b9d Make docker pull detect plugin content and error out.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-20 12:54:35 -07:00
Mihai Borobocea
441ecc459f docs: fix typo in url fragment
I noticed the broken hyperlink in this page:
https://docs.docker.com/engine/reference/builder/
The link should point to `#parser-directives`.

Signed-off-by: Mihai Borobocea <MihaiBorob@gmail.com>
2016-08-20 16:19:05 +03:00
Vincent Demeester
4833b3c961 Move ListContainersForNode into cluster package
It makes little sense to have swarm related code into the daemon
package. This refactor the `daemon` and `cluster` package to remove
`ListContainersForNode` from the daemon.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-20 14:14:26 +02:00
yuexiao-wang
2b0892c02e Add the content for how services work
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-20 17:32:29 +08:00
yuexiao-wang
dde0f86a88 Optimize description for Feature highlights
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-20 16:24:18 +08:00
Oskar Niburski
aa8eb09d83 Email deprecation for step 6 of tutorial
Signed-off-by: Oskar Niburski <oskarniburski@gmail.com>
2016-08-19 22:54:12 -04:00
Vincent Demeester
82a451bc94 Make reachable/unreachable condition more readable
Introducing methods to make the intent of the condition clearer to the
eyes of the reader 👼.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-19 22:49:58 +02:00
Brian Goff
4d95ea319c Use daemon exec root for swarm control socket
Right now docker puts swarm's control socket into the docker root dir
(e.g. /var/lib/docker).
This can cause some nasty issues with path length being > 108
characters, especially in our CI environment.

Since we already have some other state going in the daemon's exec root
(libcontainerd and libnetwork), I think it makes sense to move the
control socket to this location, especially since there are other unix
sockets being created here by docker so it must always be at a path that
works.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-19 16:43:57 -04:00
Aaron Lehmann
ad37e30363 Merge pull request #25867 from lixiaobing10051267/masterScheduler
It is orchestrator not scheduler to create swarm task
2016-08-19 13:27:12 -07:00
Vincent Demeester
09b929083d Merge pull request #23436 from yongtang/23367-out-of-band-volume-driver-deletion
Add `--force` in `docker volume rm` to fix out-of-band volume driver deletion
2016-08-19 22:09:57 +02:00
Sebastiaan van Stijn
80798d28d3 Merge pull request #25791 from lixiaobing10051267/masterSwarmJoinToken
Modify usage of docker swarm join-token command
2016-08-19 21:44:42 +02:00
Justin Cormack
1091dfb60f Add a Dockerfile for generating manpages on s390x
Untested.

Hoping CI and @michael-holzheu can test...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-19 17:18:49 +01:00
Alexander Morozov
bf61c916ee Merge pull request #23438 from tophj-ibm/ppc64le-build-xenial-debs
ppc64le: add support for building docker debs for xenial
2016-08-19 08:35:31 -07:00
Justin Cormack
ecce6f339c Add a Dockerfile for generating manpages on aarch64
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-19 15:39:21 +01:00
Sebastiaan van Stijn
ec8f20cbf2 Merge pull request #25665 from vdemeester/remove-deprecated-run-flag-from-commit
Remove -run flag from commit command.
2016-08-19 15:19:23 +02:00
Sebastiaan van Stijn
d6c75c3138 Merge pull request #25799 from vdemeester/25313-integration-no-cover
Disable coverage on test-integration-cli
2016-08-19 14:31:24 +02:00
Nick DeCoursin
ae4ad3d955 Update apparmor error message
Signed-off-by: decoursin <n.decoursin@foodpanda.com>
2016-08-19 14:22:27 +02:00
Justin Cormack
0bf6d4a2df Merge pull request #25858 from cpuguy83/fix_manfile
Use the correct version of glide
2016-08-19 12:44:51 +01:00
Vincent Demeester
54ed156879 Remove -run flag from commit command.
This flag has been deprecated in version below 1.10 so it's safe to
remove now, according to our deprecation policy.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-19 13:14:03 +02:00
Lei Jitang
f4bbfc34ce Persist pause state to disk to support container live restore
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-08-19 05:32:33 -04:00
Liam Macgillavry
11eda60848 missed DOCKER->DOCKERD change in 1ac1b78b3a for 'status'
Signed-off-by: Liam Macgillavry <liam@kumina.nl>
2016-08-19 11:08:52 +02:00
lixiaobing10051267
cb9dfd391b It is orchestrator not scheduler to create swarm task
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-19 17:02:00 +08:00
Christopher Jones
64881dc331 ppc64le: add support for building docker debs for xenial
This PR adds the ability to make docker debs for xenial on power

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-08-18 22:25:14 -04:00
lixiaobing10051267
9123ca546a Modify usage of docker swarm join-token command
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-19 09:44:22 +08:00
Yong Tang
7fd2c80962 Update zsh and bash completion scripts.
This is to update the zsh and bash completion script for
23367.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-18 18:41:15 -07:00
yuexiao-wang
bf3d1d1e5a keep the same between rules and PHONY
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-19 09:08:39 +08:00
Yong Tang
6c5c34d50d Add --force in docker volume rm to fix out-of-band volume driver deletion
This fix tries to address the issue in raised #23367 where an out-of-band
volume driver deletion leaves some data in docker. This prevent the
reuse of deleted volume names (by out-of-band volume driver like flocker).

This fix adds a `--force` field in `docker volume rm` to forcefully purge
the data of the volume that has already been deleted.

Related documentations have been updated.

This fix is tested manually with flocker, as is specified in #23367.
An integration test has also been added for the scenario described.

This fix fixes #23367.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-18 18:01:25 -07:00
Brian Goff
ce312a910c Use the correct version of glide
In `man/Dockerfile` we are specifying a tagged version of glide to
checkout, but never actually checking it out.
This checks out the requested version before building.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-18 20:43:50 -04:00
Brian Goff
09e1de2080 Merge pull request #25843 from darrenstahlmsft/RevendorHcsshim
Vendor hcsshim to v0.4.2
2016-08-18 17:21:02 -04:00
Brian Goff
5b6063c837 Merge pull request #25841 from anusha-ragunathan/vendor-dist
Vendor distribution changes.
2016-08-18 17:20:03 -04:00
Vincent Demeester
5ec6e11e15 Disable coverage on test-integration-cli
Temporarly remove cover bundle from defaults.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-18 22:12:24 +02:00
Doug Davis
282b0aff08 Merge pull request #24978 from yongtang/24912-build-with-progress
Add hint of progress to the output of `docker build`
2016-08-18 16:10:48 -04:00
Vincent Demeester
426046db3a Merge pull request #25708 from timfeirg/master
expose RemovalInProgress in StateString #25652
2016-08-18 21:54:48 +02:00
Darren Stahl
ba54581c3d Vendor hcsshim to v0.4.2
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-08-18 12:53:01 -07:00
Sebastiaan van Stijn
139bf2c98e Merge pull request #25844 from tiborvass/1.12.1-changelog-to-master
Merge 1.12.1 CHANGELOG to master
2016-08-18 21:14:07 +02:00
Tibor Vass
3b05e95d98 Merge 1.12.1 CHANGELOG to master
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-08-18 11:35:44 -07:00
Tõnis Tiigi
923053d1ed Merge pull request #25839 from cpuguy83/add_comments
Add requested comments about old buggy behavior
2016-08-18 10:31:37 -07:00
Sebastiaan van Stijn
6fa69d2d06 Merge pull request #25743 from lixiaobing10051267/masterInspect
Check the return message of docker service inspect
2016-08-18 19:25:08 +02:00
Anusha Ragunathan
764d97444e Vendor distribution changes.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-18 09:30:31 -07:00
Denis Gladkikh
9407322972 Splunk Logging Driver: PR feedback
Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
2016-08-18 09:17:06 -07:00
Sebastiaan van Stijn
88a6a7763b Merge pull request #25726 from vieux/new_plugin_system_doc
adding some documentation about the new plugin system
2016-08-18 17:20:09 +02:00
Sebastiaan van Stijn
90308fd783 Merge pull request #25792 from lixiaobing10051267/masterSwarmLeave
Specify woker node for docker swarm leave command
2016-08-18 17:08:41 +02:00
Sebastiaan van Stijn
840a198280 Merge pull request #25812 from johananl/patch-1
Update device-mapper-driver.md
2016-08-18 17:08:14 +02:00
Thomas Leonard
9841cfe4c9 Document Healthcheck in image spec
Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2016-08-18 15:53:22 +01:00
Brian Goff
c7075bd149 Add requested comments about old buggy behavior
Address comment: 246d1eb58e (r75242138)

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-18 10:07:22 -04:00
Vincent Demeester
d854c4fcc6 Merge pull request #25815 from justincormack/capdoc
Split list of capabilities into those added by default and those not
2016-08-18 15:26:59 +02:00
Vincent Demeester
3cebff8b86 Merge pull request #25785 from WeiZhang555/fix-flaky-external-volume-driver
bugfix: report "destroy" after all volumes of container destroy
2016-08-18 09:58:54 +02:00
timfeirg
37466cc8c8 expose RemovalInProgress in StateString #25652
Signed-off-by: timfeirg <kkcocogogo@gmail.com>
2016-08-18 11:25:27 +08:00
Tibor Vass
1b954973cc Merge pull request #25825 from cpuguy83/25821_fix_nil_opts
Fix volume not working after daemon restart
2016-08-17 20:15:34 -07:00
yuexiao-wang
dd02815a26 clean up the run.md in reference
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-18 10:21:41 +08:00
Doug Davis
79210b9d5a Merge pull request #25822 from Microsoft/jjh/typo
Fix minor comment typo.
2016-08-17 22:07:36 -04:00
lixiaobing10051267
fd660e21bf Specify woker node for docker swarm leave command
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-18 09:35:11 +08:00
Brian Goff
246d1eb58e Fix volume not working after daemon restart
When the daemon is started, it looks at all the volumes and checks to
see if any of them have mount options persisted to disk, and loads them
from disk if it does.

In some cases a volume will be created with an empty map causing the
options file to be persisted and volume options set to a non-nil value
on daemon restart... this causes problems later when the driver checks
for a non-nil value to determine if it should try and mount with the
persisted volume options.

Ensures 2 things:

1. Instead of only checking nilness for the opts map, use `len` to make
sure it is not an empty map, which we don't really need to persit.

2. An empty (or nulled) opts.json will not inadvertnatly set volume
options on daemon restart.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-17 20:36:17 -04:00
John Howard
d56c2ea9ed Fix minor typo
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-17 16:10:01 -07:00
Justin Cormack
b0b3249bc2 Merge pull request #25801 from thaJeztah/improve-volume-validation-message
improve error message for volume names that are too short
2016-08-17 23:33:08 +01:00
Alexander Morozov
a1fece6821 Merge pull request #25808 from justincormack/parallel-tests
Run seccomp tests in series not parallel
2016-08-17 14:50:24 -07:00
Anusha Ragunathan
59c45f7c0a Make docker volume list lookup plugins installed using new model.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-17 13:27:43 -07:00
Michal Wieczorek
eac70703e3 Enable syslog driver for windows
Signed-off-by: Michal Wieczorek <wieczorek-michal@wp.pl>
2016-08-17 22:26:24 +02:00
Justin Cormack
bf7a3f0104 Split list of capabilities into those added by default and those not
The documentation was a bit unhelpful as to what are the default
capabilities, so split.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-17 21:16:54 +01:00
Brian Goff
d8e12f8755 Merge pull request #25809 from justincormack/patricia
Update go-patricia to 2.2.6
2016-08-17 15:25:17 -04:00
Johanan Lieberman
086542a687 Update device-mapper-driver.md
Signed-off-by: Johanan Lieberman <johanan.lieberman@gmail.com>
2016-08-17 21:58:30 +03:00
Alexander Morozov
2d93186e00 Merge pull request #25805 from crosbymichael/oci-import-paths
Replace old oci specs import with runtime-specs
2016-08-17 11:07:13 -07:00
Justin Cormack
d16f96262e Update go-patricia to 2.2.6
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-17 19:02:32 +01:00
Justin Cormack
84ec04306c Run seccomp tests in series not parallel
Fix #24803 as this had been failing sometimes.

As the parallel tests are probably genuine failures, and
had already been cut down, I will re-create these specifically
as a parallel execution test with no seccomp to make the
cause clearer.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-17 18:48:06 +01:00
Michael Crosby
041e5a21dc Replace old oci specs import with runtime-specs
Fixes #25804

The upstream repo changed the import paths.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-17 09:38:34 -07:00
Sebastiaan van Stijn
2ae49a0887 Merge pull request #25789 from sdurrheimer/zsh-completion-network-volume-ls-format
Add zsh completion for 'docker {network,volume} ls --format'
2016-08-17 16:51:51 +02:00
Sebastiaan van Stijn
b4abe38d43 Merge pull request #25709 from thaJeztah/fix-missing-docs-for-binary-remote-context
Add missing docs about binary remote contexts
2016-08-17 16:43:35 +02:00
Sebastiaan van Stijn
8d5a615045 improve error message for volume names that are too short
this improves the error message if a user tries to
create a volume with a single-character name:

Before this change:

    docker volume create --name a
    Error response from daemon: create a: "a" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed

After this change:

    docker volume create --name a
    Error response from daemon: create a: volume name is too short, names should be at least two alphanumeric characters

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-17 16:40:24 +02:00
Sebastiaan van Stijn
a5ba032c74 Add missing docs about binary remote contexts
This feature was added in docker 1.8, through
7491f9a9c1.

However, the API docs ended up in the wrong
API version (1.19 instead of 1.20), so were
never included in future API docs.

Also, the CLI docs got lost during splitting
up the cli.md docs into separate files;
561bfb268d

This moves the API docs to the correct
versions, and restores the CLI documentation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-17 16:15:59 +02:00
Phil Estes
3473980a29 Merge pull request #25771 from mrunalp/allow_host_ns_with_user
Allow using --pid=host and --net=host when --userns=host
2016-08-17 09:57:30 -04:00
David Dooling
20e336efac Make it clear who is doing variable expansion
Add sentece to RUN, CMD, and ENTRYPOINT exec sections making it clear
that it is the shell doing the environment variable expansion.

Signed-off-by: David Dooling <dooling@gmail.com>
2016-08-17 06:31:19 -05:00
Sebastiaan van Stijn
2c224e4fc0 Merge pull request #25788 from sdurrheimer/zsh-completion-volumes-ls-filter-label
Add zsh completion for 'docker volume ls --filter label'
2016-08-17 11:11:27 +02:00
Sebastiaan van Stijn
5e2a519957 Merge pull request #25634 from darrenstahlmsft/RevendorHcsshim
Revendor hcsshim to v0.4.1
2016-08-17 10:50:00 +02:00
Sebastiaan van Stijn
45cb33e65c Merge pull request #25704 from thaJeztah/cleanup-api-markdown
Cleanup API docs Markdown formatting and wording
2016-08-17 10:39:45 +02:00
Vincent Demeester
bbd5396955 Merge pull request #25751 from yuexiao-wang/clean-docs
Remove mess words in installation doc
2016-08-17 09:59:36 +02:00
Vincent Demeester
10a3a269a0 Merge pull request #25783 from tonistiigi/fix-retry
Fix retry logic for out of sequence errors
2016-08-17 09:56:06 +02:00
Vincent Demeester
32aad511f8 Merge pull request #25778 from KostyaSha/patch-5
Don't confuse with sub-node
2016-08-17 09:50:22 +02:00
yuexiao-wang
f8d5b88072 remove mess words in installation doc
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-17 15:43:52 +08:00
Vincent Demeester
27043ab718 Merge pull request #25368 from thaJeztah/remove-unused-size-parameter
Remove unused "size" query parameter for images
2016-08-17 09:28:51 +02:00
Steve Durrheimer
25009687be Add zsh completion for 'docker {network,volume} ls --format'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-08-17 08:21:15 +02:00
Steve Durrheimer
d1870019a0 Add zsh completion for 'docker volume ls --filter label'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-08-17 08:15:26 +02:00
Denis Gladkikh
603fd08315 Splunk Logging Driver: formats and verifyconnection
`--log-opt splunk-format=inline|json|raw` allows to change how logging
driver sends data to Splunk, where

`inline` - default value, format used before, message is injected as a
line in JSON payload
`json` - driver will try to parse each line as a JSON object and embed it
inside of the JSON payload
`raw` - driver will send Raw payload instead of JSON, tag and attributes
will be prefixed before the message

`--log-opt splunk-verify-connection=true|false` - allows to skip
verification for Splunk Url

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
2016-08-16 21:45:16 -07:00
Victor Vieux
79aa2b9f6d fix broken link
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-16 21:26:07 -07:00
Zhang Wei
4df77c11e0 bugfix: report "destroy" after all volumes of container destroy
fixes #25766

If a container's AutoRemove is enabled, client will wait until it's
removed after container exits, this is implemented based on "destroy"
event.

Currently an "AutoRemove" container will report "destroy" event to
notify a hanging client to exit before all volumes are removed, this is
wrong, we should wait container until everything is cleaned up.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-17 11:02:16 +08:00
Tonis Tiigi
157561e95c Fix retry logic for out of sequence errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-16 18:57:01 -07:00
Darren Stahl
c58d0358c3 Revendor hcsshim
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-08-16 17:28:49 -07:00
Sebastiaan van Stijn
1a2038c54f Remove unused "size" query parameter for images
Image inspect doesn't have a "size" query parameter.
The client sent this (when doing `docker inspect --size`),
but was unused in the daemon.

This removes the unused parameter, and a test that
didn't actually test anything.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-17 01:19:07 +02:00
Kanstantsin Shautsou
57db05cb10 Don't confuse with empty body
It fails with any (even empty) json request body.

Signed-off-by: Kanstantsin Shautsou <kanstantsin.sha@gmail.com>
2016-08-17 02:01:04 +03:00
Tibor Vass
6e70a976ba Merge pull request #25638 from anusha-ragunathan/fix-plugin-tests
Debugging issue #25511
2016-08-16 15:13:31 -07:00
Brian Goff
37302bbb3f Merge pull request #25721 from cpuguy83/revendor_engine-api
revendor engine-api
2016-08-16 17:18:43 -04:00
Mrunal Patel
3c3d2bf852 Allow using --pid=host and --net=host when --userns=host
It is safe to set other namespaces to host when user ns is set to host

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-08-16 14:16:14 -07:00
Charles Smith
a7a70433ca edit plugin system doc, fix menu system
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-16 13:36:17 -07:00
Tibor Vass
1225e3e621 Merge pull request #25765 from tonistiigi/publish-add
Add retry checks to TestSwarmPublishAdd
2016-08-16 13:30:31 -07:00
David Dooling
f44d78b478 Remove erroneous ENTRYPOINT note
The Dockerfile parser does not subsitute ENV variables in any form of
the ENTRYPOINT command.  Any substitution, if done, is done by the shell
when the command is executed.

Signed-off-by: David Dooling <dooling@gmail.com>
2016-08-16 15:24:41 -05:00
David Dooling
28e01950a2 Update ENTRYPOINT/CMD table to agree with docs
Several other places in the document it states that when using the shell
form of ENTRYPOINT, CMD and command line arguments are ignored.  That is
accurate, this table was not.  It is now.

Signed-off-by: David Dooling <dooling@gmail.com>
2016-08-16 15:23:59 -05:00
Brian Goff
9ff0ab71a0 Bump docker-py
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-16 14:48:48 -04:00
Brian Goff
6d98e344c7 revendor engine-api
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-16 14:16:12 -04:00
Tonis Tiigi
7bd1c11959 Add retry checks to TestSwarmPublishAdd
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-16 10:39:05 -07:00
Tõnis Tiigi
9a3e7d9e34 Merge pull request #25701 from WeiZhang555/update-conflict-rm-restart
Forbid update restart policy of container with AutoRemove flag
2016-08-16 10:37:45 -07:00
Brian Goff
d7753dceb8 Merge pull request #25746 from lixiaobing10051267/masterName
wrong id when testing exists in daemon aufs
2016-08-16 13:00:03 -04:00
Michael Crosby
6e08c4b919 Merge pull request #25672 from estesp/run-docker-in-userns
Allow engine to run inside a user namespace
2016-08-16 09:59:37 -07:00
Tõnis Tiigi
8f8bb8ad4c Merge pull request #25188 from armills/nuke-graph-directory
nuke-graph-directory.sh: Improve subvolume search
2016-08-16 09:47:33 -07:00
Michael Crosby
0c8b0faef8 Merge pull request #25337 from jhorwit2/jah/25332
Add --no-trunc to service/node/stack ps output
2016-08-16 09:25:45 -07:00
Sebastiaan van Stijn
641e1564cf Merge pull request #25757 from eskaaren/create_service_id
Capital D in "ID" returned when creating service
2016-08-16 17:01:22 +02:00
Alexander Morozov
6f06afab2a Merge pull request #25739 from mrjana/vendor
Vendoring libnetwork @82fb373e3eaa4e
2016-08-16 08:01:16 -07:00
Vincent Demeester
e48aeb118c Merge pull request #25758 from eskaaren/create_service_annotations
"Annotations" not a parameter
2016-08-16 16:51:15 +02:00
Josh Horwitz
204c4d39d3 Add --no-trunc to service/node/stack ps output
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-08-16 10:19:11 -04:00
Brian Goff
79c1cd87ec Merge pull request #25756 from YuPengZTE/shuold-be--
“ should be "
2016-08-16 09:31:07 -04:00
Eivin Giske Skaaren
69e481af4e "Annotations" not a parameter
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
2016-08-16 15:17:26 +02:00
Brian Goff
754ac49268 Merge pull request #25760 from albers/completion-ls-format
Add bash completion for `docker {network,volume} ls --format`
2016-08-16 09:11:10 -04:00
Harald Albers
5d43a78763 Add bash completion for docker {network,volume} ls --format
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-16 14:10:28 +02:00
Sebastiaan van Stijn
dcdf2b404e Merge pull request #25720 from thaJeztah/add-missing-label-filter-docs
Add missing docs for volume ls filter=label
2016-08-16 13:50:56 +02:00
Eivin Giske Skaaren
9eb2ec799e Capital D in "ID" returned when creating service
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
2016-08-16 13:43:23 +02:00
Sebastiaan van Stijn
0309eeb5dd Merge pull request #25745 from albers/completion-volume-ls-filter-label
Add bash completion for `docker volume ls --filter label`
2016-08-16 13:27:14 +02:00
Sebastiaan van Stijn
eb24e9bbd3 Cleanup API docs Markdown formatting and wording
Synchronize formatting between versions, and
update wording to be consistent.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-16 13:22:47 +02:00
Sebastiaan van Stijn
1f0a99e86f Merge pull request #25753 from eskaaren/swarm_inspect
Add doc for inspect swarm
2016-08-16 13:19:36 +02:00
Eivin Giske Skaaren
c59bc53727 Add doc for inspect swarm
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
2016-08-16 12:49:33 +02:00
YuPengZTE
fe081efa92 “ should be "
Full width turn half-width character

Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-08-16 18:41:34 +08:00
Sebastiaan van Stijn
348f6529b7 Merge pull request #23808 from AkihiroSuda/formatinfo
add `--format` flag to `docker info`
2016-08-16 12:04:26 +02:00
Vincent Demeester
72a312c07b Merge pull request #25684 from d64/improve-systemd-config-for-raspbian
Improve systemd configuration for Raspbian/Jessie
2016-08-16 10:58:33 +02:00
Vincent Demeester
7524a1d3f2 Merge pull request #25705 from AkihiroSuda/noteRenameCOW
Add a note about the open(2) and rename(2) on AUFS and OverlayFS
2016-08-16 10:52:25 +02:00
Vincent Demeester
9dd8ccc746 Merge pull request #25690 from yongtang/25661-docker-build-detect-tty
Suppress verbose "Sending build context" messages in non tty scenarios
2016-08-16 10:47:11 +02:00
lixiaobing10051267
cdb6c59eda wrong id when testing exists in daemon aufs
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-16 16:42:45 +08:00
Zhang Wei
4754c64ab5 Forbid update restart policy of container with AutoRemove flag
"--restart" and "--rm" are conflict options, if a container is started
with AutoRemove flag, we should forbid the update action for its Restart
Policy.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-16 15:36:13 +08:00
Eivin Giske Skaaren
033482d9ff You can force leave swarm
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
2016-08-16 09:32:45 +02:00
Harald Albers
41511f8911 Add bash completion for docker volume ls --filter label
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-16 09:10:46 +02:00
lixiaobing10051267
68ef256984 Check the return message of docker service inspect
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-16 14:47:13 +08:00
John Howard
3c6f4cd5a6 Merge pull request #25143 from cpuguy83/update_go-check
Add stack dumps from the daemon(s) on test timeout
2016-08-15 22:09:20 -07:00
Akihiro Suda
dc38c9a047 add --format flag to docker info
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-08-16 04:03:52 +00:00
Tõnis Tiigi
f5ef498289 Merge pull request #25597 from vieux/check_plugin_manifest_json
check plugin manifest is correctly formatted before push
2016-08-15 19:27:50 -07:00
Akihiro Suda
aab101a770 Add a note about the open(2) and rename(2) on AUFS and OverlayFS
Close #25409
Update #10180

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-08-16 02:13:33 +00:00
Yong Tang
b4ba575a28 Suppress verbose "Sending build context" messages in non tty scenarios
This fix tries to address the issue raised in 25661 where verbose
"Sending build context" messages were not suppressed in non tty (e.g. log file)
sencarios.

This fix suppress the "Sending build context" message (other than the last one)
if the output is not a tty. The last update of the "Sending build context"
message is still sent to the output.

This fix has been tested manually:
```
docker build -t tmp . > build.log
```
The output is (only one "Sending build context"):
```
Sending build context to Docker daemon 249.4 MB
Step 1 : FROM busybox
 ---> 2b8fd9751c4c
Step 2 : RUN echo 'test'
 ---> Using cache
 ---> 7db298b6c493
Successfully built 7db298b6c493
```

This fix fixes 25661.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-15 18:35:05 -07:00
Jana Radhakrishnan
56c9822695 Vendoring libnetwork @82fb373e3eaa4e
- Fixes a SNAT issue in loadbalancer when multiple networks are involved
  - Fixes an issue with SRV query forwarding in DNS
  - Fixes a map race

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-08-15 17:53:35 -07:00
Victor Vieux
b47711ae92 check plugin manifest is correctly formatted before push
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-15 17:51:30 -07:00
Tõnis Tiigi
70f843f7ae Merge pull request #25723 from anusha-ragunathan/plugin-force-rm
When handling plugin exit, lookup plugins only during daemon shutdown.
2016-08-15 16:30:37 -07:00
Michael Crosby
c67cc60713 Merge pull request #25676 from tiborvass/fix-rpm-release-script
release-rpm: fix bad destination paths for rpms
2016-08-15 16:23:25 -07:00
Anusha Ragunathan
57499fa62e When handling plugin exit, lookup plugins only during daemon shutdown.
The main intent of handling plugin exit is for graceful shutdown
of plugins during daemon shutdown. So avoid plugin lookup during
plugin exits caused by other reasons (eg. force remove)

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-15 14:46:02 -07:00
Stefan J. Wernli
6591a37aaf Fixing race in Windows container servicing
There exists a race in container servicing on Windows where, during normal operation, the container will begin to shut itself down while docker calls shutdown explicitly.  If the former succeeds just as the latter is attempting to communicate with the container to request the shutdown, an error comes back that can cause the servicing to incorrectly register as a failure.  Instead, we just wait for the servicing container to shutdown on it's own, using a reasonable timeout to allow for merging in the updates.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-08-15 14:32:50 -07:00
Victor Vieux
9890190652 adding some documentation about the new plugin system
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-15 13:56:30 -07:00
Tõnis Tiigi
90be7a591d Merge pull request #25482 from yuexiao-wang/close_pipe
Close pipe after using pipe
2016-08-15 13:02:59 -07:00
Sebastiaan van Stijn
9079d5ccbb Merge pull request #25706 from thaJeztah/add-authorization-header-to-api-docs
Add X-Registry-Auth header to service API docs
2016-08-15 21:54:06 +02:00
Vincent Demeester
a5809ddd2a Merge pull request #25715 from thaJeztah/update-changelog-for-userland-proxy-binary
Add note about new binaries to changelog
2016-08-15 21:48:21 +02:00
Sebastiaan van Stijn
4105cff4d8 Merge pull request #25707 from thaJeztah/move-sysctls-to-correct-api-version
Move sysctls to correct API version
2016-08-15 20:29:51 +02:00
Brian Goff
84e60a7e10 Fix issues with tailing rotated jsonlog file
Fixes a race where the log reader would get events for both an actual
rotation as we from fsnotify (`fsnotify.Rename`).
This issue becomes extremely apparent when rotations are fast, for
example:

```
$ docker run -d --name test --log-opt max-size=1 --log-opt max-file=2
busybox sh -c 'while true; do echo hello; usleep 100000; done'
```

With this change the log reader for jsonlogs can handle rotations that
happen as above.

Instead of listening for both fs events AND rotation events
simultaneously, potentially meaning we see 2 rotations for only a single
rotation due to channel buffering, only listen for fs events (like
`Rename`) and then wait to be notified about rotation by the logger.
This makes sure that we don't see 2 rotations for 1, and that we don't
start trying to read until the logger is actually ready for us to.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-15 13:57:28 -04:00
Sebastiaan van Stijn
5171b83495 Add missing docs for volume ls filter=label
This filter option was added in be045ee2da,
but didn't update the documentation and
man pages.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 17:42:16 +02:00
Sebastiaan van Stijn
0f838cc523 Merge pull request #25710 from thaJeztah/restore-missing-ps-example
Restore missing ps example for killed containers
2016-08-15 16:02:16 +02:00
Brian Goff
bfc3f121f1 Merge pull request #25700 from lixiaobing10051267/masterSwarmRmService
command "docker service remove" not consistent
2016-08-15 09:55:52 -04:00
Sebastiaan van Stijn
2806b3b6c7 Merge pull request #25712 from thaJeztah/carry-25613-fix-capitalization
Fix capitalization
2016-08-15 15:53:36 +02:00
Sebastiaan van Stijn
32b8a6e735 Add note about new binaries to changelog
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 15:23:14 +02:00
Sebastiaan van Stijn
75e60fbe09 Fix capitalization
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 14:14:41 +02:00
Sebastiaan van Stijn
8d5818a693 Restore missing ps example for killed containers
This example was added in b0b2f979c7,
but got lost during splitting up the cli.md docs into separate files;
561bfb268d

This restores the missing example.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 13:41:18 +02:00
Sebastiaan van Stijn
7cdd693d5d Move sysctls to correct API version
Commit 067b510dfc move the
sysctls feature to the right API version, but
missed this one.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 12:02:54 +02:00
Sebastiaan van Stijn
bde35ef18a Add X-Registry-Auth header to service API docs
The service create/update endpoints support
passing registry-authentication information,
but this was not documented.

This adds the missing information about passing
a X-Registry-Auth header.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-15 11:53:12 +02:00
lixiaobing10051267
078e2aa157 command "docker service remove" not insistant
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-15 15:11:37 +08:00
Tõnis Tiigi
5ac0342e82 Merge pull request #25675 from DieterReuter/master
Fix build deb for ARMv6
2016-08-13 10:16:29 -07:00
Sebastiaan van Stijn
856fa571d0 Merge pull request #25678 from tonistiigi/clear-wal
Clear raft state file after every test
2016-08-13 17:44:56 +02:00
Dieter Reuter
3c7ae431e0 Improve systemd config for Raspbian
Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-08-13 16:29:06 +02:00
Vincent Demeester
28c20592b6 Merge pull request #25677 from friism/tweak-logout-message
tweak logout message
2016-08-13 09:37:56 +02:00
Vincent Demeester
7fddf51aa4 Merge pull request #25673 from SvenDowideit/remove-dead-link
James' site has been dead for a while - removing links
2016-08-13 09:35:04 +02:00
Tonis Tiigi
34f779dbc3 Clear raft state file after every test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-12 17:30:37 -07:00
Michael Friis
f9443aa2a5 tweak logout message
Signed-off-by: Michael Friis <friism@gmail.com>
2016-08-12 17:00:06 -07:00
Tibor Vass
e1c7ad871f release-rpm: fix bad destination paths for rpms
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-08-12 16:51:12 -07:00
Michael Crosby
2faeebc750 Merge pull request #24311 from ShevYan/incorrect-comments-in-dockerfile
Dockerfile's comments for "Run the test suite" are out of date becaus…
2016-08-12 15:53:06 -07:00
Dieter Reuter
5907e4a872 Fix build deb for ARMv6
Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-08-13 00:40:29 +02:00
Michael Crosby
05d1dcfca2 Merge pull request #23116 from glensc/mkimage-pld
add script to make base image for PLD Linux
2016-08-12 15:38:36 -07:00
Charles Smith
84ef31a79c Merge pull request #25420 from sfsmithcha/add_networking_guide
per @mavenugo , merging after addressing comments
add overlay networking guide
2016-08-12 15:29:34 -07:00
Charles Smith
e56dd0e0e7 add overlay networking guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-12 15:18:21 -07:00
Michael Crosby
2a10899c16 Merge pull request #25216 from aanand/deploy-error-when-not-in-swarm-mode
Better error on 'docker deploy' when not in Swarm mode
2016-08-12 14:17:47 -07:00
Sven Dowideit
a9b08f3102 James' site has been dead for a while - removing links
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-08-12 21:16:57 +00:00
Phil Estes
dc950567c1 Use real chroot if daemon is running in a user namespace
The namespace unshare+pivot root is not possible when running inside a
user namespace, so fallback to the original "real" chroot code.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-08-12 16:31:01 -04:00
Serge Hallyn
617c352e92 Don't create devices if in a user namespace
If we are running in a user namespace, don't try to mknod as
it won't be allowed.  libcontainer will bind-mount the host's
devices over files in the container anyway, so it's not needed.

The chrootarchive package does a chroot (without mounting /proc) before
its work, so we cannot check /proc/self/uid_map when we need to.  So
compute it in advance and pass it along with the tar options.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-08-12 16:26:58 -04:00
Charles Smith
ccf3dd85f0 Merge pull request #25135 from sfsmithcha/add_overlay_networking_note
per @mavenugo , merging after addressing his comments:
add swarm mode overlay networking security model
2016-08-12 13:25:07 -07:00
Charles Smith
cc5debcb2e add overlay networking security model node
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-12 13:17:24 -07:00
Brian Goff
838db8852c Merge pull request #25669 from dlech/patch-2
Move export from image commands to container commands
2016-08-12 15:52:07 -04:00
Brian Goff
c6e3818dd1 Merge pull request #24814 from samuelkarp/awslogs
awslogs: Record log line insert order for sorting
2016-08-12 15:51:06 -04:00
Michael Crosby
5632768a0f Merge pull request #22208 from msabansal/staticip
Enabling specifying static ip for predefined network on windows
2016-08-12 11:39:25 -07:00
Michael Crosby
2c50035f93 Merge pull request #24717 from icaoweiwei/patch_2016-07-16_1
Add output of integer argument
2016-08-12 10:54:01 -07:00
Michael Crosby
5dbdc321dc Merge pull request #25657 from thaJeztah/update-image-load-api-docs
Update API docs example for image load response
2016-08-12 10:29:01 -07:00
Michael Crosby
a86b2376a0 Merge pull request #25070 from yongtang/24881-label-containers-with-stack-name
Label containers with stack name when deploying stack/bundle
2016-08-12 10:20:06 -07:00
David Lechner
43c8cc7bb4 Move export from image commands to container commands
The export command operates on containers, not images, so it should be listed under the container commands, not the image commands.

Signed-off-by: David Lechner <david@lechnology.com>
2016-08-12 12:15:32 -05:00
Tõnis Tiigi
f4646196b6 Merge pull request #25668 from LK4D4/remove_rewrite
hack/vendor.sh: remove old hacks for etcd
2016-08-12 10:12:50 -07:00
Brian Goff
b0431d63dc Merge pull request #25635 from dperny/rate-limit-swarm-pull-log
Rate limit logspam during docker service pulls
2016-08-12 13:06:39 -04:00
Tõnis Tiigi
b08a1c3fe4 Merge pull request #25660 from justincormack/no-fuse-dev
Do not create /dev/fuse by default
2016-08-12 10:05:16 -07:00
Michael Crosby
be045ee2da Merge pull request #25628 from cpuguy83/carry_21567_filter_vol_by_label
Carry 21567 filter vol by label
2016-08-12 09:43:45 -07:00
Michael Crosby
34cc19f670 Merge pull request #25509 from Microsoft/jjh/23079
Windows: Block ReFS file systems
2016-08-12 09:32:22 -07:00
Alexander Morozov
6623a5342c hack/vendor.sh: remove old hacks for etcd
etcd uses standard vendoring now

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-08-12 08:50:52 -07:00
Vincent Demeester
64f83cee43 Merge pull request #25568 from thaJeztah/enhance-string-truncate
Implement stringutils.Ellipsis()
2016-08-12 17:19:50 +02:00
Justin Cormack
39ecc08f32 Do not create /dev/fuse by default
This device is not required by the OCI spec.

The rationale for this was linked to docker/docker#2393

So a non functional /dev/fuse was created, and actual fuse use still is
required to add the device explicitly. However even old versions of the JVM
on Ubuntu 12.04 no longer require the fuse package, and this is all not
needed.

See also https://github.com/opencontainers/runc/pull/983 although this
change alone stops the fuse device being created.

Tested and does not change actual ability to use fuse.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-12 12:33:42 +01:00
Sebastiaan van Stijn
419d2ad0f8 Update API docs example for image load response
Commit 353af0b3ec updated
the `/image/load` endpoint to consistendly return
JSON, but did not update the associated documentation.

This updates the example response in the documentation
to match the actual response.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-12 11:57:34 +02:00
Sebastiaan van Stijn
d8240c8e27 Merge pull request #25564 from coolljt0725/fix_inspect_network
Fix inspect network show gateway with mask
2016-08-12 11:11:09 +02:00
Vincent Demeester
4f20721c9a Merge pull request #25643 from aaronlehmann/vendor-swarmkit-etcd
Vendor new swarmkit and etcd/raft
2016-08-12 11:10:58 +02:00
Vincent Demeester
353af0b3ec Merge pull request #25557 from yongtang/25529-image-load-api
Return `application/json` for image/load API (quiet=1)
2016-08-12 11:07:43 +02:00
Tibor Vass
57cf20c2ca Merge pull request #25642 from anusha-ragunathan/plugin-shutdown-lock
Fix deadlock on plugin shutdown.
2016-08-11 21:07:34 -07:00
Tibor Vass
a9a6d4e214 Merge pull request #25646 from tiborvass/fix-network-flag-on-service-update
Remove --network-add and --network-rm flags from service update
2016-08-11 21:06:28 -07:00
Madhu Venugopal
7d6f671b23 Merge pull request #25648 from docker/libn-bump
Vendoring libnetwork for 1.12.1-rc1
2016-08-12 08:54:13 +05:30
mgniu
e743ab0882 replace handleWithGlobalMiddlewares with handlerWithGlobalMiddlewares
Signed-off-by: mgniu <mgniu@dataman-inc.com>
2016-08-12 10:53:11 +08:00
Tibor Vass
3a7e90c743 Remove --network-add and --network-rm flags from service update
These flags were not supported (daemon returns an error), and it was an
oversight. They were not present in completion scripts.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-08-11 19:37:21 -07:00
Anusha Ragunathan
4d009084de Fix deadlock on plugin shutdown.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-11 19:36:32 -07:00
Santhosh Manohar
b9c9fa2855 Vendoring libnetwork for 1.12.1-rc1
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-08-11 18:44:32 -07:00
Aaron Lehmann
be48cfc8eb Vendor new swarmkit and etcd/raft.
This brings in a much newer version of etcd/raft.

An unrelated change in swarmkit should fix some problems with
integration tests on ARM.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-08-11 18:35:21 -07:00
Lei Jitang
096bb5fb07 Fix inspect network show gateway with mask
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-08-11 21:08:54 -04:00
Justin Cormack
5947bf461f Merge pull request #25630 from dims/mask-timer_list
Adding /proc/timer_list to the masked paths list
2016-08-11 23:37:12 +01:00
Anusha Ragunathan
e58028d078 Debugging issue #25511
Volumes and other content created under a bind mount should be
recursively propagated using rshared, not shared. This could be
the reason for EBUSY during removal. Override options with rbind,
rshared and see if CI errors are fixed.

May fix #25511

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-11 15:27:06 -07:00
Drew Erny
fa0054a3eb Rate limit logspam during docker service pulls
During image pulls on docker service create, logs will only show status
updates and updates every 1 second on long-running actions like
downloading and extracting. Adds golang.org/x/time/rate as dependency.

Ports docker/swarmkit#1352 to docker/docker.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-08-11 14:56:38 -07:00
Sebastiaan van Stijn
92ef3f615a Merge pull request #25505 from darrenstahlmsft/SignalProcessNewAPI
Changed SignalProcess to use new hcsshim API
2016-08-11 23:21:31 +02:00
Michael Crosby
3011a41d3f Merge pull request #25561 from allencloud/make-more-pkgs-support-darwin
make more pkgs support darwin
2016-08-11 14:17:57 -07:00
Michael Crosby
532aeff9d5 Merge pull request #25614 from mbentley/docs-update-ubuntu-install
Add install of virtual kernel extras for AUFS
2016-08-11 13:47:33 -07:00
Sebastiaan van Stijn
5b68177a6e Merge pull request #25548 from thaJeztah/plugin-api-docs
Add API documentation for experimental plugin features
2016-08-11 21:52:04 +02:00
Brian Goff
d6bf76136f Merge pull request #25570 from allencloud/remove-fl-prefix-in-ContainerOptions
remove fl prefix in containerOptions
2016-08-11 15:43:41 -04:00
Brian Goff
52286b402e Merge pull request #25524 from WeiZhang555/debug-win2lin
Bugfix: client hangs after run container
2016-08-11 15:43:00 -04:00
Davanum Srinivas
03bd00b68f Adding /proc/timer_list to the masked paths list
/proc/timer_list seems to leak information about the host. Here is
an example from a busybox container running on docker+kubernetes.

 # cat /proc/timer_list | grep -i -e kube
 <ffff8800b8cc3db0>, hrtimer_wakeup, S:01, futex_wait_queue_me, kubelet/2497
 <ffff880129ac3db0>, hrtimer_wakeup, S:01, futex_wait_queue_me, kube-proxy/3478
 <ffff8800b1b77db0>, hrtimer_wakeup, S:01, futex_wait_queue_me, kube-proxy/3470
 <ffff8800bb6abdb0>, hrtimer_wakeup, S:01, futex_wait_queue_me, kubelet/2499

Signed-Off-By: Davanum Srinivas <davanum@gmail.com>
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2016-08-11 15:19:26 -04:00
Tibor Vass
faaab62f73 Merge pull request #25593 from thtanaka/oracle-selinux
Add Oracle Linux distro specific selinux policy
2016-08-11 11:27:54 -07:00
Tibor Vass
7758ced594 Merge pull request #25591 from tiborvass/fix-release-script
Make release scripts architecture-agnostic and add ARM support
2016-08-11 11:27:19 -07:00
Tibor Vass
2ff2e9a730 Make release scripts architecture-agnostic and add ARM support
This patch allows to only release the packages that were built and are
present under the bundles/ directory instead of assuming packages exist
for all distros enumerated in the contrib/builder/ directory.

It also now adds support for armhf architecture for apt repositories.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-08-11 11:18:52 -07:00
Vincent Demeester
49cd1680f0 Merge pull request #25428 from yongtang/25375-idempotent-service-update-publish-add
Fix issue in `service update --publish-add`
2016-08-11 20:11:33 +02:00
Brian Goff
6d787dae1a Carry #21567
Use `LabeledVolume` interface type instead of manual interface.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-11 13:47:01 -04:00
Kai Qiang Wu(Kennan)
1a72934cd5 Add label filter support for volume
Since we added labels for volume, it is desired to have
filter support label for volume

Closes: #21416
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-08-11 13:08:04 -04:00
Brian Goff
d834eb6910 Merge pull request #25595 from thaJeztah/add-warning-to-changelog
Add warning about systemd socket activation to changelog
2016-08-11 12:57:14 -04:00
Zhang Wei
eadcb99619 Refactor waitExitOrRemoved by mlaventure
Reduce complexity of waitExitOrRemoved.

Signed-off-by: mlaventure
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-12 00:50:07 +08:00
Dan Walsh
b71cd179fa Linux upstream kernel Overlay file systems support SELinux
Remove checks that prevent overlay and SELinux from working together.
Fixes are arriving in the 4.9 kernel.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-08-11 11:40:19 -04:00
Vincent Demeester
e4a88b3a23 Merge pull request #25603 from mavenugo/1.12-rc1-ln-vin
Vendoring libnetwork for 1.12.1-rc1
2016-08-11 15:39:28 +02:00
Sebastiaan van Stijn
51dc35cf23 Implement stringutils.Ellipsis()
This patch implements an Ellipsis utility to
append an ellipsis (...)  when truncating
strings in output.

It also fixes the existing Truncate() utility
to be compatible with unicode/multibyte characters.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-11 14:14:06 +02:00
Vincent Demeester
ed1a313d8f Merge pull request #25556 from vieux/plugin_description
add description in docker plugin ls
2016-08-11 14:08:50 +02:00
Vincent Demeester
a3432c2fdb Merge pull request #25604 from allencloud/add-missing-fields-in-volume-api
add fields in volume api for 1.24, 1.25
2016-08-11 14:03:25 +02:00
allencloud
b015fd4fb3 add fields in volume api for 1.24, 1.25
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-11 19:56:17 +08:00
Matt Bentley
e715ca506f Add install of virtual kernel extras for AUFS
Signed-off-by: Matt Bentley <matt.bentley@docker.com>
2016-08-11 07:54:20 -04:00
Sebastiaan van Stijn
f1101ebf3e Merge pull request #25611 from lixiaobing10051267/masterJoin
docker swarm join command has no flag '--swarm-token'
2016-08-11 13:30:07 +02:00
lixiaobing10051267
fcf732117d docker swarm join command has no flag 'X--swarm-token'
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-11 19:49:38 +08:00
Sebastiaan van Stijn
81fca603a4 Merge pull request #25610 from lixiaobing10051267/masterSwarm
optimize some descriptions for swarm nodes.md
2016-08-11 13:29:47 +02:00
lixiaobing10051267
fa52bd5cf8 optimize some descriptions for swarm nodes.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-11 19:07:56 +08:00
Sebastiaan van Stijn
a19029a719 Merge pull request #25573 from thaJeztah/improve-runmetrics-layout
docs: improve layout for runmetrics
2016-08-11 10:43:15 +02:00
Vincent Demeester
e42cc1f6c5 Merge pull request #25585 from yongtang/22311-log-opts-map
Update docs so that log-opts takes map (`{}`) instead of `[]`
2016-08-11 09:55:25 +02:00
Vincent Demeester
e26c35408d Merge pull request #25590 from thaJeztah/add-node-force-remove-api-docs
Add node remove "force" parameter to 1.25 API docs
2016-08-11 09:47:41 +02:00
Vincent Demeester
39b379cc63 Merge pull request #25592 from thaJeztah/carry-25344-fix-firewalld-startup-order
[carry 25344] deal with firewalld/docker startup issues
2016-08-11 09:46:44 +02:00
Madhu Venugopal
6645ff8ac1 Vendoring libnetwork for 1.12.1-rc1
* Fixes https://github.com/docker/docker/issues/25236
* Fixes https://github.com/docker/docker/issues/24789
* Fixes https://github.com/docker/docker/issues/25340
* Fixes https://github.com/docker/docker/issues/25130
* Fixes https://github.com/docker/libnetwork/issues/1387
* Fix external DNS responses > 512 bytes getting dropped
* Fix crash when remote plugin returns empty address string
* Make service LB work from self
* Fixed a few race-conditions

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-08-11 00:12:43 -07:00
allencloud
8ed657d09e remove fl prefix in containerOptions
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-11 11:20:00 +08:00
Yong Tang
b487497cd2 Idempotent service update --publish-add
This fix tries to address the issue raised in 25375 where
`service update --publish-add` returns an error if the exact
same value is repeated (idempotent).

This fix use a map to filter out repeated port configs so
that `--publish-add` does not error out.

An integration test has been added.

This fix fixes 25375.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-10 18:03:43 -07:00
Tonis Tiigi
82cbb15ff4 Update executor fixes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-10 17:54:00 -07:00
Tonis Tiigi
50566148ca vendor: update swarmkit to cb6d8131
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-10 17:53:59 -07:00
Sebastiaan van Stijn
66b656684e Add warning about systemd socket activation to changelog
Docker 1.12 ships with an updated unit file on RPM
based distros. Users that have local modifications
to the unit file, or have a drop-in file installed
may not automatically get the updated unit file,
or get an error when starting docker.

This adds a warning to the changelog, and instructions
on how to resolve the issue.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-11 00:53:49 +02:00
Ramon Brooker
73e08286f9 deal with firewalld/docker startup issues
added the firewalld.service symbol in the After line docker
will always start after firewalld, thus eliminating the issue
of firewall blocking all mapped traffic.

Signed-off-by: Ramon Brooker <Ramon.Brooker@imaginecommunications.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-11 00:13:33 +02:00
Alexander Morozov
2a540c18b6 Merge pull request #25546 from tonistiigi/update-swarmkit
vendor: update swarmkit to cb6d8131
2016-08-10 15:03:08 -07:00
Sebastiaan van Stijn
960b7de456 Merge pull request #25588 from thaJeztah/fix-events-since-description
Fix events "since" query parameter description
2016-08-10 23:32:26 +02:00
Sebastiaan van Stijn
ceed39b530 Fix events "since" / "until" query parameter description
The "since" query parameter can be *useful*
for polling (in combination with "until"), but
doesn't actualy stop the endpoint from streaming
events.

This patch updates the description to better
clarify that "since" does not make the endpoint
non-streaming.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-10 23:17:04 +02:00
Brian Goff
79b7062f0a Merge pull request #25583 from cpuguy83/fix_missing_daemon_sock_test
Ignore socket rm errors on daemon suite teardown
2016-08-10 17:04:45 -04:00
Sebastiaan van Stijn
06fa5c12e8 Add node remove "force" parameter to 1.25 API docs
This parameter was documented for 1.24, but we
forgot to add it to the 1.25 docs as well.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-10 23:01:17 +02:00
Thomas Tanaka
d6cae872c7 Add Oracle Linux distro specific selinux policy
With the latest OL7.2, selinux policy that is shipped
might not be the latest for it to work or build with
selinux policy for docker-1.12.

To be able to achieve that here is what is done:
1. Added systemd_machined policy which is part of systemd.
2. Temporarily comment out unconfined_typebounds because the
current OL7's selinux doesn't have unconfineduser selinux policy,
to include this will be too much. Will revisit this once we have
updated the selinux policy.

Fixes: #24612

Signed-off-by: Thomas Tanaka <thomas.tanaka@oracle.com>
2016-08-10 13:33:56 -07:00
Tonis Tiigi
5673c53417 Update executor fixes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-10 13:27:38 -07:00
Tonis Tiigi
3b555a575d vendor: update swarmkit to cb6d8131
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-10 13:27:38 -07:00
Victor Vieux
16d5fbfd9a add description in docker plugin ls
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-10 13:06:18 -07:00
Yong Tang
f9ef1c892d Update docs so that log-opts takes map ({}) instead of []
This fix updates docs so that log-opts takes map (`{}`) instead
of `[]`, as is defined in the impmenetation (`map[string]string`)

This fix fixes 22311.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-10 12:50:10 -07:00
Brian Goff
e34244842c Ignore socket rm errors on daemon suite teardown
Errors here are not important and not really related to set success/failure.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-10 15:18:35 -04:00
Sebastiaan van Stijn
83d11710eb Add API documentation for experimental plugin features
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-10 21:15:40 +02:00
Tibor Vass
19a3289250 Merge pull request #25567 from justincormack/name_to_handle_at
Gate name_to_handle_at by CAP_SYS_ADMIN not CAP_DAC_READ_SEARCH
2016-08-10 12:02:23 -07:00
Tibor Vass
92b10b497c Merge pull request #25550 from mrjana/net
Retry creating dynamic networks if not found
2016-08-10 11:52:56 -07:00
Tibor Vass
fc40ed24d8 Merge pull request #25334 from crosbymichael/selinux-fedora
Add selinux policy per distro/version
2016-08-10 11:40:33 -07:00
Ron Williams
0fd4bbda2d Force input stream ANSI emulation for ConEmu.
Signed-off-by: Ron Williams <ron.a.williams@gmail.com>
2016-08-10 11:24:12 -07:00
Alexander Morozov
64605d709f Merge pull request #23951 from allencloud/defer-os-file-close
add defer file.Close to avoid potential fd leak
2016-08-10 11:07:15 -07:00
Tibor Vass
a6aea68c35 Merge pull request #24815 from DieterReuter/install-on-raspbian-jessie
Add support to install Docker on raspbian/jessie
2016-08-10 11:06:04 -07:00
Sven Dowideit
ce2ca236db Merge pull request #25569 from friism/fix-typo-in-security-doc
update intro to say there are four things to consider
2016-08-10 10:34:43 -07:00
Tibor Vass
93b9b19204 Merge pull request #25553 from vieux/restart_plugin
fix plugins restart on docker restart
2016-08-10 10:34:17 -07:00
Sebastiaan van Stijn
29fb644c18 Improve layout for runmetrics
Change bullet-lists to tables

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-10 18:42:43 +02:00
Michael Friis
9c37bf9f1f update intro to say there are four things to consider
Signed-off-by: Michael Friis <friism@gmail.com>
2016-08-10 08:45:24 -07:00
allencloud
bd11a269bc make more pkgs support darwin
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-10 22:56:05 +08:00
Brian Goff
82dd2c3159 Make test suites dump daemon stack on test timeout
Use `OnTimeout` callback on test timeouts to trigger a stack dump for
running daemons. This will help analyze stuck tests.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-10 10:26:30 -04:00
Vincent Demeester
414e3f3cab Merge pull request #25563 from lixiaobing10051267/master100
test container state timeout with 200 milliseconds
2016-08-10 15:32:55 +02:00
Vincent Demeester
3b1f82b52d Merge pull request #25406 from pwzgorilla/master
use `proto` and `addr` replace `protoAddrParts[0]` and `protoAddrPart…
2016-08-10 14:07:30 +02:00
Vincent Demeester
59ca493121 Merge pull request #25427 from yongtang/25404-service-update-env-add
Fix `service update --env-add` issue
2016-08-10 14:07:05 +02:00
Justin Cormack
c1ca124682 Gate name_to_handle_at by CAP_SYS_ADMIN not CAP_DAC_READ_SEARCH
Only open_by_handle_at requires CAP_DAC_READ_SEARCH.

This allows systemd to run with only `--cap-add SYS_ADMIN`
rather than having to also add `--cap-add DAC_READ_SEARCH`
as well which it does not really need.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-10 12:22:36 +01:00
lixiaobing10051267
51f927d4e5 test container state timeout with 200 milliseconds
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-10 17:19:25 +08:00
mgniu
dc4dcf89d8 use proto and addr replace protoAddrParts[0] and protoAddrParts[1]
Signed-off-by: mgniu <mgniu@dataman-inc.com>
2016-08-10 16:03:00 +08:00
Sebastiaan van Stijn
2f167a7609 Merge pull request #25172 from vdemeester/25153-node-delete-update-api-docs
Add delete and update API documentation
2016-08-10 08:01:13 +02:00
Shukui Yang
4aa9b9c5b3 Add DOCKER_BUILD_ARGS to DOCKER_ENVS in Makefile
Signed-off-by: Shukui Yang <yangshukui@huawei.com>
2016-08-10 11:09:07 +08:00
Zhang Wei
a422813113 Bugfix: client hangs after run container
New codes introduced a new method to wait container's exit code and
removal via Events API, but it specified a "since" filter based on
client side clock, which sometimes isn't synced up with daemon's clock,
hence leads the client to hang on waiting container's exit status.

This commit brings the Events call before start, and removes the time
filter, so that it can catch daemon events correctly without care of the
clock issue.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-10 09:36:06 +08:00
Yong Tang
2f27632cde Return application/json for image/load API (quite=1)
This fix tries to address the issue raised in 25529 wehre the
image/load API returns `application/json` for quiet=0 and
`text/plain` for quite=1.

This fix makes the change so that `application/json` is returned
for both quiet=0 and quite=1.

This fix has been tested manually.

This fix fixes 25529.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-09 17:55:42 -07:00
allencloud
0ead624473 add defer file.Close to avoid potential fd leak
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-10 08:36:09 +08:00
Jana Radhakrishnan
117cef5e97 Retry creating dynamic networks if not found
In cases there are failures in task start, swarmkit might be trying to
restart the task again in the same node which might keep failing. This
creates a race where when a failed task is getting removed it might
remove the associated network while another task for the same service
or a different service but connected to the same network is proceeding
with starting the container knowing that the network is still
present. Fix this by reacting to `ErrNoSuchNetwork` error during
container start by trying to recreate the managed networks. If they
have been removed it will be recreated. If they are already present
nothing bad will happen.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-08-09 13:37:11 -07:00
Alexander Morozov
eb28dde01f Merge pull request #25518 from yuexiao-wang/add-debug-info
add more info for debugging
2016-08-09 11:56:09 -07:00
Derek McGowan
c37bd10f8c Update layer store to sync transaction files before committing
Fixes case where shutdown occurs before content is synced to disked
on layer creation. This case can leave the layer store in an bad
state and require manual recovery. This change ensures all files
are synced to disk before a layer is committed. Any shutdown that
occurs will only cause the layer to not show up but will allow it to
be repulled or recreated without error.

Added generic io logic to ioutils package to abstract it out of
the layer store package.


Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2016-08-09 11:55:17 -07:00
Victor Vieux
ab12ed4a56 fix plugin restart on docker restart
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-09 11:49:28 -07:00
Sebastiaan van Stijn
91853e44ae Merge pull request #25415 from avaid96/exitret
added functionality to interrupt the terminal when it is waiting for …
2016-08-09 16:47:54 +02:00
Sebastiaan van Stijn
8233e2b54d Merge pull request #25461 from coolljt0725/fix_update_mem
Fix update memory without memoryswap
2016-08-09 16:02:55 +02:00
Sebastiaan van Stijn
04e021d751 Merge pull request #23391 from Microsoft/WindowsSandboxSize
Windows: Added support for storage-opt size
2016-08-09 15:34:39 +02:00
Brian Goff
51771a3094 re-vendor go-check
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-09 09:27:58 -04:00
Sebastiaan van Stijn
06e3ea1417 Merge pull request #25530 from thaJeztah/docs-update-image-load-response
docs: add missing "quiet" parameter for image/load and update response
2016-08-09 15:26:16 +02:00
Sebastiaan van Stijn
80c49d1e52 Merge pull request #25532 from thaJeztah/docs-update-node-inspect-output
Update example output for node inspect
2016-08-09 15:24:43 +02:00
Vincent Demeester
da325c035d Add delete and update API documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-09 14:50:46 +02:00
Sebastiaan van Stijn
dcb052c12b Update example output for node inspect
commit 41d580c7a6 added
"Joined at" to the output of node inspect,
but I forgot that docs changes are needed.

This change updates the example output
of node inspect in the documentation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-09 13:04:35 +02:00
Sebastiaan van Stijn
41d580c7a6 Merge pull request #25512 from diogomonica/add-created-at
Adding Joined at to node inspect --pretty
2016-08-09 12:56:32 +02:00
Sebastiaan van Stijn
c3fdb70128 Merge pull request #25515 from WeiZhang555/fix-typo
Fix typo
2016-08-09 12:47:34 +02:00
Sebastiaan van Stijn
d13ed38471 docs: add missing "quiet" parameter for image/load and update response
Progress reporting during image load was added
in 415dd86886, but
the corresponding query-parameter was not documented
in the API docs.

This updates the API docs, and adds a response example
both with quiet enabled and disabled.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-09 12:08:33 +02:00
Sebastiaan van Stijn
5fd483695f Merge pull request #25527 from thaJeztah/fix-image-load-api-docs
docs: add missing content-type header for image load
2016-08-09 11:31:55 +02:00
yuexiao-wang
5882a9ea17 add more info for debugging
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-09 17:06:44 +08:00
Sebastiaan van Stijn
3892ac7e94 docs: add missing content-type header for image load
Without a content-type header, Go uses a max post size
of 10 megabytes, which makes loading images fail
if they're larger than 10 megabytes

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-09 10:56:49 +02:00
unclejack
34877a41a8 Merge pull request #25510 from justincormack/patricia-2.2.5
Update go-patricia to 2.2.5
2016-08-09 01:06:53 -07:00
Yong Tang
c6de8add5f Fix service update --env-add issue
This fix tries to address the issue in 25404 where updating environmental
variable in `service update --env-add` will not work.

The issue is because `--env-add` will only append the env, not update if
the same env already exist.

This fix tracks the env variable with a map and update if the variable
is the same.

An integration test has been added.

This fix fixes 25404.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-08 19:04:56 -07:00
Zhang Wei
da6609ccdc Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-09 09:42:23 +08:00
Diogo Monica
d1244abc5c Adding Joined at to node inspect
Signed-off-by: Diogo Monica <diogo.monica@gmail.com>
2016-08-08 16:23:10 -07:00
Justin Cormack
b2b41b2194 Merge pull request #25502 from LK4D4/update_gorilla
vendor: use tags for gorilla projects
2016-08-08 23:28:15 +01:00
Sebastiaan van Stijn
c51f639531 Merge pull request #25506 from sfsmithcha/fix_network_name
fix overlay network example
2016-08-09 00:24:08 +02:00
John Howard
1cb9e9b44e Windows: Block ReFS file systems
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-08-08 14:30:37 -07:00
Justin Cormack
e4402b285b Update go-patricia to 2.2.5
Fixes an issue that showed up on gccgo.

Fix #25360

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-08 22:28:41 +01:00
Charles Smith
0277eb9a32 fix overlay network example
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-08 14:08:10 -07:00
Darren Stahl
5eaf86c6db Changed SignalProcess to use new hcsshim API
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-08-08 14:03:12 -07:00
Vincent Demeester
31e3970394 Merge pull request #20848 from WeiZhang555/move-rm-to-daemon
Move --rm to daemon side
2016-08-08 22:11:06 +02:00
Vincent Demeester
b435d75526 Merge pull request #25494 from thaJeztah/fix-bind-mount-validation
fix validation of non-existing bind-mount source
2016-08-08 21:14:25 +02:00
Alexander Morozov
98530ac8e2 vendor: use tags for gorilla projects
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-08-08 11:58:32 -07:00
Vincent Demeester
1c32bed48c Merge pull request #25496 from allencloud/update-go-units-vendor
update go-units vendor to newest version
2016-08-08 20:34:00 +02:00
Vincent Demeester
c52063d8bf Merge pull request #25493 from justincormack/ADD-at-least-two
More helpful error message when not sufficiently argumentative
2016-08-08 20:28:08 +02:00
Adam Mills
c3aa75c5a7 nuke-graph-directory.sh: Improve subvolume search
This change allows btrfs subvolumes to be found in additional system
configurations. The old logic failed to correctly identify subvolumes
when the root fs was mounted as a subvolume that was not the btrfs
filesystem root.

Signed-off-by: Adam Mills <adam@armills.info>
2016-08-08 13:00:21 -04:00
Zhang Wei
7df815d2af Add docs for auto-removal on daemon
Docs for #20848: move "--rm" to daemon side.

Add description for introduced API changes.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-09 00:47:12 +08:00
Justin Cormack
4ce93940b7 More helpful error message when not sufficiently argumentative
The error message suggests you need one argument even when you
have provided one. Suggest having another argument.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-08 17:22:09 +01:00
allencloud
fc63bb83ca update go-units vendor to newest version
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-09 00:10:19 +08:00
Sebastiaan van Stijn
84d5ab96ef fix validation of non-existing bind-mount source
Unlike `docker run -v..`, `docker service create --mount`
does not allow bind-mounting non-existing host paths.

This adds validation for the specified `source`, and
produces an error if the path is not found on the
host.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-08 17:24:00 +02:00
Zhang Wei
1537dbe2d6 Not use goroutine for container's auto-removal
Before this, container's auto-removal after exit is done in a goroutine,
this commit will get ContainerRm out of the goroutine.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-08 22:46:53 +08:00
Zhang Wei
6dd8e10d6e Wait container's removal via Events API
If AutoRemove is set, wait until client get `destroy` events, or get
`detach` events that implies container is detached but not stopped.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-08 22:46:53 +08:00
Zhang Wei
3c2886d8a4 Move --rm to daemon side
`--rm` is a client side flag which caused lots of problems:
1. if client lost connection to daemon, including client crash or be
killed, there's no way to clean garbage container.
2. if docker stop a `--rm` container, this container won't be
autoremoved.
3. if docker daemon restart, container is also left over.
4. bug: `docker run --rm busybox fakecmd` will exit without cleanup.

In a word, client side `--rm` flag isn't sufficient for garbage
collection. Move the `--rm` flag to daemon will be more reasonable.

What this commit do is:
1. implement a `--rm` on daemon side, adding one flag `AutoRemove` into
HostConfig.
2. Allow `run --rm -d`, no conflicting `--rm` and `-d` any more,
auto-remove can work on detach mode.
3. `docker restart` a `--rm` container will succeed, the container won't
be autoremoved.

This commit will help a lot for daemon to do garbage collection for
temporary containers.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-08-08 22:46:53 +08:00
Sebastiaan van Stijn
2684459ed4 Merge pull request #23718 from yongtang/23498-entrypoint-unset
Allow unset `--entrypoint` in `docker run` or `docker create`
2016-08-08 14:38:01 +02:00
Lei Jitang
92394785fa Fix update memory without memoryswap
The memory should always be smaller than memoryswap,
we should error out with message that user know how
to do rather than just an invalid argument error if
user update the memory limit bigger than already set
memory swap.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-08-08 18:36:03 +08:00
Sebastiaan van Stijn
02ca34bc30 Merge pull request #25479 from lixiaobing10051267/masterThey
Fix typo for docker swarm description
2016-08-08 12:05:40 +02:00
Vincent Demeester
842d69d105 Merge pull request #25478 from yuexiao-wang/fixfuncname
Modify func name in integration-cli
2016-08-08 11:03:25 +02:00
yuexiao-wang
256310e962 close pipe after using pipe
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-08 15:16:01 +08:00
lixiaobing10051267
eb4b965ddb Fix typo for docker swarm description
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-08 14:47:15 +08:00
yuexiao-wang
427869fe94 modify func namt from TestUserAgentPassThroughOnPull to TestUserAgentPassThrough
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-08-08 11:40:20 +08:00
johnharris85
94e95e4711 Move restart-policy validation from client to daemon.
Signed-off-by: John Harris <john@johnharris.io>
2016-08-06 20:09:47 -07:00
Vincent Demeester
8b69fc4e88 Merge pull request #25462 from DieterReuter/cleanup-manpage-container
Cleanup manpage container in build process
2016-08-06 17:21:10 +02:00
Dieter Reuter
12c10239bb Cleanup manpage container in build process
When running a `make manpages` the image `docker-manpage-dev` will be build and started to create
the man pages. But the container will not be deleted afterwards. So I propose to start it with
`docker run --rm ...`, otherwise we'll collect some trash.
```
$ docker ps -a
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                      PORTS               NAMES
e3d9f721d862        docker-manpage-dev   "man/generate.sh"        19 minutes ago      Exited (0) 16 minutes ago                       berserk_jang
5738a23fb682        docker-manpage-dev   "man/generate.sh"        9 hours ago         Exited (0) 9 hours ago                          boring_bartik
15490b5e63f7        docker-manpage-dev   "man/generate.sh"        10 hours ago        Exited (0) 10 hours ago                         lonely_joliot
```

Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-08-06 10:20:16 +02:00
Vincent Demeester
59b03240b1 Merge pull request #25457 from sfsmithcha/add_force_remove_to_admin_guide
add force remove to admin guide, clean up usage of Raft, cluster -> s…
2016-08-06 09:16:23 +02:00
Vincent Demeester
8615c8b52d Merge pull request #25455 from abronan/improve_cli_promote_demote_output
swarm: improve cli output on node promote/demote for unchanged role
2016-08-06 09:12:46 +02:00
Vincent Demeester
e62b945013 Merge pull request #25458 from sfsmithcha/fix_swarm_update_typo
fix typo, change sample cert expiry value
2016-08-06 09:10:12 +02:00
Vincent Demeester
5659b1f181 Merge pull request #23725 from yongtang/23528-journald-sanitize
Sanitize docker labels when used as journald field names
2016-08-06 09:04:54 +02:00
Lei Jitang
b72a41b32e Merge pull request #25442 from albers/completion--env
Fix bash completion for `docker service {create,update} {-e,--env}`
2016-08-06 10:47:18 +08:00
Charles Smith
6c38e6877a add force remove to admin guide, clean up usage of Raft, cluster -> swarm, fix some organization
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-05 17:27:10 -07:00
Aaron Lehmann
29dfdeed72 Merge pull request #25454 from dave-tucker/bug/25453
cli: service inspect - Null check for UpdateConfig
2016-08-05 17:20:08 -07:00
Charles Smith
8e53390b51 fix typo, change sample cert expiry value
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-05 16:51:07 -07:00
Yong Tang
26c913cb60 Update documentation for entrypoint unset with docker run/create
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-05 16:35:25 -07:00
Yong Tang
c8d3ee8093 Allow unset --entrypoint in docker run or docker create
This fix tries to address the issue raised in #23498 to allow unset
`--entrypoint` in `docker run` or `docker create`.

This fix checks the flag `--entrypoint` and, in case `--entrypoint=` (`""`)
is passed, unset the Entrypoint during the container run.

Additional integration tests have been created to cover changes in this fix.

This fix fixes #23498.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-05 16:35:20 -07:00
Alexandre Beslic
5479df79c7 swarm: improve cli output on node promote/demote for unchanged role
As of now promoting (or demoting) a node that has its role
left unchanged will always print a successful message.

This PR fixes the issue by matching the behavior on swarmkit's
swarmctl command and printing a message when desired role is
the current role of the node.

As a result this also avoids calling update when it is not
necessary.

Signed-off-by: Alexandre Beslic <alexandre.beslic@gmail.com>
2016-08-05 15:51:32 -07:00
Yong Tang
9528ea930c Sanitize docker labels when used as journald field names
This fix tries to address the issue raised in #23528 where
docker labels caused journald log error because journald
has special requirements on field names.

This fix addresses this issue by sanitize the labels per
requirements of journald.

Additional unit tests have been added to cover the changes.

This fix fixes #23528.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-05 15:20:47 -07:00
Dave Tucker
0e1fe4516f cli: service inspect - Null check for UpdateConfig
Fixes #25453

Signed-off-by: Dave Tucker <dt@docker.com>
2016-08-05 22:42:14 +01:00
Tõnis Tiigi
6401bd65b1 Merge pull request #25072 from mlaventure/oos-libcontainerd-client
Handle out-of-sync libcontainerd client on restore
2016-08-05 14:23:25 -07:00
Vincent Demeester
049210ce46 Merge pull request #24703 from jhorwit2/jah/#24696
Fixes #24696 - Fixes Size showing 0 in formatted ps output
2016-08-05 21:28:45 +02:00
Daniel Nephin
8a81986a58 Merge pull request #24948 from dnephin/support-iterative-integration-testing
Support running integration tests without restarting a daemon
2016-08-05 14:23:24 -04:00
Vincent Demeester
54e2cbc11e Merge pull request #25447 from albers/completion-swarm-interfaces
Improve bash completion for `docker swarm {init,join} --{advertise,listen}-addr}`
2016-08-05 19:59:32 +02:00
Alexander Morozov
6c07fbd455 Merge pull request #25090 from swernli/rootfs-cleanup
Removing old custom RootFS behavior on Windows.
2016-08-05 10:55:44 -07:00
Brian Goff
e9bfb9b4cb Merge pull request #25448 from albers/completion-swarm-join--adveritse-addr
Fix bash completion for `docker swarm join --advertise-addr`
2016-08-05 13:50:26 -04:00
Vincent Demeester
b2b3cb7be9 Merge pull request #22770 from twistlock/22729_dynamic_authz_reload
Enable to dynamically reload authorization plugins via daemon.config
2016-08-05 19:38:40 +02:00
Brian Goff
5605510bb6 Merge pull request #25444 from albers/completion-node-inspect-self
Add `self` to bash completion of `docker node inspect`
2016-08-05 13:21:01 -04:00
Harald Albers
fa1b82e5eb Fix bash completion for docker swarm join --advertise-addr
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-05 19:14:13 +02:00
Brian Goff
c1e0195857 Merge pull request #25383 from tonistiigi/fix-restart-err
Fix possible race on container restart and restart error handling
2016-08-05 13:12:17 -04:00
Harald Albers
07f6655286 Improve bash completion for docker swarm {init,join} --{advertise,listen}-addr}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-05 18:56:17 +02:00
Sebastiaan van Stijn
e4bca49356 Merge pull request #25422 from sfsmithcha/fix_tutorial_advisory
update D4M D4W advisory in swarm tutorial
2016-08-05 18:37:35 +02:00
Alexander Morozov
430a234a5b Merge pull request #24434 from AkihiroSuda/fixMakeInstall
make install: install runc and containerd
2016-08-05 09:34:21 -07:00
Charles Smith
bd15725519 update D4M D4W advisory in swarm tutorial
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-05 09:13:39 -07:00
Daniel Nephin
1d945a9743 Support interactive integration testing.
Interactive integration testing is useful when you're developing new tests, or
making changes to cli code.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-05 12:07:28 -04:00
Harald Albers
b63a7692d6 Add self to bash completion of docker node inspect
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-05 18:06:25 +02:00
Sebastiaan van Stijn
f4575970a7 Merge pull request #25441 from thaJeztah/sync-api-docs
Sync API docs to older API versions
2016-08-05 18:05:38 +02:00
Sebastiaan van Stijn
5696c47470 Sync API docs
This synchronizes formatting changes to older
versions of the API

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-05 17:44:58 +02:00
Sebastiaan van Stijn
66671d4ec2 Merge pull request #25405 from thaJeztah/fix-api-markdown
Fix Markdown formatting in API docs
2016-08-05 17:44:15 +02:00
Tõnis Tiigi
4c528ae719 Merge pull request #25402 from lixiaobing10051267/masterChmod
Fatal info not identical with actual chmod intent
2016-08-05 08:42:30 -07:00
Harald Albers
197f23da49 Fix bash completion for docker service {create,update} {-e,--env}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-05 17:41:40 +02:00
Vincent Demeester
1ccd9d3137 Merge pull request #23475 from vdemeester/add-format-flag-to-network-and-volume-ls
Add format flag to network and volume ls
2016-08-05 15:17:45 +02:00
Vincent Demeester
29fef34139 Merge pull request #25387 from yongtang/25374-ps-filter-order
Sort output of `docker ps --filter` with order by creation time
2016-08-05 14:47:10 +02:00
Vincent Demeester
85428a1a53 Merge pull request #25096 from vieux/docker_plugin_remove_force
Add --force to docker plugin remove
2016-08-05 14:45:05 +02:00
Sebastiaan van Stijn
0af3ca6933 Merge pull request #25435 from kfr2/fix-run-docs-typo
Fix typo in run command documentation
2016-08-05 14:19:22 +02:00
Sebastiaan van Stijn
acbac04c4b Merge pull request #25279 from aboch/auto
Only consider netlink "device" interfaces in address autodetection on Linux
2016-08-05 14:13:53 +02:00
Vincent Demeester
f570fbb9ba Merge pull request #25401 from lixiaobing10051267/masterConfig
Docker api inspect assert HostConfig
2016-08-05 14:11:29 +02:00
Kevin Richardson
b3913024e2 Fix typo in run command documentation
Signed-off-by: Kevin Richardson <kevin@kevinrichardson.co>
2016-08-05 07:35:16 -04:00
Sebastiaan van Stijn
4981916546 Merge pull request #25430 from padyx/doc_swarmjoin_conflictmarker
Remove git conflict markers in docs/reference/commandline/swarm_join.md
2016-08-05 10:48:19 +02:00
Patrick Böänziger
34278b3301 Remove git conflict markers
Signed-off-by: Patrick Bänziger <patrick.baenziger@bsi-software.com>
2016-08-05 09:41:45 +02:00
Yong Tang
3f97133546 Sort output of docker ps --filter with order by creation time
This fix tries to address the issue raised in 25374 where the
output of `docker ps --filter` is in random order and
not deterministic.

This fix sorts the list of containers by creation time so that the
output is deterministic.

An integration test has been added.

This fix fixes 25374.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-04 19:27:50 -07:00
Sebastiaan van Stijn
9513aa3a48 Merge pull request #25425 from thaJeztah/remove-rc-suffix
Remove "-rc" from documentation
2016-08-05 02:15:24 +02:00
Sebastiaan van Stijn
4f7b731a26 Remove "-rc" from documentation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-05 01:38:18 +02:00
Victor Vieux
0016b331da Add --force to docker plugin remove
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-04 15:55:45 -07:00
Sebastiaan van Stijn
4191b786c5 Merge pull request #25421 from avaid96/patch-1
minor nit typo in opensl(openssl) genrsa -out delegation.key 2048
2016-08-05 00:33:37 +02:00
Avi Vaid
570bad1974 minor nit typo in opensl(openssl) genrsa -out delegation.key 2048
Signed-off-by: Avi Vaid <avaid1996@gmail.com>
2016-08-04 15:07:20 -07:00
Michael Crosby
32b1f26c51 Add selinux policy per distro
This adds the ability to have different profiles for individual distros
and versions of the distro because they all ship with and depend on
different versions of policy packages.

The `selinux` dir contains the unmodified policy that is being used
today.  The `selinux-fedora` dir contains the new policy for fedora 24
with the changes for it to compile and work on the system.

The fedora policy is from commit
4a6ce94da5

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-04 14:29:22 -07:00
Alexander Morozov
979d48bbf5 Merge pull request #23902 from dnephin/inspect-to-cobra
Convert inspect command to Cobra
2016-08-04 11:20:43 -07:00
Avi Vaid
c4b07f4683 added functionality to interrupt the terminal when it is waiting for an input
Signed-off-by: Avi Vaid <avaid1996@gmail.com>
2016-08-04 10:00:02 -07:00
Brian Goff
af51c9704c Merge pull request #25370 from thaJeztah/move-experimental-test
Move TestInspectNamedMountPoint integrationtest from experimental
2016-08-04 11:12:46 -04:00
Brian Goff
e1b77bd69a Merge pull request #25399 from ilkka/swarm-tutorial-service-ps-output
Update `service ps` output format in swarm tutorial to match 1.12.0
2016-08-04 11:03:33 -04:00
lixiaobing10051267
86c72aa01f Docker api inspect Assert HostConfig
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-04 23:01:16 +08:00
Vincent Demeester
7c8780ea63 Refactor dockerCli *Format to ConfigFile call
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-04 15:00:00 +02:00
Vincent Demeester
a488ad1a09 Add volume --format flag to ls
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-04 14:59:55 +02:00
Vincent Demeester
a8aaafc4a3 Add network --format flag to ls
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-04 14:59:51 +02:00
Vincent Demeester
e4fdbbc00b Refactor api/client/formatter files
- Create container.go and image.go for specific context code
- Keep common code in formatter.go and custom.go

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-04 14:59:45 +02:00
lixiaobing10051267
bd0ec7ed55 Fatal info not identical with actual chmod intent
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-04 20:14:15 +08:00
Sebastiaan van Stijn
33bd963cfb Fix Markdown formatting in API docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-04 14:13:30 +02:00
Ilkka Laukkanen
da56fa2699 Fix service ps output format in swarm tutorial
These changes update the example output for `docker service ps` in the
swarm tutorial's rolling update and node draining sections to match that
produced by 1.12.0: shutdown tasks are listed and the column order and
naming has changed.

Signed-off-by: Ilkka Laukkanen <ilkka@ilkka.io>
2016-08-04 13:01:22 +03:00
Sebastiaan van Stijn
402cf238bf Merge pull request #25391 from sdurrheimer/zsh-completion-node-rm-force
Add zsh completion for 'docker node rm --force'
2016-08-04 10:14:30 +02:00
Vincent Demeester
5de2e6d7b8 Merge pull request #25384 from vieux/fix_wait_plugins
fix deadlock when more than 1 plugin is installed
2016-08-04 08:46:57 +02:00
Vincent Demeester
73c597e5f2 Merge pull request #25385 from crosbymichael/test-improvements
Test improvements to reduce time for long running tests
2016-08-04 08:44:32 +02:00
Steve Durrheimer
b58ef479a6 Add zsh completion for 'docker node rm --force'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-08-04 08:01:04 +02:00
Tonis Tiigi
9be0fb45c2 libcontainerd: mark container exited after failed restart
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-03 17:44:30 -07:00
Victor Vieux
42360d164b fix deadlock when more than 1 plugin is installed
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-08-03 16:22:12 -07:00
Tõnis Tiigi
e10f6a2e54 Merge pull request #25309 from cpuguy83/25253_fix_accidental_bind_create
Validate mount paths on task create
2016-08-03 15:54:03 -07:00
Tonis Tiigi
495448b290 libcontainerd: wait for restart after state change
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-03 15:28:07 -07:00
Michael Crosby
94b1bb82e1 Decrease sleep to 2 seconds
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-03 15:25:27 -07:00
Michael Crosby
cfde8e7855 Change number of pings to 1
This cuts the test time down from 6s to 2s

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-03 13:30:34 -07:00
Michael Crosby
2f3b7f08a0 Make network stats version test concurrent
This change makes the test run go down from 10s to 2s

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-03 13:24:55 -07:00
Michael Crosby
3ffa5f6149 Remove build 60 steps
This test is already covered in the individual graph driver tests and it
adds 15s to the test run without adding value.  The original idea was to
test max number of layers, this is fulfilled by the graph drivers.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-08-03 13:16:01 -07:00
Sebastiaan van Stijn
87e48ecd04 Merge pull request #23497 from shishir-a412ed/dm_task_run_failed
Fixes Issue # 23418: Race condition between device deferred removal and resume device.
2016-08-03 21:54:33 +02:00
Tibor Vass
6ebf816f80 Merge pull request #25373 from thaJeztah/lift-dockerfile-moratoriom
Remove Dockerfile syntax from frozen features
2016-08-03 11:45:17 -07:00
Tibor Vass
5e91023867 Merge pull request #25192 from dnephin/fix-manpages-on-arm
Fix the man/Dockerfile for arm
2016-08-03 10:45:53 -07:00
Sebastiaan van Stijn
29648795cd Merge pull request #24736 from johnharris85/fix-sinatra-tutorial
Fix broken gem instructions.
2016-08-03 19:36:19 +02:00
Brian Goff
f7d48d74a3 Merge pull request #25376 from sfsmithcha/fix_typo
add missing period
2016-08-03 13:31:36 -04:00
Samuel Karp
443f251cf5 awslogs: Record log line insert order for sorting
Fixes https://github.com/docker/docker/issues/24775

Signed-off-by: Samuel Karp <skarp@amazon.com>
2016-08-03 10:04:20 -07:00
Samuel Karp
5ba6cab0a9 awslogs: Add unit test to ensure log line order
Signed-off-by: Samuel Karp <skarp@amazon.com>
2016-08-03 10:01:12 -07:00
Charles Smith
8bdb682205 add missing period
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-08-03 09:51:09 -07:00
Daniel Nephin
fab2a3dc82 Ignore 'not a swarm error' when inspecting a task.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-03 12:22:07 -04:00
Sebastiaan van Stijn
07250457df Remove Dockerfile syntax from frozen features
As discussed on the maintainers mailinglist,
and during a maintainers review session;

We've recently made changes to the Dockerfile
syntax (e.g., `HEALTHCHECK`, `SHELL`), so
mentioning the Dockerfile syntax as a frozen
feature is no longer accurate.

Removing it from frozen features does NOT
automatically state an intent to make big
changes to the syntax; making changes
to the syntax are important decisions and
should never be taken lightly.

This change is just to indicate that we
can *accept* changes if they are meaningful,
and we're confident they can be made.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-03 17:17:54 +02:00
Daniel Nephin
851c388ad9 Convert inspect to cobra.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-03 10:36:47 -04:00
Sebastiaan van Stijn
6f2e820502 Move TestInspectNamedMountPoint integrationtest from experimental
This feature is no longer experimental, and should
now work on Windows too

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-03 16:21:38 +02:00
Vincent Demeester
4a94a6513b Merge pull request #25341 from tonistiigi/fix-pending-tests
Fix swarm pending state tests
2016-08-03 16:12:43 +02:00
Vincent Demeester
d68253d19f Merge pull request #25329 from lixiaobing10051267/MasterBindVolume
It is volume not binds for first arg in callDecodeContainerConfig()
2016-08-03 16:10:37 +02:00
Sebastiaan van Stijn
0ab06816ea Merge pull request #25194 from vdemeester/23597-swarm-api-ref-fixes
Update `/node/*` api reference documentation
2016-08-03 15:44:18 +02:00
Sebastiaan van Stijn
e737e6a204 Merge pull request #25366 from yongtang/08032016-man-docker-create-user-flag
Update `--user`/`-u` flag in man page of `docker create`
2016-08-03 15:29:25 +02:00
Vincent Demeester
63d65505b2 Update /node/* api reference documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-08-03 14:55:30 +02:00
Yong Tang
55478a2c3e Update --user/-u flag in man page of docker create
The `--user`/`-u` of the `docker create` is the same as
`docker run`, which could take either `uid` or `uid:gid`
format. However, the description in the man page of `docker create`
is missing and may cause some confusions (comared with `docker run`).

This fix updates the man page of `docker create` so that it is
consistent with the man page of `docker run`.

This fix is related to 25304.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-03 05:36:07 -07:00
Vincent Demeester
cebdb89998 Merge pull request #23422 from thaJeztah/skip-hidden-files
deb: skip hidden files when generating indexes
2016-08-03 14:31:33 +02:00
Sebastiaan van Stijn
153c946b79 deb: skip hidden files when generating indexes
We don't need hidden files to be listed
in the indexes, so skip them if hidden
files exist.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-03 12:58:14 +02:00
Sebastiaan van Stijn
919257da66 Merge pull request #25359 from albers/completion-node-rm--force
Add bash completion for `docker node rm --force`
2016-08-03 11:22:25 +02:00
Harald Albers
46d3464362 Add bash completion for docker node rm --force
Signed-off-by: Harald Albers <github@albersweb.de>
2016-08-03 11:08:28 +02:00
Sebastiaan van Stijn
5c9bcaa942 Merge pull request #25358 from lixiaobing10051267/masterBe
Remove reduntant word in device-mapper-driver.md
2016-08-03 10:21:39 +02:00
lixiaobing10051267
96c959ec6b Remove reduntant word in device-mapper-driver.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-03 16:13:44 +08:00
Sebastiaan van Stijn
cfd2719bf7 Merge pull request #25346 from tonistiigi/mask-join-tokens
Mask join tokens in daemon logs
2016-08-03 01:34:18 +02:00
Sebastiaan van Stijn
6e19e7b1d7 Merge pull request #25350 from thaJeztah/carry-24314-mongodb-example-update
[Carry 24314] Make MongoDB sample Dockerfile working again
2016-08-03 01:27:26 +02:00
Maxim Fedchyshyn
60f4c7dac3 Make MongoDB sample Dockerfile working again
There were couple issues in the previous version of this Dockerfile

1. [MongoDB manual](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/) uses 3.2 repo version as of July'16.
2.  Command `# lsb_release -sc`  doesn't work out of box, because of `bash: lsb_release: command not found`.

Signed-off-by: Maxim Fedchyshyn <sevmax@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-03 01:09:31 +02:00
Sebastiaan van Stijn
2cb1281a4a Merge pull request #25349 from thaJeztah/carry-25174-api-docs-update
[carry 25174] 409 status code result to create service
2016-08-03 01:04:36 +02:00
Daniel X Moore
397cc85643 409 status code result to create service
Added example 409 status code result to the create service endpoint.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-03 00:46:04 +02:00
Tonis Tiigi
e3917c76ce Mask join tokens in daemon logs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-02 15:15:23 -07:00
Brian Goff
404705fd8e Merge pull request #25345 from dperny/fix-service-inspect-pretty
Fix missing newline in service inspect --pretty
2016-08-02 17:50:28 -04:00
Sebastiaan van Stijn
10ae908bfa Merge pull request #25159 from diogomonica/adding-force-to-node-remove
Adding force to node rm
2016-08-02 22:49:15 +02:00
Drew Erny
02ebaf364f Fix missing newline in service inspect --pretty
Printing off networks as part of --pretty was missing a newline, causing
the next thing printed to be concatenated onto the end of the line.
Added an empty println after all networks are printed.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-08-02 13:27:35 -07:00
Sven Dowideit
181f5ac627 Merge pull request #25282 from clhlc/clhlc-patch-1
Update swarm-mode.md
2016-08-02 13:06:24 -07:00
Sven Dowideit
1d8617a42b Merge pull request #25241 from jhorwit2/jah/ps-doc-fix
Added shutdown to desired-state docs for filter node/service ps
2016-08-02 13:05:47 -07:00
Tonis Tiigi
fa3b5964b9 Fix swarm pending state tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-02 11:39:05 -07:00
Alessandro Boch
8f7d3a4380 Only consider "device" interfaces in address autodetection on Linux
- This automatically rules out bridges and other non system
  created interfaces

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-08-02 10:54:43 -07:00
Brian Goff
f0d7bd597b Merge pull request #25333 from cpuguy83/25331_fix_missing_mount_id
Fix missing mount ID on volume unmount
2016-08-02 13:10:54 -04:00
Vincent Demeester
3d28cdd2f5 Merge pull request #25308 from thaJeztah/join-token-refactor
Improve swarm join-token instructions
2016-08-02 18:57:37 +02:00
Daniel Nephin
fcde27e6db Fix the man/Dockerfile for arm
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-02 12:56:05 -04:00
Alexander Morozov
c73b054ae3 Merge pull request #25300 from duglin/FixEnv
Don't allow empty env names
2016-08-02 09:45:28 -07:00
Vincent Demeester
50c08f0f09 Merge pull request #25330 from yongtang/docs-service-create-update-user
Update docs in `docker service create/update` for flag `--user`
2016-08-02 17:58:39 +02:00
Brian Goff
63983f3ffe Fix missing mount ID on volume unmount
Fixes #25331

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-02 11:24:54 -04:00
Sebastiaan van Stijn
b47df1ddbe Merge pull request #25105 from hqhq/fix_kmem_test
Fix TestUpdateKernelMemoryUninitialized on new kernel version
2016-08-02 17:15:53 +02:00
Sebastiaan van Stijn
ebebd41769 Improve swarm join-token instructions
this change improves the instructions for
swarm join-token and swarm init;

- only print the join-token command for workers
  instead of for both managers and workers, to
  prevent users from copying the wrong command.
  An extra line is added to explain how to obtain
  the manager token.
- print a message that a token was rotated
  sucesfully if '--rotate' is used.
- add some extra white-space before / after
  the join commands, to make copy/pasting
  easier.

this change also does some refactoring of join-token;

- move flagname-constants together with other constants
- use variables for selected role ("worker" / "manager")
  to prevent checking for them multiple times, and to
  keep the "worker" / "manager" sting centralized
- add an extra blank line after "join-token" instructions
  this makes it easier to copy, and cleans up the
  code a tiny bit

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-02 16:44:02 +02:00
Shishir Mahajan
0e633ee14a Fixes Issue # 23418: Race condition between device deferred removal and resume device.
Problem Description:

An example scenario that involves deferred removal
1. A new base image gets created (e.g. 'docker load -i'). The base device is activated and
mounted at some point in time during image creation.
2. While image creation is in progress, a privileged container is started
from another image and the host's mount name space is shared with this
container ('docker run --privileged -v /:/host').
3. Image creation completes and the base device gets unmounted. However,
as the privileged container still holds a reference on the base image
mount point, the base device cannot be removed right away. So it gets
flagged for deferred removal.
4. Next, the privileged container terminates and thus its reference to the
base image mount point gets released. The base device (which is flagged
for deferred removal) may now be cleaned up by the device-mapper. This
opens up an opportunity for a race between a 'kworker' thread (executing
the do_deferred_remove() function) and the Docker daemon (executing the
CreateSnapDevice() function).

This PR cancel the deferred removal, if the device is marked for it. And reschedule the
deferred removal later after the device is resumed successfully.

Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-08-02 10:33:58 -04:00
lixiaobing10051267
51ee3dfade It should be volume not binds for first arg in callDecodeContainerConfig()
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-02 22:29:34 +08:00
Yong Tang
80a3755a8f Update docs in docker service create/update for flag --user
In `docker service create/update`, flag `--user` actually supports
`uid:gid` (same as `docker run`). However, this is not reflected
in the help and documentation yet.

This fix updates docs in `docker service create/update` to change
the description to `Username or UID (format: <name|uid>[:<group|gid>])`.

The help message output has also been updated.

This fix is related to 25304.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-02 07:01:16 -07:00
Vincent Demeester
2011320fa9 Merge pull request #25316 from cpuguy83/25310_persit_volume_opts
Fix issue reloading mount options on restart
2016-08-02 15:45:05 +02:00
Sebastiaan van Stijn
d7c9c85e30 Merge pull request #25318 from lixiaobing10051267/masterParentheses
A parenthesis omitted in Seccomp.md
2016-08-02 12:27:19 +02:00
Vincent Demeester
7d4ab5ca85 Merge pull request #25314 from swernli/revert-25066-masterErr
Revert "Add checking err for IsWindowsClient()"
2016-08-02 07:49:41 +02:00
Qiang Huang
59069ba29a Fix kernel memory updating docs
Specify that kernel memory updating limitation only applies
on kernel version older than 4.6.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-08-02 13:36:58 +08:00
Qiang Huang
da5d66fb70 Fix TestUpdateKernelMemoryUninitialized on new kernel version
Fixes: #25073

Update kernel memory on running containers without initialized
is forbidden only on kernel version older than 4.6.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-08-02 13:17:20 +08:00
lixiaobing10051267
227cae6680 A parenthesis omitted in Seccomp.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-08-02 12:24:15 +08:00
Lee Chao
4f1a57a8e1 Update swarm-mode.md
Signed-off-by: lichao <lichao@papayamobile.com>
2016-08-02 11:36:32 +08:00
Brian Goff
38f8b0eb10 Validate mount paths on task create
This is intended as a minor fix for 1.12.1 so that task creation doesn't
do unexpected things when the user supplies erroneous paths.

In particular, because we're currently using hostConfig.Binds to setup
mounts, if a user uses an absolute path for a volume mount source, or a
non-absolute path for a bind mount source, the engine will do the
opposite of what the user requested since all absolute paths are
treated as binds and all non-absolute paths are treated as named
volumes.

Fixes #25253

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-01 23:35:46 -04:00
Brian Goff
c560dd9686 Fix issue reloading mount options on restart
On daemon restart the local volume driver will read options that it
persisted to disk, however it was reading an incorrect path, causing
volume options to be silently ignored after a daemon restart.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-01 23:30:39 -04:00
Diogo Monica
a327c231b5 Add --force to node removal
Signed-off-by: Diogo Monica <diogo.monica@gmail.com>
2016-08-01 18:55:58 -07:00
Brian Goff
8f78dae4e3 Merge pull request #25204 from yongtang/25195-docker-info-ca-configuration
Output external CAs in swarm mode with `docker info`
2016-08-01 21:34:00 -04:00
Tõnis Tiigi
ceb4126aa0 Merge pull request #25265 from adamwalz/docs_swarm_cluster_fault_tolerance
Fix swarm manager node fault tolerance table
2016-08-01 18:31:46 -07:00
Stefan J. Wernli
d0b9c33f71 Revert "Add checking err for IsWindowsClient()"
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-08-01 17:33:41 -07:00
Aaron Lehmann
f35c4343f3 Merge pull request #24878 from dongluochen/swarmConstraintTest
Add integration test for constraints
2016-08-01 17:45:23 -06:00
Sebastiaan van Stijn
f23c3a1263 Merge pull request #25171 from cpuguy83/23545_test_sockets_in_separate_dir
Use temp dir for integration daemon sockets
2016-08-02 01:21:22 +02:00
Sebastiaan van Stijn
f2fb28cbb3 Merge pull request #25294 from klinden/patch-1
adding entry for Hugh Beaver
2016-08-02 01:01:13 +02:00
Alexander Morozov
415c0f12d2 Merge pull request #24947 from dnephin/integration-remove-cmdwithargs
Remove CmdWithArgs from integration-cli
2016-08-01 14:56:08 -07:00
Alexander Morozov
67a47d78a1 Merge pull request #25129 from mlaventure/fix-weird-rpc-lock-on-master
Attach stdin after attach stdout/err to avoid an rpc lock
2016-08-01 14:52:09 -07:00
Tibor Vass
3c46c3481f Merge pull request #25187 from anusha-ragunathan/plugin-delete
Remove plugin root from filesystem.
2016-08-01 14:33:30 -07:00
Alexander Morozov
1d5bb597b8 Merge pull request #25306 from yongtang/08012016-docker-service-create-workdir
Replace `"workdir'` with const `flWorkdir`, same as other flags in `service create`
2016-08-01 13:57:56 -07:00
Kyle Linden
653d083c1e Add entries for Hugh Beaver, Lois Haibt and some more adjectives
Signed-off-by: Kyle Linden <kyle.linden@appliedis.com>
2016-08-01 16:05:27 -04:00
Sebastiaan van Stijn
d2eb5dc9e0 Merge pull request #24821 from thaJeztah/stringid-refactor
Minor refactor and beter coverage for pkg/stringid
2016-08-01 21:12:14 +02:00
Yong Tang
55d05fc055 Replace "workdir' with const, same as other flags in service create
This is a minor fix that tries to replace `"workdir"` with const in `service create`.

Since `"workdir"` is the only string not defined as const in `func addServiceFlags()`,
I think it makes sense to replace `"workdir"` with a const to be consistent.

The flag `"workdir"` in `service update` has also been replaced.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-08-01 11:45:28 -07:00
Charles Smith
93fea86d1d Merge pull request #25205 from lixiaobing10051267/masterPath
Give the correct link of docker swarm init
2016-08-01 11:34:54 -07:00
Tibor Vass
e60c31d4f9 Merge pull request #25288 from allencloud/make-pkg-pidfile-support-darwin
make pkg pidfile support darwin
2016-08-01 10:47:40 -07:00
Anusha Ragunathan
5690730a74 Remove plugin root from filesystem.
`docker plugin remove` didnt actually remove plugin from disk. Fix that.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-08-01 10:46:50 -07:00
Vincent Demeester
016c0076ee Merge pull request #25229 from bboreham/multi-unix-sockets
Fix Upstart post-start script when using multiple Unix sockets
2016-08-01 19:43:07 +02:00
Doug Davis
e72c0137af Don't allow empty env names
Closes: #25281

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-08-01 10:25:51 -07:00
Alexander Morozov
ccbdc16b8e Merge pull request #25283 from unclejack/bump_go_patricia_2.2.4
vendor.sh: bump go-patricia to 2.2.4 to fix leaks
2016-08-01 09:32:21 -07:00
Michael Crosby
befb456832 Merge pull request #25296 from thaJeztah/move-david-to-alumni
Move David to alumni
2016-08-01 08:34:08 -07:00
Sebastiaan van Stijn
a54858e2fe Move David to alumni
Unfortunately, combining a job as CTO and maintaining
Docker is too much to combine, so David asked to be
moved to the alumni section.

Thanks for all the awesome work on Docker!

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-01 17:11:17 +02:00
Brian Goff
361de697bb Merge pull request #25271 from yongtang/25141-better-error-IP-address-autodetection
Better error messages when IP address autodetection fails
2016-08-01 11:00:21 -04:00
allencloud
a91f59d487 make pkg pidfile support darwin
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-01 22:01:20 +08:00
Josh Horwitz
aae149bd52 Added shutdown to desired-state docs for filter node/service ps
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>

$Updated http docs for /tasks filters

$Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-08-01 09:41:54 -04:00
Vincent Demeester
2b90eaa596 Merge pull request #25258 from yongtang/24547-remove-require-network-from-swarm-tests
Remove testRequires(c, Network) from swarm integration tests
2016-08-01 13:33:36 +02:00
Sebastiaan van Stijn
3a538aca97 Merge pull request #25268 from allencloud/better-container-kill-log
make container kill debug log readable
2016-08-01 11:36:40 +02:00
unclejack
3d714b5ed5 vendor.sh: bump go-patricia to 2.2.4 to fix leaks
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-08-01 12:21:19 +03:00
Vincent Demeester
56cbfc587f Merge pull request #25269 from allencloud/update-remote-api-docs-about-409
add status code 409 in attach in docs
2016-08-01 09:30:07 +02:00
Yong Tang
59db01049a Better error messages when IP address autodetection fails
This fix tries to improve error messages when IP address
autodetection fails, as is specified in 25141.

Previously, error messages only indicate that multiple IPs
exist when autodetection fails. In this fix, if one
interface consists of multiple addresses or multiple
interfaces consist of addresses, the error messages output
the address names and interface names so that end user could
take notice.

This fix is verified manually.
When multiple addresses exist on multiple interfaces:
```
$ sudo docker swarm init
Error response from daemon: could not choose an IP address
to advertise since this system has multiple addresses on different
interfaces (192.168.186.128 on ens33 and 192.168.100.199 on eth10)
 - specify one with --advertise-addr
```
When multiple addresses exist on single interface:
```
$ sudo docker swarm init
Error response from daemon: could not choose an IP address
to advertise since this system has multiple addresses
on interface ens33 (192.168.186.128 and 192.168.55.199)
- specify one with --advertise-addr
```

This fix fixes 25141.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-31 20:03:30 -07:00
allencloud
b22a291931 add status code 409 in attach in docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-01 01:21:50 +08:00
allencloud
1102ac257b make container kill debug log readable
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-08-01 01:00:38 +08:00
Sebastiaan van Stijn
b38c25ad41 Merge pull request #25224 from michael-holzheu/PR-TestRunSeccompUnconfinedCloneUserns-check
TestRunSeccompUnconfinedCloneUserns: Check for unprivileged_userns_clone
2016-07-31 17:03:36 +01:00
Sebastiaan van Stijn
4640c19a88 Merge pull request #24773 from clnperez/cgroup-warnings
More accurate cgroup error messages
2016-07-31 16:49:47 +01:00
Vincent Demeester
849807d89a Merge pull request #25240 from allencloud/update-command-description-in-CLI
update command description in CLI
2016-07-31 12:56:23 +02:00
Vincent Demeester
c7fcf496af Merge pull request #25239 from dlech/patch-1
Make it clear which parmeter is the user
2016-07-31 08:54:53 +02:00
Adam Walz
18d0c3933b Fix swarm manager node fault tolerance table
In a cluster of 4 nodes, with a majority being 3 nodes, the fault
tolerance should be 1 node.

Signed-off-by: Adam Walz <adam@adamwalz.net>
2016-07-30 21:20:54 -06:00
Yong Tang
85c9ef8a47 Remove testRequires(c, Network) from swarm integration tests
Since 24237 has been merged, it is not necessary to require network
for swarm integration tests (`integration-cli/docker_api_swarm_test.go`)
any more.

This fix removes testRequires(c, Network) from swarm integration
tests.

This fix could be verified by disable networking, and all related
tests pass.

This fix is related to 24547, 24490, 24237.

This fix fixes 24547.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-30 09:59:30 -07:00
Sebastiaan van Stijn
4554e60651 Merge pull request #25066 from lixiaobing10051267/masterErr
Add checking err for IsWindowsClient()
2016-07-30 17:25:08 +01:00
Yong Tang
995128e9eb Output external CAs in swarm mode with docker info
This fix tries to address the issue raised in 25195 where external
CA configurations are not present in `docker info`.

This fix adds the output of external CAs in `docker info` in swarm
mode.

The test is done manually with:
```
docker run -p 8888:8888 -e CXFSSL_ADDRESS=0.0.0.0 -d fabric8/cfssl
docker swarm init --external-ca protocol=cfssl,url=http://172.17.0.2:8888
```

The `docker info` output:
```
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot interval: 10000
  Heartbeat tick: 1
  Election tick: 3
 Dispatcher:
  Heartbeat period: 5 seconds
 CA configuration:
  Expiry duration: 3 months
  External CAs:
    cfssl: https://172.17.0.2:8888
```

This fix fixes 25195.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-30 09:14:16 -07:00
allencloud
6c5988ed8c update command description in CLI
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-31 00:06:18 +08:00
Vincent Demeester
da168a5469 Merge pull request #25254 from allencloud/uppercase-output-in-docker-info
uppercase output in docker info related to swarm mode
2016-07-30 18:00:04 +02:00
Liron Levin
4192fe9c06 Enable to dynamically reload authorization plugins via daemon.config
Following #22729, enable to dynamically reload/remove the daemon
authorization plugins (via standard reloading mechanism).
https://docs.docker.com/engine/reference/commandline/daemon/#daemon-
configuration-file

Daemon must store a reference to the authorization middleware to refresh
the plugin on configuration changes.

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-07-30 14:59:07 +03:00
lixiaobing10051267
e8279afb1a Give the correct link of docker swarm init
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-30 16:33:43 +08:00
allencloud
ac13162464 uppercase output in docker info related to swarm mode
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-30 10:14:44 +08:00
David Lechner
e10ba68bfd Make it clear which parmeter is the user
Using the environment variable here also has the advantage that it can be copied and pasted directly in a terminal and it will work.

Signed-off-by: David Lechner <david@lechnology.com>
2016-07-29 19:08:20 -05:00
Charles Smith
ee355e017d Merge pull request #25182 from sfsmithcha/clarify_join_token
Author Merge add advertise address, clarify join token

CI errors expected.
2016-07-29 16:10:20 -07:00
Charles Smith
1e7219d40f add advertise address, clarify join token
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-29 15:45:34 -07:00
Charles Smith
8b69d50c79 Merge pull request #25197 from sfsmithcha/add_services_guide
author merge: add services guide to manage a swarm
2016-07-29 15:33:34 -07:00
Charles Smith
861d4dc989 add services guide to manage a swarm
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-29 15:01:52 -07:00
Tibor Vass
99525da57c Merge pull request #25243 from allencloud/better-daemon-log-on-graphdriver
use %s instead of %q when format in graphdirver log
2016-07-29 14:33:07 -07:00
John Howard
0eb1323fba Merge pull request #24822 from swernli/skipV1push
Fixing v2 registry restriction for non-linux platforms.
2016-07-29 14:18:47 -07:00
Stefan J. Wernli
f342b27145 Removing old custom RootFS behavior on Windows.
Windows base layers are no longer the special "layers+base" type, so we can remove all the special handling for that.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-07-29 14:15:59 -07:00
Sebastiaan van Stijn
1e6fd0378b Merge pull request #24081 from Microsoft/jjh/signaltofile
Windows: Stack dump to file
2016-07-29 22:09:35 +02:00
Brian Goff
8841f530a1 Merge pull request #25237 from LK4D4/inc_reconcil_timeout
integration: drain node before stop in TestApiSwarmForceNewCluster
2016-07-29 15:05:16 -04:00
Brian Goff
6bf2db574b Merge pull request #24365 from xianlubird/bug/network-list
Change buildEndpointResource params avoid repeat visits resource
2016-07-29 14:54:05 -04:00
allencloud
dec4481e08 use %s instead of %q when format in graphdirver log
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-30 02:12:55 +08:00
Sebastiaan van Stijn
350c0281c5 Merge pull request #24819 from Microsoft/jjh/fix24766
Windows: Block (v2) pulling Linux images
2016-07-29 19:48:38 +02:00
Alexander Morozov
307b7b0d15 integration: drain node before stop in TestApiSwarmForceNewCluster
It's too long to wait for reschedule.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-07-29 10:44:30 -07:00
Tibor Vass
295679cabe Merge pull request #25238 from tiborvass/merge_release_1.12.0
Merge release 1.12.0
2016-07-29 10:44:22 -07:00
Tibor Vass
8af69c7057 Bump VERSION to 1.13.0-dev
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-29 10:25:06 -07:00
Tibor Vass
ae33306b14 1.12.0 CHANGELOG to master
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-29 10:24:36 -07:00
Tibor Vass
adba074489 Bump VERSION to v1.12.0
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8eab29edd8)
2016-07-29 10:23:45 -07:00
Brian Goff
10fcd30a90 Merge pull request #24020 from yongtang/23973-rename-with-linked-container
Fix docker rename with linked containers
2016-07-29 12:24:35 -04:00
Michael Holzheu
87e4e3af68 TestRunSeccompUnconfinedCloneUserns: Check for unprivileged_userns_clone
On Ubuntu and Debian there is a sysctl which allows to block
clone(CLONE_NEWUSER) via "sysctl kernel.unprivileged_userns_clone=0"
for unprivileged users that do not have CAP_SYS_ADMIN.

See: https://lists.ubuntu.com/archives/kernel-team/2016-January/067926.html

The DockerSuite.TestRunSeccompUnconfinedCloneUserns testcase fails if
"kernel.unprivileged_userns_clone" is set to 0:

 docker_cli_run_unix_test.go:1040:
    c.Fatalf("expected clone userns with --security-opt seccomp=unconfined
              to succeed, got %s: %v", out, err)
 ... Error: expected clone userns with --security-opt seccomp=unconfined
              to succeed, got clone failed: Operation not permitted
 : exit status 1

So add a check and skip the testcase if kernel.unprivileged_userns_clone is 0.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-07-29 12:16:03 -04:00
Christy Perez
846f33f93d More accurate cgroup error messages
A kernel may support any of these, but an admin may have unmounted
certain cgroups, so let's include that possibility in the error so
as to avoid users thinking they have a kernel issue.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-07-29 09:50:50 -05:00
Sebastiaan van Stijn
a71033f8e5 Merge pull request #25210 from miaoyq/delete-a-useless-variable
delete a useless variable
2016-07-29 16:05:39 +02:00
Bryan Boreham
68dab9bd09 Use the name of the first unix socket in DOCKER_OPTS
Otherwise the while loop waits forever, checking for
a filename made up of all the names.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2016-07-29 14:04:43 +01:00
Aanand Prasad
aab92ec7ec Better error on 'docker deploy' when not in Swarm mode
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-29 11:12:20 +01:00
Sebastiaan van Stijn
3b7ea4d8c3 Merge pull request #25208 from sdurrheimer/zsh-completion-service-create-update-container-labels
Add zsh completion for 'docker service {create,update} --container-label{-add,-rm}
2016-07-29 09:59:46 +02:00
Sebastiaan van Stijn
d3f32d212b Merge pull request #25207 from sdurrheimer/zsh-completion-remove-swarm-inspect
Remove zsh completion for 'docker swarm inspect'
2016-07-29 09:58:32 +02:00
Yanqiang Miao
87cada6d7f delete a useless variable
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-29 15:34:21 +08:00
Steve Durrheimer
ab95ec3dd9 Add zsh completion for 'docker service {create,update} --container-label{-add,-rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-29 07:54:10 +02:00
Steve Durrheimer
f146f6127c Remove zsh completion for 'docker swarm inspect'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-29 07:41:27 +02:00
Vincent Demeester
3d42bf5f12 Merge pull request #23759 from AkihiroSuda/cobraexec
Migrate exec command to cobra
2016-07-29 07:41:02 +02:00
Vincent Demeester
faf9dac22c Merge pull request #24986 from mlaventure/add-live-restore-to-info
Add live restore to info
2016-07-29 07:37:56 +02:00
Vincent Demeester
0fc062d31e Merge pull request #23969 from tkopczynski/20784-builder-dockerfile-dispatchers-2
Builder dispatchers unit tests
2016-07-29 07:26:48 +02:00
Akihiro Suda
9d9dff3d0d Migrate exec command to cobra
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-29 02:10:36 +00:00
Sebastiaan van Stijn
498cd17427 Merge pull request #24535 from thaJeztah/minor-docs-fixup
docs: cleanup docker update docs
2016-07-29 02:53:01 +02:00
Sebastiaan van Stijn
246d3cdb9a Merge pull request #25189 from aaronlehmann/service-list-counter
service ls: Show tasks from nodes that are not down, not only "ready" nodes
2016-07-29 02:48:43 +02:00
Sebastiaan van Stijn
48569e0a35 Merge pull request #22911 from vdemeester/20033-default-logging-tag-value
Standardize default logging tag value
2016-07-29 02:18:57 +02:00
Daniel Nephin
c0d2f7b338 Remove unnecessary CmdWithArgs
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-28 20:14:14 -04:00
Daniel Nephin
0ec20a3c01 Remove hack from test name.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-28 20:12:36 -04:00
Kenfe-Mickael Laventure
ff62681d59 Add live-restore state to daemon reload event
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-28 17:10:40 -07:00
Kenfe-Mickael Laventure
189aaf8aea Add live-restore state to docker info output
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-28 17:10:40 -07:00
Kenfe-Mickael Laventure
b945422393 Rename config LiveRestore to LiveRestoreEnabled
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-28 17:10:40 -07:00
Justin Cormack
2a84206add Merge pull request #24422 from runcom/osxcross-update
Dockerfile: update osx cross toolchain
2016-07-29 01:03:28 +01:00
Justin Cormack
c388a5bdfa Merge pull request #25034 from thaJeztah/update-swarm-usage
Update usage of "Swarm" for consistency
2016-07-29 01:01:00 +01:00
Alexander Morozov
803e2f285a Merge pull request #24976 from lixiaobing10051267/masterFound2
To break the loop when found in search_test.go
2016-07-28 16:59:46 -07:00
Justin Cormack
a846fa7ac9 Merge pull request #24835 from justincormack/armextlink
Do not default to external linking on arm, i386
2016-07-29 00:57:56 +01:00
Alexander Morozov
ca43efb40e Merge pull request #24502 from allencloud/change-comparison-log-in-container-config
update comparison log in container config
2016-07-28 16:51:11 -07:00
Alexander Morozov
170abb5f7c Merge pull request #24745 from daehyeok/logrus
Refactoring for logrus formatting
2016-07-28 16:50:19 -07:00
Alexander Morozov
4084bf7ad2 Merge pull request #24555 from thaJeztah/to-infinity-and-beyond
Don't set ulimits (nproc) for all init scripts
2016-07-28 16:48:16 -07:00
Alexander Morozov
d8a2568e6b Merge pull request #24663 from hopkings2008/repeated_api
remove the second repeated line cli.api = api since api is a pointer
2016-07-28 16:45:30 -07:00
Alexander Morozov
e43033bc23 Merge pull request #22982 from nalind/log-newlines
Improve logging of long log lines
2016-07-28 16:41:01 -07:00
John Howard
57698cfe79 Merge pull request #25190 from mavenugo/dl
Cherry-pick #25191 to master
2016-07-28 16:30:02 -07:00
Madhu Venugopal
61e59693dc Vendoring libnetwork to avoid a deadlock
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 4f369a74fa)
2016-07-28 15:12:45 -07:00
Aaron Lehmann
614ad95fbb service ls: Show tasks from nodes that are not down, not only "ready" nodes
Currently, the counter only shows tasks on READY nodes. It's more
correct to also count nodes in the other states except DOWN, because
the tasks assocated with those nodes are still assumed to be running for
orchestration purposes. One example of when this could matter is during
a leader failover when agents are in the process of reconnecting.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-28 11:44:28 -07:00
Kenfe-Mickael Laventure
51f21a1674 Handle out-of-sync libcontainerd client on restore
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-28 11:26:07 -07:00
Michael Crosby
42c783ac3a Merge pull request #25185 from crosbymichael/cherry-restore
Check if the container is running if no event
2016-07-28 11:23:26 -07:00
Michael Crosby
2650b1b6ab Check if the container is running if no event
When there is no event for the container it can happen because of a
crash and the container state on the persistent disk will have a
mismatch between what was in `/run` ( machine crash ).

This situation will create an unkillable container in docker because
containerd does not see it and it is not running but docker thinks it is
and you cannot tell it anything different.

This fixes the issue by checking if containerd has the container running
if we do not have an event instead of just returning.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-28 11:17:02 -07:00
Tibor Vass
58d0d5b6b5 Merge pull request #25154 from aaronlehmann/remove-join-tokens-from-info-master
Remove join-tokens from the /info API
2016-07-28 11:08:50 -07:00
Michael Crosby
262063531a Merge pull request #25077 from cpuguy83/fix_TestApiSwarmRestartCluster
Fix race in `TestApiSwarmRestartCluster`
2016-07-28 10:15:31 -07:00
Brian Goff
4804eb700c Use temp dir for integration daemon sockets
Instead of using the bundles dir, which may be mounted in and ultimately
break if using b2d/d4mac/d4win. This makes it much easier to collect
test daemon logs and more natural for use d4mac/d4win users to run tests.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-28 12:53:56 -04:00
Sebastiaan van Stijn
8a8a63aa32 Merge pull request #25137 from justincormack/32bit-seccomp-test
Add a test that the default seccomp profile allows execution of 32 bit binaries
2016-07-28 17:01:04 +02:00
Brian Goff
b09f280161 Merge pull request #25168 from miaoyq/optimize-a-print
optimize a print in `volume/volume.go`
2016-07-28 09:16:17 -04:00
Yanqiang Miao
a503f3ac2f optimize a print in
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update 'optimize-a-print'

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-28 19:20:20 +08:00
Sebastiaan van Stijn
193b036159 Merge pull request #25152 from thaJeztah/re-enable-api-1.25
docs: re-enable API 1.25
2016-07-28 09:38:20 +02:00
Sebastiaan van Stijn
14664beda9 Merge pull request #25020 from jfrazelle/update-non-events
update security non-events
2016-07-28 09:29:51 +02:00
Sven Dowideit
352c720d69 Merge pull request #25156 from londoncalling/docs-v112-getstarted-a
modifed d4mac and d4win download links to stable for v1.12
2016-07-28 17:08:54 +10:00
Victoria Bialas
ef528abcda modifed d4mac and d4win download links to stable for v1.12
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-07-27 18:57:38 -07:00
Aaron Lehmann
96b2a6e548 Remove join-tokens from the /info API
join-tokens are not needed for this endpoint, and should not be as part
of /info

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit d8f3b3f006)
2016-07-27 18:11:51 -07:00
Sebastiaan van Stijn
2b9838eafe docs: re-enable API 1.25
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-28 02:11:34 +02:00
Jess Frazelle
6837cfc13c update non-events
Signed-off-by: Jess Frazelle <jessfraz@google.com>
2016-07-27 19:21:16 -04:00
Arnaud Porterie
95ede360e8 Merge pull request #25013 from dnephin/remove-extraneous-aliases
Remove extraneous mount cli aliases
2016-07-27 22:51:56 +00:00
Sebastiaan van Stijn
f0230049f0 Update usage of "Swarm" for consistency
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-27 23:31:55 +02:00
Sebastiaan van Stijn
1a7d339d36 Merge pull request #24816 from stevvooe/service-ps-over-tasks
cli: `docker service|node|stack ps` instead of tasks
2016-07-27 23:13:28 +02:00
Michael Crosby
297745b1cd Merge pull request #24760 from anusha-ragunathan/plugin-events
Make daemon events listen for plugin lifecycle events.
2016-07-27 13:36:49 -07:00
Daniel Nephin
39a3700c01 Remove extraneous mount aliases.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-27 15:05:31 -04:00
Tibor Vass
b90f6d780a Merge pull request #25131 from mavenugo/restoreln
Vendoring libnetwork to fix #25109
2016-07-27 11:09:27 -07:00
Stephen J Day
0aa4e1e689 cli: docker service|node|stack ps instead of tasks
Rather than conflict with the unexposed task model, change the names of
the object-oriented task display to `docker <object> ps`. The command
works identically to `docker service tasks`. This change is superficial.

This provides a more sensical docker experience while not trampling on
the task model that may be introduced as a top-level command at a later
date.

The following is an example of the display using `docker service ps`
with a service named `condescending_cori`:

```
$ docker service ps condescending_cori
ID                         NAME                  SERVICE             IMAGE   LAST STATE              DESIRED STATE  NODE
e2cd9vqb62qjk38lw65uoffd2  condescending_cori.1  condescending_cori  alpine  Running 13 minutes ago  Running        6c6d232a5d0e
```

The following shows the output for the node on which the command is
running:

```console
$ docker node ps self
ID                         NAME                  SERVICE             IMAGE   LAST STATE              DESIRED STATE  NODE
b1tpbi43k1ibevg2e94bmqo0s  mad_kalam.1           mad_kalam           apline  Accepted 2 seconds ago  Accepted       6c6d232a5d0e
e2cd9vqb62qjk38lw65uoffd2  condescending_cori.1  condescending_cori  alpine  Running 12 minutes ago  Running        6c6d232a5d0e
4x609m5o0qyn0kgpzvf0ad8x5  furious_davinci.1     furious_davinci     redis   Running 32 minutes ago  Running        6c6d232a5d0e
```

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-27 11:06:42 -07:00
Justin Cormack
93bbc76ee5 Add a test that the default seccomp profile allows execution of 32 bit binaries
While testing #24510 I noticed that 32 bit syscalls were incorrectly being
blocked and we did not have a test for this, so adding one.

This is only tested on amd64 as it is the only architecture that
reliably supports 32 bit code execution, others only do sometimes.

There is no 32 bit libc in the buildpack-deps so we cannot build
32 bit C code easily so use the simplest assembly program which
just calls the exit syscall.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-27 18:42:34 +01:00
Aaron Lehmann
a861255ac2 Merge pull request #25010 from sfsmithcha/change_rolling_update
update rolling update tutorial to reflect default parallelism
2016-07-27 10:13:16 -07:00
Charles Smith
6440cacd49 update rolling update tutorial to reflect default parallelism and update on failure
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-27 09:36:05 -07:00
Brian Goff
abf0e9f071 Merge pull request #25111 from coolljt0725/fix_25110
Fix daemon panic on restoring containers
2016-07-27 11:43:45 -04:00
Madhu Venugopal
b1ae883d3f Vendoring libnetwork to fix #25109
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-27 08:41:46 -07:00
Kenfe-Mickael Laventure
e1a61dc264 Attach stdin after attach stdout/err to avoid an rpc lock
Reason of the lock is currently unknown

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-27 07:48:52 -07:00
Sebastiaan van Stijn
2c947a4b00 Merge pull request #25067 from lixiaobing10051267/masterBreak
Add break after found = true
2016-07-27 14:44:13 +02:00
Sven Dowideit
296378d575 Merge pull request #25120 from thaJeztah/put-back-1.12-links
Add back links to 1.12 release in deprecated.md
2016-07-27 21:48:10 +10:00
Sven Dowideit
415ef83e02 Merge pull request #25119 from thaJeztah/pre-1.12-ga-fixes
Remove release-candidate advisories
2016-07-27 21:43:37 +10:00
Sebastiaan van Stijn
e07ff10f70 Merge pull request #25104 from cpuguy83/fix_TestApiSwarmRaftQuorum
fix race in TestApiSwarmRaftQuorum
2016-07-27 12:50:09 +02:00
Vincent Demeester
ef63637b99 Merge pull request #25107 from stevvooe/cleanup-leader-election-test
integration-cli: cleanup leader election tests
2016-07-27 12:47:33 +02:00
Vincent Demeester
6857c0a040 Merge pull request #25057 from lixiaobing10051267/masterTestChtimes
Modify func name from TestChtimes to TestChtimesLinux
2016-07-27 11:58:04 +02:00
Vincent Demeester
468ca5bb08 Merge pull request #25071 from yongtang/07252016-docs-bundlefile-example
Add a bundlefile example in the documentation
2016-07-27 11:56:38 +02:00
Vincent Demeester
ffd96a7c73 Merge pull request #25080 from crosbymichael/build-directive
Move directive out of globals
2016-07-27 11:35:25 +02:00
Sebastiaan van Stijn
cd69b94241 Add back links to 1.12 release in deprecated.md
These links were temporarily changed, because the
docs were published before the 1.12.0 tag was
available.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-27 11:30:42 +02:00
Sebastiaan van Stijn
fb7edde4f2 Merge pull request #25118 from thaJeztah/various-docs-fixes
fix minor docs issues
2016-07-27 11:27:34 +02:00
Sebastiaan van Stijn
053ac127ab Remove release-candidate advisories
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-27 11:24:16 +02:00
Sebastiaan van Stijn
d8434eba46 fix minor docs issues
this brings back the trailing whitespace in "runmetrics",
that were there intentially to force a line-break

also removes a duplicate redirect, that was present
on two pages

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-27 11:09:57 +02:00
Sebastiaan van Stijn
d8c9fd0af9 Merge pull request #24970 from sfsmithcha/daemonless_containers
add doc for live-restore setting and daemonless containers, fix admin…
2016-07-27 11:00:15 +02:00
Sebastiaan van Stijn
59e341667f Merge pull request #24955 from sfsmithcha/add_how_services_work
add how services work to how swarm mode works guide
2016-07-27 10:59:08 +02:00
Lei Jitang
c75de8e33c Fix daemon panic on restoring containers
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-26 22:52:52 -04:00
Brian Goff
5d65ba4ca7 Merge pull request #25085 from aaronlehmann/restart-delay-integration-tests
Specify a lower restart delay for swarm integration tests
2016-07-26 22:18:28 -04:00
Brian Goff
ebeee32b4e Merge pull request #25084 from yongtang/25029-flaky-TestSwarmNodeTaskListFilter
Fix flaky TestSwarmNodeTaskListFilter by waiting for task fully deployed
2016-07-26 22:16:54 -04:00
Stephen J Day
946e23776b integration-cli: cleanup leader election tests
Ensure convergence before moving on with testing leader election
conditions. This reduce the flakiness of this test when run in different
environments.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-26 19:12:27 -07:00
lixiaobing10051267
1df9f0932e Modify func name from TestChtimes to TestChtimesLinux
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>

Modify func note

Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-27 10:05:59 +08:00
Brian Goff
4a856d7a87 fix race in TestApiSwarmRaftQuorum
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-26 21:32:56 -04:00
Brian Goff
bb27d017f3 Merge pull request #25086 from dmcgowan/overlay2-fix-sub-directory-whiteouts
Fix overlay2 sub directory whiteouts
2016-07-26 20:45:41 -04:00
Alexander Morozov
646f04799c Merge pull request #25053 from AkihiroSuda/fixPluginPanic
Fix pkg/plugins TLSConfig panic
2016-07-26 16:49:49 -07:00
msabansal
aad25801c0 Fixing support for nat to choose a subnet automatically
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-07-26 16:08:42 -07:00
johnharris85
7f2a2b22fc Fix broken gem instructions.
Signed-off-by: John Harris <john@johnharris.io>
2016-07-26 15:53:11 -07:00
Michael Crosby
5c18c207cb Merge pull request #25094 from crosbymichael/remvoe-systemd-require
Remove the Require on the socket for the rpm
2016-07-26 15:01:19 -07:00
Michael Crosby
3cddda3bbb Remove the Require on the socket for the rpm
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-26 14:56:27 -07:00
Brian Goff
3b8ef038c1 Merge pull request #25083 from mapk0y/fix-doc-ipaddress
fixes the ipaddress of the explanation.
2016-07-26 16:07:51 -04:00
Aaron Lehmann
c93c649258 Specify a lower restart delay for swarm integration tests
If no restart delay is specified for a swarm service, the default
restart delay is 5 seconds. This is a reasonable value for actual
deployments - one example of where it's useful is that if a bad image is
specified, the orchestrator will wait 5 seconds between attempts to
restart it instead of restarting it in a tight loop.

In integration tests, this 5 second delay is dead time. The tests run
faster if the delay is reduced. Set it to 100 ms to avoid the waste of
time.

This appears to speed up a few tests:

DockerSwarmSuite.TestApiSwarmForceNewCluster 37.241s -> 34.323s
DockerSwarmSuite.TestApiSwarmRestartCluster  22.038s -> 15.545s
DockerSwarmSuite.TestApiSwarmServicesMultipleAgents 24.456s -> 19.853s
DockerSwarmSuite.TestApiSwarmServicesStateReporting 19.240s -> 10.049s

...a small step towards making the Swarm integration tests run in a
reasonable amount of time.

Also, change the update delay for the rolling update test from 8 seconds
to 4 seconds, which should be sufficient to differentiate between
batches of updated tasks. This reduces the runtime for
DockerSwarmSuite.TestApiSwarmServicesUpdate from 28s to 20s.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-26 12:12:43 -07:00
Derek McGowan
1c0f6653ba Fix files in subdirectories creating bad whiteout
Closes #23863

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-26 12:03:55 -07:00
Derek McGowan
5c05b8447d Update diff apply test to check sub directories
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-26 12:03:55 -07:00
Yong Tang
63c0366bc9 Fix flaky TestSwarmNodeTaskListFilter by waiting for task fully deployed
This is an attempt to fix the flaky test of TestSwarmNodeTaskListFilter in 25029.

Basically this fix adds a check to wait until 3 containers has already up,
before processing `node tasks ...`.

This might fix 25029.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-26 11:56:58 -07:00
Yong Tang
796636716d Label containers with stack name when deploying stack/bundle
This fix tries to address the issue raised in 24881 where
the stack name is not visable when inspecting containers
deployed through stacks.

This fix adds `labelNamespace` (`com.docker.stack.namespace`)
to containers at the client side so that the stack name label
will show up after containers are deployed.

This fix is tested manually:
 - Build the binary with `make DOCKER_EXPERIMENTAL=1`
 - Create a bundle file and deploy with the `docker stack deploy`
 - Verify that `com.docker.stack.namespace` has been
set properly by checking contaners with `docker inspect <ContainerID>`

This fix fixes 24881.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-26 11:53:39 -07:00
Brian Goff
fdcde8bb65 Fix race in TestApiSwarmRestartCluster
In `TestApiSwarmRestartCluster`, it's calling `checkClusterHealth`.
`checkClusterHealth` calls `d.info()`, which will return an error if
there is no cluster leader... problem is `checkClusterHealth` is doing a
nil error assertion w/o giving any time for a leader to be elected.

This moves the `d.info()` call into a `waitAndAssert` using the default
reconciliation timeout.

It also moves some other checks into a `waitAndAssert` to give the
cluster enough time to come back up.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-26 14:37:18 -04:00
Charles Smith
08d1995fbf Merge pull request #25076 from sfsmithcha/add_manage_nodes_guide
author merge: add swarm manage nodes guide
2016-07-26 11:33:46 -07:00
mapk0y
a94b48923e fix the ipaddress of an explanation.
Signed-off-by: mapk0y <mapk0y@gmail.com>
2016-07-27 03:17:32 +09:00
Anusha Ragunathan
42abccb841 Make daemon events listen for plugin lifecycle events.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-26 10:51:47 -07:00
Charles Smith
bef36fba40 add how services work to how swarm mode works guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-26 10:44:19 -07:00
John Howard
755be795b4 Move directive out of globals
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-26 10:35:33 -07:00
Charles Smith
704facbbab add swarm manage nodes guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-26 10:25:05 -07:00
Vincent Demeester
4e3d6e36a6 Merge pull request #25068 from cpuguy83/fix_test_parse_words
Fix issue with test ordering for TestParseWords
2016-07-26 18:27:54 +02:00
Sebastiaan van Stijn
3c4d3b2cac Merge pull request #25033 from anusha-ragunathan/plugin-restart
Check for plugin state before enabling plugin.
2016-07-26 18:24:02 +02:00
lixiaobing10051267
8928677ea2 Add break after found = true
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-26 23:28:44 +08:00
Brian Goff
df167d3ff0 Fix issue with test ordering for TestParseWords
`TestParseWords` needs to use the `tokenEscape` for one of the test
cases, but `tokenEscape` was not being set unless tests ran in a
specific order.
This sets a default value for `tokenEscape`... `\`... so that tests that
rely on this global are not affected by test ordering.

This is the simplest fix for these cases. Ideally the token should not
be set as a global but rather passed down, which is a much larger
change.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-26 10:50:12 -04:00
lixiaobing10051267
b4833e3b3d add to check err
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-26 21:43:32 +08:00
Sebastiaan van Stijn
1e83886dd5 Merge pull request #24950 from dnephin/make-manpages-in-container
Make manpages in a container when creating deb/rpm
2016-07-26 14:34:14 +02:00
Sebastiaan van Stijn
00295c4bb3 Merge pull request #25060 from albers/completion-swarm-inspect
Remove bash completion for `docker swarm inspect`
2016-07-26 13:56:11 +02:00
Harald Albers
34d9a82409 Remove bash completion for docker swarm inspect
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-26 04:51:27 -07:00
Sebastiaan van Stijn
238ecaf008 Merge pull request #25059 from albers/completion-service-labels
bash completion for container labels to `service {create,update}`
2016-07-26 13:51:02 +02:00
Harald Albers
13c138ec2a bash completion for container labels to service {create,update}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-26 04:45:57 -07:00
Tibor Vass
bad654b00c Merge pull request #25051 from dmcgowan/fix-untag-without-force-while-container-running
Fix untag without force while container running
2016-07-26 02:12:10 -07:00
Akihiro Suda
b1e71bdd1d Fix pkg/plugins TLSConfig panic
Fix #25046

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-26 08:53:54 +00:00
Tibor Vass
9fc2eee2b5 Merge pull request #25050 from aaronlehmann/vendor-swarmkit-rc5
Vendor swarmkit for 1.12.0-rc5
2016-07-26 01:47:34 -07:00
Vincent Demeester
f0173abd36 Merge pull request #25047 from aaronlehmann/unsafe-flag-updates
service update: Don't assume existing pointers in spec are valid
2016-07-26 10:14:29 +02:00
Tibor Vass
9ee430fcf5 Merge pull request #25042 from tiborvass/carry-24492
Carry 24492: Remove swarm inspect and use info instead
2016-07-26 01:11:37 -07:00
Tibor Vass
7bb9676a2b Merge pull request #25043 from stevvooe/forked-pull-context
container/controller: avoid cancellation with forked pull context
2016-07-26 01:01:09 -07:00
Derek McGowan
1f7a9b1ab3 Fix untag without force while container running
With digests being added by default, all images have multiple references.
The check for whether force is required to remove the reference should use the new check for single reference which accounts for digest references.
This change restores pre-1.12 behavior and ensures images are not accidentally left dangling while a container is running.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-26 00:45:39 -07:00
Aaron Lehmann
60496af711 Vendor swarmkit for 1.12.0-rc5
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-26 00:45:07 -07:00
Aaron Lehmann
f9c920a126 service update: Don't assume existing pointers in spec are valid
When updating values in the spec according to CLI flags, don't write
into the existing pointers. They may be nil. Instead, update them to
point to the new value we're writing.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-25 23:56:50 -07:00
Tibor Vass
8ad9438ede Address some displaying issues in docker info
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:07:39 -07:00
Tibor Vass
4144e11d32 Merge pull request #25041 from mavenugo/rip
Vendoring libnetwork to remove stale xfrm states
2016-07-25 23:05:58 -07:00
Tibor Vass
5a8f2ac86e Merge pull request #25038 from tiborvass/carry-25001
Carry 25001: Add container labels to service create/update
2016-07-25 23:05:20 -07:00
Tibor Vass
3c038318e5 Merge pull request #25021 from dmcgowan/fix-24951
Fix calculation of relative path for symlink on docker save
2016-07-25 22:24:45 -07:00
Tibor Vass
301eba03e1 Merge pull request #25036 from nishanttotla/describe-function-update-executor
Using map to list plugins in node description
2016-07-25 22:19:33 -07:00
Stephen J Day
d8d71ad5b9 container/controller: avoid cancellation with forked pull context
Context cancellations were previously causing `Prepare` to fail
completely on re-entrant calls. To prevent this, we filtered out cancels
and deadline errors. While this allowed the service to proceed without
errors, it had the possibility of interrupting long pulls, causing the
pull to happen twice.

This PR forks the context of the pull to match the lifetime of
`Controller`, ensuring that for each task, the pull is only performed
once. It also ensures that multiple calls to `Prepare` are re-entrant,
ensuring that the pull resumes from its original position.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-25 21:52:10 -07:00
Tibor Vass
1afa819593 Merge pull request #24967 from mavenugo/eligiblenet
improve error message when using ineligible network with service create
2016-07-25 21:02:24 -07:00
Vincent Demeester
e6923f6d75 Remove swarm inspect and use info instead
Remove the swarm inspect command and use docker info instead to display
swarm information if the current node is a manager.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-25 20:31:10 -07:00
Tibor Vass
e3c150bd47 vendor engine-api to a52656d77f09d394104c1639824eada038bfdb89
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 20:31:10 -07:00
Tibor Vass
a6a261261d Merge pull request #25030 from stevvooe/allow-cancellation-propagation
swarm/controller: allow cancellation to propagate
2016-07-25 19:50:32 -07:00
Madhu Venugopal
6a754a4eef Vendoring libnetwork to remove stale xfrm states
When using encrypted vxlan network, some of the xfrm states are left
stale. This fix also filters out self advertise-addr rules.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-25 19:44:07 -07:00
Anusha Ragunathan
b867f6c6e1 Check for plugin state before enable and disable.
This prevents unnecessary API call to containerd.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-25 19:24:28 -07:00
Tibor Vass
e462b4507a Prevent panic on update --container-label-add
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 19:17:06 -07:00
Vincent Demeester
4031d70d1b Add container labels to service create/update
Swarm mode makes it possible through the API to set labels to containers
but not through command line. This tries to fix it.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-25 18:57:02 -07:00
Stephen J Day
d99c6b837f swarm/controller: allow cancellation to propagate
Ensure that cancellation of a pull propagates rather than continuing to
container creation. This ensures that the `Prepare` method is properly
re-entrant.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-25 18:31:24 -07:00
Tibor Vass
afac3361dc Merge pull request #25023 from cpuguy83/25022_fix_label_panic
fix panic on --label-add
2016-07-25 18:13:15 -07:00
Nishant Totla
feedb7ab5a Using map to list plugins in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-07-25 17:45:32 -07:00
Brian Goff
a4634cd8a8 Merge pull request #24545 from runshenzhu/health-check
swarm: block controller.Start until container is healthy
2016-07-25 20:32:27 -04:00
Tibor Vass
8c7468bf3b Merge pull request #24856 from tiborvass/remove-status-2-from-healthcheck
healthcheck: do not interpret exit code 2 as "starting"
2016-07-25 16:34:43 -07:00
Brian Goff
85bc3194aa fix panic on --label-add
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-25 19:20:44 -04:00
runshenzhu
a99db84b4a extend health check to start service
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
Signed-off-by: Runshen Zhu <runshen.zhu@gmail.com>
2016-07-25 15:49:22 -07:00
Tibor Vass
ebb157ec46 Merge pull request #25018 from nishanttotla/stable-node-description-swarmkit
Sort plugin names in node description
2016-07-25 15:45:25 -07:00
Tibor Vass
91e9f38313 healthcheck: do not interpret exit code 2 as "starting"
Instead reserve exit code 2 to be future proof, document that it should
not be used. Implementation-wise, it is considered as unhealthy, but
users should not rely on this as it may change in the future.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 14:28:45 -07:00
Vincent Demeester
8f11896a45 Merge pull request #24949 from Microsoft/jjh/tasklist-tlist
Windows: nanoserver TestBuildCmdShellArgsEscaped
2016-07-25 22:58:09 +02:00
Derek McGowan
5487881e12 Fix calculation of relative path for symlink on docker save
Relative paths are now calculated from a base path rather than from the file path, which gets treated like a directory.
Symlinks will now properly point to the file as "../<layer dir>/layer.tar" rather the incorrect "../../<layer dir>/layer.tar".

Fixes #24951

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-25 13:28:10 -07:00
Yong Tang
e68a4b18e9 Add a bundlefile example in the documentation
There is no example bundlefile in the documentation
so a bundlefile example has been added. This should
help in case user don't want to search inside the
source code.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-25 12:37:56 -07:00
Nishant Totla
227c7e4e8d Sort plugin names in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-07-25 10:38:24 -07:00
Sebastiaan van Stijn
e306466569 Merge pull request #24857 from abronan/swarm_admin_docs
Swarm docs: add administration guide for Managers and Raft
2016-07-25 19:28:21 +02:00
Alexandre Beslic
24f87f26e7 swarm docs: add administration guide for Managers and Raft
This adds a guide with recommendations on how to setup
Managers and keep the Swarm cluster healthy.

Signed-off-by: Alexandre Beslic <alexandre.beslic@gmail.com>
2016-07-25 10:25:33 -07:00
Sebastiaan van Stijn
caedb3f827 Merge pull request #24207 from sfsmithcha/add_swarm_mode_guide
add run swarm mode guide
2016-07-25 19:21:01 +02:00
Tibor Vass
c65925f24b Merge pull request #24943 from aaronlehmann/rolling-updates
Add failure action for rolling updates
2016-07-25 10:15:28 -07:00
Tibor Vass
79de4d2186 Merge pull request #24908 from jhorwit2/jah/24903
Treat HEALTHCHECK NONE the same as not setting a healthcheck
2016-07-25 10:14:38 -07:00
Sebastiaan van Stijn
1315573093 Merge pull request #25012 from aanand/entrypoint-note
Add note about --entrypoint overriding default command
2016-07-25 19:11:24 +02:00
Charles Smith
c406711cc0 add run swarm mode guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-25 10:10:11 -07:00
Michael Crosby
b6197e9514 Merge pull request #24942 from anusha-ragunathan/plugin-liverestore
Handle plugin shutdown when liveRestore is set.
2016-07-25 09:49:34 -07:00
Michael Crosby
e95d0b6bf1 Merge pull request #24984 from mlaventure/fix-restore-without-restore
Fix restoring behavior when live-restore is not set
2016-07-25 09:49:12 -07:00
Tibor Vass
087ca1b3b7 Merge pull request #24917 from aluzzardi/improve-service-error-reporting
service tasks: Improve error reporting
2016-07-25 09:44:08 -07:00
Charles Smith
cbd07495a3 add doc for live-restore setting and daemonless containers, fix admin guide menu
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-25 09:29:57 -07:00
Aanand Prasad
2b7548f972 Add note about --entrypoint overriding default command
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-25 17:21:23 +01:00
Aaron Lehmann
57ae29aa74 Add failure action for rolling updates
This changes the default behavior so that rolling updates will not
proceed once an updated task fails to start, or stops running during the
update. Users can use docker service inspect --pretty servicename to see
the update status, and if it pauses due to a failure, it will explain
that the update is paused, and show the task ID that caused it to pause.
It also shows the time since the update started.

A new --update-on-failure=(pause|continue) flag selects the
behavior. Pause means the update stops once a task fails, continue means
the old behavior of continuing the update anyway.

In the future this will be extended with additional behaviors like
automatic rollback, and flags controlling parameters like how many tasks
need to fail for the update to stop proceeding. This is a minimal
solution for 1.12.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-25 08:51:19 -07:00
Madhu Venugopal
3e7d864925 Merge pull request #25003 from thaJeztah/make-network-error-less-DRY
make network errors less DRY
2016-07-25 08:47:29 -07:00
Madhu Venugopal
40c88b8c54 improve error message when using ineligible network with service create
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-25 08:31:22 -07:00
Josh Horwitz
4016038bd3 Treat HEALTHCHECK NONE the same as not setting a healthcheck
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2016-07-25 11:11:14 -04:00
Brian Goff
19ec73b8b5 Merge pull request #24997 from WeiZhang555/fix-unmeaningful-log
small nit: fix unmeaningful log
2016-07-25 10:33:57 -04:00
Zhang Wei
af8359562c small nit: fix unmeaningful log
Truncated dir name can't give any useful information, print whole dir
name will.

Bad debug log is like this:

```
DEBU[2449] aufs error unmounting /var/lib/doc: no such file or directory
```

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-07-26 07:10:28 +08:00
Sebastiaan van Stijn
3fa9d77bf3 make network errors less DRY
There's existing code to generate these
kind of errors, so make the errors added
in commit cc493a52a4
less DRY.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-25 16:22:08 +02:00
Vincent Demeester
e64f5f97fc Merge pull request #25002 from thaJeztah/add-new-errors-to-api-docs
Add new error to API docs
2016-07-25 16:00:36 +02:00
Brian Goff
11501fa60c Merge pull request #23908 from capkurmagati/fix-docker-stats
Fix high cpu usage caused by docker stats.
2016-07-25 09:54:00 -04:00
Sebastiaan van Stijn
42f2205184 Merge pull request #23844 from tjanez/docs-systemd-expand
Expand instructions on using systemd to manage containers
2016-07-25 14:39:45 +02:00
Sebastiaan van Stijn
b0089e4827 Add new error to API docs
Commit cc493a52a4 added
a constraint to network connect/disconnect operations
on "Swarm scoped" networks.

This adds those errors to the API documentation. Also
changes the error to lowercase for consistency.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-25 12:04:55 +02:00
Vincent Demeester
3056e4884e Merge pull request #24990 from mavenugo/rc5ln
Vendoring libnetwork for rc5
2016-07-25 11:43:59 +02:00
Sebastiaan van Stijn
cc493a52a4 Merge pull request #24988 from mavenugo/snconnect
Prevent network connect/disconnect on swarm scoped networks
2016-07-25 10:46:45 +02:00
Sebastiaan van Stijn
4b94a6cb16 Merge pull request #24991 from everett-toews/fix-AuthzPlugin
Fix AuthzPlugin URL fragment in docs
2016-07-25 10:32:03 +02:00
Vincent Demeester
bff9a0556f Merge pull request #24961 from jstarks/vt_th2_fix
Windows: Restore console mode on set mode failure
2016-07-25 09:49:34 +02:00
Vincent Demeester
1f3b400d3c Merge pull request #24977 from lixiaobing10051267/masterNote
Modify several fun notes in fsnotify.go
2016-07-25 09:41:17 +02:00
Vincent Demeester
40044cb18f Merge pull request #24963 from allencloud/fix-typos
fix typos
2016-07-25 09:39:48 +02:00
Vincent Demeester
642925f69b Merge pull request #24994 from sdurrheimer/zsh-completion-swarm-join-token
Add zsh completion for 'docker swarm join-token' command
2016-07-25 09:37:44 +02:00
Steve Durrheimer
a04bba8b89 Add zsh completion for 'docker swarm join-token' command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-25 08:39:33 +02:00
Everett Toews
c42fbc6b09 Fix AuthzPlugin URL fragment in docs
These docs have AuthzPlugin with a lower case 'z'. What the plugin
api is actually looking for is AuthZPlugin with an upper case 'Z'.

See 46e3a249a1/pkg/authorization/api.go (L5-L8)

Signed-off-by: Everett Toews <everett.toews@rackspace.com>
2016-07-24 23:03:19 -05:00
Madhu Venugopal
56b78ab2f2 Vendoring libnetwork for rc5
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-24 20:08:00 -07:00
Madhu Venugopal
8f9066c468 Prevent network connect/disconnect on swarm scoped networks
Swarm handles service updates quite differently and also it doesnt
support worker driver network operations. Hence prevent containers from
connecting to swarm scoped networks

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-24 15:34:45 -07:00
Aaron Lehmann
3585026c3a Revendor engine-api
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 11:13:13 -07:00
Aaron Lehmann
9c1be541ff Merge pull request #24237 from aaronlehmann/listen-addr
Split advertised address from listen address; change address detection strategy
2016-07-24 11:03:14 -07:00
Madhu Venugopal
d3af5e3d4b Daemon changes to pass exec-root to libnetwork
This is required to make the libnetwork's namespace mgmt
directory configurable

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-24 09:23:39 -07:00
Aaron Lehmann
fca0b18dcb Require listen address and advertise address to be an IP address or an interface name
Hostnames are not supported for now because libnetwork can't use them
for overlay networking yet.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 09:23:38 -07:00
Aaron Lehmann
a0ccd0d42f Split advertised address from listen address
There are currently problems with "swarm init" and "swarm join" when an
explicit --listen-addr flag is not provided. swarmkit defaults to
finding the IP address associated with the default route, and in cloud
setups this is often the wrong choice.

Introduce a notion of "advertised address", with the client flag
--advertise-addr, and the daemon flag --swarm-default-advertise-addr to
provide a default. The default listening address is now 0.0.0.0, but a
valid advertised address must be detected or specified.

If no explicit advertised address is specified, error out if there is
more than one usable candidate IP address on the system. This requires a
user to explicitly choose instead of letting swarmkit make the wrong
choice. For the purposes of this autodetection, we ignore certain
interfaces that are unlikely to be relevant (currently docker*).

The user is also required to choose a listen address on swarm init if
they specify an explicit advertise address that is a hostname or an IP
address that's not local to the system. This is a requirement for
overlay networking.

Also support specifying interface names to --listen-addr,
--advertise-addr, and the daemon flag --swarm-default-advertise-addr.
This will fail if the interface has multiple IP addresses (unless it has
a single IPv4 address and a single IPv6 address - then we resolve the
tie in favor of IPv4).

This change also exposes the node's externally-reachable address in
docker info, as requested by #24017.

Make corresponding API and CLI docs changes.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 09:23:07 -07:00
Aaron Lehmann
24d2d53f5d Vendor libnetwork and github.com/vishvananda/netlink
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 09:22:36 -07:00
Aaron Lehmann
d626875a94 Revendor swarmkit
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 09:22:32 -07:00
Yong Tang
35418c1455 Add hint of progress to the output of docker build
This fix tries to address the issue raised in 24912 where docker
build only consists of the current step without overall total steps.

This fix adds the overall total steps so that end user could follow
the progress of the docker build.

An additonal test has been added to cover the changes.

This fix fixes 24912.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-24 08:13:58 -07:00
lixiaobing10051267
5ac891cc43 To break the loop when found in search_test.go
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-24 21:09:53 +08:00
Sebastiaan van Stijn
76b27c0808 Merge pull request #24979 from vdemeester/24957-doc-follow-up
Update swarm init task-history-limit docs
2016-07-24 12:58:32 +02:00
Vincent Demeester
180f8c61bb Update swarm init task-history-limit docs
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-24 11:13:06 +02:00
Vincent Demeester
ca663a400c Merge pull request #24957 from aluzzardi/default-history-retention
CLI: Change default Swarm task history retention limit.
2016-07-24 11:11:24 +02:00
Vincent Demeester
3742557ed4 Merge pull request #24932 from thaJeztah/change-to-camelBack-for-consistency
Change "rotate_worker_token" to "rotateWorkerToken"
2016-07-24 10:05:07 +02:00
lixiaobing10051267
ff2c898652 Modify several fun notes in fsnotify.go
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-24 13:35:33 +08:00
Sebastiaan van Stijn
b8a08ddd69 Merge pull request #24872 from stevvooe/mount-aliases
api/client/service: mount option defaults and aliases
2016-07-23 14:02:31 +02:00
Madhu Venugopal
48d0b81181 Merge pull request #24954 from aboch/lnk
Fix regression on --link on bridge network
2016-07-23 04:47:57 -07:00
Vincent Demeester
05f8d51cce Merge pull request #24964 from lixiaobing10051267/masterFlushAll3
Func name wrong in notes of response.go
2016-07-23 11:18:03 +02:00
Sebastiaan van Stijn
8e8580c680 Merge pull request #24960 from aaronlehmann/update-parallelism-docs
Update --update-parallelism docs
2016-07-23 10:35:34 +02:00
lixiaobing10051267
d6556a6ef7 Func name wrong in notes of response.go
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
2016-07-23 16:03:27 +08:00
allencloud
4e959ef2f7 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-23 11:32:23 +08:00
Aaron Lehmann
933ba8d7f7 Update --update-parallelism docs
Update documentation to account for the changes in #24952.

docs/swarm/swarm-tutorial/rolling-update.md doesn't need any changes,
but the CLI reference pages should show the current help text.
drain-node.md no longer needs to specify --update-parallelism 1 in its
example.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-22 19:07:10 -07:00
Aaron Lehmann
aeea20f51e Merge pull request #24952 from stevvooe/update-parallelism-default
api/client/service: default update parallelism to 1
2016-07-22 19:03:24 -07:00
Alessandro Boch
3a3f800ff4 Fix regression on --link on bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-07-22 18:52:46 -07:00
John Starks
83c186fdd4 Windows: Restore console mode on set mode failure
SetConsoleMode() on input handles appears to remember invalid bits that
were set, causing problems for other programs (such as xcopy.exe) trying
to set the console mode after docker.exe has exited. Always restore
the input console mode on set failure.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-07-22 18:34:15 -07:00
Andrea Luzzardi
d97c0a1f25 CLI: Change default Swarm task history retention limit.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-07-22 18:09:54 -07:00
Stephen J Day
67246afd3d api/client/service: default update parallelism to 1
When updates happen, the current behavior is to kill all running
instances and dispatch new tasks. Common use cases for container updates
involve small numbers of containers, meaning the app will go down on
most updates. Setting parallelism to 1 ensures that at most one task
will go down during the update. Services with higher replica counts can
increase this number accordingly to meet their needs.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-22 17:13:58 -07:00
Sebastiaan van Stijn
64e4a40497 Merge pull request #24929 from thaJeztah/remove-secrets-from-docs
Remove "secrets" leftovers from docs
2016-07-23 01:29:58 +02:00
Sebastiaan van Stijn
987511712f Remove "secrets" leftovers from docs
f5e1f6f688 replaced "secrets"
with "join tokens", which also removed the "auto-accept"
policy.

This removes some remaining references to those features.

Note that there are other references, but those
are already addressed in another pull request.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-23 01:28:20 +02:00
Sebastiaan van Stijn
9a3e47511a bump engine-api to ebb728a1346926edc2ad9418f9b6045901810b20
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-23 01:05:45 +02:00
Sebastiaan van Stijn
bd81df1278 Change "rotate_worker_token" to "rotateWorkerToken"
This renames the `rotate_xxx` flags to camelBack, for
consistency with other API query-params, such as
`detachKeys`, `noOverwriteDirNonDir`, and `fromImage`.

Also makes this flag accept a wider range of boolean
values ("0", "1", "true", "false"), and throw an error
if an invalid value is passed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-23 01:04:12 +02:00
Anusha Ragunathan
4a44cf1d4c Handle plugin shutdown when liveRestore is set.
When daemon has liveRestore set, daemon shutdown should not shutdown
plugins. Fixes #24759

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-22 15:26:43 -07:00
Kenfe-Mickael Laventure
ac068a1f9d Fix missing unlock in libcontainerd.Restore()
This was preventing the "exit" event to be correctly processed during
the restore process without live-restore enabled.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-22 15:21:10 -07:00
Kenfe-Mickael Laventure
5231c55346 Prepend libcontainerd log message with "libcontainerd:"
This will make it easier to pinpoint error messages in the daemon
logs.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-22 15:20:14 -07:00
Daniel Nephin
1ea9c19ffe Require manpages for packages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:34:46 -04:00
Daniel Nephin
7004f219f5 Make manpages in a conatiner.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:32:51 -04:00
John Howard
2dba96ca2a Windows: nanoserver tlist not tasklist
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-22 12:55:46 -07:00
Tibor Vass
771cf83807 Merge pull request #24934 from albers/completion-swarm-join-token
bash completion for `docker swarm join-token`
2016-07-22 11:24:25 -07:00
Alexander Morozov
d602391f8a Merge pull request #24936 from Microsoft/jjh/TestRunCleanupCmdOnEntrypoint
Windows: TestRunCleanupCmdOnEntrypoint for nanoserver
2016-07-22 10:25:54 -07:00
Sebastiaan van Stijn
85fdac6e8c Merge pull request #24907 from sfsmithcha/update_tutorial_swarm_token
updates get started with swarm to use join-token
2016-07-22 19:15:41 +02:00
Vincent Demeester
97039324c0 Merge pull request #24885 from vdemeester/24875-registrauth-with
Rename `--registry-auth` to `--with-registry-auth`
2016-07-22 19:05:49 +02:00
John Howard
0d4b8cbdac Windows: TestRunCleanupCmdOnEntrypoint for nanoserver
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-22 09:05:38 -07:00
Harald Albers
42b4d6ebe4 bash completion for docker swarm join-token
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-22 17:39:55 +02:00
Brian Goff
b059a3b820 Merge pull request #24915 from aaronlehmann/reorder-swarm-commands
Reorder swarm commands
2016-07-22 09:29:00 -04:00
Brian Goff
19fd4b4f3a Merge pull request #24930 from thaJeztah/cleanup-completion-scripts
remove "secrets" from completion scripts
2016-07-22 09:08:11 -04:00
Sebastiaan van Stijn
796a19a785 Merge pull request #24918 from Microsoft/jjh/badtestcomment
Fix incorrect test comment
2016-07-22 14:30:18 +02:00
Sebastiaan van Stijn
c4ab20c5f8 remove "secrets" from completion scripts
Swarm join has been changed in f5e1f6f688,
removing various options and the "node accept" command.

This removes the removed options from the completion
scripts.

NOTE: a new command ("docker swarm join-token") was
also added, but is not part of this commit.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-22 14:26:21 +02:00
Sebastiaan van Stijn
01f38dc42c Merge pull request #24924 from yongtang/07222016-improve-no-manager-error
Update the errNoManager() to conform to `swarm join-token`
2016-07-22 12:28:29 +02:00
Sebastiaan van Stijn
ac63413a2c Merge pull request #24919 from Microsoft/jjh/TestRunLookupGoogleDNS
Windows: Fix TestRunLookupGoogleDNS for nanoserver
2016-07-22 11:21:28 +02:00
Sebastiaan van Stijn
de7d2b43a6 Merge pull request #24925 from justincormack/mange
Make README less scabious
2016-07-22 10:53:17 +02:00
Justin Cormack
b2ad59e7bd Make README less scabious
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-22 09:43:08 +01:00
Vincent Demeester
8426f72107 Append --registry-auth with with
`--with-registry-auth` is more explicit.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-22 10:38:56 +02:00
Yong Tang
3d30155735 Update the errNoManager() to conform to swarm join-token
In 24823, `swarm join` has been updated to take a `--token`
flag and flag `--manager` has been removed. Though in errNoManager()
the error message still use the old description.

This fix update the error message in errNoManager() and conforms
to the current available flags.

This fix is related to 24823.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-22 00:32:24 -07:00
John Howard
b63c92bf24 Windows: Stack dump to file
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-21 20:04:47 -07:00
Charles Smith
9ac145d736 updates get started with swarm to use join-token
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-21 19:53:54 -07:00
John Howard
80a63e8a21 Windows: Fix TestRunLookupGoogleDNS for nanoserver
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-21 19:46:17 -07:00
John Howard
b02107db8b Fix bad test comment
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-21 19:39:35 -07:00
Andrea Luzzardi
edd67fd4ad service tasks: Improve error reporting
- Tasks will display all tasks (`-a` is the default and was removed)
- Nest tasks to help display history
- Display task errors inline

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-07-21 19:19:11 -07:00
Dong Chen
1b1a7f29e5 Add integration test for constraints.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-07-21 18:08:49 -07:00
Aaron Lehmann
58ba4c313b Reorder swarm commands
This way "join-token" appears next to "join" in the help output.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-21 18:08:41 -07:00
Tibor Vass
f5e1f6f688 Merge pull request #24823 from aaronlehmann/join-tokens
Replace secrets with join tokens
2016-07-21 18:06:55 -07:00
Stephen J Day
634f54a047 api/client/service: mount option defaults and aliases
Simplifies the mount option usage by providing common aliases for
`source` and `target`. The default mount type is now volume.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-21 17:31:33 -07:00
Aaron Lehmann
aaa0f0b246 Revendor swarmkit
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-21 15:23:03 -07:00
Aaron Lehmann
852091ad41 Revendor engine-api
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-21 15:23:03 -07:00
Aaron Lehmann
2cc5bd33ee Replace secrets with join tokens
Implement the proposal from
https://github.com/docker/docker/issues/24430#issuecomment-233100121

Removes acceptance policy and secret in favor of an automatically
generated join token that combines the secret, CA hash, and
manager/worker role into a single opaque string.

Adds a docker swarm join-token subcommand to inspect and rotate the
tokens.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-21 15:23:03 -07:00
Sebastiaan van Stijn
0a8a6f2dd7 Merge pull request #24871 from thaJeztah/fix-wrong-case-mount-type
Change mount-types to lowercase
2016-07-22 00:03:55 +02:00
Sebastiaan van Stijn
2b3148c720 Merge pull request #24904 from mlaventure/update-dockerfile-containerd-commit
Harmonize containerd commit used by all Dockerfile
2016-07-21 23:18:41 +02:00
Sebastiaan van Stijn
8cbe6541b2 Merge pull request #24572 from yongtang/24534-deprecation-cycle-3-releases
Extend deprecation cycle to 3 releases by default
2016-07-21 21:06:57 +02:00
Brian Goff
8a19c13d32 Merge pull request #24874 from abronan/update_libkv
Vendoring libkv @v0.2.1
2016-07-21 14:28:01 -04:00
Sebastiaan van Stijn
c435045c30 Merge pull request #24846 from michael-holzheu/24748-s390x-update-jessie-glibc
Dockerfile.s390x: Update glibc to proposed-updates 2.19-18+deb8u5
2016-07-21 19:44:54 +02:00
Kenfe-Mickael Laventure
d5cbc57eff Harmonize containerd commit used by all Dockerfile
When #24648 was merged, only the main Dockerfile was updated with the
new containerd commit, this commit brings the other Dockerfile up to
speed.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-21 10:34:30 -07:00
Michael Holzheu
81dc979022 Dockerfile.s390x: Update glibc to proposed-updates 2.19-18+deb8u5
The glibc of Debian Jessie contains the following two bugs:

 https://sourceware.org/git/?p=glibc.git;a=commit;h=890b7a4b33d482b5c768ab47d70758b80227e9bc
 https://sourceware.org/git/?p=glibc.git;a=commit;h=2e807f29595eb5b1e5d0decc6e356a3562ecc58e

The CI tests hang because the bugs affect the gccgo runtime of the
s390x/gcc images.

Now the fixes have been integrated to glibc 2.19-18+deb8u5 in
"proposed-updates" for Debian Jessie:

 https://anonscm.debian.org/cgit/pkg-glibc/glibc.git/log/?h=jessie
 https://release.debian.org/proposed-updates/stable.html

It is expected that the package should be part of the next stable point
release (8.6) in about one to two months from now.

In order to enable CI for s390x earlier, we now explicitely update
the glibc in Dockerfile.s390x to the proposed-updates version.

After Debian 8.6 is released we can remove this change again.

Closes #24748

Suggested-by: Tianon Gravi <admwiggin@gmail.com>
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-07-21 08:48:43 -04:00
Sebastiaan van Stijn
2debfe8435 Merge pull request #24892 from thaJeztah/fix-label-formatting-example
docs: improve formatting and highlighting of docker ps reference
2016-07-21 12:38:45 +02:00
Vincent Demeester
22d020276c Merge pull request #24700 from nishanttotla/pass-registry-auth-on-deploy
Send registry auth token for service deploy
2016-07-21 12:33:33 +02:00
Sebastiaan van Stijn
07ef0a37f8 docs: improve formatting and highlighting of docker ps reference
this improves the formatting, and code-highlighting
of the `docker ps` reference page, and wraps sentences
to 80 chars

also adds single quotes around the formatting
example for labels.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-21 12:27:39 +02:00
Sebastiaan van Stijn
bdf4d9c1cd Merge pull request #24884 from Microsoft/jjh/TestBuildWorkdirWindowsPath
Windows: TestBuildWorkdirWindowsPath hard code fix
2016-07-21 11:42:26 +02:00
Sebastiaan van Stijn
8f93128cd6 Change mount-types to lowercase
these values were changed to lowercase in
690cb2d08c,
but not changed accordingly in docker/docker.

this changes the mounttypes to lowercase

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-21 11:25:42 +02:00
Vincent Demeester
392c546a6a Merge pull request #24888 from fonglh/docs-open-schema-wording
Clarify API behavior when older versions are called.
2016-07-21 10:39:21 +02:00
fonglh
f62e24f697 Clarify API behavior when older versions are called.
Signed-off-by: fonglh <fonglh@gmail.com>
2016-07-21 16:16:46 +08:00
Vincent Demeester
31b3357c06 Merge pull request #24870 from stevvooe/volume-opt
api/client/service: shorten to volume-opt
2016-07-21 09:36:06 +02:00
Vincent Demeester
d458abca4e Merge pull request #24861 from albers/completion-network-driver-macvlan
Add explicit support for macvlan networks to bash completion
2016-07-21 09:22:35 +02:00
John Howard
ceed93a874 Windows: TestBuildWorkdirWindowsPath hard code fix
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-20 21:23:38 -07:00
Alexandre Beslic
5189e3d50d update libkv, fix wrong error check on zookeeper list
Signed-off-by: Alexandre Beslic <alexandre.beslic@gmail.com>
2016-07-20 17:25:39 -07:00
Sebastiaan van Stijn
ccd0d83344 Merge pull request #24866 from thaJeztah/fix-sloppy-copy-pasta
docs: fix copy/pasta error
2016-07-21 02:02:28 +02:00
Stefan J. Wernli
adee28458c Fixing v2 registry restriction for non-linux platforms.
This fixes the hard coded restriction for non-linux platforms to v2 registries.  Previously, the check was above the flag parsing, which would overwrite the hard coded value and prevent correct operation.  This change also removes the related daemon flag from Windows to avoid confusion, as it has no meaning when the value is going to always be hard coded to true.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-07-20 16:14:40 -07:00
Stephen J Day
a40b5820c9 api/client/service: shorten to volume-opt
`volume-driver-opt` was too verbose for its own existence and the sanity
of those in the vicinity. The much better, sleeker `volume-opt` replaces
it. 7 bytes and a case of carpal tunnel syndrome are saved!

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-20 16:08:36 -07:00
Nishant Totla
a26bdd8607 Send registry auth token for service deploy
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-07-20 16:07:07 -07:00
Tõnis Tiigi
ea59668046 Merge pull request #24563 from dperny/test-leader-election
Added leader election test
2016-07-20 16:02:09 -07:00
Sebastiaan van Stijn
8c6c1aaf07 Merge pull request #24842 from thaJeztah/fix-code-highlight
docs: add code-hints to builder page
2016-07-21 00:06:52 +02:00
Sebastiaan van Stijn
83b12c0c11 docs: fix copy/pasta error
Looks like I copied from the line below, not
from the output :)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 23:59:38 +02:00
Sebastiaan van Stijn
eefc17bba1 Merge pull request #24838 from thaJeztah/add-log-options-to-docs
Add missing --log-driver and --log-opt docs
2016-07-20 23:50:10 +02:00
Sebastiaan van Stijn
15ad5b5d09 Merge pull request #24864 from thaJeztah/update-plugin-docs
docs: update reference docs for plugins
2016-07-20 23:48:26 +02:00
Sebastiaan van Stijn
9d532b5e2d docs: update reference docs for plugins
the output/response slightly changed in
340964db1c,
and `:latest` is no longer required for
various actions.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 23:37:55 +02:00
Sebastiaan van Stijn
4b7a83dbce Merge pull request #24853 from Microsoft/jjh/nanoserver
Windows: Allow nanoserver image for CLI
2016-07-20 22:50:08 +02:00
Harald Albers
6c98d5bfac Add manual support for macvlan networks to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-20 13:13:14 -07:00
Vincent Demeester
81ef36c980 Merge pull request #24820 from sfsmithcha/add_how_swarm_works_guide
add how nodes work to how swarm works guide
2016-07-20 22:08:31 +02:00
Brian Goff
053a4b844a Merge pull request #24859 from albers/completion-syslog-driver-options
Update completions for syslog log driver options
2016-07-20 15:47:48 -04:00
Brian Goff
eddb3a2020 Merge pull request #24024 from AkihiroSuda/buildcache2
mount .go-pkg-cache for DOCKER_INCREMENTAL_BINARY
2016-07-20 15:37:39 -04:00
Charles Smith
137261f97c add how nodes work to how swarm works guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-20 12:37:38 -07:00
Harald Albers
492fdf1f57 Update completions for syslog log driver options
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-20 12:35:04 -07:00
Sebastiaan van Stijn
7d84c71500 Merge pull request #24620 from yongtang/24270-service-list-filter
Allow partial name match for service ls --filter, node ls --filter, node tasks --filter
2016-07-20 21:25:06 +02:00
Sebastiaan van Stijn
a9ca19feaa Merge pull request #24523 from sfsmithcha/clarify_rolling_update
clarify update-delay and rolling update behavior
2016-07-20 20:24:18 +02:00
Sebastiaan van Stijn
9fc384cb0b Merge pull request #24852 from thaJeztah/add-stack-services-reference
docs: add initial reference for "stack services"
2016-07-20 20:15:52 +02:00
Charles Smith
68a9224bd4 clarify update-delay and rolling update behavior
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-20 10:11:04 -07:00
John Howard
624e6cdbf3 Windows: Allow nanoserver image for CLI
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-20 09:59:52 -07:00
Sebastiaan van Stijn
f49dc528ed docs: add initial reference for "stack services"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 18:56:49 +02:00
Sebastiaan van Stijn
2a78789ad1 Merge pull request #24266 from allencloud/add_cmd_docker_stack_services_STACKNAME
add command `docker stack services STACKNAME`
2016-07-20 18:38:08 +02:00
Arnaud Porterie
b9c4959882 Merge pull request #24841 from thaJeztah/rename-bundle-flag
[RFC] Rename --bundle to --file
2016-07-20 15:50:54 +00:00
Yong Tang
467107cd40 Vendor swarmkit to 9ee5fc3b8db5de8c8593a57bc45fc178f74ceee1
This commit update swarmkit to 9ee5fc3b8db5de8c8593a57bc45fc178f74ceee1.

This is part of step to fix #24270.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-20 08:16:54 -07:00
Yong Tang
e734fa58ea Allow partial name match for node ls, and node tasks
This fix is an extension to last commit to expand the partial
filter to node and task searches.

Additional integration tests have been added to cover the changes.

This fix fixes 24270.
This fix fixes 24112.

Note: A separate pull request will be opened on swarmkit.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-20 08:16:10 -07:00
Sebastiaan van Stijn
d6d02f652c Merge pull request #24843 from resouer/fix-nits
Fix nits in deprecated
2016-07-20 16:32:47 +02:00
Sebastiaan van Stijn
b5503ef0a5 docs: add code-hints to builder page
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 16:18:44 +02:00
Sebastiaan van Stijn
eb897f490e Merge pull request #24839 from thaJeztah/fix-duplicated-usage
fix duplicated usage in docs
2016-07-20 16:07:35 +02:00
Sebastiaan van Stijn
06f35262c4 Rename --bundle to --file
This renames the '--bundle' flag for docker (stack) deploy
to be consistent with 'docker build'.

Note that there's no shorthand '-f' added for now,
because this may be confusing on 'docker stack config',
which also takes a file, and for which we may want to
have a '--format' flag in future.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 16:03:27 +02:00
Sebastiaan van Stijn
effbd2b76d fix duplicated usage in docs
this removes a copy/pasta whoopsie on my side,
introduced in de64324109

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 15:36:02 +02:00
Sebastiaan van Stijn
5ece2a6e0d Add missing --log-driver and --log-opt docs
Adds documentation for "--log-driver" and "--log-opt"
for services.

Also updated the API docs to include the new
options, and generated a more complete JSON
example.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 14:55:26 +02:00
Doug Davis
3d4bde92b7 Merge pull request #24832 from npcode/fix-service-rm-usage
Fix the usage for `service rm` command
2016-07-20 06:44:34 -04:00
Justin Cormack
4d7038208f Do not default to external linking on arm, i386
Reverts https://github.com/docker/docker/pull/18197

This was a workaround before Go 1.6, not required any more.

cc @nalind @Govinda-Fichtner

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-20 11:21:26 +01:00
Vincent Demeester
5527763f8c Merge pull request #24828 from sdurrheimer/zsh-completion-node-update-label-add-rm
Add zsh completion for 'docker node update --label-{add,rm}'
2016-07-20 11:47:03 +02:00
Vincent Demeester
22c42fc26a Merge pull request #24829 from sdurrheimer/zsh-completion-service-create-update-log-driver-opt
Add zsh completion for 'docker service {create,update} --log-{driver,opt}'
2016-07-20 11:46:56 +02:00
Yi EungJun
cf61cd3a92 Fix the usage for service rm command
Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-07-20 18:27:26 +09:00
Akihiro Suda
389d5cde7b mount .go-pkg-cache for DOCKER_INCREMENTAL_BINARY
The cache was not used when we run `make binary` from the host.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-20 08:20:38 +00:00
Steve Durrheimer
45484f5458 Add zsh completion for 'docker service {create,update} --log-{driver,opt}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-20 09:18:59 +02:00
Steve Durrheimer
cdb8383d7f Add zsh completion for 'docker node update --label-{add,rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-20 09:11:16 +02:00
Dieter Reuter
430bf992d9 Fix typo in comment
Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-07-20 02:05:54 +02:00
Dieter Reuter
84ff895a06 Add a Raspbian specific systemd unit file, use overlay by default
Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-07-20 01:08:19 +02:00
Sebastiaan van Stijn
724c69f060 Merge pull request #24507 from sfsmithcha/doc_node_labels
add ref docs for node label
2016-07-20 00:46:51 +02:00
Charles Smith
9594ac97ce add ref docs for node label
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-19 15:41:00 -07:00
Sebastiaan van Stijn
78eab14d0b Minor refactor and beter coverage for pkg/stringid
This slightly simplifies TruncateID() by only
trimming the string if needed.

Also improved unit-tests for this package;

- Add a test for GenerateNonCryptoID()
- Add a test for shortening a sha-256 ID
- Make TestShortenId() more "unit", by using a fixed string, instead of calling GenerateRandomID()

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-20 00:23:06 +02:00
John Howard
4e3d7ca4ae Windows: Block (v2) pulling Linux images
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-19 14:34:41 -07:00
Brian Goff
a9b392014f Merge pull request #24653 from dongluochen/testrollingupdate
Add integration test for rolling update
2016-07-19 16:51:40 -04:00
Vincent Demeester
f2afd1a906 Merge pull request #24049 from tophj-ibm/remove-lingering-volume-from-tests
DockerExternalVolumeSuite: add daemon to test
2016-07-19 22:39:39 +02:00
Dieter Reuter
6e76b7a7e5 Add support to install Docker on raspbian/jessie
Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-07-19 21:52:34 +02:00
Dong Chen
d327765a62 Test rolling update.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-07-19 12:09:30 -07:00
Sebastiaan van Stijn
4498214a2a Merge pull request #24801 from anusha-ragunathan/plugin-lookup
Remove extra map lookup for volume drivers.
2016-07-19 20:52:39 +02:00
Brian Goff
2ee828aac2 Merge pull request #24802 from vdemeester/stack-docs-and-flags
Add documentation for stack commands
2016-07-19 14:30:49 -04:00
Drew Erny
3489e76513 Added leader election test
Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-07-19 11:29:27 -07:00
Arnaud Porterie
ffba13f435 Merge pull request #24648 from mlaventure/fix-kill-test
Fix TestDaemonRestartWithKilledRunningContainer failures on RHEL systems
2016-07-19 18:24:34 +00:00
Arnaud Porterie
ac26ee15df Merge pull request #23825 from dnephin/auto-gen-man-page
Generate man pages from the Command description
2016-07-19 18:22:01 +00:00
Tibor Vass
39327a67e8 Merge pull request #24804 from crosbymichael/rpm-socket
Remove docker.socket from rpm based systems
2016-07-19 11:18:22 -07:00
Anusha Ragunathan
5d4627331e Remove extra map lookup for volume drivers.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-19 09:35:56 -07:00
Vincent Demeester
10919e8909 Add documentation for stack commands
Also removes the `-f` flags of bundle to follow the single-letter flags
evaluation.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-19 18:32:44 +02:00
Michael Crosby
04104c3a1e Remove docker.socket from rpm based systems
Fixes #23981

The selinux issue we are seeing in the report is related to the socket
file for docker and nothing else. By removing the socket docker starts
up correctly.

However, there is another motivation for removing socket activation from
docker's systemd files and that is because when you have daemons running
with --restart always whenever you have a host reboot those daemons
will not be started again because the docker daemon is not started by
systemd until a request comes into the docker API.

Leave it for deb based systems because everything is working correctly
for both socket activation and starting normally at boot.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-19 09:31:43 -07:00
Daniel Nephin
47cca88c8c Dont run man generation as part of test-unit.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-19 12:00:35 -04:00
Daniel Nephin
25e9b06ac0 Set Long text for volume commands so they can be used to generate man pages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-19 12:00:21 -04:00
Daniel Nephin
00a8a40398 Add a script to generate man pages from cobra commands.
Use the generate.sh script instead of md2man directly.
Update Dockerfile for generating man pages.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-19 12:00:21 -04:00
Kenfe-Mickael Laventure
c02f82756e Update libcontainerd.AddProcess to accept a context
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-19 08:24:39 -07:00
Kenfe-Mickael Laventure
64483c3bda Do not rely on "live" event anymore
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-19 08:24:39 -07:00
Vincent Demeester
6875f71d7c Merge pull request #24776 from anusha-ragunathan/plugins-connect
Add only legacy plugins to the legacy lookup map.
2016-07-19 17:11:50 +02:00
Daniel Nephin
68e52febde Merge pull request #24722 from thaJeztah/update-usage-for-deprecated-flags
Don't automagically add "[OPTIONS]" to usage
2016-07-19 11:01:33 -04:00
Harry Zhang
78a5480dfd Fix nits in deprecated
Signed-off-by: Harry Zhang <harryz@hyper.sh>
2016-07-19 22:42:23 +08:00
Sebastiaan van Stijn
be2e2fca08 Merge pull request #24791 from albers/completion-node-update-labels
bash completion for `docker node update --label-{add,rm}`
2016-07-19 15:22:29 +02:00
Sebastiaan van Stijn
ebca26b4b1 Merge pull request #24792 from albers/completion-service-log-drivers
bash completion for `docker service {create,update} --log-{driver,opt}`
2016-07-19 15:19:55 +02:00
Phil Estes
8a766b859f Merge pull request #24741 from dsau/24704-create-zfs-directory
Create zfs directory if it doesn't exist at startup.
2016-07-19 13:22:54 +01:00
Harald Albers
823e161de7 bash completion for docker service {create,update} --log-{driver,opt}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-19 13:20:40 +02:00
Harald Albers
bc6e3c0b5e bash completion for docker node update --label-{add,rm}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-19 13:09:28 +02:00
Lei Jitang
5c53fd468b Merge pull request #24784 from doronp/UseHTTPCodes
Use const http status code instead of just numbers see #24783
2016-07-19 19:02:42 +08:00
Vincent Demeester
cf8f2a5037 Merge pull request #24747 from thaJeztah/bump-golang-to-1.6.3
Bump Go to 1.6.3
2016-07-19 09:42:25 +02:00
Doron Podoleanu
6bec735c91 Use const http status code instead of just numbers see #24783
Signed-off-by: Doron Podoleanu <doronp@il.ibm.com>
2016-07-19 10:40:20 +03:00
Sebastiaan van Stijn
5fe3e006e4 Merge pull request #24782 from tonistiigi/load-sec
Update docker load security docs
2016-07-19 09:06:27 +02:00
allencloud
4b21b411ec add command docker stack services STACKNAME
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-19 14:21:58 +08:00
Sebastiaan van Stijn
dc0d6040e4 Merge pull request #24397 from dongluochen/nodelabels
support node label update
2016-07-19 07:55:24 +02:00
Brian Goff
f49fdb9d0b Merge pull request #24755 from thaJeztah/fix-error-message
update "image delete" error to match actual behavior
2016-07-18 22:47:55 -04:00
Tonis Tiigi
f17469e890 Update docker load security docs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-18 19:16:15 -07:00
Tibor Vass
1796680381 Merge pull request #24476 from stevvooe/services-log-driver-support
swarm: add log driver support for services
2016-07-18 19:08:12 -07:00
Dong Chen
e1165cdfd1 Support node label update.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-07-18 18:39:52 -07:00
Yong Tang
1d600ebcb5 Allow partial name match for service ls --filter
This fix tries to address the issue raised in 24270 where it was
not possible to have a partial name match when list services
with name filter.

This fix updates swarmkit and allows prefix search when name is
provided as the filter for listing services.

An additional integration test is added to cover the changes.

This fix fixes 24270.

Note: A separate pull request will be opened on swarmkit.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-18 17:53:08 -07:00
Damian Smyth
205bc6fc99 Create zfs directory if it doesn't exist at startup.
Signed-off-by: Damian Smyth <damian@dsau.co>
2016-07-19 10:12:22 +10:00
Tibor Vass
e6a97db2c9 Merge pull request #23878 from jstarks/fix_windows_console
Windows: Always enable VT emulation
2016-07-18 16:23:04 -07:00
Sebastiaan van Stijn
340964db1c Merge pull request #24692 from anusha-ragunathan/plugins-ux
Print plugin name on successful install, enable and disable.
2016-07-19 01:09:35 +02:00
Anusha Ragunathan
8fd779dc28 Add only legacy plugins to the legacy lookup map.
Legacy plugin model maintained a map of plugins. This is
not used by the new model. Using this map in the new model
causes incorrect lookup of plugins. This change uses adds
a plugin to the map only if its legacy.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-18 15:43:44 -07:00
Sebastiaan van Stijn
bceacfa57f Merge pull request #24754 from cpuguy83/24749_better_err_not_a_dir
Improve error message for ENOTDIR errors
2016-07-19 00:30:40 +02:00
Arnaud Porterie
6fc46474fb Merge pull request #24701 from dperny/test-leader-proxy
Added test for leader proxying
2016-07-18 22:15:16 +00:00
Sebastiaan van Stijn
4f0b510552 Don't automagically add "[OPTIONS]" to usage
This removes the logic to automatically
add [OPTIONS] to the usage output.

The current logic was broken if a command
only has deprecated or hidden flags, and
in many cases put the [OPTIONS] in the
wrong location.

Requiring the usage string to be set
manually gives more predictable results,
and shouldn't require much to maintain.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-19 00:07:19 +02:00
Sebastiaan van Stijn
f0988dd395 update "image delete" error to match actual behavior
The error message;

    unable to delete .... (must be forced) - image is referenced in one or more repositories

Looks to be incorrect

Given the following images:

    docker images | grep 2d36b1c0ea40
    registry                           2                                     2d36b1c0ea40        7 weeks ago         171.2 MB
    registry                           2.4.1                                 2d36b1c0ea40        7 weeks ago         171.2 MB

Removing the image by *id* fails:

    docker rmi 2d36b1c0ea40
    Error response from daemon: conflict: unable to delete 2d36b1c0ea40 (must be forced) - image is referenced in one or more repositories

However, after untagging one image:

    docker rmi registry:2
    Untagged: registry:2

Removing the image works:

    docker rmi 2d36b1c0ea40
    Untagged: registry:2.4.1
    Deleted: sha256:2d36b1c0ea40159adc8b36f7563f1d7a6d443384fe2611e8b393c1cb3ae2e6ad
    Deleted: sha256:7abfddbf4e61927307b6646010845eeb7513ecc6541f33ea6103b2493e36aa4e
    Deleted: sha256:f512d7699dbb2994fe15d30ee1d404e57b58c3c310617b4471db649680b4cfa0
    Deleted: sha256:7291e34714908270aeda93f1dc681485f9734d41314e2fdc6c11f32ffa782a21
    Deleted: sha256:548f6562929484f3d78267e4b1e31dcfeb9f303059668888b4423ce5501c7fbc
    Deleted: sha256:afe56b46629e6d8e0bfc36fed13395a7cfa2bd83b58bb489976ef13553eff20b
    Deleted: sha256:cf0c3bd5d6a0a14ebf96cc7d3df79a37774a70f3086273e09da71a86fe74fec2
    Deleted: sha256:c5fdaf8b055f544d0211043e687905315c3a0b71c1c08df07e473dd0a30e43c8

    docker images | grep 2d36b1c0ea40
    <empty>

This changes the error message to reflect that behavior

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-18 23:17:55 +02:00
Sebastiaan van Stijn
589bafddf3 bump Go to 1.6.3
following the announcement;
https://groups.google.com/forum/m/#!topic/golang-announce/7JTsd70ZAT0

> [security] Go 1.6.3 and Go 1.7rc2 pre-announcement
>
> Hello gophers,
> We plan to issue Go 1.6.3 and Go 1.7rc2 on Monday July 18 at approximately 2am UTC.
> These are minor release to fix a security issue.
>
> Following our policy at https://golang.org/security, this is the pre-announcement of those releases.
>
> Because we are so late in the release cycle for Go 1.7, we will not issue a minor release of Go 1.5.
> Additionally, we plan to issue Go 1.7rc3 later next week, which will include any changes between 1.7rc1 and tip.
>
> Cheers,
> Chris on behalf of the Go team

**Note:**
the man/Dockerfile is not yet updated, because
the official image for Go 1.6.2 has not yet
been updated.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-18 23:15:03 +02:00
Drew Erny
d305aa48dd Added test for leader proxying
Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-07-18 13:18:02 -07:00
Sebastiaan van Stijn
e7b96102ff Merge pull request #24764 from aaronlehmann/vendor-go-events
Update vendored go-events
2016-07-18 22:09:31 +02:00
Sebastiaan van Stijn
8ef820b539 Merge pull request #24659 from justyntemme/master
Fix for issue #23884 (Documentation clarification)
2016-07-18 21:58:55 +02:00
Justyn Temme
b74b46b26a suggested improvements for Debian install doc issue #23884
Signed-off-by: Justyn Temme <justyntemme@gmail.com>
2016-07-18 14:38:58 -05:00
Daehyeok Mun
6a1183b3ae Refactoring for logrus formatting
Use module name logrus instead of log.
Use logrus.[Error|Warn|Debug|Fatal|Panic|Info]f instead of w/o f

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2016-07-18 12:53:34 -06:00
Kenfe-Mickael Laventure
29b2714580 Vendor in new containerd
This version introduces the following:
 - uses nanosecond timestamps for event
 - ensure events are sent once their effect is "live"

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-18 11:44:24 -07:00
Aaron Lehmann
db9bc51cbe Update vendored go-events
This is needed to suppress a log message about a harmless condition
which was previously logged at the WARNING log level with potentially
high frequency (https://github.com/docker/go-events/pull/11).

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-18 10:38:27 -07:00
Anusha Ragunathan
6dca1e6d3f Print plugin name on successful install, enable and disable.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-18 09:47:12 -07:00
Arnaud Porterie
ba6adc5f46 Merge pull request #24646 from anusha-ragunathan/use-volume-plugins
Remove use of exec-root in plugins due to socket pathname limits.
2016-07-18 16:28:22 +00:00
Vincent Demeester
0ec1adf9d1 Merge pull request #24694 from tonistiigi/increase-timeout
Increase timeout for swarm requests
2016-07-18 18:15:37 +02:00
Arnaud Porterie
de64324109 Merge pull request #24705 from thaJeztah/update-flag-descriptions
Improve flag help consistency, and update docs
2016-07-18 16:07:23 +00:00
Arnaud Porterie
98a4b3e332 Merge pull request #24714 from allencloud/better-docker-network-create-help-output
better command `docker network create -h` output
2016-07-18 16:05:46 +00:00
Brian Goff
83ae501f1d Improve error message for ENOTDIR errors
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-18 11:12:33 -04:00
Sebastiaan van Stijn
c4d9c828d8 Merge pull request #24727 from miaoyq/fix-link-err-in-docs
Fix link errors in 'docs/reference/api/docker_remote_api_v***.md'
2016-07-18 14:34:20 +02:00
Yanqiang Miao
f9ef10f853 Fix link errors in 'docs/reference/api/docker_remote_api_v***.md'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update fix-link-err-in-docs

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update fix-link-err-in-docs

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update fix-link-err-in-docs

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-19 02:53:03 +08:00
Vincent Demeester
4ced001d9a Merge pull request #24729 from yongtang/24058-api-docs-resource-settings
Fix inconsistent fields for resource settings on service for API docs
2016-07-18 10:20:20 +02:00
Yong Tang
0159ee1f5d Fix inconsistent fields for resource settings on service for API docs
In API docs, `CPU` and `Memory` were used for resource settings on
services. The actual settings should be `NanoCPUs` and `MemoryBytes`.

This fix address the inconsistent fields between API docs and actual
settings.

This fix fixes #24058.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-17 16:45:09 -07:00
Sebastiaan van Stijn
caf8c75572 Merge pull request #24728 from icaoweiwei/patch_2016-07-17_1
Fix a wrong word in comment.
2016-07-17 13:04:27 +02:00
Cao Weiwei
9be8bf0194 Fix a wrong word in comment.
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-07-17 13:08:07 +08:00
Doug Davis
b23fc63f04 Merge pull request #24723 from icaoweiwei/patch_2016-07-16_2
Fix a syntax error in comments
2016-07-16 12:07:54 -04:00
Cao Weiwei
3fc9a9ccb8 Fix a syntax error in comments
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-07-16 22:41:04 +08:00
Sebastiaan van Stijn
41391233e2 Merge pull request #24718 from thaJeztah/fix-oracle-support-link
docs: update Oracle support link
2016-07-16 15:26:04 +02:00
Sebastiaan van Stijn
c15144c4ec docs: update Oracle support link
The none-https url results in a redirect
to https://support.oracle.com/epmos/faces/MosIndex.jspx?......
which our link-checker didn't like.

The https link looks to be a direct link,
and not resulting in a redirect, so updating the URL.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-16 14:34:07 +02:00
Cao Weiwei
627839072c Add output of integer argument
Signed-off-by: Cao Weiwei <cao.weiwei30@zte.com.cn>
2016-07-16 20:20:00 +08:00
Doug Davis
792adb7199 Merge pull request #24715 from allencloud/fix-creats-into-creates-in-comments
fix typo creats into creates in comments
2016-07-16 07:15:37 -04:00
allencloud
0d459f5ed3 fix typo creats into creates in comments
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-16 17:55:18 +08:00
allencloud
d0081a0f47 better command docker network create -h output
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-16 15:32:17 +08:00
Stephen J Day
e778ba2d5b swarm: add log driver support for services
Adds log driver support for service creation and update. Add flags
`--log-driver` and `--log-opt` to match `docker run`. Log drivers are
configured per service.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-15 21:39:27 -07:00
allencloud
e5bed17574 update comparison log in container config
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-16 11:26:19 +08:00
Sebastiaan van Stijn
9ad857a788 Merge pull request #24682 from justincormack/oom-score-adj-doc
Document --oom-score-adj flag in docker run
2016-07-16 03:00:51 +02:00
Sebastiaan van Stijn
ff1040bafc Merge pull request #24599 from vdemeester/small-zsh-completion-fix
Small zsh completion fix on --pretty & --no-resolve
2016-07-16 02:55:32 +02:00
Sebastiaan van Stijn
13fcbe3d53 Merge pull request #24280 from miaoyq/24261-fix-make-docker-py-err
Fix 'make test-docker-py' error
2016-07-16 02:07:23 +02:00
Sebastiaan van Stijn
64a8317a5a Improve flag help consistency, and update docs
This adds the `--live-restore` option to the documentation.

Also synched usage description in the documentation
with the actual description, and re-phrased some
flag descriptions to be a bit more consistent.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-16 01:58:01 +02:00
Tibor Vass
8a0acaa512 Merge pull request #24699 from dnephin/fixes_to_service_inspect
Only show port name if set
2016-07-15 16:02:02 -07:00
Josh Horwitz
456e039659 Fixes #24696 - fixes size showing 0 in format output
Signed-off-by: Josh Horwitz <horwitz@addthis.com>
2016-07-15 18:37:42 -04:00
Sebastiaan van Stijn
80965a35c1 Merge pull request #24702 from londoncalling/fix-toolbox-description-docs
fixed cut-and-paste error on description of Docker Toolbox
2016-07-15 23:09:06 +02:00
Victoria Bialas
6f9e310831 fixed cut-and-paste error on description of Docker Toolbox
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-07-15 13:54:34 -07:00
Daniel Nephin
909c596fa5 Only show port name if set.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-15 16:02:04 -04:00
Tonis Tiigi
85b1fdf15c Increase timeout for swarm requests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-15 11:03:08 -07:00
Sebastiaan van Stijn
9a9fc01af8 Merge pull request #24610 from sfsmithcha/rc4_tutorial_check
update create swarm and add nodes to use the auto-generated join command
2016-07-15 19:09:36 +02:00
Michael Crosby
50b3595697 Merge pull request #24690 from thaJeztah/add-new-maintainers
Add new maintainers
2016-07-15 09:49:30 -07:00
Anusha Ragunathan
21ecd5a93d Remove use of exec-root in plugins due to socket pathname limits.
Unix sockets are limited to 108 bytes. As a result, we need to be
careful in not using exec-root as the parent directory for pluginID
(which is already 64 bytes), since it can result in socket path names
longer than 108 bytes. Use /tmp instead. Before this change, setting:
- dockerd --exec-root=/go/src/github.com/do passes
- dockerd --exec-root=/go/src/github.com/doc fails
After this change, there's no failure.

Also, write a volume plugins test to verify that the plugins socket
responds.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-15 09:17:29 -07:00
Alexander Morozov
f553362ae5 Merge pull request #24676 from coolljt0725/fix_24674
Fix daemon panic use wrong graphdriver with --live-restore flag
2016-07-15 08:44:01 -07:00
Alexander Morozov
c562e3d768 Merge pull request #24642 from tonistiigi/wait-open
Wait for the reader fifo opening to block
2016-07-15 08:42:18 -07:00
Sebastiaan van Stijn
d4b932131a Add new maintainers
As voted on per e-mail, adding
new maintainers to the list

Welcome!

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-15 17:34:26 +02:00
Vincent Demeester
80ec9fa284 Merge pull request #24638 from miaoyq/fix-docs-err
Delete  redundant content of 'docs/extend/plugins.md'
2016-07-15 17:04:11 +02:00
Justin Cormack
6ba6265d1a Document --oom-score-adj flag in docker run
This was only mentioned in docker create documentation.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 14:11:54 +01:00
Sebastiaan van Stijn
983fc99509 Merge pull request #24668 from sdurrheimer/zsh-completion-service-endpoint-mode
Update zsh completion for 'docker service {create,update} {--endpoint…
2016-07-15 14:40:45 +02:00
Steve Durrheimer
2e6922a6d3 Update zsh completion for 'docker service {create,update} {--endpoint-mode,--mode}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-15 14:36:18 +02:00
Sebastiaan van Stijn
a968f83c55 Merge pull request #24666 from sdurrheimer/zsh-completion-dockerd-oom-score-adjust
Add zsh completion for 'dockerd --oom-score-adjust'
2016-07-15 13:47:39 +02:00
Sebastiaan van Stijn
533853dc57 Merge pull request #24669 from hqhq/fix_aufs_docs
Fix aufs docs
2016-07-15 13:41:40 +02:00
Antonio Murdaca
790fb315f7 Merge pull request #24655 from tonistiigi/stats-test-fix
Fix TestGetContainerStatsRmRunning test
2016-07-15 11:49:37 +02:00
Vincent Demeester
2a888c02a6 Merge pull request #24667 from sdurrheimer/zsh-completion-docker-service-create-update-registry-auth
Add zsh completion for 'docker service {create,update} --registry-auth'
2016-07-15 11:15:55 +02:00
Vincent Demeester
d69fcf10cb Merge pull request #24665 from sdurrheimer/zsh-completion-run-network
Rename zsh completion for 'docker {create,run} --net --net-alias' to …
2016-07-15 11:15:35 +02:00
Vincent Demeester
0534c3b7d6 Merge pull request #24147 from PaulFurtado/fix_init_pidfile_dockerd
Make docker daemon and init script agree on pidfile location
2016-07-15 11:14:53 +02:00
Lei Jitang
d9e8cea1b6 Fix daemon panic use wrong graphdriver with --live-restore flag
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-15 05:05:28 -04:00
Steve Durrheimer
64f08906a2 Add zsh completion for 'docker service {create,update} --registry-auth'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-15 08:23:57 +02:00
Steve Durrheimer
5d29732bdf Add zsh completion for 'dockerd --oom-score-adjust'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-15 08:16:15 +02:00
Steve Durrheimer
ba5d9f63a3 Rename zsh completion for 'docker {create,run} --net --net-alias' to '--network --network-alias'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-15 08:09:20 +02:00
Qiang Huang
92dfbc1e2d Fix aufs docs
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-07-15 13:57:38 +08:00
yuzou
cb31d03b58 remove the second repeated line cli.api = api since api is a pointer
Signed-off-by: yuzou <zouyu7@huawei.com>
2016-07-15 11:45:30 +08:00
Yanqiang Miao
cfe9d2ff1e Delete redundant content of 'docs/extend/plugins.md'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

Update plugins.md

Update plugins.md
2016-07-15 11:26:10 +08:00
Tonis Tiigi
f5fb3c69fd Fix panic in stats test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-14 17:30:57 -07:00
Sebastiaan van Stijn
9df2a825ba Merge pull request #24654 from crosbymichael/enable-systemctl
Enable docker.socket and docker.service in fedora install docs
2016-07-15 01:42:31 +02:00
Michael Crosby
6780bdcbad State that docker supports fedora 24
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-14 16:24:21 -07:00
Michael Crosby
7a93a87c1a Enable docker socket and service on fedora
Make sure that the users enable both the socket and service for docker
as part of the default install instructions.  If both are not enabled
docker will not start at boot and restart containers.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-14 16:23:05 -07:00
Paul Furtado
acb41ddc9d Change $prog back to docker in sysvinit-redhat
(and set $exec to dockerd instead)

This ensures end users do not need to make any configuration changes
due to the rename from docker to dockerd in version 1.12.

Signed-off-by: Paul Furtado <pfurtado@hubspot.com>
2016-07-14 17:21:59 -04:00
Charles Smith
ed94129c9e Merge pull request #24640 from avsm/service-create-docs-quoting
docs: correct the placement constraints `docker service` example
2016-07-14 13:18:45 -07:00
Charles Smith
fec803f779 update create swarm and add nodes to use the auto-generated join command
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-14 11:26:46 -07:00
Tonis Tiigi
0b2023130e Wait for the reader fifo opening to block
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-14 10:14:53 -07:00
Sebastiaan van Stijn
56fb100140 Merge pull request #24568 from dmcgowan/search-v2-auth
Allow v1 search to use v2 auth with identity token
2016-07-14 19:11:33 +02:00
Anil Madhavapeddy
c37da1792d docs: correct the placement constraints docker service example
- the constraint expression needs to be quoted
- add an actual redis container to run so the command line works

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2016-07-14 17:38:37 +01:00
Antonio Murdaca
0a96ba8a0f Merge pull request #24593 from mlaventure/fix-libcontainerd-data-race
Fix data race in libcontainerd
2016-07-14 17:27:24 +02:00
Sebastiaan van Stijn
e056b4e370 Merge pull request #24630 from eskaaren/status_409
Status code 409 received when conflicting name when creating container
2016-07-14 15:26:21 +02:00
Eivin Giske Skaaren
5bf46cc436 Status code 409 received when conflicting name when creating container
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
2016-07-14 14:58:43 +02:00
Sebastiaan van Stijn
0ebc3c0750 docs: cleanup docker update docs
move the "kernel memory" examples to the "examples" section,
and fix some formatting and grammar.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-14 13:05:57 +02:00
Sebastiaan van Stijn
e7e9f753e8 Merge pull request #24628 from vdemeester/service-doc-fixes
Service doc fixes
2016-07-14 11:38:07 +02:00
Vincent Demeester
9c5782280c Merge pull request #24588 from justincormack/nonewprivsdoc
Expand the documentation of "no-new-privileges"
2016-07-14 11:34:33 +02:00
Vincent Demeester
cc651bc642 Update service inspect --pretty reference docs
Update the output and fix wrong usage in a tutorial page.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-14 11:23:03 +02:00
Vincent Demeester
dbe310eff0 Update service update commandline reference docs
Update with the new remove flags

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-14 11:22:18 +02:00
Vincent Demeester
83f232e186 Merge pull request #23773 from dnephin/allow-remove-during-update
Add remove flags for service update
2016-07-14 11:10:30 +02:00
Sebastiaan van Stijn
ffd03708e9 Merge pull request #24615 from aaronlehmann/spaces-not-tabs
Use spaces, not tabs, to format sample "swarm join" command
2016-07-14 11:07:12 +02:00
Vincent Demeester
accbed33f4 Merge pull request #24607 from dongluochen/serviceInspect
Fix service inspect --pretty
2016-07-14 10:51:04 +02:00
Dong Chen
08ae4e544d Fix service inspect --pretty.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-07-14 00:11:29 -07:00
Aaron Lehmann
6de8fcb2f2 Use spaces, not tabs, to format sample "swarm join" command
Using tabs here seems to cause copy/paste problems in some terminals.
Using spaces is safer.

Fixes #24609

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-13 19:31:05 -06:00
Vladimir Pouzanov
eed48136a0 Added documentation
Signed-off-by: Vladimir Pouzanov <farcaller@google.com>
2016-07-13 22:51:11 +01:00
Tibor Vass
1c6a8715ab Merge pull request #24592 from thaJeztah/remove-dead-code
Remove dead code for "inspect --pretty"
2016-07-13 14:46:42 -07:00
Sebastiaan van Stijn
7925de9098 Merge pull request #24598 from albers/completion-daemon--oom-score-adjust
bash completion for `docker daemon --oom-score-adjust`
2016-07-13 23:34:54 +02:00
Derek McGowan
19d48f0b8b Allow v1 search to use v2 auth with identity token
Updates the v1 search endpoint to also support v2 auth when an identity token is given.
Only search v1 endpoint is supported since there is not v2 search currently defined to replace it.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2016-07-13 13:30:24 -07:00
Daniel Nephin
3249c1d0e7 Fix multi-remove during service update.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 16:11:08 -04:00
Daniel Nephin
4c6faa4340 Change the add/update flags to include 'add'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 16:06:25 -04:00
Daniel Nephin
ead1f62aba PR feedback
improve help text for service update remove flags
implement proper merge update of placement flag
more code re-use in update functions using a toRemove set.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 16:06:25 -04:00
Daniel Nephin
dc33fc1ff4 Add remove flags for service update
with unit tests

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 16:06:25 -04:00
Vincent Demeester
698bd5ab65 Small zsh completion fix on --pretty & --no-resolve
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-13 22:03:11 +02:00
Tibor Vass
fd8269b8f6 Merge pull request #24195 from dnephin/service-update-better-args-and-command
Update service `args` with a single flag (shlex)
2016-07-13 13:02:19 -07:00
Tibor Vass
1f74917f60 Merge pull request #24591 from thaJeztah/remove-shorthand-flagz
Remove shorthand flags for "mount", "pretty", and "no-resolve"
2016-07-13 12:51:53 -07:00
Harald Albers
e1e310ea1f bash completion for docker daemon --oom-score-adjust
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-13 12:31:55 -07:00
Arnaud Porterie
ef322a3fbb Merge pull request #24516 from crosbymichael/oom-score
Add --oom-score-adjust to daemon
2016-07-13 18:39:30 +00:00
Kenfe-Mickael Laventure
8e9fbc8f5f Fix data race in libcontainerd
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-13 10:04:42 -07:00
Vincent Demeester
1dbe3f6e89 Merge pull request #24565 from thaJeztah/fix-node-inspect-formatting
docs: fix output of node inspect
2016-07-13 18:57:05 +02:00
Sebastiaan van Stijn
4d87f9083b Remove dead code for "inspect --pretty"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 18:56:02 +02:00
Sebastiaan van Stijn
7bf0faf423 Remove shorthand flags for "mount", "pretty", and "no-resolve"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 18:47:29 +02:00
Daniel Nephin
674d227445 Merge service command and args as a string.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 12:31:16 -04:00
Daniel Nephin
3464589c2a Vendor go-shlex.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-13 12:20:50 -04:00
Arnaud Porterie
58624acf11 Merge pull request #24525 from vdemeester/24196-remove-command-flag-on-service-update
Remove --command flag for service update
2016-07-13 16:01:11 +00:00
Sebastiaan van Stijn
428d7337e8 Don't set ulimits (nproc)
There is a not-insignificant performance overhead for all containers (if
containerd is a child of Docker, which is the current setup) if rlimits are
set on the main Docker daemon process (because the limits
propogate to all children).

We recommend using cgroups to do container-local accounting.

This applies the change added in 8db61095a3
to other init scripts.

Note that nfile cannot be set to unlimited, and the limit
is hardcoded to 1048576 (2^20) , see:
http://stackoverflow.com/a/1213069/1811501

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 17:15:19 +02:00
Vincent Demeester
e4a024d590 Remove --command flag for service update
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-13 16:19:21 +02:00
Vincent Demeester
ee981bcc73 Merge pull request #24573 from aboch/chkf
Vendoring libnetwork 905d374 and other fix
2016-07-13 16:15:59 +02:00
Justin Cormack
3050d9af9b Expand the documentation of "no-new-privileges"
The change to runc in https://github.com/opencontainers/runc/pull/789
was not documented previously. Also say what this affects and clean
up layout of initial table as there was some miscolouration of the
continuation lines.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-13 14:41:58 +01:00
Vincent Demeester
92b1577871 Merge pull request #24562 from thaJeztah/carry-24499-swarm-info-consistency
[carry 24499] Remove "Yes"/"No" and use "true"/"false" consistently in `docker info`
2016-07-13 15:13:58 +02:00
Yong Tang
9414955c60 Extend deprecation cycle to 3 releases by default
At the moment docker's deprecation policy is 2 release cycles by
default, which is around 5 months. This may not be enough for
production environment and there is a need to extend the
deprecation cycle to 3 releases (see #24494).

This fix updates the docs/deprecated.md and extend the deprecation
cycle to 3 releases.

This fix is related to #24494 and #24534.

This fix fixes #24534.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-13 06:02:12 -07:00
Vladimir Pouzanov
71f2999764 Added optional flags to init gcp logger metadata
Signed-off-by: Vladimir Pouzanov <farcaller@google.com>
2016-07-13 13:56:18 +01:00
Sebastiaan van Stijn
a9a8d807f0 Merge pull request #24583 from albers/completion-run--network
Change bash completion for `docker run --net*` to `--network*`
2016-07-13 12:46:58 +02:00
Harald Albers
c4846f6972 Change bash completion for docker run --net* to --network*
Ref: https://github.com/docker/docker/pull/23324

Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-13 12:42:33 +02:00
Sebastiaan van Stijn
5d11a7987b Merge pull request #24301 from coolljt0725/add_dummy_to_check_config
Add IPVLAN and DUMMY to check-config.sh
2016-07-13 12:38:27 +02:00
Antonio Murdaca
8159b5ca98 Dockerfile: update osx cross toolchain
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-13 12:22:58 +02:00
Antonio Murdaca
ae1a809c39 Merge pull request #24581 from albers/completion-service--endpoint-mode
Update bash completion for `docker service {create,update} {--mode,--…
2016-07-13 09:52:52 +00:00
Vincent Demeester
a63efabd53 Merge pull request #24579 from albers/completion-service--registry-auth
bash completion for `docker service {create,update} --registry-auth`
2016-07-13 11:38:45 +02:00
Harald Albers
a394490d38 Update bash completion for docker service {create,update} {--mode,--endpoint-mode}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-13 11:37:31 +02:00
Harald Albers
a44e71c427 bash completion for docker service {create,update} --registry-auth
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-13 11:20:02 +02:00
Sebastiaan van Stijn
9d236d88b7 Merge pull request #24560 from thaJeztah/remove-execution-driver
docs: remove executiondriver from API 1.24 docs
2016-07-13 10:43:13 +02:00
Alessandro Boch
ed6641ad61 Handle ingress sbox creation gracefully
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-07-12 21:51:44 -07:00
Alessandro Boch
cabc5b27c0 Vendoring libnetwork 905d374
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-07-12 21:51:11 -07:00
Tibor Vass
f9383c652c Merge pull request #24570 from tiborvass/buildid-docker-proxy
docker-proxy: Force external linking to add BuildID information to pl…
2016-07-12 20:23:30 -07:00
Tibor Vass
9a690d3544 docker-proxy: Force external linking to add BuildID information to please rpm
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 19:59:48 -07:00
Sebastiaan van Stijn
489adc96b8 Merge pull request #24566 from meichuntao/master
fix the docker run --readonly example. rename '/icanwrite here' to '/…
2016-07-13 02:49:52 +02:00
Brian Goff
dd05a2c0be Merge pull request #24556 from thaJeztah/tabz-tabz-tabz
use tabs for indentation
2016-07-12 20:47:28 -04:00
Derek McGowan
1e0b7538fa Vendor distribution changes
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-12 17:36:57 -07:00
Mei ChunTao
acbe38a3cc fix the docker run --readonly example. rename '/icanwrite here' to '/icanwrite/here'
Signed-off-by: Mei ChunTao <mei.chuntao@zte.com.cn>
2016-07-13 08:21:26 +08:00
Sebastiaan van Stijn
477a5f8fb0 docs: fix output of node inspect
The output uses tabs, but those don't
translate well to the rendered output in
the docs, so replacing the tabs with spaces.

Also updates the output, because REPLICATED,
and SPREAD are no longer all-caps in the
actual output.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 01:53:51 +02:00
Sebastiaan van Stijn
ea365e4cb3 Make labels human readable
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 01:08:54 +02:00
Tibor Vass
8a405461b0 Merge pull request #24558 from clnperez/systemd-hack-redo
Uncomment the TasksMax val later in the deb build
2016-07-12 16:06:44 -07:00
Michael Crosby
a894aec8d8 Add --oom-score-adjust to daemon
This adds an `--oom-score-adjust` flag to the daemon so that the value
provided can be set for the docker daemon's process.  The default value
for the flag is -500.  This will allow the docker daemon to have a
less chance of being killed before containers do.  The default value for
processes is 0 with a min/max of -1000/1000.

-500 is a good middle ground because it is less than the default for
most processes and still not -1000 which basically means never kill this
process in an OOM condition on the host machine.  The only processes on
my machine that have a score less than -500 are dbus at -900 and sshd
and xfce( my window manager ) at -1000.  I don't think docker should be
set lower, by default, than dbus or sshd so that is why I chose -500.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-07-12 15:53:15 -07:00
Sebastiaan van Stijn
3c6ef4c29d docs: remove executiondriver from API 1.24 docs
the executiondriver property was removed in
880484992c, but docs
were only updated for the 1.25 API, not for 1.24

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-13 00:49:29 +02:00
Tibor Vass
778b38cbf1 Merge pull request #23324 from icecrime/add_run_network
Add run network
2016-07-12 14:59:48 -07:00
Vincent Demeester
7a1442baf6 Merge pull request #24548 from cpuguy83/24167_fix_log_config_merge
Fix panic while merging log configs to nil map
2016-07-12 23:40:47 +02:00
Christy Perez
dab287819a Uncomment the TasksMax val later in the deb build
The original sed placement was creating packages with an
"unsupported" tag in the package name.

Fixes #24197

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-07-12 16:30:31 -05:00
Sebastiaan van Stijn
fa077f7496 use tabs for indentation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-12 23:16:55 +02:00
Vincent Demeester
534c3e328f Merge pull request #24549 from cpuguy83/fix_nil_meminfo
Fix panic when meminfo couldn't be read
2016-07-12 23:05:27 +02:00
Brian Goff
933584f16f Merge pull request #24546 from mavenugo/stend
Fixing a stale endpoint issue that blocks ingress network cleanup
2016-07-12 16:40:19 -04:00
Sebastiaan van Stijn
e794fe2750 Merge pull request #24550 from thaJeztah/fix-evil-links
Fix some broken sourceforge.net links
2016-07-12 22:25:19 +02:00
Sebastiaan van Stijn
d0b495f6b1 Merge pull request #24552 from thaJeztah/add-none-join-mode
Add "auto-accept=none" to documentation
2016-07-12 22:21:23 +02:00
Tõnis Tiigi
08a2fd7e2e Merge pull request #24465 from LK4D4/restart_cluster_test
integration-cli: add test for restarting entire swarm cluster
2016-07-12 13:12:33 -07:00
Sebastiaan van Stijn
06517753c1 Add "auto-accept=none" to documentation
The "none" option was not added to the documentation.
This adds an example, and adds additional information
on manually accepting or rejecting a node.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-12 22:06:01 +02:00
Charles Smith
cbdce58008 Merge pull request #24544 from sfsmithcha/network_plugins_swarm_mode
author merge: add caveat for network plugins in swarm mode
2016-07-12 13:05:05 -07:00
Arnaud Porterie (icecrime)
c0c7d5e715 Rename --net to --network
Add a `--network` flag which replaces `--net` without deprecating it
yet. The `--net` flag remains hidden and supported.

Add a `--network-alias` flag which replaces `--net-alias` without deprecating
it yet. The `--net-alias` flag remains hidden and supported.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-07-12 13:01:35 -07:00
Sebastiaan van Stijn
0e7a1079be Fix some broken sourceforge.net links
Looks like there's issues with sourceforge project
pages. Given that sourceforge isn't really what
it used to be, trying to find alternative URLs
where possible.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-12 21:51:14 +02:00
Brian Goff
5f7b1b604c Fix panic when meminfo couldn't be read
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-12 15:30:21 -04:00
Brian Goff
7dff310648 Fix panic while merging log configs to nil map
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-12 15:24:42 -04:00
Charles Smith
9ae64de614 add caveat for network plugins in swarm mode
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-12 11:50:34 -07:00
Arnaud Porterie (icecrime)
5b21c8a408 Organize run flags into categories
Flatten the list of `docker run` flags and group them loosely by
category (general purpose, security, networking, ...).

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-07-12 11:35:41 -07:00
Arnaud Porterie
79432b4367 Merge pull request #24528 from rsippl/24526-empty-services-list
Return an empty services list if no services are running
2016-07-12 18:31:28 +00:00
Madhu Venugopal
a4926a4d92 Fixing a stale endpoint issue that blocks ingress network cleanup
fixes #24400

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-12 11:27:58 -07:00
Madhu Venugopal
92c40f9bc0 Vendoring libnetwork
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-12 11:27:32 -07:00
Sebastiaan van Stijn
a44f010702 Merge pull request #24518 from dmcgowan/overlay2-override-kernel-check
Allow option to override kernel check in overlay2
2016-07-12 19:22:27 +02:00
Ralf Sippl
65e72133a1 Add API test for empty services list
Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
2016-07-12 17:31:44 +02:00
Phil Estes
10d5d08c48 Merge pull request #24520 from aaronlehmann/no-retry-on-unknown-repository
Don't retry push on an unknown repository
2016-07-12 11:17:29 -04:00
Sebastiaan van Stijn
7da11b1afd Merge pull request #24146 from johnharris85/fix-swarm-update-auto-accept
Add comma-separated --auto-accept support.
2016-07-12 16:29:21 +02:00
Doug Davis
71d404e2bc Merge pull request #24532 from yongtang/07122016-typo-docs
Fix a minor typo in swarm tutorial docs
2016-07-12 08:03:53 -04:00
Yong Tang
93fa7e7555 Fix a minor typo in swarm tutorial docs
This fix fixes a minor typo in swarm tutorial's delete service docs.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-12 05:00:39 -07:00
Sebastiaan van Stijn
110b2aecda Merge pull request #24504 from hqhq/soften_update_kmem
Soften limitation of update kernel memory
2016-07-12 13:58:17 +02:00
Sebastiaan van Stijn
c7b283bbe3 Merge pull request #24519 from thaJeztah/add-pidmode-api-docs
Add missing API docs for HostConfig.PidMode
2016-07-12 12:31:58 +02:00
Sebastiaan van Stijn
024b467ebe Merge pull request #24522 from hairyhenderson/clarify-build-args-secret-warning
Clarify warning against using build-time variables for secrets
2016-07-12 12:13:37 +02:00
Ralf Sippl
c8e4e95db9 Return an empty services list if no services are running
Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
2016-07-12 11:41:04 +02:00
Vincent Demeester
1685b605a8 Merge pull request #24464 from tonistiigi/waitandassert
Use waitAndAssert to test node state changes
2016-07-12 10:05:55 +02:00
Tomasz Kopczynski
9408b205f5 Builder dispatchers unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-07-12 07:40:25 +02:00
Brian Goff
b91e2dd994 Merge pull request #24229 from anusha-ragunathan/shutdown-plugins
Shutdown plugins during daemon shutdown.
2016-07-11 22:14:50 -04:00
Dave Henderson
9af24ba3ac Clarify warning against using build-time variables for secrets
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2016-07-11 21:21:33 -04:00
Qiang Huang
08c7075c40 Soften limitation of update kernel memory
Kernel memory is not allowed to be updated if container is
running, it's not actually a precise kernel limitation.

Before kernel version 4.6, kernel memory will not be accounted
until kernel memory limit is set, if a container created with
kernel memory initialized, kernel memory is accounted as soon
as process created in container, so kernel memory limit update
is allowed afterward. If kernel memory is not initialized,
kernel memory consumed by processes in container will not be
accounted, so we can't update the limit because the account
will be wrong.

So update kernel memory of a running container with kernel memory
initialized is allowed, we should soften the limitation by docker.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-07-12 08:07:24 +08:00
Aaron Lehmann
a12ab28e0a Don't retry push on an unknown repository
If the remote registry responds with a NAME_UNKNOWN error, treat this as
a fatal error and don't retry the push.

Tested against an ECR registry.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-11 18:06:23 -06:00
Tibor Vass
880484992c Merge pull request #24501 from hqhq/remove_exec_driver
Remove execution driver
2016-07-11 16:54:36 -07:00
Sebastiaan van Stijn
2c9b5addc5 Add missing API docs for HostConfig.PidMode
The `--pid` flag was added in Docker 1.5.0, but the
API changes were not documented. In Docker 1.12.0,
`--pid=container:<name|id>` was added as an additional
option, but also undocumented.

This adds the missing API documentation for this
option.

Also see commits
47e3da848f (for 1.5.0), and
ebeb5a0422 (for 1.12.0).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-12 01:52:42 +02:00
Derek McGowan
ff98da0607 Allow option to override kernel check in overlay2
Add option to skip kernel check for older kernels which have been patched to support multiple lower directories in overlayfs.

Fixes #24023

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-07-11 16:48:08 -07:00
johnharris85
8e14882773 Add support for comma-separated --auto-accept syntax.
Signed-off-by: John Harris <john@johnharris.io>
2016-07-11 15:47:04 -07:00
Alexander Morozov
ae4137ae3c integration-cli: add test for restarting entire swarm cluster
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-07-11 14:48:57 -07:00
Sebastiaan van Stijn
6dc2dd4410 Merge pull request #23513 from mansinahar/update-content-trust-doc
Change content-trust doc to not point to images that don't exist #22730
2016-07-11 23:42:53 +02:00
Anusha Ragunathan
863ab9ab13 Shutdown plugins during daemon shutdown.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-11 14:21:27 -07:00
John Howard
b215c4c974 Merge pull request #24427 from swernli/remove_custom_images
Removing Custom Images support
2016-07-11 14:01:41 -07:00
Vincent Demeester
36f3d4af23 Merge pull request #24474 from mavenugo/fix-24452
swarmkit expects network-id for as target
2016-07-11 20:59:38 +02:00
Vincent Demeester
46649755f8 Merge pull request #24051 from allencloud/return-err-when-stack-name-nonexist
output some details when stack name does not exist
2016-07-11 20:43:09 +02:00
Sebastiaan van Stijn
c6d550be98 Merge pull request #24471 from joaofnfernandes/broken-link
Fixes broken link in docs.
2016-07-11 19:43:37 +02:00
Joao Fernandes
6c9b5da5a1 Fixes broken link in docs.
Fixes #24428

Signed-off-by: Joao Fernandes <joao.fernandes@docker.com>
2016-07-11 10:20:01 -07:00
Tonis Tiigi
f02ec39e99 Use waitAndAssert to test node state changes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-11 10:01:14 -07:00
allencloud
416613f2e5 return err when stack name does not exist
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-12 00:59:30 +08:00
Mansi Nahar
82d70f4409 Change content-trust doc to not point to images that don't exist #22730
Signed-off-by: Mansi Nahar <mmn4185@rit.edu>
2016-07-11 12:41:03 -04:00
Charles Smith
c9e7390115 Merge pull request #24239 from ardnaxelarak/24130_clean_up_docs
[Docs code snippets] Make it obvious what is command what is result
2016-07-11 08:26:30 -07:00
Sebastiaan van Stijn
8c43c7293b Merge pull request #24488 from lchi/master
Fix grammar in docker volumes tutorial
2016-07-11 17:16:04 +02:00
Lucas Chi
7b3ac47fa4 Fix grammar in docker volumes tutorial
Signed-off-by: Lucas Chi <lucas@teacherspayteachers.com>
2016-07-11 10:34:02 -04:00
Brian Goff
e2fc1439a1 Merge pull request #24139 from runshenzhu/health-check
add health check in docker build-in swarm mode
2016-07-11 09:43:59 -04:00
Brian Goff
ed5e6b4e60 Merge pull request #24390 from medallia/deduplicate-volstorage-create
Remove code duplication in VolumeStore Create CreateWithRef
2016-07-11 09:25:11 -04:00
Akihiro Suda
c6b7bd1aa6 Remove "Yes"/"No" and use "true"/"false" consistently in docker info
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-11 06:55:30 +00:00
Qiang Huang
1fb1136fec Remove execution driver
We use containerd and there is no execution driver anymore.

Addresses: https://github.com/docker/docker/issues/24461

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-07-11 14:52:27 +08:00
Lei Jitang
8f3be176d2 Merge pull request #24490 from runcom/net-none-tests
integration-cli: fix --net=none tests
2016-07-11 11:39:17 +08:00
Dillon Dixon
9b5622a6df Changed to 1800 second timeout for all ARMV*
Signed-off-by: Dillon Dixon <dillondixon@gmail.com>
2016-07-10 18:47:14 -07:00
Dillon Dixon
84d285d28f Fixed arm arch image maker to support arm versions other than 7
Signed-off-by: Dillon Dixon <dillondixon@gmail.com>
2016-07-10 18:46:35 -07:00
Antonio Murdaca
9fadb8fd6a integration-cli: fix --net=none tests
Example:

21:28:01 [d68573521] waiting for daemon to start
21:28:01 [d68573521] daemon started
21:28:01 docker_api_swarm_test.go:163:
21:28:01     c.Assert(d1.Init(map[string]bool{"worker": true}, ""),
checker.IsNil)
21:28:01 ... value *errors.errorString =
&errors.errorString{s:"initializing swarm: invalid statuscode 500,
\"{\\\"message\\\":\\\"could not determine local IP address: dial udp
8.8.8.8:53: connect: network is unreachable\\\"}\\n\"} ("initializing
swarm: invalid statuscode 500, \"{\\\"message\\\":\\\"could not
determine local IP address: dial udp 8.8.8.8:53: connect: network is
unreachable\\\"}\\n\"")
21:28:01
21:28:01 [d68573521] exiting daemon"}

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-10 15:56:02 +02:00
Sebastiaan van Stijn
bc5fa7c5e0 Merge pull request #24468 from yongtang/24374-docker-info-seccomp
Fix seccomp output in `docker info`
2016-07-10 04:22:26 -07:00
Sebastiaan van Stijn
602f1c02d9 Merge pull request #24459 from tonistiigi/update-swarmkit
Update swarmkit to 6478bc19cf
2016-07-08 23:40:27 -07:00
Yanqiang Miao
c125bbd5e8 Fix 'make test-docker-py' error
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-09 11:52:33 +08:00
Brian Goff
3ab080a4bd Merge pull request #24425 from cpuguy83/add_make_run
Add target for `make run`
2016-07-08 21:10:19 -04:00
Madhu Venugopal
b32cfb32a3 swarmkit expects network-id for as target
For any operation that involves netwoks (other than network create),
swarmkit expects the target as network-id. Service upate was using
network-name as the target and that caused the issue.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-08 18:00:41 -07:00
Yong Tang
a3b9dd89a1 Fix seccomp output in docker info
This fix tries to address the issue raised in #24374 where
`docker info` outputs seccomp support in Ubuntu 14.04 but
the seccomp wass not actually supported.

The issue is that in the current docker implementation, seccomp
support is only checked against the kernel by inspect CONFIG_SECCOMP
and CONFIG_SECCOMP_FILTER. However, seccomp might not be enabled
when building docker (through golang build flag).

This fix adds a supportSeccomp boolean variable. The supportSeccomp
is only set to true when seccomp is enabled when building docker.

This fix fixes #24374.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-08 17:26:42 -07:00
Tonis Tiigi
a3f1577365 Add more complicated demotion testcases
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:40 -07:00
Tonis Tiigi
8a50315f3c Add logdrivers to executor from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:40 -07:00
Tonis Tiigi
6586f4f071 Update executor volumes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:40 -07:00
Tonis Tiigi
4d12e64cd4 vendor: update swarmkit to 6478bc19
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:15 -07:00
Brian Goff
cae890bc79 Add target for make run
`make run` allows you to fire up a daemon (in a container) just using
the existing built binaries. This allows for more rapid iteration
instead of dealing with firing up a shell just to start the daemon.

By default the daemon will listen on port 2375 on the default network
interface.

If a port forward is required to access the daemon, the user can set
`make DOCKER_PORT=2375 run` to get a port forward on a random port with
the daemon listening on port 2375, or `make DOCKER_PORT=2375:2375 run`
to get a daemon running with port 2375 forwarded to the daemon running
on 2375.

Note that the daemon is automatically configured to listen on whatever
port is set for the container side of the `DOCKER_PORT` port spec.

When running on docker4mac, the user must do the following:
```
$ make BINDDIR=. DOCKER_PORT=2375 run
```

This makes sure the binaries are loaded in the container and a port is
forwarded, since it is currently impossible to route traffic from the
mac directly to a container IP.

To get a fresh binary:
```
$ make BINDDIR=. DOCKER_PORT=2375 binary run
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-08 16:25:21 -04:00
Sebastiaan van Stijn
ad969f1aa7 Merge pull request #24460 from thaJeztah/make-archive-link-absolute
Make archive links absolute
2016-07-08 12:37:32 -07:00
Brian Goff
2664f37452 Merge pull request #24119 from albers/completion-swarm-mode
Fix & improve bash completion for swarm mode commands
2016-07-08 15:34:51 -04:00
Sebastiaan van Stijn
4b090ae5f2 Make archive links absolute
The archive is only available on docs.docker.com, and not
when doing a "make docs", so relative links will not resolve.

Making these links absolute, so that they always
point to the live "docs.docker.com" domain.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-08 12:06:36 -07:00
Sebastiaan van Stijn
db435560b3 Merge pull request #24389 from Microsoft/jjh/silentsecurity
Windows: No security warning on quiet
2016-07-08 11:06:33 -07:00
Sebastiaan van Stijn
152f5a5ced Merge pull request #24358 from AkihiroSuda/fixdockertop
Validate arguments for `ps` in `docker top`
2016-07-08 10:57:13 -07:00
Tõnis Tiigi
a34534fe95 Merge pull request #24435 from cpuguy83/24350_cleanup_on_no_running_containers
Fix daemon not cleaned up w/ live restore enabled
2016-07-08 10:23:14 -07:00
Sebastiaan van Stijn
e10c11e4a1 Merge pull request #24431 from mavenugo/revert
Check for swarm-mode network conflict during create network
2016-07-08 09:41:34 -07:00
Alexander Morozov
590a5ca18c Merge pull request #24449 from justincormack/proxy-rpmfiles
Add missing docker-proxy into managed files in rpm spec
2016-07-08 09:12:27 -07:00
Alexander Morozov
9d10221a1c Merge pull request #24450 from runcom/fix-systemd-defaultRuntime
daemon: ensure we set default options to stock runtime
2016-07-08 08:52:18 -07:00
Antonio Murdaca
59162641cc daemon: ensure we set default options to stock runtime
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-08 15:58:06 +02:00
Vincent Demeester
dd1a27ce2a Merge pull request #24448 from justincormack/proxy-docs
Update binary install docs with new contents of tgz
2016-07-08 15:19:09 +02:00
Justin Cormack
47ace5cd98 Add missing docker-proxy into managed files in rpm spec
This was missed in #23312 even though the other parts of
this were fixed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 14:15:57 +01:00
Justin Cormack
7102e09f29 Update binary install docs with new contents of tgz
This is now up to date with contents of 1.12 tgz

Also change usage to `dockerd` not `docker daemon`

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 13:33:41 +01:00
Antonio Murdaca
012f9f4cb8 Merge pull request #24412 from justincormack/aarch64-ltdl
Add ltdl dependencies for aarch64
2016-07-08 12:26:05 +02:00
Akihiro Suda
2539332209 Validate arguments for ps in docker top
Fix #24357

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-08 05:58:11 +00:00
Sebastiaan van Stijn
63186c06cb Merge pull request #24432 from sfsmithcha/doc_service_constraint
add constraint to service create ref
2016-07-07 21:06:50 -07:00
Brian Goff
2d5dc94b9b Fix daemon not cleaned up w/ live restore enabled
This patch makes sure daemon resources are cleaned up on shutdown if
there are no running containers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-07 22:25:41 -04:00
Akihiro Suda
e36a7fdefc make install: install docker-{runc,containerd,containerd-ctr,containerd-shim}
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-07-08 01:58:38 +00:00
Tibor Vass
bd37b83052 Merge pull request #24426 from thaJeztah/add-iptables-to-multi-daemon-docs
add iptables=false to docs for multiple daemons
2016-07-07 18:50:45 -07:00
Charles Smith
093817031a add constraint to service create ref
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-07-07 18:25:37 -07:00
Lei Jitang
f5940ef725 Add IPVLAN and DUMMY to check-config.sh
This commit add DUMMY and IPVLAN to check-config.sh
because they are need for ipvlan and macvlan network
driver.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-07 21:21:57 -04:00
Tibor Vass
07dd69df8d Merge pull request #23312 from justincormack/proxy
Make the docker proxy a standalone binary not a re-exec
2016-07-07 17:14:40 -07:00
Madhu Venugopal
6a4b21bd86 fixes #23983
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-07 16:23:50 -07:00
Madhu Venugopal
4623276886 Revert "Fixed a few network UI issues in swarm-mode"
This reverts commit 0ce5158a2a.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-07-07 16:23:42 -07:00
John Howard
a9b3c1d720 Windows: No security warning on quiet
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-07-07 16:00:08 -07:00
Tibor Vass
efcf24f0c4 Merge pull request #24156 from Microsoft/jjh/clearbasefs
Windows: Clear volume path for Hyper-V containers
2016-07-07 15:35:14 -07:00
Stefan J. Wernli
3e109f349f Removing Custom Images support
Now that Windows base images can be loaded directly into docker via "docker load" of a specialized tar file (with docker pull support on the horizon) we no longer have need of the custom images code path that loads images from a shared central location.  Removing that code and it's call points.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-07-07 14:56:37 -07:00
Sebastiaan van Stijn
1255e53e28 add iptables=false to docs for multiple daemons
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-07 14:54:44 -07:00
Sebastiaan van Stijn
b98ba9a1d6 Merge pull request #24291 from vdemeester/docs-cli-reference-updates
Updates on cli reference documentation
2016-07-07 14:28:54 -07:00
Justin Cormack
6dfba780cc Fix test case for docker_api_swarm_test.go
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-07 21:01:55 +01:00
Justin Cormack
d428a7a425 Update swarmkit vendoring
Needed for libnetwork vendoring

Update Secret API name change correspondingly

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-07 21:01:54 +01:00
Justin Cormack
3ae0c66450 Update libnetwork vendoring
Update now that the changes in https://github.com/docker/libnetwork/pull/1230
have been merged

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-07 21:01:41 +01:00
Vincent Demeester
f4cfc6b983 Updates on cli reference documentation
- Update ps with `--last` flag
- Update commands with current output
- Make sure hugo does not detect the wrong language
- Update usage for `tag` command to be more coherent with the other ones

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-07 20:43:18 +02:00
Tõnis Tiigi
db67db98d8 Merge pull request #24349 from aaronlehmann/swarm-secrets-by-default
Generate a swarm joining secret if none is specified
2016-07-07 11:43:08 -07:00
Sebastiaan van Stijn
6167a9ab16 Merge pull request #22868 from Microsoft/jjh/dockerfilecmd
Windows: CMD not honouring arg escaping
2016-07-07 09:21:26 -07:00
Sebastiaan van Stijn
ace1f176fe Merge pull request #24369 from vdemeester/24356-on-failure-inconsistency
Use "on-failure" for both containers and services
2016-07-07 08:22:59 -07:00
Justin Cormack
d37a7394ac Add ltdl dependencies for aarch64
Fixes `make test` and fix #24380 on aarch64

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-07 13:02:19 +01:00
Justin Cormack
0682468431 Make the docker proxy a standalone binary not a re-exec
This reduces memory usage with a lot of docker proxy processes.
On Docker for Mac we are currently carrying a patch to replace
the binary as we modify it to forward ports to the Mac rather
than the Linux VM, this allows us to simply replace this binary
in our packaging with one that has a compatible interface. This
patch does not provide an easy way to substitute a binary as
the interface is complex and there are few use cases, but where
needed this can be done.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-07 12:53:39 +01:00
Vincent Demeester
a859a33647 Use "on-failure" for both containers and services
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-07 11:32:19 +02:00
Vincent Demeester
6ec4a640de Vendor engine-api 1d247454d4307fb1ddf10d09fd2996394b085904
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-07 11:32:09 +02:00
Vincent Demeester
656c66dd50 Merge pull request #24383 from anusha-ragunathan/not-plugin
Detect non-plugin content during install and error out.
2016-07-07 11:18:27 +02:00
Vincent Demeester
50674ec107 Merge pull request #24053 from cpuguy83/mounts_default_writable
Change defaults for mount writable and volume copying
2016-07-07 11:18:14 +02:00
Sebastiaan van Stijn
f85a231c5f Merge pull request #24330 from avsm/endpoint-cli-typo
make `docker service --help` text for `--endpoint-mode` more consistent
2016-07-07 00:24:03 -07:00
Sebastiaan van Stijn
cd53e75c89 Merge pull request #24401 from yongtang/07052016-node-list-docs-HOSTNAME
Change NAME to HOSTNAME in docs for `docker node ls`
2016-07-06 22:49:34 -07:00
Yong Tang
668b8a998f Change NAME to HOSTNAME in docs for docker node ls
In #24159, the title field of `docker node ls` has been
changed from NAME to HOSTNAME. However, in the docs the
NAMEs are still used for the output of `docker node ls`.

This fix updates docs so that NAME field is changed to
HOSTNAME for all `docker node ls`.

This fix is related to #24159 and #24090.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-07-06 20:23:53 -07:00
Brian Goff
28e9d93f52 Merge pull request #24361 from coolljt0725/add_ip_ping
Install iproute2 and iputils-ping in Dockerfile.aarch64
2016-07-06 22:51:34 -04:00
Brian Goff
56f3422468 Use newer default values for mounts CLI
In the API:
`Writable` changed to `ReadOnly`
`Populate` changed to `NoCopy`

Corresponding CLI options updated to:
`volume-writable` changed to `volume-readonly`
`volume-populate` changed to `volume-nocopy`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-06 22:34:39 -04:00
Yanqiang Miao
bbfda85261 Fix 'make docker-py' error
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-07 10:00:22 +08:00
Anusha Ragunathan
d32df6d934 Detect non-plugin content during install and error out.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-07-06 18:49:39 -07:00
Brian Goff
db271b8833 re-vendor swarmkit
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-06 21:14:14 -04:00
Brian Goff
140ec59db6 re-vendor engine-api
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-06 21:14:14 -04:00
Mauricio Garavaglia
b65d6927d4 Remove code duplication in VolumeStore Create CreateWithRef
Signed-off-by: Mauricio Garavaglia <mauricio@medallia.com>
2016-07-06 19:09:47 -03:00
Brian Goff
a04a11f3e5 Merge pull request #24373 from floatingLomas/zsh-completion-fix
Remove unmatched bracket from _docker for zsh
2016-07-06 16:54:16 -04:00
runshenzhu
1ded1f26e1 add health check in docker cluster
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
2016-07-06 13:43:20 -07:00
Aaron Lehmann
7342e42fce Generate a swarm joining secret if none is specified
The current behavior of `docker swarm init` is to set up a swarm that
has no secret for joining, and does not require manual acceptance for
workers. Since workers may sometimes receive sensitive data such as pull
credentials, it makes sense to harden the defaults.

This change makes `docker swarm init` generate a random secret if none
is provided, and print it to the terminal. This secret will be needed to
join workers or managers to the swarm. In addition to improving access
control to the cluster, this setup removes an avenue for
denial-of-service attacks, since the secret is necessary to even create
an entry in the node list.

`docker swarm init --secret ""` will set up a swarm without a secret,
matching the old behavior. `docker swarm update --secret ""` removes the
automatically generated secret after `docker swarm init`.

Closes #23785

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-06 13:04:50 -07:00
Alexander Morozov
6f052edcc0 Merge pull request #24133 from cpuguy83/hacky_swarm_integration_tests
Implement service integration tests
2016-07-06 11:49:27 -07:00
Lei Jitang
276e234ca0 Install iproute2 and iputils-ping in Dockerfile.aarch64
ping and ip command are need in integration-cli test, but
they are missing in ubuntu:wily.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-06 16:48:51 +00:00
Vincent Demeester
6bf357561f Merge pull request #24363 from runcom/fix-cross-push-digests
vendor docker/distribution 4e17ab5d319ac5b70b2769442947567a83386fbc
2016-07-06 18:17:51 +02:00
Jonathan Lomas
7631dc80a6 Remove unmatched bracket from _docker for zsh
Signed-off-by: Jonathan Lomas <jonathan@floatinglomas.ca>
2016-07-06 08:57:28 -07:00
Antonio Murdaca
a0c8970df1 integration-cli: ensure digest is the same after cross-repo push
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-06 13:12:42 +02:00
Antonio Murdaca
8aa37bdbb7 vendor docker/distribution 4e17ab5d319ac5b70b2769442947567a83386fbc
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-06 13:12:37 +02:00
Anil Madhavapeddy
2de9585f5e make docker service --help text for --endpoint-mode more consistent
Previously:

```
      --constraint value             Placement constraints (default [])
      --endpoint-mode string         Endpoint mode(Valid values: vip, dnsrr)
<snip>
      --restart-condition string     Restart when condition is met (none, on_failure, or any)
```

Now:

```
      --constraint value             Placement constraints (default [])
      --endpoint-mode string         Endpoint mode (vip or dnsrr)
<snip>
      --restart-condition string     Restart when condition is met (none, on_failure, or any)
```

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2016-07-06 12:10:28 +01:00
Vincent Demeester
c70e432cee Merge pull request #24323 from avsm/better-leave-grammar
Improve the warning messages when leaving a Swarm cluster
2016-07-06 12:00:20 +02:00
xianlubird
5b681c96b0 Change buildEndpointResource params avoid repeat visits resource
Signed-off-by: Xianlu <xianlu.cxl@alibaba-inc.com>
2016-07-06 17:55:02 +08:00
Vincent Demeester
2cc5383f2f Merge pull request #23740 from vdemeester/23729-validate-hostname-conditionnaly
Validate hostname starting from 1.24 API.
2016-07-06 11:36:50 +02:00
Vincent Demeester
6daf3d2a78 Validate hostname starting from 1.24 API.
In order to keep a little bit of "sanity" on the API side, validate
hostname only starting from v1.24 API version.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-06 09:13:59 +02:00
Brian Goff
e5ec575b32 Implement service integration tests
This is done in a hacky way as currently there is no better way.
Uses known implementation details about how tasks are scheduled to be
able to operate on the underlying container.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-05 21:39:42 -04:00
Alexander Morozov
ad44f49470 Merge pull request #24351 from allencloud/add-file-close-in-loadBundlefile
fix severe fd leak in stack
2016-07-05 17:45:34 -07:00
allencloud
0af04b6132 fix severe fd leak in stack
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-06 07:00:39 +08:00
Sebastiaan van Stijn
4f44ea3154 Merge pull request #24347 from thaJeztah/cherry-pick-24325-to-master
Cherry-pick #24325 to master
2016-07-05 15:27:32 -07:00
Vincent Demeester
c014c9df88 Merge pull request #24339 from aaronlehmann/image-spec-fix
image spec: Correct set of acceptable characters in tags
2016-07-06 00:14:03 +02:00
Vincent Demeester
f7d5c4367b Merge pull request #24325 from Anvil/plugins_volume.md-unqiue
Fixed typo: s/unqiue/unique/g
(cherry picked from commit 84aa074d18)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-05 15:11:04 -07:00
Sebastiaan van Stijn
ecc3cfe41b Merge pull request #24342 from thaJeztah/add-mike-as-curator
Add Mike as a curator
2016-07-05 13:35:05 -07:00
Arnaud Porterie
5b41316815 Merge pull request #24158 from mavenugo/smissues
Fixed a few network UI issues in swarm-mode
2016-07-05 20:28:20 +00:00
Brian Goff
34a9e9d051 Merge pull request #24307 from cyphar/remove-systemd-rlimits
contrib: systemd: set Limit* to infinity
2016-07-05 16:02:47 -04:00
Brian Goff
97aebe9a6c Merge pull request #24013 from dmcgowan/atomic-libtrust-key-file-write
Atomically save libtrust key file
2016-07-05 15:28:41 -04:00
Alexander Morozov
db75aa029d Merge pull request #24173 from vdemeester/tasks-filter-service-node-by-name
Allow service and node filter to be name in `tasks` subcommands
2016-07-05 12:16:57 -07:00
Sebastiaan van Stijn
156e77cb0d Add Mike as a curator
Mike is going to help us with triaging issues,
so adding him to the curators list to make it
official.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-05 12:00:26 -07:00
Antonio Murdaca
fd30292dd8 Merge pull request #24335 from tophj-ibm/ppc64le-remove-go-sha-check
ppc64le: remove go SHA check
2016-07-05 20:51:47 +02:00
Aaron Lehmann
2f19e910bd image spec: Correct set of acceptable characters in tags
The image spec did not match the regexp that validates tags. It
neglected to mention that period and dash characters are allowed in
tags, as long as they are not the first character. It also did not
mention the length limit for tags.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-05 10:02:16 -07:00
Alexander Morozov
a44e0fedc2 Merge pull request #24298 from allencloud/fix-stdout-and-stderr-in-api-client
fix stdout and stderr in api client
2016-07-05 09:58:25 -07:00
Arnaud Porterie
ee0283c97a Merge pull request #23996 from dmcgowan/always-store-image-digest-update
[carry 23503]  Always store the image digest when pulling and pushing an image.
2016-07-05 16:18:20 +00:00
Alexander Morozov
55b8216279 Merge pull request #24191 from tonistiigi/mask-secrets
Mask swarm secrets from daemon logs
2016-07-05 08:56:33 -07:00
Christopher Jones
d9e12cba5a ppc64le: remove go SHA check
Makes it consistent with other Dockerfiles.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-07-05 11:54:19 -04:00
allencloud
533bd82e41 fix stdout and stderr in api client
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-05 23:07:40 +08:00
Vincent Demeester
dc31f4f6db Merge pull request #24332 from allencloud/fix-typos
fix typos
2016-07-05 16:29:29 +02:00
allencloud
edc307cb92 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-05 20:42:17 +08:00
Vincent Demeester
feb7b4d000 Merge pull request #24321 from F21/fix-grammatical-error
Fix a grammatical error in errClusterNetworkOnRun()'s error message.
2016-07-05 12:17:25 +02:00
Antonio Murdaca
98fa9ef7d3 Merge pull request #24300 from coolljt0725/arm64_test
Add NoArm64 testRequires and skip Schema1RegistrySuite on arm64
2016-07-05 12:13:30 +02:00
Anil Madhavapeddy
22a3d1fa20 Improve the warning messages when leaving a Swarm cluster
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2016-07-05 09:14:23 +01:00
Francis Chuang
1205a55846 Fix a grammatical error in errClusterNetworkOnRun()'s error message.
Signed-off-by: Francis Chuang <francis.chuang@boostport.com>
2016-07-05 16:18:06 +10:00
Vincent Demeester
39536c4866 Merge pull request #24312 from skaasten/patch-1
Fix typo - stacks being managed, not tasks?
2016-07-04 18:11:38 +02:00
skaasten
88da491cd9 Fix typo - stacks being managed, not tasks? 2016-07-04 11:13:57 -04:00
Shev Yan
11280665b4 Dockerfile's comments for "Run the test suite" are out of date because there is no 'test' in hack/make directory.
Signed-off-by: Shev Yan <yandong_8212@163.com>
2016-07-04 22:43:53 +08:00
Antonio Murdaca
c1bbe36ba4 Merge pull request #24274 from sdurrheimer/zsh-completion-service
Add zsh completion for 'docker service' commands
2016-07-04 15:16:35 +02:00
Steve Durrheimer
f5d768e2c5 Add zsh completion for 'docker service' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-04 15:14:58 +02:00
Aleksa Sarai
8db61095a3 contrib: systemd: set Limit* to infinity
There is a not-insignificant performance overhead for all containers (if
containerd is a child of Docker, which is the current setup) if systemd
sets rlimits on the main Docker daemon process (because the limits
propogate to all children).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-07-04 23:00:28 +10:00
Antonio Murdaca
d97233ca88 Merge pull request #24276 from sdurrheimer/zsh-completion-daemon-add-runtime
Add zsh completion for 'docker daemon --runtimes' and 'docker run --r…
2016-07-04 14:40:56 +02:00
Antonio Murdaca
687c15f518 Merge pull request #24273 from sdurrheimer/zsh-completion-plugin
Add zsh completion for 'docker plugin' commands
2016-07-04 14:40:20 +02:00
Antonio Murdaca
8b2597b3fa Merge pull request #24299 from coolljt0725/chmod_syscall
Add fchmod and fchmodat to TestRunSeccompProfileDenyChmod
2016-07-04 14:38:50 +02:00
Lei Jitang
8c179348c3 Add fchmod and fchmodat to TestRunSeccompProfileDenyChmod
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-04 11:06:48 +00:00
Lei Jitang
9c1566a1df Add NoArm64 testRequires and skip Schema1RegistrySuite on arm64
schema1 manifests is not working on ARM64, we should skip integration-cli
tests for schema1 manifests on ARM64.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-07-04 10:09:46 +00:00
Vincent Demeester
c49b0a4b8b Merge pull request #24293 from allencloud/add-whitespace-in-log
add a whitespace in plugin's logging
2016-07-04 08:53:43 +02:00
allencloud
97c77b7e0d add a whitespace in plugin's logging
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-04 09:38:06 +08:00
Steve Durrheimer
7ae3caa4e9 Add zsh completion for 'docker plugin' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-03 23:45:23 +02:00
Vincent Demeester
7b2c4df472 Merge pull request #24275 from sdurrheimer/zsh-completion-swarm
Add zsh completion for 'docker swarm' commands
2016-07-03 23:34:14 +02:00
Steve Durrheimer
2086663abd Add zsh completion for 'docker swarm' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-03 23:28:38 +02:00
Sebastiaan van Stijn
6aacb18024 Merge pull request #24268 from allencloud/change-ambigious-into-ambiguous
fix typo in err msg from ambigious to ambiguous
2016-07-03 14:01:23 -07:00
Sebastiaan van Stijn
df3e3a227b Merge pull request #24272 from sdurrheimer/zsh-completion-node
Add zsh completion for 'docker node' commands
2016-07-03 13:58:14 -07:00
Sebastiaan van Stijn
d05a5f7319 Merge pull request #24288 from thaJeztah/fix-typos
fix some nits and typo
2016-07-03 13:47:43 -07:00
Vincent Demeester
1763474a84 Merge pull request #24287 from ottok/fix-spelling
Fix spelling in comments, strings and documentation
2016-07-03 22:34:00 +02:00
Sebastiaan van Stijn
68bf45084e fix some nits and typo
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-03 12:48:08 -07:00
Sebastiaan van Stijn
4ebe4e83ee Merge pull request #24286 from sdurrheimer/zsh-completion-ps-last
Add zsh completion for 'docker ps --last'
2016-07-03 12:13:16 -07:00
Steve Durrheimer
1dc9cf4901 Add zsh completion for 'docker ps --last'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-03 20:38:54 +02:00
Sebastiaan van Stijn
1f66e55a45 Merge pull request #24285 from albers/completion-ps--last
Add bash completion for `docker ps --last`
2016-07-03 11:26:03 -07:00
Sebastiaan van Stijn
8a1249a726 Merge pull request #24257 from thaJeztah/fix-swarm-networking-docs
remove incorrect L3 recommendation
2016-07-03 11:18:52 -07:00
Otto Kekäläinen
644a7426cc Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
2016-07-03 20:58:11 +03:00
Harald Albers
009d50e2d8 bash completion for default port on docker swarm {init,join}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-03 10:48:37 -07:00
Harald Albers
715754ee61 bash completion can be configured to show node and service IDs
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-03 10:48:37 -07:00
Harald Albers
2b34fa0511 bash completion for docker {service,node} filters
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-03 10:48:37 -07:00
Harald Albers
dd883b0ce2 Add bash completion for docker ps --last
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-03 10:36:34 -07:00
Sebastiaan van Stijn
1e9c5a856a Merge pull request #23871 from sbose78/23837-docker-ps-flag
#23837 Added long flag to docker ps for checking latest n containers
2016-07-03 10:15:14 -07:00
Sebastiaan van Stijn
afce0f5946 Merge pull request #24264 from runcom/mandokerd8
man: add missing --add-runtime
2016-07-03 10:13:28 -07:00
Doug Davis
e64a691253 Merge pull request #24281 from aochagavia/patch-1
Fix typo
2016-07-03 09:22:20 -04:00
Adolfo Ochagavía
76b09be696 Fix typo
Signed-off-by: Adolfo Ochagavía <aochagavia92@gmail.com>
2016-07-03 15:20:27 +02:00
Vincent Demeester
b334a7d8b5 Merge pull request #24279 from bamarni/patch-1
[doc] add missing whitespace
2016-07-03 12:25:53 +02:00
Antonio Murdaca
585332dfe0 man: add missing --add-runtime
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-03 11:57:44 +02:00
Bilal Amarni
0244174296 [doc] add missing whitespace
Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com>
2016-07-03 10:07:07 +02:00
Steve Durrheimer
a5c7eb607e Add zsh completion for 'docker daemon --runtimes' and 'docker run --runtime'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-03 10:03:53 +02:00
Steve Durrheimer
024698718f Add zsh completion for 'docker node' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-07-03 01:10:30 +02:00
Sebastiaan van Stijn
92766c4b83 Merge pull request #22472 from allencloud/make-pkg-fileutils-support-darwin
add fileutils_darwin.go in pkg/fileutils to support darwin platform
2016-07-02 14:15:22 -07:00
Shoubhik Bose
256edc24fc 23837 Added long flag to docker ps for checking latest n containers. Updated to "--last"
Signed-off-by: Shoubhik Bose <sbose78@gmail.com>
2016-07-02 19:15:01 +00:00
Sebastiaan van Stijn
3b6bd66cc9 Merge pull request #24251 from thaJeztah/fix-readonly-flag
fix typo in "readonly" flag in documentation
2016-07-02 08:38:16 -07:00
allencloud
c6cbdad729 fix typo in err msg from ambigious to ambiguous
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-02 23:18:58 +08:00
Antonio Murdaca
327a69c9b0 Merge pull request #24212 from miaoyq/fix-makefile-comment-err
Modify the comment of Makefile
2016-07-02 17:04:11 +02:00
Antonio Murdaca
d5f0d80858 Merge pull request #24259 from sarcar/my_add_names
Add Andrew Wiles, Florence Nightingale, Thomas Edison to container na…
2016-07-02 16:24:22 +02:00
Vincent Demeester
5347536631 Merge pull request #24245 from cloojure/patch-4
Update network_create.md
2016-07-02 11:32:40 +02:00
Vincent Demeester
59a07f6478 Merge pull request #24254 from thaJeztah/fix-timestamp-capitalization
Improve timestamp formatting
2016-07-02 11:27:49 +02:00
Vincent Demeester
1a0bca56f2 Merge pull request #23977 from Morsicus/master
Update doc remote api (container inpect part)
2016-07-02 11:19:48 +02:00
Mickaël FORTUNATO
166928a24b Update docker_remote_api_v1.22.md
Update docker_remote_api_v1.23.md
Update docker_remote_api_v1.24.md
Update docker_remote_api_v1.25.md

look like ExecDriver is not return anymore

Signed-off-by: Mickaël Fortunato <morsi.morsicus@gmail.com>
2016-07-02 10:58:46 +02:00
Yanqiang Miao
38550d27f8 Modify comment of Makefile
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-07-02 11:23:03 +08:00
Shourya Sarcar
39dd365c5e Add Andrew Wiles, Florence Nightingale, Thomas Edison to container names.
British mathematician Andrew Wiles is notable for solving Fermat's LAst
Theorem. Florence Nightingale was the first female inducted into the
Royal Statistical Society. Thomas Alva Edison was a prolific inventor,
noted for inventing the incandescent light bulb, the phonograph and the
motion picture camera (among many other).

Signed-off-by: Shourya Sarcar <shourya.sarcar@gmail.com>
2016-07-02 02:56:03 +00:00
Sebastiaan van Stijn
a26852223e remove incorrect L3 recommendation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-01 18:13:29 -07:00
Sebastiaan van Stijn
04c94a013c Improve timestamp formatting
lowercase the output, to prevent "About" halfway,
and add "ago" to the output, as timestamps are always
in the past.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-01 17:55:52 -07:00
Sebastiaan van Stijn
212988d68d Merge pull request #24248 from aaronlehmann/swarm-init-docs-fix
Fix --auto-accept documentation
2016-07-01 17:27:19 -07:00
Sebastiaan van Stijn
ac12696ff4 fix typo in "readonly" flag in documentation
the flag is named '--read-only', not '--readonly'

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-01 17:08:59 -07:00
Aaron Lehmann
9aed7d1a3d Fix --auto-accept documentation
The --auto-accept documentation currently says that both worker and
manager nodes are automatically accepted by default. Correct it.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-01 16:54:30 -07:00
Tibor Vass
ee9734c631 Merge pull request #24243 from runcom/spec-stop-gap
Fix F24 rpm build
2016-07-01 16:46:12 -07:00
Alan Thompson
68b8cc9735 Update network_create.md
minor typos and punctuation.

Signed-off-by: Alan Thompson <cloojure@gmail.com>
2016-07-01 16:16:53 -07:00
Doug Davis
e3c09a848c Merge pull request #24242 from robbyt/patch-1
fixes minor typo in comment
2016-07-01 18:10:24 -04:00
Antonio Murdaca
0c07e55e4c fix F24 rpm build
error: line 89: Invalid version (epoch must be unsigned integer):
%{epoch}:1.12.0-0.3.rc3.fc24: Requires(pre): docker-engine-selinux >=
%%{epoch}:1.12.0-0.3.rc3.fc24

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-01 23:29:48 +02:00
Robert Terhaar
29fea0fd2e fixes minor typo in comment
Signed-off-by: Robert Terhaar <rterhaar@atlanticdynamic.com>
2016-07-01 17:29:08 -04:00
Tibor Vass
93731a6350 Merge pull request #24230 from mlaventure/vendor-containerd
Vendor containerd 1b3a81545ca79456086dc2aa424357be98b962ee
2016-07-01 13:26:28 -07:00
Sebastiaan van Stijn
adb48487f2 Merge pull request #23947 from cpuguy83/fix_mount_target
Volume mounts need to use "Binds" API field
2016-07-01 13:23:14 -07:00
Kenfe-Mickael Laventure
2685c82c2e Vendor containerd 1b3a81545ca79456086dc2aa424357be98b962ee
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-07-01 11:46:48 -07:00
Kara Alexandra
d0737e9ac0 Add blanks lines in docs for clarity
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-07-01 11:40:22 -07:00
Vincent Demeester
9ba5e0fa72 Merge pull request #24213 from runcom/reference-underlying-error
reference: Do not drop the underlying error message
2016-07-01 19:24:43 +02:00
Sebastiaan van Stijn
691bbeaf44 Merge pull request #24059 from sfsmithcha/fix_cli_ref_menu
add menu.md, make index.md command line reference, update typos/minor…
2016-07-01 10:00:54 -07:00
Vincent Demeester
b898882461 Merge pull request #24128 from thaJeztah/rename-desired_state-filter
rename desired_state filter to desired-state
2016-07-01 18:34:02 +02:00
Sebastiaan van Stijn
b36f068bc5 Merge pull request #24217 from vdemeester/23887-docs
Improve systemd service unit in *Automatically start containers*
2016-07-01 08:02:36 -07:00
Vincent Demeester
48744e03e9 Improve systemd service unit in *Automatically start containers*
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-01 15:19:28 +02:00
Vincent Demeester
75923481d7 Merge pull request #24179 from nicolaka/master
[Docs] added nfs docs
2016-07-01 12:38:57 +02:00
Antonio Murdaca
69dae0a5fb reference: Do not drop the underlying error message
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-07-01 11:57:43 +02:00
Sebastiaan van Stijn
972c6a7113 Merge pull request #24199 from tonistiigi/update-swarm
Update swarmkit, add support for external ca
2016-07-01 00:50:32 -07:00
allencloud
d2dd1a1f7d add fileutils_darwin.go in pkg/fileutils to support darwin platform
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-07-01 13:02:26 +08:00
Aaron Lehmann
fa147591ed Add documentation for external CA features in API/CLI
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-06-30 18:08:57 -07:00
Alexander Morozov
2358d5425e Merge pull request #24177 from yongtang/24168-s390x
Fix s390x build failure by removing golang.org/x/sys/unix
2016-06-30 17:38:57 -07:00
Tonis Tiigi
11085b2260 Add support for external CAs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-30 17:22:47 -07:00
Tonis Tiigi
9b65273836 Update to new swarmkit/engine-api
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-30 17:22:47 -07:00
Tonis Tiigi
54255f53d8 Vendor updated swarmkit, libnetwork, engine-api
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-30 17:21:39 -07:00
Tõnis Tiigi
8fe6480c8a Merge pull request #23584 from nishanttotla/private-images-swarm-services
Passing registry auth token for service create, update
2016-06-30 17:18:59 -07:00
Tonis Tiigi
8b8f86aec9 Mask swarm secrets from daemon logs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-30 17:11:09 -07:00
Alexander Morozov
9809446060 Merge pull request #24003 from tonistiigi/fix-duplicate-layers
Fix duplicate layers in exported tar
2016-06-30 17:07:58 -07:00
Sebastiaan van Stijn
50672d1856 Merge pull request #24169 from wenchma/stack-link
Fix docker stack link
2016-06-30 16:54:41 -07:00
Sebastiaan van Stijn
c3e391cc9b Merge pull request #24187 from khudgins/newstorageplugins
Added HPE volume plugin listing to docs
2016-06-30 16:53:46 -07:00
Tõnis Tiigi
a0d068e7c6 Merge pull request #24060 from Microsoft/jjh/skipruncidfilecleanupifemptyrs1
Windows: Skip RunCidFileCleanupIfEmpty on RS1
2016-06-30 16:36:41 -07:00
Tõnis Tiigi
9828960ade Merge pull request #24056 from Microsoft/jjh/skiptestbuildemptycmdrs1
Windows: Skip TestBuildEmptyCmd on RS1
2016-06-30 16:34:55 -07:00
Nishant Totla
538bac39d7 Adding a flag to specify sending of registry auth
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-06-30 14:59:32 -07:00
Sebastiaan van Stijn
d761719eb4 rename desired_state filter to desired-state
For consistency with other filters (such as
"is-official"), this renames the desired_state
filter to "desired-state".

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-30 14:49:46 -07:00
msabansal
1991f6ebd6 Enabling specifying static ip for predefined network on windows
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-06-30 14:33:27 -07:00
Charles Smith
f98f596c19 add menu.md, make index.md command line reference, update typos/minor errors in cli docs
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-30 14:30:11 -07:00
Nicola Kabar
841f985994 [Docs] clarified local volume driver docs
Signed-off-by: Nico <nicolaka@gmail.com>
2016-06-30 14:15:44 -07:00
Tibor Vass
9d18fda08d Merge pull request #24125 from vdemeester/24117-node-task-filter
Fix --filter=desired_state behaviour
2016-06-30 14:08:05 -07:00
Brian Goff
2bc2165cbf Volume mounts need to use "Binds" API field
Swarm was putting volume type mounts into the container config's
"Volumes" field, but really these need to go into "Binds".
"Volumes" is only for normal "-v /foo" volumes, not named volumes or
anything else.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-30 17:00:52 -04:00
Sebastiaan van Stijn
295a6a37dc Merge pull request #24100 from hypriot/revert-tasksmax-workaround-21628
Revert tasksmax workaround to avoid unsupported bins
2016-06-30 13:20:33 -07:00
Alexander Morozov
3926d98394 Merge pull request #23631 from mlaventure/unstuck-ci-hangs-with-warning
Prevent CI from getting stuck if shims are left alive
2016-06-30 11:41:41 -07:00
Derek McGowan
8906f8307c Treat digest only images as dangling
Add test for dangling digest images

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-30 11:32:49 -07:00
Alexander Morozov
b8cef7c19c Merge pull request #24091 from AkihiroSuda/fixZFS24008
zfs: call mount.MakePrivate
2016-06-30 11:14:30 -07:00
Keith Hudgins
87ef5b4254 Added HPE volume plugin listing
Signed-off-by: Keith Hudgins <greenman@greenman.org>
2016-06-30 14:13:54 -04:00
Vincent Demeester
cbc4fd2131 Merge pull request #24175 from allencloud/fix-comments-and-handle-err
fix comments and handle err
2016-06-30 19:22:47 +02:00
Alexander Morozov
0f687aafaf Merge pull request #24159 from yongtang/24090-docker-node-list-hostname
Use HOSTNAME in the output of `docker node ls`
2016-06-30 09:28:57 -07:00
Vincent Demeester
e84b91d8f5 Merge pull request #24174 from runcom/fix-grammar
fix warn message typos
2016-06-30 17:05:06 +02:00
Vincent Demeester
294791e9ed Merge pull request #24171 from allencloud/make-cmd-short-consistency
make cmd short consistency
2016-06-30 16:59:32 +02:00
Yong Tang
ba39912a62 Revendor golang.org/x/sys to remove golang.org/x/sys/unix
This fix tries to fix the issue raised in #24168 where
golang.org/x/sys causes s390x build failure.

This fix revendor golang.org/x/sys to removed the import
of "golang.org/x/sys/unix".

Note: The last commit removes the reference to
"golang.org/x/sys/unix".

This fix fixes #24168.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-30 06:55:21 -07:00
allencloud
cc054f3195 fix comments and handle err
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-30 21:53:20 +08:00
Yong Tang
f3d8658fff Fix s390x build failure by removing golang.org/x/sys
This fix tries to fix the issue raised in #24168 where
golang.org/x/sys causes s390x build failure.

This fix removed the import of "golang.org/x/sys/unix".

This fix fixes #24168.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-30 06:32:32 -07:00
Vincent Demeester
e8439971b4 Merge pull request #24007 from LK4D4/fix_close_races
daemon/logger: fix races in channel close
2016-06-30 15:21:17 +02:00
allencloud
184afb92bf make cmd short short consistency and change docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-30 21:17:51 +08:00
Antonio Murdaca
a4143e6756 fix warn message typos
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-30 15:17:37 +02:00
Antonio Murdaca
e275865a61 Merge pull request #24164 from coolljt0725/remove_no_warn
Remove dm.no_warn_on_loop_devices in info warning
2016-06-30 15:16:05 +02:00
Vincent Demeester
b0fc5a21f1 Allow service and node filter to be name…
… on `docker node tasks` and `docker service tasks` commands.
This changes is mainly server-side (between engine api and
swarmkit). There is just a check in `api/client/service/tasks.go` to
handle the special *self* meaning.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-30 15:09:03 +02:00
Vincent Demeester
cc024095c9 Merge pull request #24149 from mavenugo/kn
Added missing flags for swarm-mode networks
2016-06-30 12:23:45 +02:00
Wen Cheng Ma
93ed4b35fa Fix docker stack link
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-06-30 17:22:42 +08:00
Sebastiaan van Stijn
cbf785c45a Merge pull request #24080 from dmcgowan/atomic-writer-mode
Set permission on atomic file write
2016-06-30 01:00:08 -07:00
Lei Jitang
2aa01e0fbc Remove dm.no_warn_on_loop_devices in info warning
I think we doesn't provide dm.no_warn_on_loop_devices option
at all. I didn't found any code to handle this option.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-30 14:57:46 +08:00
Lei Jitang
d2da1e3997 Merge pull request #23974 from hopkings2008/devmapper_log
Add detail error logs when 'Unknown Device' error happens if devicema…
2016-06-29 23:39:40 -07:00
yuzou
d4a2bcc9ac Add detail error logs when 'Unknown Device' error happens if devicemapper storage is used.
Signed-off-by: yuzou <zouyu7@huawei.com>
2016-06-30 13:06:14 +08:00
Yong Tang
4bc91ceeb7 Use HOSTNAME in the output of docker node ls
This fix tries to address an issue raised in #24090 where
the title field of `docker node ls` use NAME instead of
HOSTNAME. Yet the content of this field is actually
hostname.

The fix makes needed changes for the output of
`docker node ls`.

An additional test has been added to cover the change in
this fix.

This fix fixes #24090.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-29 19:54:16 -07:00
Madhu Venugopal
0ce5158a2a Fixed a few network UI issues in swarm-mode
* Detect name conflicts on network creation
* Detect and prevent network connect/disconnect for managed containers

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-29 18:08:55 -07:00
Tonis Tiigi
41bf7de73b Fix duplicate layers in exported tar
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-29 18:06:42 -07:00
John Howard
fd4f5c2365 Windows: Ensure VolumePath is not set for Hyper-V containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-29 16:49:09 -07:00
Ferran Rodenas
4039bfc917 Syslog Driver: RFC 5425 Framing should be used only when protocol is TCP+TLS
Signed-off-by: Ferran Rodenas <frodenas@gmail.com>
2016-06-29 15:41:10 -07:00
Madhu Venugopal
cf78863e9d Added missing flags for swarm-mode networks
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-29 15:30:57 -07:00
Sebastiaan van Stijn
e904f58e19 Merge pull request #24144 from thaJeztah/update-api-docs
docs: add note that we no longer send container-id for exec
2016-06-29 15:25:43 -07:00
Brian Goff
55d9c49f92 Merge pull request #24135 from dnephin/fix_error_message
Fix mount opts error message
2016-06-29 17:19:00 -04:00
Alexander Morozov
9162011680 Merge pull request #23789 from tonistiigi/swarm-integration-tests
Update swarm integration tests and shutdown synchronization
2016-06-29 14:09:57 -07:00
Sebastiaan van Stijn
a1fff2ca5a Merge pull request #23949 from jstarks/fix_progress_on_load_compressed_layer
image: Report load progress on compressed layer size
2016-06-29 13:37:12 -07:00
Sebastiaan van Stijn
511002f308 Merge pull request #24141 from thaJeztah/add-charles-as-docs-maintainer
Add Charles to docs maintainers
2016-06-29 13:32:32 -07:00
Sebastiaan van Stijn
82876c0f5b docs: add note that we no longer send container-id for exec
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-29 13:30:09 -07:00
Nishant Totla
af5df117a8 Updating header name and executor
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-06-29 13:26:19 -07:00
Sebastiaan van Stijn
b4163c1189 Add Charles to docs maintainers
Charles is part of the docs team, so
adding him to the list here.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-29 13:13:57 -07:00
Derek McGowan
1cd7490281 Set permission on atomic file write
Perform chmod before rename with the atomic file writer.
Ensure writeErr is set on short write and file is removed on write error.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-29 13:09:13 -07:00
Daniel Nephin
c8659d3cc5 Fix mount opts error message.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-29 15:14:55 -04:00
Sebastiaan van Stijn
50a173e3d5 Merge pull request #23955 from yongtang/23768-cpu-count
Fix wrong CPU count after CPU hot-plugging
2016-06-29 12:00:13 -07:00
Vincent Demeester
1e7ba55494 Merge pull request #23946 from dnephin/service-update-args
Fixes for `service update` of Args
2016-06-29 20:24:07 +02:00
Sebastiaan van Stijn
27ceac2d74 Merge pull request #24071 from vdemeester/24063-empty-filtered-network-list
Return an empty network list if nothing matches filter
2016-06-29 11:14:30 -07:00
Sebastiaan van Stijn
ccab57620e Merge pull request #24028 from hqhq/fix_comments_in_aarch64
Fix comments in Dockerfile.aarch64
2016-06-29 11:06:29 -07:00
Sebastiaan van Stijn
b9fc4ed664 Merge pull request #24069 from adamjk-dev/install_script_rhel_fix
Install script rhel fix
2016-06-29 11:04:55 -07:00
Adam Kunk
485c27e186 updates to fix install script for RHEL
fixing install script for rhel7

fixing install script for rhel7

Signed-off-by: Adam Kunk <adam.kunk@tiaa-cref.org>

updates to fix install script for RHEL

fixing install script for rhel7

fixing install script for rhel7

Signed-off-by: Adam Kunk <adam.kunk@tiaa-cref.org>
2016-06-29 13:51:27 -04:00
Sebastiaan van Stijn
d68415a949 Merge pull request #24105 from vdemeester/24094-fix-swarm-join-doc
Fixes /swarm/join endpoint documentation
2016-06-29 10:48:41 -07:00
Vincent Demeester
2f9d20288c Merge pull request #24050 from ncoolz/issue-cluster-store-config
Fix check code for --cluster-store and --cluster-advertise in config_…
2016-06-29 19:15:23 +02:00
Daniel Nephin
07b59ef210 Fix service update of Args
add a unit test

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-29 12:41:57 -04:00
Vincent Demeester
e51fc72238 Merge pull request #24126 from noxiouz/fix_doc_api
Remove extra comma in Image Pull API examples
2016-06-29 18:16:04 +02:00
Sebastiaan van Stijn
aa4d9c1a46 Merge pull request #24120 from albers/docs-filter-desired_state
add documentation for `desired_state` filter
2016-06-29 09:15:11 -07:00
Anton Tiurin
307c39c187 Remove extra comma in Image Pull API examples
Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
2016-06-29 19:04:42 +03:00
Vincent Demeester
3c194bd2a4 Fix --filter=desired_state behaviour
Just like `docker service tasks`, we should add `desired_state` filters
only in case there is no provided filters.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-29 17:40:34 +02:00
Harald Albers
36f57f7d02 add documentation for desired_state filter
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-29 08:27:25 -07:00
Vincent Demeester
97c9491b0d Fixes /swarm/join endpoint documentation
The JSON payload given in the API documentation is wrong, fixing it.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-29 11:27:22 +02:00
Stefan Scherer
6509cc4e63 Revert tasksmax workaround to avoid unsupported bins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-06-29 08:10:10 +02:00
Vincent Demeester
3d231c78e8 Merge pull request #24072 from anusha-ragunathan/fix-tests
Fix daemon tests.
2016-06-29 07:52:21 +02:00
Sebastiaan van Stijn
91fd0df9c0 Merge pull request #24096 from sfsmithcha/fix_footers
remove margin from bottom of swarm mode docs
2016-06-28 21:44:49 -07:00
Charles Smith
0d6f59e85a remove margin from bottom of swarm mode docs
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-28 19:46:39 -07:00
Akihiro Suda
5ec8441bb5 zfs: call mount.MakePrivate
Fix #24008

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-29 01:55:45 +00:00
Anusha Ragunathan
6d36431e23 Fix daemon tests.
Fix two test issues:
- pidof is not available in PATH on some Jenkins systems (rhel, centos)
  Use kill -0 instead.
- Cleanup after plugin test. This is a stop gap fix. The right way to
  fix this, is to shutdown the plugin on daemon shutdown path (except
  for the live-restore case). This will be done in a follow up PR.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-28 15:29:49 -07:00
Vincent Demeester
a7043ac5c4 Return an empty network list if nothing matches filter
Initializing the network list struct in order to return an empty list
instead of a nil object.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-29 00:06:44 +02:00
Alexander Morozov
57977fb127 Merge pull request #24061 from dmcgowan/close-reader-after-mount-exec
overlay2: close read end of pipe on mount exec
2016-06-28 14:58:56 -07:00
Wonjun Kim
679fe7e36a Merge branch 'master' into issue-cluster-store-config 2016-06-29 06:25:34 +09:00
Wonjun Kim
d71789828f Add integration tests for swarm incompatible
Signed-off-by: Wonjun Kim <wonjun.kim@navercorp.com>
2016-06-29 06:21:02 +09:00
Nishant Totla
e13a14340d Update engine-api vendored version
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-06-28 13:53:01 -07:00
Nishant Totla
93ec5cda55 Passing registry auth token for service create and update
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-06-28 13:53:01 -07:00
Michael Crosby
f529af0107 Merge pull request #24047 from cpuguy83/add_ipvs_to_check
Add ip_vs to check-config script
2016-06-28 13:34:43 -07:00
Derek McGowan
ad4b3e11fe overlay2: close read end of pipe on mount exec
Use StdinPipe to ensure pipe is properly closed after startup

Fixes #23686

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-28 13:23:00 -07:00
John Howard
20424fccdd Windows: Skip RunCidFileCleanupIfEmpty on RS1
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-28 13:04:42 -07:00
John Howard
45da127442 Windows: Skip TestBuildEmptyCmd on RS1
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-28 12:22:16 -07:00
Christopher Jones
88ea43d2aa DockerExternalVolumeSuite: add daemon to test
Part of #23998. Adds a daemon to this test, so that the
volume that's created is added to this test daemon's vol store
instead of the main test daemons.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-06-28 13:52:48 -04:00
Brian Goff
9e14002ced Add ip_vs to check-config script
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-28 13:42:38 -04:00
Wonjun Kim
4f671ae85e Fix check code for --cluster-store and --cluster-advertise in config_unix.go
Signed-off-by: Wonjun Kim <wonjun.kim@navercorp.com>
2016-06-29 02:36:43 +09:00
Kenfe-Mickael Laventure
fd1129d31a Prevent CI from getting stuck if shims are left alive
This will kill any left over containerd-shims to avoid the integration
script to stay stuck while it waits on them.

It will then causes CI to fail (even if all the tests succeeded).

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-28 10:05:05 -07:00
Brian Goff
83e6197380 Merge pull request #24025 from AkihiroSuda/fixzfsdoc
update storagedriver/zfs-driver.md for Ubuntu 16.04 LTS
2016-06-28 10:05:44 -04:00
Vincent Demeester
e7e9b183fd Merge pull request #24032 from feldan/24030-malformed_history_layer
Fix Malformed history layer - missing Sprintf
2016-06-28 13:37:49 +02:00
danf
29b6a69660 Fix Malformed history layer - missing Sprintf in append of shell in Builder run config
Signed-off-by: Dan Feldman <danf@jfrog.com>
2016-06-28 11:09:39 +03:00
Qiang Huang
1997081096 Fix comments in Dockerfile.aarch64
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-06-28 14:31:34 +08:00
Akihiro Suda
ddf9b6f666 update storagedriver/zfs-driver.md for Ubuntu 16.04 LTS
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-28 06:11:03 +00:00
Sebastiaan van Stijn
2875c5404e Merge pull request #24021 from londoncalling/add-redirect-for-getting-started
added another alias for getting started stuff
2016-06-27 23:01:09 -07:00
Yong Tang
3f6e3a0885 Fix docker rename with linked containers
This fix tries to address issue raised in #23973 where the
`docker rename` does not update namedIndex and linkIndex,
thus resulting in failures when the linked containers are
referenced later on.

This fix updates the namedIndex and linkIndex during the
`docker rename` and fixes the issue.

An integration test has been added to cover the changes
in this fix.

This fix fixes #23973.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-27 19:58:05 -07:00
Victoria Bialas
4060eb02ef added another alias for getting started stuff
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-27 18:58:16 -07:00
Derek McGowan
9836162446 Atomically save libtrust key file
The libtrust keyfile which is used to set the "ID" property of a daemon must be generated or loaded on every startup.
If the process crashes during startup this could cause the file to be incomplete causing future startup errors.
Ensure that the file is written atomically to ensure the file is never in an incomplete state.

Fixes #23985

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-27 15:54:39 -07:00
Sebastiaan van Stijn
1c06ebeeee Merge pull request #23950 from jstarks/no_clone_tp5
Windows: Disable VM cloning for TP5 image
2016-06-27 15:13:50 -07:00
Alexander Morozov
378f0657f9 daemon/logger: fix races in channel close
it's actually not okay to do such trick from multiple goroutines

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-27 14:14:23 -07:00
Sebastiaan van Stijn
8e8ef7c724 Merge pull request #23182 from crosbymichael/maxkeys
Change root_maxkeys
2016-06-27 13:46:11 -07:00
Vincent Demeester
ee658a5aa5 Merge pull request #24002 from crosbymichael/update-containerd-jun27
Update containerd to b93a33be39bc4ef0fb00bfcb79147
2016-06-27 22:35:38 +02:00
Michael Crosby
48eba0bfe6 Merge pull request #23677 from anusha-ragunathan/mv_test_stable
Move daemon restart tests from experimental to stable.
2016-06-27 13:07:55 -07:00
Vincent Demeester
276ed3755e Merge pull request #22980 from thaJeztah/deprecate-shorthand-help
deprecate '-h' shorthand and remove '-help'
2016-06-27 21:45:04 +02:00
Vincent Demeester
47a6196fc8 Merge pull request #23993 from allencloud/change-code-in-plugin
fix bug in plugins
2016-06-27 21:32:28 +02:00
Tibor Vass
b01c46e1d8 Merge pull request #23867 from thaJeztah/fix-install-script
Fix installation script for RHEL
2016-06-27 12:27:56 -07:00
Michael Crosby
91fa49071d Merge pull request #23775 from mlaventure/change-stock-runtime-alias
Use "runc" as alias for the default runtime
2016-06-27 11:55:46 -07:00
Michael Crosby
7db7e04631 Update containerd to b93a33be39bc4ef0fb00bfcb79147
This updates containerd to b93a33be39bc4ef0fb00bfcb79147a28c33d9d43
fixing the start sync issues.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-27 11:45:05 -07:00
Sebastiaan van Stijn
6add695084 deprecate '-h' shorthand and remove '-help'
This deprecates the shorthand '-h', because we don't mention it as an option,
and it conflicts with the 'docker create -h/--hostname' option, so cannot be
used for all commands consistently.

This also removes the (single-dash) '-help' option. The single-dash variant was
marked "deprecated" in version 1.5.0 (basically, since it was added in
a2b529ead2), but still kept around to
prevent '-help' being treated as '-h -e -l -p', causing confusing
warnings.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-27 11:29:37 -07:00
Michael Crosby
ca3e4545aa Change root_maxkeys
Most modern distros have the limit for the maximum root keys at 1000000
but some do not.  Because we are creating a new key for each container
we need to bump this up as the older distros are having this limit at
200.

Using 1000000 as the limit because that is that most distros are setting
this to now.  If someone has this value configured over that we do not
change it.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-27 10:23:37 -07:00
Derek McGowan
33984f256b Always store the image digest when pulling and pushing an image.
Always attempt to add digest even when tag already exists.
Ensure digest does not currently exist.
When image id is mismatched, output an error log.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-27 10:09:57 -07:00
allencloud
2281ce7e98 add err handling, close fd
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-27 23:51:54 +08:00
Brian Goff
cccfe63e86 Merge pull request #23868 from albers/completion-swarm-enhancements
bash completion enhancements for `docker {swarm,node,service}`
2016-06-27 10:55:54 -04:00
Brian Goff
e2a26744f9 Merge pull request #23697 from dongluochen/blockServiceModeChange
Do not allow service mode change
2016-06-27 10:53:53 -04:00
Brian Goff
982fc5edca Merge pull request #23967 from duglin/removeLine
Remove blank line on daemon output when there are no containers to load
2016-06-27 09:48:41 -04:00
Vincent Demeester
1cfd37f432 Merge pull request #23801 from inercia/fix_docker_cli_by_digest
Make sure some integration tests check for the right return code
2016-06-27 15:37:59 +02:00
Brian Goff
c83a97f62f Merge pull request #23982 from allencloud/uppercase-output-in-node-inspect
uppercase output in node inspect to keep consistency
2016-06-27 09:24:36 -04:00
allencloud
89582e1a34 uppercase output in node inspect to keep consistency
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-27 18:29:27 +08:00
Alvaro Saurin
b5f51e5281 Change the comments in TestPullFailsWithAlteredLayer and TestPullFailsWithAlteredLayer
Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
2016-06-27 11:06:32 +02:00
Sven Dowideit
1d2adbdd52 Merge pull request #23743 from alxempirical/alxempirical-20160618-clarify-role-of-dockerhost
Clarify the role of `dockerhost` in the apt-cacher-ng example.
2016-06-27 11:42:56 +10:00
Sven Dowideit
96b0323cf0 Merge pull request #23842 from tjanez/docs-systemd-default-target
Use 'default.target' in systemd unit file example
2016-06-27 11:42:05 +10:00
Doug Davis
478dd721ab Remove blank line on daemon output when there are no containers to load
Its a minor thing but the daemon's output looks like this when there are
no containers to load:
```
INFO[0001] Loading containers: start.

INFO[0001] Loading containers: done.
```
That blank line (or more correctly, the \n) is unnecessary when
there are no containers to load since there is no `.` printed

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-06-26 10:51:34 -07:00
Yong Tang
3707a76921 Fix wrong CPU count after CPU hot-plugging on Windows
This fix tries to fix wrong CPU count after CPU hot-plugging.
On windows, GetProcessAffinityMask has been used to probe the
number of CPUs in real time.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-25 22:20:29 -07:00
Yong Tang
33badc189c Revendor golang.org/x/sys/ to have unix package included.
This commit updates golang.org/x/sys/ in order to have needed unix
package included.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-25 20:50:02 -07:00
Yong Tang
8b2383f5c1 Fix wrong CPU count after CPU hot-plugging
This fix tries to address issues raised in #23768 where the CPU count
is not updated after cpu ho-plugging.

This fix follows the suggestion from #23768 and replace go's `runtime.NumCPU()`
with `sysconf(_SC_NPROCESSORS_ONLN)` so that correct CPU count could
be obtained even after CPU hot-plugging.

This fix is tested manually, as is suggested in #23768.

This fix fixes #23768.

The NumCPU() in Linux is based on @wmark 's implementation.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-25 20:48:36 -07:00
Brian Goff
d4bff5e3aa Merge pull request #23944 from tonistiigi/disable-iptables
Disable iptables in swarm test daemons
2016-06-25 20:22:59 -04:00
Sebastiaan van Stijn
5c33d13cd8 Merge pull request #23956 from vdemeester/docs-dsb-to-dab
Update experimental docs dsb -> dab
2016-06-25 10:20:00 -07:00
Vincent Demeester
8af760c910 Update experimental docs dsb -> dab
Fixing bundle extension in experimental documentation.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-25 19:08:03 +02:00
Vincent Demeester
58f1ae1641 Merge pull request #23945 from aanand/update-bundle-extension
Update bundle extension
2016-06-25 17:00:33 +02:00
Vincent Demeester
9ed0feece8 Merge pull request #23939 from vdemeester/rename-same-no-lock
No need for container.Lock if rename same name
2016-06-25 14:56:20 +02:00
Vincent Demeester
eae254d98b Merge pull request #23942 from aaronlehmann/sanbox
Fix "sanbox" typos
2016-06-25 11:27:46 +02:00
Alexander Morozov
b2ba44b11d Merge pull request #23934 from cpuguy83/23862_fix_bind_opts
Fix panic due to nil bind options
2016-06-24 16:17:38 -07:00
John Starks
8e34322253 Windows: Disable VM cloning for TP5 image
The Windows TP5 image is not compatible with the Hyper-V isolated
container clone feature. Detect old images and pass a flag specifying that
clone should not be enabled.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-06-24 16:12:44 -07:00
John Starks
e602225160 Revendor github.com/Microsoft/hcsshim
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-06-24 16:12:43 -07:00
Tonis Tiigi
caaf92f7b4 Disable iptables in swarm test daemons
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-24 15:47:37 -07:00
John Starks
5fd8edec1c Report load progress on compressed layer size
When calling docker load on an image tar containing a compressed layer,
apply NewProgressReader to the compressed layer (whose size is known), not
the uncompressed stream. This fixes progress reporting to the client in
this case.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-06-24 15:28:26 -07:00
Sebastiaan van Stijn
e5a8a7747e Merge pull request #23281 from yongtang/23211-spf13-cobra-update
Use spf13/cobra for docker update
2016-06-24 14:31:53 -07:00
Tonis Tiigi
1acb8ef825 Add test for force-new-cluster
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-24 13:57:11 -07:00
Tonis Tiigi
1a8a473017 Fix race on clearing swarm nodes on stop
On stop there were multiple places that marked
`cluster.node` nil. Now stop waits for the node to
set itself nil.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-24 13:57:02 -07:00
Brian Goff
7ff546467d Merge pull request #23940 from allencloud/fix-err-msg
fix error message and typos in swarm cluster
2016-06-24 16:57:01 -04:00
Brian Goff
824290a37e Merge pull request #23935 from LK4D4/fix_net_create_use
cli: fix network create usage
2016-06-24 16:55:12 -04:00
Brian Goff
caba54396c Merge pull request #23943 from aaronlehmann/task-updates-warning
Remove log warning on task update
2016-06-24 16:43:01 -04:00
Aanand Prasad
61e2d4240b Update bundle extension
It's now .dab, for Distributed Application Bundle

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-06-24 12:32:35 -07:00
allencloud
39bc10c36d fix error message and typos in swarm cluster
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-25 03:10:18 +08:00
Aaron Lehmann
39c93cfb47 Remove log warning on task update
This warning appears in the course of normal use of swarm mode. Since
it's meant more as an internal TODO than something which should be
exposed to a user, remove the log message.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-06-24 12:07:47 -07:00
Aaron Lehmann
fa04558ac1 Fix "sanbox" typos
Correcting "sanbox" to "sandbox".

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-06-24 12:04:26 -07:00
Aaron Lehmann
e8ec19bd87 Merge pull request #23914 from tonistiigi/upadate-manager-error-message
Add better error messages for unavailable swarm commands
2016-06-24 12:02:34 -07:00
Sebastiaan van Stijn
b73b303b1c Merge pull request #23933 from yp-engineering/service-log-typo
Fixing typo on service log output.
2016-06-24 11:56:31 -07:00
Tonis Tiigi
22b34d6449 Switch node management tests to api types
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-24 11:51:43 -07:00
Tõnis Tiigi
39211d113b Merge pull request #23872 from sfsmithcha/fix_scale_service_output
correct output description - only one task is running on manager
2016-06-24 11:04:28 -07:00
Tianyi Wang
54e8beec9b Fix high cpu usage caused by docker stats.
Signed-off-by: Tianyi Wang <capkurmagati@gmail.com>
2016-06-25 02:55:51 +09:00
Vincent Demeester
7e1ec8d2bd No need for container.Lock if rename same name
During the renaming of a container, no need to call `container.Lock()`
if `oldName == newName`.

This is a follow-up from #23360 (commit 88d1ee6c11)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-24 19:55:48 +02:00
Vincent Demeester
88d1ee6c11 Merge pull request #23360 from sainath14/rename_error
docker rename fix to address the issue of renaming with the same name
2016-06-24 19:54:09 +02:00
Vincent Demeester
296b5c761f Merge pull request #23918 from LK4D4/avoid_copy
pkg/pools: avoid copy of sync.Pool
2016-06-24 19:35:43 +02:00
Vincent Demeester
23696e8265 Merge pull request #23921 from tonistiigi/test-timeouts
Increase test timeouts for node state changes
2016-06-24 19:21:56 +02:00
Tonis Tiigi
803733120a Add better error messages for unavailable swarm commands
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-24 10:14:57 -07:00
Alexander Morozov
159e7341ad cli: fix network create usage
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-24 09:32:39 -07:00
Brian Goff
4c2e1a9cb0 Fix panic due to nil bind options
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-24 11:57:17 -04:00
Brian Goff
e82dcf1c6d Merge pull request #23881 from tonistiigi/exec-wait
Fix error reporting on executor wait
2016-06-24 11:18:49 -04:00
Brian Goff
4d7e08d675 Merge pull request #23733 from tkopczynski/20784-builder-dockerfile-dispatchers
Builder/dockerfile/dispatchers.go unit tests
2016-06-24 11:10:16 -04:00
Brian Goff
f6326d3076 Merge pull request #23802 from inercia/fix_docker_cli_run_test
Make sure we compare string with the same capitalization
2016-06-24 10:27:29 -04:00
Vincent Demeester
2fe294c16a Merge pull request #23883 from AkihiroSuda/md2man105
update go-md2man to v1.0.5
2016-06-24 10:58:25 +02:00
Vincent Demeester
cf54dfba34 Merge pull request #23875 from tonistiigi/task-node-down
Do not show tasks from down nodes as active in ls
2016-06-24 10:07:25 +02:00
Tibor Vass
bf08aae852 Merge pull request #23919 from Microsoft/jjh/prefix
Windows: Ensure frozen cope with prefix
2016-06-23 19:46:55 -07:00
Tibor Vass
45f76db06d Merge pull request #23824 from mlaventure/fix-apt-repo-components-fields
Fix the value of the Components value in apt {In,}Release files
2016-06-23 17:54:13 -07:00
Tonis Tiigi
2e5da44341 Increase test timeouts for node state changes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-23 17:30:42 -07:00
John Howard
b820ead426 Windows: Ensure frozen cope with prefix
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-23 16:39:16 -07:00
Alexander Morozov
ba3af336eb pkg/pools: avoid copy of sync.Pool
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-23 16:09:13 -07:00
Vincent Demeester
37fe4bdb59 Merge pull request #23912 from dmcgowan/fix-overlay2-whiteout-exclusion
Fix overlay2 ignoring whiteout files
2016-06-24 01:06:38 +02:00
Adam Avilla
7cc6fe5758 Fixing typo on service log output.
Signed-off-by: Adam Avilla <aavilla@yp.com>
2016-06-23 14:54:40 -07:00
Derek McGowan
bd13c53f8d Fix overlay2 ignoring whiteout files
Currently when overlay creates a whiteout file then the overlay2 layer is archived,
the correct tar header will be created for the whiteout file, but the tar logic will then attempt to open the file causing a failure.
When tar encounters such failures the file is skipped and excluded for the archive, causing the whiteout to be ignored.
By skipping the copy of empty files, no open attempt will be made on whiteout files.

Fixes #23863

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-23 13:34:38 -07:00
Doug Davis
86d5c7e759 Merge pull request #23760 from SerhatG/docker_doc_cmd_shell_comment
Docker reference error CMD with ENV variables
2016-06-23 13:34:14 -07:00
John Starks
4acc2c7499 Windows: Always enable VT emulation
Always enable VT output emulation when starting the process so that
non-attaching commands can still output VT codes.

Also remove the version block for using the native console and just rely
on supported flags being present.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-06-23 13:14:39 -07:00
Sebastiaan van Stijn
563973a183 Merge pull request #23853 from docker/linkchecker-updates
Removing some url links that can be resolved using src markdown links
2016-06-23 12:34:45 -07:00
Sebastiaan van Stijn
6b3faf781f Merge pull request #23857 from davidmichaelkarr/patch-1
Update work-with-networks.md: Fix Subnet and Gateway props to match command line
2016-06-23 12:25:02 -07:00
Tõnis Tiigi
487931902c Merge pull request #23790 from tonistiigi/skip-pull
Skip always pulling images on integration tests
2016-06-23 11:47:33 -07:00
Vincent Demeester
18398b2933 Merge pull request #23859 from aboch/vnd
Update check-config.sh, netlink and libnetwork vendoring
2016-06-23 20:34:02 +02:00
Sebastiaan van Stijn
73d5f0648e Fix installation script for RHEL
the previous fix changed the lsb_dist variable
too early. We only normalize to "centos"
for the repository-location, so changing
it just before that.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-23 11:17:55 -07:00
Vincent Demeester
4cad55026a Merge pull request #23896 from runcom/f24-contrib
contrib: builder: rpm: add Fedora 24
2016-06-23 20:08:35 +02:00
Vincent Demeester
3c40f22d70 Merge pull request #23899 from orkaa/evalulate-rename
For the lulz! (evalulate -> evaluate)
2016-06-23 19:23:54 +02:00
Aaron Lehmann
c9175a6deb Merge pull request #23862 from LK4D4/fix_unused
all: fix usage of some variables
2016-06-23 10:21:10 -07:00
orkaa
1bdbfa5770 For the lulz! (evalulate -> evaluate)
Signed-off-by: orkaa <orkica@gmail.com>
2016-06-23 16:26:43 +02:00
Antonio Murdaca
0b83f27328 contrib: builder: rpm: add Fedora 24
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-23 12:31:11 +02:00
Vincent Demeester
e3a698fcd0 Merge pull request #23888 from sdurrheimer/zsh-completion-event-load-save
Add zsh completion for 'load' and 'save' image events
2016-06-23 10:13:01 +02:00
Vincent Demeester
28f4a8ca55 Merge pull request #23890 from sdurrheimer/zsh-completion-link-local-ip
Add zsh completion for 'docker {create,run,network connect} --link-lo…
2016-06-23 10:12:05 +02:00
Vincent Demeester
6211570de1 Merge pull request #23891 from sdurrheimer/zsh-completion-run-storage-opt
Add zsh completion for 'docker run --storage-opt size='
2016-06-23 10:11:02 +02:00
Vincent Demeester
29717dd347 Merge pull request #23892 from sdurrheimer/zsh-completion-cpu-shares-c
Re-Add zsh completion for '-c' alias to '--cpu-shares'
2016-06-23 10:09:59 +02:00
Vincent Demeester
9ebc423e16 Merge pull request #23889 from sdurrheimer/zsh-completion-storage-driver-overlay2
Add zsh completion for 'docker daemon --storage-driver (overlay2|vfs)'
2016-06-23 10:08:38 +02:00
Steve Durrheimer
4c23ac0ae5 Re-Add zsh completion for '-c' alias to '--cpu-shares'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-23 08:57:39 +02:00
Steve Durrheimer
857e7d6ae4 Add zsh completion for 'docker run --storage-opt size='
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-23 08:52:42 +02:00
Steve Durrheimer
704d9b6864 Add zsh completion for 'docker {create,run,network connect} --link-local-ip'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-23 08:44:08 +02:00
Steve Durrheimer
8e582a2573 Add zsh completion for 'docker daemon --storage-driver (overlay2|vfs)'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-23 08:35:36 +02:00
Steve Durrheimer
e2f1f699b3 Add zsh completion for 'load' and 'save' image events
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-23 08:29:24 +02:00
Anusha Ragunathan
006d58d7e6 Add plugin restore tests.
Also live restore is stable now. So move experimental tests out to stable.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-22 19:04:26 -07:00
Akihiro Suda
cfe16e0d5b update go-md2man to v1.0.5
Due to the issue of go-md2man, a numbered list in `man docker login` was not rendered correctly.
a8f937e113

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-23 01:58:37 +00:00
Tonis Tiigi
c895a76f10 Fix error reporting on executor wait
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-22 18:12:51 -07:00
Tonis Tiigi
5d4401d6d7 Do not show tasks from down nodes as active in ls
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-22 14:49:24 -07:00
Charles Smith
5f219806fc correct output description - only one task is running on manager
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-22 12:41:22 -07:00
Alexander Morozov
138f9538f3 Merge pull request #23776 from Microsoft/ShutdownError
Windows: Prevent logging errors when shutting down an already shut down container
2016-06-22 12:11:00 -07:00
Kenfe-Mickael Laventure
69af7d0d13 Use "docker-runc" as alias for the default runtime
This also moves the variable holding the default runtime name from the
engine-api repository into docker repository

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-22 11:59:26 -07:00
Tõnis Tiigi
506234e3f0 Merge pull request #23829 from LK4D4/cleanup_unused
api,daemon: cleanup some unused stuff
2016-06-22 11:58:57 -07:00
Alexander Morozov
df6630f6a3 Merge pull request #23832 from tonistiigi/unify-swarm-init-update
Unify swarm init and update options
2016-06-22 11:56:07 -07:00
Alexander Morozov
7eae48cd21 Merge pull request #23835 from swernli/loggerfix
Fixing file handle leak for "docker logs"
2016-06-22 11:52:55 -07:00
Harald Albers
e3339a75d3 bash completion enhancements for docker {swarm,node,service}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-22 20:23:46 +02:00
Yong Tang
9765593c5f Use spf13/cobra for docker update
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker update` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-22 11:06:44 -07:00
Alessandro Boch
c355e059cc Add modules for secure overlay network to check-config.sh
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-22 10:51:13 -07:00
Alexander Morozov
57e14714ee all: fix usage of some variables
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-22 10:40:32 -07:00
David M. Karr (fullname at gmail.com)
a54c3fbb8a Update work-with-networks.md
The value of the Subnet and Gateway properties didn't match the command-line argument.

Signed-off-by: David M. Karr <davidmichaelkarr@gmail.com>
2016-06-22 09:48:59 -07:00
Alessandro Boch
e26c513fa8 Vendoring libnetwork ed311d0
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-22 09:40:20 -07:00
Alessandro Boch
58b8b8fa15 Vendoring vishvananda/netlink 734d02c
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-22 09:37:17 -07:00
Sven Dowideit
01f9cbc366 Removing some url links that can be resolved using src markdown links
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-22 12:50:51 +00:00
Vincent Demeester
b2da02dc7e Merge pull request #23846 from HackToday/fixdoc
Fix the missing 'ls'
2016-06-22 11:08:28 +02:00
Kai Qiang Wu(Kennan)
cbd240581f Fix the missing 'ls'
Signed-off-by: Kai Qiang Wu(Kennan) <wkq5325@gmail.com>
2016-06-22 08:40:35 +00:00
Tadej Janež
c8a99a5054 Expand instructions on using systemd to manage containers
Signed-off-by: Tadej Janež <tadej.j@nez.si>
2016-06-22 10:21:17 +02:00
Tadej Janež
0a8c46d5e5 Use 'default.target' in systemd unit file example
Previously, 'local.target' was used which is not going to work
out-of-the-box for lots of users.
The 'default.target' is the default unit systemd starts at bootup and
hence what most users would be expected to use.

Signed-off-by: Tadej Janež <tadej.j@nez.si>
2016-06-22 10:13:13 +02:00
Sven Dowideit
937c0a1648 Merge pull request #23818 from shishir-a412ed/doc_fix_PR19367
Man page fix: Mention supported drivers for --storage-opt size option in docker create/run.
2016-06-22 11:59:10 +10:00
Sven Dowideit
e770b80d80 Merge pull request #23820 from ericbarch/master
Add missing words in the swarm docs
2016-06-22 11:58:09 +10:00
Sven Dowideit
4962fea757 Merge pull request #23797 from liubin/fix-typo
fix some typos
2016-06-22 11:56:48 +10:00
Sven Dowideit
e76e52b38b Merge pull request #23738 from psiclops/typos
Fix misspell typos
2016-06-22 11:56:13 +10:00
Stefan J. Wernli
54f11b84d2 Fixing file handle leak for "docker logs"
If "docker logs" was used on an offline container, the logger is leaked, leaving it up to the finalizer to close the file handle, which could block removal of the container.  Further, the json file logger could leak an open handle if the logs are read without follow due to an early return without a close.  This change addresses both cases.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-06-21 18:40:30 -07:00
Tonis Tiigi
0a4a0d9800 Fix opts tests after default port fix
The code for default port was already there but
it didn’t work because split function errored out
before. This should be the desired behavior that
matches daemon listen address with swarm listen
address.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-21 17:14:55 -07:00
Tonis Tiigi
fb3eb1c27e Unify swarm init and update options
Add api side validation and defaults for init and
join requests.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-21 16:34:32 -07:00
Vincent Demeester
3e0f96cdb3 Merge pull request #23712 from aaronlehmann/parallel-push-multiple-registries
Fix parallel push of the same image to different registries
2016-06-22 00:40:35 +02:00
Alexander Morozov
ca669eb849 Merge pull request #23783 from Microsoft/WaitExitDebug
Windows: Added stateinfo to WaitExit info to aid debugging daemon hangs
2016-06-21 14:32:31 -07:00
Alexander Morozov
b02e7faa85 Merge pull request #23817 from kencochrane/fix_install_script
Fixed install script that was not working for RHEL7 host
2016-06-21 14:20:42 -07:00
Alexander Morozov
ed5d335e22 api,daemon: cleanup some unused stuff
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-21 14:15:19 -07:00
Darren Stahl
9aa9bda178 Added stateinfo to WaitExit info to aid debugging daemon hangs
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-21 12:41:08 -07:00
Kenfe-Mickael Laventure
63b0713014 Fix the value of the Components value in apt {In,}Release files
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-21 12:01:41 -07:00
Shishir Mahajan
dc3fdfbe5b Man page fix: Mention supported drivers for --storage-opt size option in docker create/run
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-06-21 14:53:37 -04:00
Darren Stahl
7e5ee6d176 Windows: Added support for storage-opt size
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-21 10:53:29 -07:00
Alexander Morozov
7b2b4eb40c Merge pull request #23700 from Microsoft/jjh/fixrotestcases
Windows: Fix RO test cases
2016-06-21 09:01:43 -07:00
Eric Barch
db158e9182 Add missing words in the swarm docs
Signed-off-by: Eric Barch <barch@tomesoftware.com>
2016-06-21 08:28:59 -07:00
Ken Cochrane
0e84474672 Fixed issue #23787 install script not working for RHEL7 host
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-06-21 09:40:00 -04:00
Sven Dowideit
96a58bdba8 Merge pull request #23816 from SvenDowideit/update-docker4-links
Now that the Docker4 links are online, we can use them
2016-06-21 23:04:43 +10:00
Sven Dowideit
587d2f9d81 Now that the Docker4 links are online, we can use them
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-21 12:55:41 +00:00
Vincent Demeester
96e3f3e2d0 Merge pull request #23757 from AkihiroSuda/overlay2doc
Add overlay2 description to overlayfs-driver.md
2016-06-21 14:06:57 +02:00
Sven Dowideit
a6f7167c0a Merge pull request #23805 from albers/completion--cpu-shares--c
bash completion for `-c` alias to `--cpu-shares`
2016-06-21 21:19:06 +10:00
Sven Dowideit
5ba6b1e89c Merge pull request #23804 from albers/completion-btrfs-min_space
bash completion for `docker daemon --storage-opt btrfs.min_space`
2016-06-21 21:18:49 +10:00
Sven Dowideit
a1eb6528eb Merge pull request #23803 from albers/completion-run--storage-opt
bash completion for `docker {run,create} --storage-opt`
2016-06-21 21:18:32 +10:00
Sven Dowideit
38b07e7fa6 Merge pull request #23800 from albers/completion-events-load-save
bash completion for `load` and `save` image events
2016-06-21 21:18:16 +10:00
Sven Dowideit
d5939876be Merge pull request #23799 from albers/completion-storage-driver-overlay2
bash completion for `docker daemon --storage-driver olverlay2`
2016-06-21 21:18:01 +10:00
Sven Dowideit
a7a0269624 Merge pull request #23798 from albers/completion--link-local-ip
bash completion for `docker {run,create,network connect} --link-local…
2016-06-21 21:17:37 +10:00
Sven Dowideit
78d68d6e88 Merge pull request #23794 from sdurrheimer/zsh-completion-daemon-live-restore
Add zsh completion for 'docker daemon --live-restore'
2016-06-21 21:17:17 +10:00
Sven Dowideit
d82e82a827 Merge pull request #23657 from neilpeterson/nepeters-docs-configfile
Added daemon.json Windows example
2016-06-21 21:07:19 +10:00
Vincent Demeester
f8656a6e37 Merge pull request #23772 from mlaventure/fix-missing-runtime-on-upgrade
Fix missing container runtime on upgrade
2016-06-21 12:22:28 +02:00
Vincent Demeester
097d1a2b61 Merge pull request #23780 from shishir-a412ed/doc_update_PR19367
PR 19367 doc change: Mention supported drivers for --storage-opt size option in docker create/run.
2016-06-21 12:09:47 +02:00
Vincent Demeester
f3c9ba0bb0 Merge pull request #23781 from kevinjqiu/fix-doc-typo
Fix some doc typos
2016-06-21 12:07:00 +02:00
Harald Albers
79296b2770 bash completion for -c alias to --cpu-shares
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 11:30:26 +02:00
Harald Albers
f693b99870 bash completion for docker daemon --storage-opt btrfs.min_space
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 11:11:11 +02:00
Harald Albers
7d2ffa00c0 bash completion for docker {run,create} --storage-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 11:04:09 +02:00
Alvaro Saurin
41cc7c4d9d Make sure we are trying to unmount a mounted /etc/resolv.conf
Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
2016-06-21 10:38:45 +02:00
Alvaro Saurin
ded347e744 Make sure we compare strings with the same capitalization
Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
2016-06-21 10:35:50 +02:00
Harald Albers
5334520bf0 bash completion for load and save image events
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 10:26:21 +02:00
Harald Albers
d96eeff194 bash completion for docker daemon --storage-driver olverlay2
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 10:19:07 +02:00
Harald Albers
98483f57ed bash completion for docker {run,create,network connect} --link-local-ip
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-21 09:43:34 +02:00
Sebastiaan van Stijn
d25cc581f7 Merge pull request #23778 from thaJeztah/sync_api-1.24-1.25
Sync API changes from 1.25 -> 1.24
2016-06-21 00:41:17 -07:00
Aaron Lehmann
2753a5e916 Merge pull request #23770 from sfsmithcha/edit_swarm_concept
clarify swarm concept
2016-06-21 00:29:49 -07:00
bin liu
950073aabb fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
2016-06-21 15:29:25 +08:00
Kevin Jing Qiu
3b2ee9a704 Fix some doc typos and spacings
Signed-off-by: Kevin Jing Qiu <kevin@idempotent.ca>
2016-06-20 23:54:36 -07:00
Steve Durrheimer
8036fc794a Add zsh completion for 'docker daemon --live-restore'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-21 08:31:28 +02:00
Akihiro Suda
8625adbd67 Add overlay2 description to overlayfs-driver.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-21 06:18:56 +00:00
Shishir Mahajan
fe6416d04f PR 19367 doc change: Mention supported drivers for --storage-opt size option in docker create/run.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-06-20 22:27:02 -04:00
Tonis Tiigi
e2226223e6 Skip always pulling images on integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-20 17:45:29 -07:00
Darren Stahl
79060e8212 Windows: Prevent logging errors when shutting down an already shut down container
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-20 16:57:08 -07:00
Darren Stahl
ee59c53c2f Revender hcsshim to v0.3.5
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-20 16:56:13 -07:00
Sebastiaan van Stijn
815b2ffb41 Merge pull request #23777 from thaJeztah/disable-api-1.25
Temporarily disable API v1.25 docs
2016-06-20 14:50:03 -07:00
Sebastiaan van Stijn
93095b1699 Sync API changes from 1.25 -> 1.24
commit 79e1d3877a
updated the v1.25 API with changes in SwarmKit,
but these changes should apply to v1.24.

This updates the 1.24 API with the same changes.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-20 14:07:11 -07:00
Sebastiaan van Stijn
59bdd4e569 Temporarily disable API v1.25 docs
The docs are currently published from "master" for the RC,
so hiding v1.25 API, which is for docker 1.13

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-20 13:50:00 -07:00
Kenfe-Mickael Laventure
d7ceda4e37 Fix missing container runtime on upgrade
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-20 11:21:01 -07:00
Charles Smith
e029631713 clarify swarm concept
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-20 11:02:56 -07:00
John Howard
03816ad5b5 Windows: Fix RO test cases
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-20 10:15:20 -07:00
Alexander Morozov
1bbac428de Merge pull request #23011 from coolljt0725/fix_link
Fix link doesn't work sometimes when container start with multiple networks
2016-06-20 09:42:13 -07:00
Alexander Morozov
e7fd784868 Merge pull request #23399 from tkopczynski/23211-info-command
Migrate info command to cobra
2016-06-20 09:38:53 -07:00
Alexander Morozov
7d7d8fa752 Merge pull request #23449 from HackToday/improveunit
Improve the TestEventsContainerWithMultiNetwork UT
2016-06-20 09:38:22 -07:00
Alexander Morozov
1475557341 Merge pull request #23649 from dmcgowan/image-delete-last-repo-ref
Update rmi logic for canonical references
2016-06-20 09:35:16 -07:00
Alexander Morozov
8258b09df1 Merge pull request #23678 from dnephin/share-more-node-update-code
Some cleanup for new CLI commands
2016-06-20 09:33:33 -07:00
Daniel Nephin
cacaeab9db Remove dead code from node update.
Also share mode code between update commands
and use flag constants

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-20 11:05:48 -04:00
Daniel Nephin
c08a50dbd1 Use flag constants for swarm flag.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-20 11:04:37 -04:00
Daniel Nephin
9d1f3373b3 add more flag constants to service update.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-20 11:03:36 -04:00
Sebastiaan van Stijn
e070503511 Merge pull request #23737 from cpuguy83/cleanup_some_service_api_docs
Fix a bunch of issues with service API docs
2016-06-20 07:03:37 -07:00
Brian Goff
79e1d3877a Fix a bunch of issues with service API docs
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-20 06:40:31 -07:00
Vincent Demeester
bfff4cce67 Merge pull request #23696 from sfsmithcha/check_swarm_cli
update docker swarm cli
2016-06-20 15:40:06 +02:00
Vincent Demeester
2bc3efffe2 Merge pull request #23714 from albers/fix-completion-service-swarm-node
Fix bash completion for `docker {swarm,node}` subcommands
2016-06-20 15:37:08 +02:00
Sven Dowideit
14a2633f3c Merge pull request #23764 from SvenDowideit/use-rc-advisory
Use rc advisory
2016-06-20 21:56:28 +10:00
Sven Dowideit
daedbc60d6 Add the advisory=rc metadata
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-20 11:54:53 +00:00
Serhat Gülçiçek
7a30fa7af6 Fix error for env variables example in docker reference - 2
The reason why the issue occurs is because sh parses the first argument after -c as the whole script to execute.
Everything after isn't executed as one might expect.

When working on the 'fix' I found out the same fix is also done in commit 2af7c5cfe2, except only for one occurrence.

Signed-off-by: Serhat Gülçiçek <serhat+signoff@equil.nl>
2016-06-20 13:09:44 +02:00
Sebastiaan van Stijn
37ee14a998 remove "RC" warning from Markdown files
A site-wide banner is going to be used, so we don't need this warning

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-20 00:24:37 -07:00
Sven Dowideit
d9b1c2452a Merge pull request #23755 from thaJeztah/fix-experimental-markdown-formatting
Fix markdown formatting for experimental
2016-06-20 17:23:12 +10:00
Sebastiaan van Stijn
a92f6551c9 Fix markdown formatting for experimental
- don't indent code-blocks that use fences
- fixed some formatting
- wrapped long lines to 80-chars
- removed stray empty lines

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-20 00:16:25 -07:00
Sven Dowideit
2cb050cde3 Merge pull request #23751 from friism/move-dab-into-title-and-intro
bring dab into title and intro
2016-06-20 15:06:26 +10:00
Michael Friis
6defef5619 bring dab into title and intro
Signed-off-by: Michael Friis <friism@gmail.com>
2016-06-19 22:04:30 -07:00
Sven Dowideit
19d571e8eb Merge pull request #23747 from friism/expand-experimental-bundle-doc
expand stack doc
2016-06-20 09:57:07 +10:00
Michael Friis
cd2237c2bc expand stack doc
Signed-off-by: Michael Friis <friism@gmail.com>
2016-06-19 16:53:46 -07:00
Sebastiaan van Stijn
70e47c4f75 Merge pull request #23731 from WeiZhang555/fix-help
Make --help information consistent
2016-06-19 16:12:09 -07:00
Sebastiaan van Stijn
b644ab5a44 Merge pull request #23741 from sfsmithcha/add_links
add links to swarm and service commands to swarm mode overview
2016-06-19 15:59:19 -07:00
Alex Coventry
8aba9fd3ec Clarify role of dockerhost variable
Signed-off-by: Alex Coventry <alx@empirical.com>
2016-06-19 15:35:26 -04:00
Charles Smith
c13c560196 add links to swarm and service commands to swarm mode overview
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-19 11:43:49 -07:00
Vincent Demeester
4cc70c921f Merge pull request #23723 from tonistiigi/incomplete-restore
Don’t try to restore swarm from incomplete state
2016-06-19 19:56:39 +02:00
nick
7135afa79b Fix misspell typos
Signed-off-by: nick <nicholasrusso@icloud.com>
2016-06-19 09:53:31 -07:00
Vincent Demeester
f01e8556bb Merge pull request #23736 from yongtang/06192016-reference-link
Fix reference link error in Jenkins docs failure
2016-06-19 18:24:55 +02:00
Yong Tang
1cb7fb4d2e Fix reference link error in Jenkins docs failure
This fix fixes one of the Jenkins docs failure:
https://jenkins.dockerproject.org/job/docs-docker-pr/9754/

There are 7 errors. This fix addresses one:
`* link error: (in page engine/userguide/storagedriver/device-mapper-driver.md) ../../reference/commandline/dockerd/#storage-driver-options`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-19 08:50:13 -07:00
Sebastiaan van Stijn
6cc5c8a732 Merge pull request #23734 from yongtang/06192016-reference-link-deprecated-docs
Add release tag reference links in deprecated.md
2016-06-19 07:44:25 -07:00
Yong Tang
bc20354b09 Add release tag reference links in deprecated.md
This fix adds a couple of missed release tag reference links in deprecated.md

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-19 06:13:57 -07:00
Tomasz Kopczynski
5ece81a72a Builder/dockerfile/dispatchers.go tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-06-19 14:45:34 +02:00
Vincent Demeester
ce72bf8028 Merge pull request #23720 from yongtang/23716-renaming-started-container
Fix `docker start` error with renamed container
2016-06-19 13:56:13 +02:00
Vincent Demeester
f480bda09f Merge pull request #23721 from mrjana/vendor
Vendoring libnetwork @ab62dd6bf06bf0
2016-06-19 12:09:19 +02:00
Zhang Wei
0e53976336 Make --help information consistent
Other docker command always print "[OPTIONS]" right after `docker
COMMAND`, but `build` and `push` has inconsistent help message.

This commit will fix help information format.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-19 16:26:23 +08:00
Alexander Morozov
98aa5fb2c0 Merge pull request #23719 from shurcooL/integration-cli-fix-style-issue
integration-cli: Change "Dns" to "DNS".
2016-06-18 21:33:24 -07:00
Tonis Tiigi
ded1d9af38 Don’t try to restore swarm from incomplete state
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-18 19:43:47 -07:00
Jana Radhakrishnan
663159e9ac Vendoring @ab62dd6bf06bf0
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-06-18 19:19:13 -07:00
Yong Tang
6e86733b47 Fix docker start error with renamed container
This fix tries to fix the issue raised in #23716 where `docker start`
causes an error of `No such container:` if the container has been
renamed before `docker start` returns.

The issue is that `docker start` use container name passed at the
beginning to check for exit code at the end of the `docker start`.

This fix addresses the issue by always use container's `ID` to get
the information during `docker start`.

Additional integration tests have been added to cover this fix.

This fix fixes #23716.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-18 16:43:30 -07:00
Dmitri Shuralyov
8cf4133f37 integration-cli: Change "Dns" to "DNS".
This fixes a minor lint/style issue, improves consistency.

According to Go style, which this project follows, acronyms should have
a consistent case. Source: https://github.com/golang/go/wiki/CodeReviewComments#initialisms

See https://github.com/docker/docker/pull/11310#discussion_r67394302.

Signed-off-by: Dmitri Shuralyov <shurcooL@gmail.com>
2016-06-18 16:32:27 -07:00
Sebastiaan van Stijn
83f2feb72d Merge pull request #23717 from thaJeztah/carry-23482
[carry 23482] Update inspect reference
2016-06-18 13:52:01 -07:00
Charles Chan
17ae6539f6 Update help output to match Docker 1.11.
* Also touch up headings.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2016-06-18 13:47:12 -07:00
Sebastiaan van Stijn
7dee5deb4d Merge pull request #23650 from sfsmithcha/rc1_updates
update cli commands output for rc1, revise key concepts
2016-06-18 12:37:55 -07:00
Charles Smith
9499d5fd52 update cli commands output for rc1, revise key concepts
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-18 11:38:27 -07:00
Harald Albers
e65f036e13 fix bash completion for docker {swarm,node} subcommands
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-18 10:28:20 -07:00
Harald Albers
19753ec84d correct sort order in new bash completions
The completion for the new `docker service`, `docker swarm` and
`docker node` command families were partly added in non-alphabetical
order.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-18 09:54:44 -07:00
Mike Goelzer
5cf73a47f5 Add bash completion for docker service scale
Signed-off-by: Mike Goelzer <mike.goelzer@docker.com>

Conflicts:
	contrib/completion/bash/docker
2016-06-18 09:27:06 -07:00
Sebastiaan van Stijn
1d45334a1a Merge pull request #23713 from SvenDowideit/fix-more-links
Fix more links
2016-06-18 07:49:18 -07:00
Sven Dowideit
c2495dbe6d bad url
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-18 13:00:38 +00:00
Sven Dowideit
ad1819ca1d href links are not converted from file.md by hugo
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-18 12:44:38 +00:00
Arnaud Porterie
a3b6ab04f6 Merge pull request #23703 from tiborvass/carry-23694
Carry 23694: Default port for listen addr
2016-06-18 06:25:57 +00:00
Sebastiaan van Stijn
3911644782 Merge pull request #23708 from vieux/lower_mode
accept uppercase endpoint mode
2016-06-17 23:20:17 -07:00
Dong Chen
72f7cebfb0 Block service mode change.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-06-17 23:04:37 -07:00
Aaron Lehmann
b014d6a917 Merge pull request #23707 from mrjana/vendor
Vendoring swarmkit @3f135f206179e
2016-06-17 22:47:58 -07:00
Aaron Lehmann
1333ef3ca3 Fix parallel push of the same image to different registries
Layer uploads are deduplicated by a "key" made up of the layer DiffID
and the repository name. The repository name being used to form this key
was a remote version of the name that didn't include the name of the
registry. Consequently, pushes of the same layer in a repository with
the same remote name to different registries would wrongly be
deduplicated.

Correct the key by using the full name of the repository, which includes
the registry hostname as well as the image's name.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-06-17 22:27:03 -07:00
Sebastiaan van Stijn
95074b57c6 Merge pull request #23671 from tombee/task-creation-log-debug
Change log.printf service creation msg to debug
2016-06-17 20:23:33 -07:00
Tõnis Tiigi
5e3d9d38b4 Merge pull request #23701 from icecrime/fix_update
Change `docker service update` semantics
2016-06-17 19:51:15 -07:00
Daniel Nephin
c544649874 Add tests for AutoAcceptOption
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-17 19:43:38 -07:00
Daniel Nephin
595e79b805 Support a listen addr without a port, and add tests.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-17 19:43:38 -07:00
Victor Vieux
8a0c5f1578 accept uppercase endpoint mode
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-17 19:06:12 -07:00
Jana Radhakrishnan
64a567d24c Vendoring swarmkit @3f135f206179e
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-06-17 19:01:18 -07:00
Sebastiaan van Stijn
2989e7b2a0 Merge pull request #23665 from albers/fix-completion-service
fix bash completion for `docker service` subcommands
2016-06-17 17:54:49 -07:00
Sebastiaan van Stijn
81478df9b2 Merge pull request #23702 from thaJeztah/docker-service-cli-docs
Add initial "service" docs
2016-06-17 17:53:46 -07:00
Sebastiaan van Stijn
f565bc7ec9 Add initial "service" docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-17 17:28:24 -07:00
Arnaud Porterie (icecrime)
1f8ab93b44 Change docker service update semantics
Change `docker service update` to replace attributes of the target
service rather than augment them. One particular occurrence where the
previous behavior proved problematic is when trying to update a port
mapping: the merge semantics provided no way of removing published
ports, but strictly of adding more.

The utility merge* functions where renamed accordingly to update*.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-17 17:09:40 -07:00
Charles Smith
78ebfaff1a update docker swarm cli
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-17 15:40:43 -07:00
Sven Dowideit
2b865dbc3a Merge pull request #23658 from londoncalling/mac-win-install-updates
install mac and win pared down, link to d4mac, d4win, getting started…
2016-06-18 07:49:04 +10:00
Victoria Bialas
5bc730eda7 install mac and win pared down, link to d4mac, d4win, getting started improved, added menu.md's
fixing links to d4mac and d4win

updates per @Sven and @theJeztah, fixing links, typos, menu definitions, etc.

updates per Sven's comments in the PR

removed duplicate line in tutorials menu.md

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-17 14:46:35 -07:00
Tomasz Kopczynski
ac7a663c0b Migrate info command to cobra
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-06-17 22:11:33 +02:00
Arnaud Porterie
28768a6296 Merge pull request #23692 from icecrime/tweak_pretty_service
Improve `docker service inspect --pretty`
2016-06-17 20:08:08 +00:00
Tibor Vass
061bbaf7a4 Merge pull request #23681 from tiborvass/plugins-fixes
Plugins fixes
2016-06-17 12:58:36 -07:00
Tibor Vass
bd86644995 Merge pull request #23687 from mrjana/vendor
Vendoring libnetwork @13be89d1cf79
2016-06-17 12:05:56 -07:00
Tibor Vass
8ba17b4823 plugins: fix name handling for legacy plugins
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 12:02:05 -07:00
Arnaud Porterie (icecrime)
3c60b7b984 Improve docker service inspect --pretty
Remove capitalization in placement, and remove spurious `\t`.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-17 11:38:19 -07:00
Alexander Morozov
c1dd933c02 Merge pull request #23550 from swernli/execTTYFix
Fixing bug in AttachStreams that would fail to close StdIn
2016-06-17 11:19:28 -07:00
Tibor Vass
82c9410c41 Merge pull request #23688 from tonistiigi/nl
Add newline to promote/demote message
2016-06-17 11:04:25 -07:00
Tonis Tiigi
3386e3570a Add newline to promote/demote message
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-17 10:58:11 -07:00
Tibor Vass
83e31c8765 Merge pull request #23682 from mrjana/bug
Check if DriverState is valid before using in convert
2016-06-17 10:56:40 -07:00
Tibor Vass
2bd34b858d Merge pull request #23676 from avsm/swarm-cli-consistency
`docker swarm`: more consistent CLI help
2016-06-17 10:55:15 -07:00
Antonio Murdaca
e72b7ee425 Merge pull request #23664 from leonhartX/i23017
fix #23017, add zsh completion for dockerd
2016-06-17 19:44:43 +02:00
Jana Radhakrishnan
70e2585d54 Vendoring libnetwork @13be89d1cf79
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-06-17 10:27:34 -07:00
Vincent Demeester
cb321e82db Update plugin command with defaulttag
This way, you don't have to specify the ":latest" tag for some command
and not for others

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-17 10:18:18 -07:00
Derek McGowan
5cff374b14 Add tests for rmi
Add integration test for removing by image id with tag and digest reference to the same repository.
Add integration test to ensure only tag to other repository remains after deleting tag with accompanying digest reference.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-17 10:15:56 -07:00
Derek McGowan
a281be1c11 Update rmi logic for canonical references
Updates the rmi code to treat canonical references as related to tagged references from the same repository during deletion.
Canonical references with a different repository name will be treated as separate references.
Updates the remove by ID logic to still remove an image if there is a single tag reference and only canonical references to the same repository remaining.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-17 10:15:56 -07:00
Tibor Vass
65ed9daf70 plugins: fix usage for plugin commands
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 10:03:30 -07:00
Tibor Vass
15ff9de658 plugins: remove automatic mounting of a state dir
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 10:03:30 -07:00
Tibor Vass
4b70d4561e plugins: install should not automatically accept all permissions
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 10:03:30 -07:00
Tibor Vass
906c1dc5a0 Merge pull request #23675 from anusha-ragunathan/add_disable
Add disable flag for plugin Install.
2016-06-17 09:38:26 -07:00
Jana Radhakrishnan
4fea81154b Check if DriverState is valid before using in convert
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-06-17 09:17:03 -07:00
Vincent Demeester
6d47b06094 Merge pull request #23663 from albers/completion-swarm-update--cert-expiry
bash completion for `docker swarm update --cert-expiry`
2016-06-17 18:15:56 +02:00
Arnaud Porterie
83658c5b64 Merge pull request #23674 from justincormack/accepted
Missing line feed after accepting node
2016-06-17 16:08:37 +00:00
Arnaud Porterie
27e9ae3141 Merge pull request #23673 from justincormack/invalud
fix invalid typo in error message
2016-06-17 16:08:14 +00:00
Anil Madhavapeddy
0ec78739ac docker swarm: more consistent CLI help
This changes `docker swarm help` to be consistent with capitals
and removes full stops.

Before:

```
Commands:
  init        Initialize a Swarm.
  join        Join a Swarm as a node and/or manager.
  update      update the Swarm.
  leave       Leave a Swarm.
  inspect     Inspect the Swarm
```

After:

```
Commands:
  init        Initialize a Swarm
  join        Join a Swarm as a node and/or manager
  update      Update the Swarm
  leave       Leave a Swarm
  inspect     Inspect the Swarm
```

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2016-06-17 16:34:06 +01:00
Justin Cormack
c34d752419 Missing line feed after accepting node
Avoids
```
root@swarmatorium:~# docker node accept 3dnh6k13o44np9fwl83e7gh80
Node 3dnh6k13o44np9fwl83e7gh80 accepted in the swarm.root@swarmatorium:~#
```

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-17 15:49:35 +01:00
Anusha Ragunathan
22e781e8e3 Add disable flag for plugin Install.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-17 07:48:43 -07:00
Justin Cormack
2322ccb8ff fix invalid typo in error message
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-17 15:27:54 +01:00
tomwbarlow@gmail.com
eed8d14ed1 Change log.printf service creation msg to debug
Signed-off-by: tomwbarlow@gmail.com <tomwbarlow@gmail.com>
2016-06-17 15:03:11 +01:00
Harald Albers
42f3b1f4ad fix bash completion for docker service subcommands
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-17 09:49:46 +02:00
Ke Xu
bd1fc1e5c2 fix #23017, add zsh completion for dockerd
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
2016-06-17 16:16:13 +09:00
Harald Albers
dc2fc75d42 bash completion for docker swarm update --cert-expiry
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-17 08:49:06 +02:00
Sebastiaan van Stijn
8f9c7fab24 Merge pull request #23656 from sfsmithcha/check_cmd_line
update output for node commands, minor edits
2016-06-16 22:54:28 -07:00
Charles Smith
3b2132c2c7 update output for node commands, minor edits
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-16 21:44:07 -07:00
Neil Peterson
8352089e8c Added daemon.json Windows example
Signed-off-by: Neil Peterson <neilpeterson@outlook.com>
2016-06-16 21:41:58 -07:00
Tibor Vass
a3795ca13e Merge pull request #23652 from dnephin/better-bundle-load-errors
Improve the error messages for loading a bundle
2016-06-16 21:40:30 -07:00
Arnaud Porterie
4c5f1a7e5b Merge pull request #23647 from vieux/improve_messages_node_cmds
improve some messages in the node subcmds
2016-06-17 03:20:30 +00:00
Arnaud Porterie
f52c807650 Merge pull request #23651 from tonistiigi/cert-expiry
Add cert-expiry to swarm update
2016-06-17 02:50:58 +00:00
Tonis Tiigi
a933ac3c27 Add integration test for parsing swarm update options
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 19:50:01 -07:00
Tibor Vass
a590a6b180 Merge pull request #23532 from swernli/exitCodeFix
Fixing exit code return on error case in Windows.
2016-06-16 19:01:18 -07:00
Tibor Vass
f522ed9752 Merge pull request #23580 from cpuguy83/plugin_restore
Fix removing plugins and Implement plugin restore after daemon restart
2016-06-16 18:54:57 -07:00
Victor Vieux
eb962235fb improve some messages in the node subcmds
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-16 18:53:24 -07:00
Arnaud Porterie
f4de3f314e Merge pull request #23644 from tonistiigi/fix-leave-delete
Fix removing containers on leaving from pending state
2016-06-17 01:40:45 +00:00
Arnaud Porterie
edfd546a6f Merge pull request #23637 from vieux/add_more_fields_inspect
add some more fields in docker service inspect -p
2016-06-17 01:40:26 +00:00
Arnaud Porterie
0ef720eded Merge pull request #23643 from tonistiigi/membership
Return membership status on join without timeout
2016-06-17 01:40:06 +00:00
Tonis Tiigi
7d8d51aa9d Add cert-expiry to swarm update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 18:06:02 -07:00
Arnaud Porterie
16a6987a00 Merge pull request #23549 from dmcgowan/reference-ui-updates
Do not show empty tags for digest references in output
2016-06-17 00:47:49 +00:00
Stefan J. Wernli
176345435b Fixing bug in AttachStreams that would fail to close StdIn
During a docker exec, if no TTY is specified, the code would still leave stdin open instead of closing it. This change adds handling for the execConfig TTY bool that mirrors what is already done for container config. (Updated this change to be Windows only.)

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-06-16 17:34:45 -07:00
Arnaud Porterie
6d9d149f99 Merge pull request #23648 from thaJeztah/fix-overlay-overlay2
fix "overlay" -> "overlay2" in error message
2016-06-17 00:21:53 +00:00
Arnaud Porterie
7ef9aec90f Merge pull request #23570 from vdemeester/change-plugin-install
Update docker plugin install code…
2016-06-17 00:12:56 +00:00
Sebastiaan van Stijn
314d9dc03a Merge pull request #23646 from thaJeztah/update-docker-info
Update docker info output example
2016-06-16 16:45:44 -07:00
Sebastiaan van Stijn
2d4b285a75 fix "overlay" -> "overlay2" in error message
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-16 16:42:40 -07:00
Sebastiaan van Stijn
07e1c62bf4 Update docker info output example
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-16 16:29:23 -07:00
Victor Vieux
4c9e21b674 add some more fields in docker service inspect -p
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-16 16:22:11 -07:00
Michael Crosby
eb6cc31802 Merge pull request #23639 from mavenugo/ln-rc2
Vendoring Libnetwork caf22bd9a6a53dfe91b0266274155bc69235e8ed
2016-06-16 16:17:07 -07:00
Tonis Tiigi
826f6f0703 Fix removing containers on leaving from pending state
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 16:08:15 -07:00
Vincent Demeester
4a70cb5571 Update ServiceInspectWithRaw
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-17 00:47:22 +02:00
Michael Crosby
2fa38a9144 Merge pull request #23641 from justincormack/s390seccomp
Add the seccomp build tag for s390x now runc updated
2016-06-16 15:46:14 -07:00
Vincent Demeester
2c82337b04 Update docker plugin install code…
… for more consistency (api side).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-17 00:33:21 +02:00
Vincent Demeester
58529a1553 Bump engine-api to c57d0447ea1ae71f6dad83c8d8a1215a89869a0c
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-17 00:32:58 +02:00
Tonis Tiigi
1973cee0cd Return membership status on join without timeout
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 15:27:08 -07:00
Michael Crosby
74c4834d32 Merge pull request #23624 from coolljt0725/fix_restore_sandbox
check running again before restore active sandbox
2016-06-16 15:24:58 -07:00
Justin Cormack
f8d970169a Add the seccomp build tag for s390x now runc updated
This was waiting for runc bump see https://github.com/docker/docker/issues/23171
runc was bumped in https://github.com/docker/docker/pull/23603

Fixes #23171

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-16 23:21:08 +01:00
Daniel Nephin
c0ea589c1b Add some tests for bundlefile and improve the error messages for LoadFile
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-16 18:18:25 -04:00
Tibor Vass
6b4e2ad90b Merge pull request #23520 from yongtang/23500-docker-info-security
Add security info to `docker info`
2016-06-16 15:15:33 -07:00
Tibor Vass
6dc58a1d58 Merge pull request #23640 from stevvooe/update-not-upate
api/client/service: fix minor spelling error in service inspect
2016-06-16 15:12:47 -07:00
Tibor Vass
06da8ce285 Merge pull request #23515 from HackToday/fixoverlay2
Add ecryptfs check for overlay2
2016-06-16 15:12:09 -07:00
Tonis Tiigi
a83bba467a Update daemon to new swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 15:06:27 -07:00
Tonis Tiigi
2783568284 Update swarmkit to 310f1119
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 15:06:27 -07:00
Sebastiaan van Stijn
ef9c058b67 Merge pull request #23633 from thaJeztah/fix-advisory-meta
docs: move "advisory" to  general metadata
2016-06-16 14:55:11 -07:00
Stephen J Day
920e65ccbc api/client/service: fix minor spelling error in service inspect
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-06-16 14:54:41 -07:00
Victor Vieux
348a7c790c Merge pull request #23537 from tiffanyfj/update-cli
Capitalized Docker and Swarm for consistency
2016-06-16 14:43:15 -07:00
Madhu Venugopal
262081557b Merge pull request #23635 from sainath14/network_id_missing
Fixes #23596-returns empty string for NetworkID
2016-06-16 14:38:51 -07:00
Tõnis Tiigi
70c7328d9e Merge pull request #23613 from stevvooe/running-over-replicas
api/client/service: list running services over replicas
2016-06-16 14:34:13 -07:00
Madhu Venugopal
7f2f6ed0d6 Vendoring Libnetwork caf22bd9a6a53dfe91b0266274155bc69235e8ed
* fixes https://github.com/docker/docker/issues/23622
* fixes a memory leak issue with bulk sync
* fixes external DNS resolution issue after live restore

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-16 14:33:36 -07:00
Tõnis Tiigi
6577031787 Merge pull request #23606 from vieux/fix_secrets
fix docker swarm init/update --secret
2016-06-16 14:24:35 -07:00
Tibor Vass
5d62f642d9 Merge pull request #23636 from crosbymichael/hang
Set systemd KillMode
2016-06-16 14:17:29 -07:00
Sebastiaan van Stijn
312749435b Merge pull request #23634 from thaJeztah/fix-api-menu-order
Fix API 1.25 order in menu
2016-06-16 13:31:32 -07:00
Tonis Tiigi
aed7667bee Add api tests for secret update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 13:21:55 -07:00
Tibor Vass
e2feff465c Merge pull request #23491 from thaJeztah/update-release-instructions
Update release script installation instructions
2016-06-16 12:57:46 -07:00
Sainath Grandhi
ad85d29906 Fixes #23596-returns empty string for NetworkID in response to /containers/json
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
2016-06-16 12:34:00 -07:00
Victor Vieux
354f16e250 Merge pull request #23581 from dnephin/better-opt-strings
Better output of default value for service option types
2016-06-16 12:24:03 -07:00
Sebastiaan van Stijn
6891fead36 Fix API 1.25 order in menu
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-16 12:07:29 -07:00
Sebastiaan van Stijn
e233c8dd72 Update release script installation instructions
Instructions for installing the static binaries
has changed, so updated the instructions.

The comment on top already requires the steps
to be executed as root, so removing the 'sudo'

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-16 11:58:29 -07:00
Sebastiaan van Stijn
aadd88c306 docs: move "advisory" to general metadata
the advisory option should not be
below "menu"

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-16 11:52:34 -07:00
Michael Crosby
db435f526a Set systemd KillMode
Change the kill mode to process so that systemd does not kill container
processes when the daemon is shutdown but only the docker daemon

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-16 11:46:04 -07:00
Alexander Morozov
1f3efe6776 Merge pull request #23609 from Microsoft/WindowsMemory
Windows: Re-enabled support for memory limit
2016-06-16 10:08:17 -07:00
Sebastiaan van Stijn
3acb0e4292 Merge pull request #23568 from adrianmoisey/patch-1
Fix URL to issue
2016-06-16 10:03:11 -07:00
Sebastiaan van Stijn
b62d5dfbf3 Merge pull request #23623 from SvenDowideit/fix-rc-advisory
advisory can't be in the [menu] section
2016-06-16 10:01:49 -07:00
Arnaud Porterie
3d69595a31 Merge pull request #23625 from talex5/fix-health-test
Remove out-of-date health test
2016-06-16 15:52:04 +00:00
Daniel Nephin
c26e7d8c91 Fix String() for some option types
and add unit tests for them.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-16 10:09:14 -04:00
Thomas Leonard
18a59bb869 Remove out-of-date health test
The test was waiting for the container to exit after failing its
healthcheck. However, we no longer automatically terminate containers,
so this waited instead for the container to time-out by itself.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2016-06-16 13:09:57 +01:00
Sven Dowideit
bc033cb706 advisory can't be in the [menu] section
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-16 11:59:47 +00:00
Lei Jitang
78f3094518 Fix restore active sandbox
we store the active sandbox after daemon.containerd.Restore, but there
is a chance the `Restore` will set the container to exit see
(https://github.com/docker/docker/blob/master/libcontainerd/client_linux.go#L469).
so we should check if the container is really running before add it to
activesandbox.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-16 07:54:36 -04:00
Vincent Demeester
6253c29494 Merge pull request #23583 from anusha-ragunathan/accept-perms
Add accept-permissions flag for install.
2016-06-16 12:44:37 +02:00
Vincent Demeester
0d8ad60e08 Merge pull request #23612 from icecrime/default_parallelism
Service `--update-parallelism` defauls to 0
2016-06-16 12:32:30 +02:00
Arnaud Porterie
e3ad63f7e4 Merge pull request #23582 from tophj-ibm/fix-typo-in-daemon-test
Fix daemon test typo
2016-06-16 05:22:50 +00:00
Arnaud Porterie
e65c5b603e Merge pull request #23572 from tombee/volume-opts-typo
Change 'invald' to 'invalid' in volume opts errors
2016-06-16 05:17:30 +00:00
Arnaud Porterie
78d624cfcd Merge pull request #23593 from justincormack/mlock
Move mlock back into the default ungated seccomp profile
2016-06-16 05:16:57 +00:00
Arnaud Porterie
9cdb6357e2 Merge pull request #23603 from mlaventure/revert-runc-to-mainstream
Vendor in runc cc29e3dded8e27ba8f65738f40d251c885030a28
2016-06-16 05:08:44 +00:00
Stephen J Day
b86cb293ec api/client/service: list running services over replicas
To provide users a view of service status, list the number of running
task over the requested number of replicas.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-06-15 21:53:23 -07:00
Alexander Morozov
c18e036d36 Merge pull request #23577 from anusha-ragunathan/strings_conversion
Avoid back and forth conversion between strings and bytes.
2016-06-15 21:41:04 -07:00
Arnaud Porterie
8ab79f1f70 Merge pull request #23601 from dnephin/change_header
Change SCALE to REPLICAS.
2016-06-16 04:18:49 +00:00
Arnaud Porterie (icecrime)
f22d0174f3 Service --update-parallelism defauls to 0
The `--update-parallelism` flaag should default to 0, which is
interpreted by the backend as unlimited. In other words, by default all
services should update simultaneously.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-15 21:13:04 -07:00
Arnaud Porterie
17bf13b1b2 Merge pull request #23558 from mlaventure/fix-arm-test-for-multiple-runtimes
Fix TestRunWithRuntime* on arm
2016-06-16 04:09:15 +00:00
Tõnis Tiigi
18a20c859f Merge pull request #23602 from crosbymichael/bump-libnetwork
Update libnetwork to 96d45528599c32354230480a1ebc0
2016-06-15 19:01:29 -07:00
Sven Dowideit
1ba9e3cba4 Merge pull request #23604 from londoncalling/getstarted-tutorial-updates
fixing links, images and missing files in Getting Started tutorial
2016-06-16 11:50:28 +10:00
Victoria Bialas
1d80f8ca19 fixing links and merge conflicts
updated link to faqs/troubleshoot to point to new location /toolbox

fixed docker-for-mac link error

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-15 18:37:50 -07:00
Sebastiaan van Stijn
0c78a7dd64 Merge pull request #23510 from sbose78/23376-update-centos-yum-repo-version
Fixes #23376 Broken URL for Centos yum repo for docker fixed to harcoded version number.
2016-06-16 02:43:13 +02:00
Victor Vieux
a579ce8ed3 use same hash for same secret
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-15 17:20:18 -07:00
Darren Stahl
12fe27a408 Windows: Added support for memory limit
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-15 17:07:29 -07:00
Victor Vieux
085895342c fix docker swarm init/update --secret
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-15 17:05:10 -07:00
John Howard
d05d0211bc Windows: CMD not honouring arg escaping
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-15 16:46:32 -07:00
Anusha Ragunathan
a2d48c9e4e Add basic integration tests for plugins.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-15 15:19:19 -07:00
Kenfe-Mickael Laventure
b675124cf5 Vendor in runc cc29e3dded8e27ba8f65738f40d251c885030a28
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-15 15:11:50 -07:00
Michael Crosby
e927df7b4b Update libnetwork to 96d45528599c32354230480a1ebc0
This fixes an issue with hanging tests due to store.

Fixes #23560

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-15 15:07:04 -07:00
Daniel Nephin
4df0349948 Change SCALE to REPLICAS.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-15 17:57:59 -04:00
Arnaud Porterie
eab3a1fa55 Merge pull request #23565 from SvenDowideit/fix-links-tutorials
fix links for #23505
2016-06-15 21:24:22 +00:00
Justin Cormack
bdf01cf5de Move mlock back into the default ungated seccomp profile
Do not gate with CAP_IPC_LOCK as unprivileged use is now
allowed in Linux. This returns it to how it was in 1.11.

Fixes #23587

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 16:25:27 -04:00
Brian Goff
011774e6f0 Merge pull request #23542 from mavenugo/aliases
Use service alias and configure service VIP or dns-rr
2016-06-15 16:18:50 -04:00
Brian Goff
8510adf8c8 Merge pull request #23579 from tonistiigi/fix-ci-hang
Fix hanging integration tests
2016-06-15 14:49:54 -04:00
Anusha Ragunathan
ec4857da48 Add accept-permissions flag for install.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-15 10:58:43 -07:00
Alexander Morozov
64eb01caf6 Merge pull request #23538 from anusha-ragunathan/incremental-builds
Dont leak DOCKER_INCREMENTAL_BINARY flag into go test.
2016-06-15 10:53:31 -07:00
Christopher Jones
51c0c6212d Fix test typo
Changes daemn to daemon

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-06-15 13:45:25 -04:00
Brian Goff
dfd9187305 Implement plugin restore after daemon restart
This ensures that:

- The in-memory plugin store is populated with all the plugins
- Plugins which were active before daemon restart are active after.
  This utilizes the liverestore feature when available, otherwise it
  manually starts the plugin.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-15 13:39:33 -04:00
Tonis Tiigi
22f827abab Fix hanging integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-15 10:19:45 -07:00
Arnaud Porterie
480d7b310b Merge pull request #23301 from runcom/tmpfs-trump
daemon: allow tmpfs to trump over VOLUME(s)
2016-06-15 17:11:00 +00:00
Anusha Ragunathan
d6d448aab8 Avoid back and forth conversion between strings and bytes.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-15 09:55:40 -07:00
Brian Goff
5e156fd3d4 Fix removing plugins
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-15 11:21:31 -04:00
Tom Barlow
bf988fc6ff Change 'invald' to 'invalid' in volume opts errors
Signed-off-by: Tom Barlow <tomwbarlow@gmail.com>
2016-06-15 15:41:57 +01:00
Antonio Murdaca
756f6cef4a daemon: allow tmpfs to trump over VOLUME(s)
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-15 16:01:51 +02:00
Vincent Demeester
b6a8a3da10 Merge pull request #23557 from AkihiroSuda/fix-exp-doc
Update experimental/README.md
2016-06-15 13:34:25 +02:00
Adrian Moisey
88d4da7f42 Fix URL to issue
Signed-off-by: Adrian Moisey <adrian@changeover.za.net>
2016-06-15 12:49:04 +02:00
Akihiro Suda
fec98ecca1 Update experimental/README.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-15 19:14:51 +09:00
Vincent Demeester
e08aed59df Merge pull request #23322 from tkopczynski/20784-builder-dockerfile-symlink
Reimplement integration test for symlink Dockerfile as a unit test
2016-06-15 10:52:49 +02:00
Derek McGowan
79eada3814 Do not show empty tags for digest references in output
When a repository has a tag and digests, show tag for each digest value.
Do not duplicate rows for the same image name with both tag and digest.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-14 22:44:49 -07:00
Sven Dowideit
fa94eb4604 fix links for #23505
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-15 04:46:40 +00:00
Sven Dowideit
da15923559 Merge pull request #23505 from londoncalling/add-getstarted-tutorial
ready for merge: surfacing Learn by example topics to top level of Docker Engine docs
2016-06-15 14:18:09 +10:00
Victoria Bialas
0254c12e1e surfacing Learn by example topics to top level of Docker Engine docs
fixing links after moving surfacing tutorials

fixing more links for the newly located tutorials

WIP: merging 3 getting started tutorials into one to cover all platforms, added new files

fixing broken images and links in 3-in-1 getting started, re-wrote story flow, linked to Toolbox, d4mac,d4win

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-14 21:08:44 -07:00
Arnaud Porterie
8821233282 Merge pull request #23555 from dperny/change-manager-status-col
Remove the node leader column, show leader as status.
2016-06-15 03:55:12 +00:00
Tibor Vass
59ef209242 Merge pull request #23561 from tiborvass/bump_api_version_to_v1.25
Bump API Version to v1.25
2016-06-14 20:18:17 -07:00
Tibor Vass
04292192e0 Bump API Version to v1.25
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-14 20:03:50 -07:00
Madhu Venugopal
07e39e9e72 Use service alias and configure container's --net-alias
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-14 19:50:34 -07:00
Madhu Venugopal
5af8e2a9c0 Vendoring swarmkit 682e0b69be208176d6055cba855a5e9cf15c7cb4
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-14 19:50:34 -07:00
Madhu Venugopal
f2f97f768e Vendoring libnetwork 0d517a9e4e5cbdb889b3257eebd2351addcd46d4
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-14 19:50:34 -07:00
Kenfe-Mickael Laventure
bd6317031b Fix TestRunWithRuntime* on arm
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 18:59:22 -07:00
Drew Erny
4104c1dc13 Remove the node leader column, show leader as status.
Removes the leader column from node ls and shows whether a node is the
leader in the manager status column instead.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-06-14 17:50:02 -07:00
Tomasz Kopczynski
830584b011 Reimplement integration test for symlink Dockerfile as a unit test
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-06-14 23:07:19 +02:00
Anusha Ragunathan
379ec38222 Dont leak DOCKER_INCREMENTAL_BINARY flag into go test.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-14 13:02:54 -07:00
Tiffany Jernigan
4c6041cf7f Capitalized Docker and Swarm for consistency
Signed-off-by: Tiffany Jernigan <tiffany.f.j@gmail.com>
2016-06-14 12:58:17 -07:00
Yong Tang
eee20b564f Add security info to docker info
The security infomation has already been added to `GET /info` in #21172.
However, it is not part of the output of `docker info` yet.

This fix adds the security information to `docker info`.

Additional tests has been added to cover changes.

This fix fixes #23500. This fix is related to #20909, #21172.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-14 12:23:45 -07:00
Nalin Dahyabhai
513ec73831 Improve logging of long log lines
This change updates how we handle long lines of output from the
container.  The previous logic used a bufio reader to read entire lines
of output from the container through an intermediate BytesPipe, and that
allowed the container to cause dockerd to consume an unconstrained
amount of memory as it attempted to collect a whole line of output, by
outputting data without newlines.

To avoid that, we replace the bufio reader with our own buffering scheme
that handles log lines up to 16k in length, breaking up anything longer
than that into multiple chunks.  If we can dispense with noting this
detail properly at the end of output, we can switch from using
ReadBytes() to using ReadLine() instead.  We add a field ("Partial") to
the log message structure to flag when we pass data to the log driver
that did not end with a newline.

The Line member of Message structures that we pass to log drivers is now
a slice into data which can be overwritten between calls to the log
driver's Log() method, so drivers which batch up Messages before
processing them need to take additional care: we add a function
(logger.CopyMessage()) that can be used to create a deep copy of a
Message structure, and modify the awslogs driver to use it.

We update the jsonfile log driver to append a "\n" to the data that it
logs to disk only when the Partial flag is false (it previously did so
unconditionally), to make its "logs" output correctly reproduce the data
as we received it.

Likewise, we modify the journald log driver to add a data field with
value CONTAINER_PARTIAL_MESSAGE=true to entries when the Partial flag is
true, and update its "logs" reader to refrain from appending a "\n" to
the data that it retrieves if it does not see this field/value pair (it
also previously did this unconditionally).

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-06-14 14:11:47 -04:00
Stefan J. Wernli
17c1b9c061 Fixing exit code return on error case in Windows.
Right now, if we hit an error retrieving the exit code in HCS process.ExitCode, we return that 0 and that error.  Golang convention says that if an error is returned the other values should not be used, but the caller of ExitCode in libcontainerd has to fall through if an error is received.  Rather than return a success exit code in that failure case, we should return -1 to indicate a generic failure.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-06-14 10:19:55 -07:00
Kai Qiang Wu(Kennan)
136323b043 Add ecryptfs check for overlay2
We added docs about ecryptfs check but not in code side.
Also refactor code to make it clean.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-06-14 14:25:52 +00:00
Shoubhik Bose
d3fad80cc7 Fixes #23376 Broken URL for Centos yum repo for docker changed to now have a hardcoded centos version 7
Signed-off-by: Shoubhik Bose <sbose78@gmail.com>
2016-06-14 10:06:00 +00:00
Kai Qiang Wu(Kennan)
e0de1718ee Improve the UT
As the #23387 comment, the temp fix for UT need to be improved
to make it test the expected behavior. So let's add it.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-06-11 07:00:31 +00:00
Nalin Dahyabhai
af439c7a8d Add a benchmark for logger.Copier
Add a benchmark for measuring how the logger.Copier implementation
handles logged lines of sizes ranging up from 64 bytes to 256KB.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2016-06-09 09:47:13 -04:00
Sainath Grandhi
3e8c16ef6d docker rename fix to address the issue of renaming with the same name issue #23319
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
2016-06-08 15:32:40 -07:00
Vincent Demeester
f900e1cf47 Standardize default logging tag value
Use the same default tag value for all loggers that support tags.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-04 12:38:12 +02:00
Elan Ruusamäe
e2f1793b99 add script to make base image for PLD Linux
https://www.pld-linux.org/packages/docker

Signed-off-by: Elan Ruusamäe <glen@pld-linux.org>
2016-05-31 09:20:51 +03:00
Lei Jitang
57c0a653e3 Fix link doesn't work sometimes when container start with multiple networks
If there is multiple networks to connect to on container starting,
the order of these networks is random because we "range a map". But
the defautl network "bridge" should be connected first since only
"bridge" support link and we should have do some settings on sandbox
creation, and only the first connect will setting the sandbox.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-05-26 03:20:53 -04:00
4632 changed files with 439180 additions and 259804 deletions

View File

@@ -1,3 +1,4 @@
bundles
.gopath
vendor/pkg
.go-pkg-cache

View File

@@ -12,6 +12,17 @@ will, however, reopen it if you later provide the information.
For more information about reporting issues, see
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
---------------------------------------------------
GENERAL SUPPORT INFORMATION
---------------------------------------------------
The GitHub issue tracker is for bug reports and feature requests.
General support can be found at the following locations:
- Docker Support Forums - https://forums.docker.com
- IRC - irc.freenode.net #docker channel
- Post a question on StackOverflow, using the Docker tag
---------------------------------------------------
BUG REPORT INFORMATION
---------------------------------------------------
@@ -19,29 +30,17 @@ Use the commands below to provide key information from your environment:
You do NOT have to include this information if this is a FEATURE REQUEST
-->
**Output of `docker version`:**
```
(paste your output here)
```
**Output of `docker info`:**
```
(paste your output here)
```
**Additional environment details (AWS, VirtualBox, physical, etc.):**
**Description**
<!--
Briefly describe the problem you are having in a few paragraphs.
-->
**Steps to reproduce the issue:**
1.
2.
3.
**Describe the results you received:**
@@ -49,3 +48,17 @@ You do NOT have to include this information if this is a FEATURE REQUEST
**Additional information you deem important (e.g. issue happens only occasionally):**
**Output of `docker version`:**
```
(paste your output here)
```
**Output of `docker info`:**
```
(paste your output here)
```
**Additional environment details (AWS, VirtualBox, physical, etc.):**

3
.gitignore vendored
View File

@@ -9,12 +9,15 @@
.DS_Store
# a .bashrc may be added to customize the build environment
.bashrc
.editorconfig
.gopath/
.go-pkg-cache/
autogen/
bundles/
cmd/dockerd/dockerd
cmd/docker/docker
dockerversion/version_autogen.go
dockerversion/version_autogen_unix.go
docs/AWS_S3_BUCKET
docs/GITCOMMIT
docs/GIT_BRANCH

View File

@@ -137,11 +137,13 @@ Hollie Teal <hollie@docker.com>
<hollie@docker.com> <hollie.teal@docker.com>
<hollie@docker.com> <hollietealok@users.noreply.github.com>
<huu@prismskylabs.com> <whoshuu@gmail.com>
Jessica Frazelle <jess@mesosphere.com>
Jessica Frazelle <jess@mesosphere.com> <jfrazelle@users.noreply.github.com>
Jessica Frazelle <jess@mesosphere.com> <acidburn@docker.com>
Jessica Frazelle <jess@mesosphere.com> <jess@docker.com>
Jessica Frazelle <jess@mesosphere.com> <princess@docker.com>
Jessica Frazelle <jessfraz@google.com>
Jessica Frazelle <jessfraz@google.com> <me@jessfraz.com>
Jessica Frazelle <jessfraz@google.com> <jess@mesosphere.com>
Jessica Frazelle <jessfraz@google.com> <jfrazelle@users.noreply.github.com>
Jessica Frazelle <jessfraz@google.com> <acidburn@docker.com>
Jessica Frazelle <jessfraz@google.com> <jess@docker.com>
Jessica Frazelle <jessfraz@google.com> <princess@docker.com>
<konrad.wilhelm.kleine@gmail.com> <kwk@users.noreply.github.com>
<tintypemolly@gmail.com> <tintypemolly@Ohui-MacBook-Pro.local>
<estesp@linux.vnet.ibm.com> <estesp@gmail.com>
@@ -251,4 +253,23 @@ Shengbo Song <thomassong@tencent.com> mYmNeo <mymneo@163.com>
Shengbo Song <thomassong@tencent.com>
<sylvain@ascribe.io> <sylvain.bellemare@ezeep.com>
Sylvain Bellemare <sylvain@ascribe.io>
<alexandre.beslic@gmail.com> <abronan@docker.com>
<bilal.amarni@gmail.com> <bamarni@users.noreply.github.com>
<misty@docker.com> <misty@apache.org>
Arnaud Porterie <arnaud.porterie@docker.com>
<cpuguy83@gmail.com> <bgoff@cpuguy83-mbp.local>
David M. Karr <davidmichaelkarr@gmail.com>
<diogo@docker.com> <diogo.monica@gmail.com>
<horwitz@addthis.com> <horwitzja@gmail.com>
<kherner@progress.com> <chosenken@gmail.com>
Kenfe-Mickaël Laventure <mickael.laventure@gmail.com>
<mauricio@medallia.com> <mauriciogaravaglia@gmail.com>
<dhenderson@gmail.com> <Dave.Henderson@ca.ibm.com>
<wkq5325@gmail.com> <wkqwu@cn.ibm.com>
<mike.goelzer@docker.com> <mgoelzer@docker.com>
<nicholasjamesrusso@gmail.com> <nicholasrusso@icloud.com>
Runshen Zhu <runshen.zhu@gmail.com>
Tom Barlow <tomwbarlow@gmail.com>
Xianlu Bird <xianlubird@gmail.com>
Dan Feldman <danf@jfrog.com>
Harry Zhang <harryz@hyper.sh> <harryzhang@zju.edu.cn>

146
AUTHORS
View File

@@ -12,11 +12,17 @@ Abhijeet Kasurde <akasurde@redhat.com>
Abhinav Ajgaonkar <abhinav316@gmail.com>
Abhishek Chanda <abhishek.becs@gmail.com>
Abin Shahab <ashahab@altiscale.com>
Adam Avilla <aavilla@yp.com>
Adam Kunk <adam.kunk@tiaa-cref.org>
Adam Miller <admiller@redhat.com>
Adam Mills <adam@armills.info>
Adam Singer <financeCoding@gmail.com>
Adam Walz <adam@adamwalz.net>
Aditi Rajagopal <arajagopal@us.ibm.com>
Aditya <aditya@netroy.in>
Adolfo Ochagavía <aochagavia92@gmail.com>
Adria Casas <adriacasas88@gmail.com>
Adrian Moisey <adrian@changeover.za.net>
Adrian Mouat <adrian.mouat@gmail.com>
Adrian Oprea <adrian@codesi.nz>
Adrien Folie <folie.adrien@gmail.com>
@@ -41,9 +47,11 @@ Alena Prokharchyk <alena@rancher.com>
Alessandro Boch <aboch@docker.com>
Alessio Biancalana <dottorblaster@gmail.com>
Alex Chan <alex@alexwlchan.net>
Alex Coventry <alx@empirical.com>
Alex Crawford <alex.crawford@coreos.com>
Alex Ellis <alexellis2@gmail.com>
Alex Gaynor <alex.gaynor@gmail.com>
Alex Olshansky <i@creagenics.com>
Alex Samorukov <samm@os2.kiev.ua>
Alex Warhawk <ax.warhawk@gmail.com>
Alexander Artemenko <svetlyak.40wt@gmail.com>
@@ -51,7 +59,7 @@ Alexander Boyd <alex@opengroove.org>
Alexander Larsson <alexl@redhat.com>
Alexander Morozov <lk4d4@docker.com>
Alexander Shopov <ash@kambanaria.org>
Alexandre Beslic <abronan@docker.com>
Alexandre Beslic <alexandre.beslic@gmail.com>
Alexandre González <agonzalezro@gmail.com>
Alexandru Sfirlogea <alexandru.sfirlogea@gmail.com>
Alexey Guskov <lexag@mail.ru>
@@ -62,11 +70,13 @@ Ali Dehghani <ali.dehghani.g@gmail.com>
Allen Madsen <blatyo@gmail.com>
Allen Sun <allen.sun@daocloud.io>
almoehi <almoehi@users.noreply.github.com>
Alvaro Saurin <alvaro.saurin@gmail.com>
Alvin Richards <alvin.richards@docker.com>
amangoel <amangoel@gmail.com>
Amen Belayneh <amenbelayneh@gmail.com>
Amit Bakshi <ambakshi@gmail.com>
Amit Krishnan <amit.krishnan@oracle.com>
Amit Shukla <amit.shukla@docker.com>
Amy Lindburg <amy.lindburg@docker.com>
Anand Patil <anand.prabhakar.patil@gmail.com>
AnandkumarPatel <anandkumarpatel@gmail.com>
@@ -80,6 +90,7 @@ Andrea Turli <andrea.turli@gmail.com>
Andreas Köhler <andi5.py@gmx.net>
Andreas Savvides <andreas@editd.com>
Andreas Tiefenthaler <at@an-ti.eu>
Andrei Gherzan <andrei@resin.io>
Andrew C. Bodine <acbodine@us.ibm.com>
Andrew Clay Shafer <andrewcshafer@gmail.com>
Andrew Duckworth <grillopress@gmail.com>
@@ -91,6 +102,7 @@ Andrew Macgregor <andrew.macgregor@agworld.com.au>
Andrew Macpherson <hopscotch23@gmail.com>
Andrew Martin <sublimino@gmail.com>
Andrew Munsell <andrew@wizardapps.net>
Andrew Po <absourd.noise@gmail.com>
Andrew Weiss <andrew.weiss@outlook.com>
Andrew Williams <williams.andrew@gmail.com>
Andrews Medina <andrewsmedina@gmail.com>
@@ -107,6 +119,7 @@ Andy Smith <github@anarkystic.com>
Andy Wilson <wilson.andrew.j+github@gmail.com>
Anes Hasicic <anes.hasicic@gmail.com>
Anil Belur <askb23@gmail.com>
Anil Madhavapeddy <anil@recoil.org>
Ankush Agarwal <ankushagarwal11@gmail.com>
Anonmily <michelle@michelleliu.io>
Anthon van der Neut <anthon@mnt.org>
@@ -118,11 +131,13 @@ Anton Nikitin <anton.k.nikitin@gmail.com>
Anton Polonskiy <anton.polonskiy@gmail.com>
Anton Tiurin <noxiouz@yandex.ru>
Antonio Murdaca <antonio.murdaca@gmail.com>
Antonis Kalipetis <akalipetis@gmail.com>
Antony Messerli <amesserl@rackspace.com>
Anuj Bahuguna <anujbahuguna.dev@gmail.com>
Anusha Ragunathan <anusha.ragunathan@docker.com>
apocas <petermdias@gmail.com>
ArikaChen <eaglesora@gmail.com>
Arnaud Lefebvre <a.lefebvre@outlook.fr>
Arnaud Porterie <arnaud.porterie@docker.com>
Arthur Barr <arthur.barr@uk.ibm.com>
Arthur Gautier <baloo@gandi.net>
@@ -132,6 +147,7 @@ Asbjørn Enge <asbjorn@hanafjedle.net>
averagehuman <averagehuman@users.noreply.github.com>
Avi Das <andas222@gmail.com>
Avi Miller <avi.miller@oracle.com>
Avi Vaid <avaid1996@gmail.com>
ayoshitake <airandfingers@gmail.com>
Azat Khuyiyakhmetov <shadow_uz@mail.ru>
Bardia Keyoumarsi <bkeyouma@ucsc.edu>
@@ -153,6 +169,7 @@ Bernerd Schaefer <bj.schaefer@gmail.com>
Bert Goethals <bert@bertg.be>
Bharath Thiruveedula <bharath_ves@hotmail.com>
Bhiraj Butala <abhiraj.butala@gmail.com>
Bilal Amarni <bilal.amarni@gmail.com>
Bill W <SydOps@users.noreply.github.com>
bin liu <liubin0329@users.noreply.github.com>
Blake Geno <blakegeno@gmail.com>
@@ -201,7 +218,9 @@ Cameron Boehmer <cameron.boehmer@gmail.com>
Cameron Spear <cameronspear@gmail.com>
Campbell Allen <campbell.allen@gmail.com>
Candid Dauth <cdauth@cdauth.eu>
Cao Weiwei <cao.weiwei30@zte.com.cn>
Carl Henrik Lunde <chlunde@ping.uio.no>
Carl Loa Odin <carlodin@gmail.com>
Carl X. Su <bcbcarl@gmail.com>
Carlos Alexandro Becker <caarlos0@gmail.com>
Carlos Sanchez <carlos@apache.org>
@@ -219,6 +238,7 @@ Charles Law <claw@conduce.com>
Charles Lindsay <chaz@chazomatic.us>
Charles Merriam <charles.merriam@gmail.com>
Charles Sarrazin <charles@sarraz.in>
Charles Smith <charles.smith@docker.com>
Charlie Lewis <charliel@lab41.org>
Chase Bolt <chase.bolt@gmail.com>
ChaYoung You <yousbe@gmail.com>
@@ -270,6 +290,7 @@ Colm Hally <colmhally@gmail.com>
companycy <companycy@gmail.com>
Cory Forsyth <cory.forsyth@gmail.com>
cressie176 <github@stephen-cresswell.net>
CrimsonGlory <CrimsonGlory@users.noreply.github.com>
Cristian Staretu <cristian.staretu@gmail.com>
cristiano balducci <cristiano.balducci@gmail.com>
Cruceru Calin-Cristian <crucerucalincristian@gmail.com>
@@ -278,12 +299,14 @@ Daan van Berkel <daan.v.berkel.1980@gmail.com>
Daehyeok Mun <daehyeok@gmail.com>
Dafydd Crosby <dtcrsby@gmail.com>
dalanlan <dalanlan925@gmail.com>
Damian Smyth <damian@dsau.co>
Damien Nadé <github@livna.org>
Damien Nozay <damien.nozay@gmail.com>
Damjan Georgievski <gdamjan@gmail.com>
Dan Anolik <dan@anolik.net>
Dan Buch <d.buch@modcloth.com>
Dan Cotora <dan@bluevision.ro>
Dan Feldman <danf@jfrog.com>
Dan Griffin <dgriffin@peer1.com>
Dan Hirsch <thequux@upstandinghackers.com>
Dan Keder <dan.keder@gmail.com>
@@ -306,6 +329,7 @@ Daniel Nordberg <dnordberg@gmail.com>
Daniel Robinson <gottagetmac@gmail.com>
Daniel S <dan.streby@gmail.com>
Daniel Von Fange <daniel@leancoder.com>
Daniel X Moore <yahivin@gmail.com>
Daniel YC Lin <dlin.tw@gmail.com>
Daniel Zhang <jmzwcn@gmail.com>
Daniel, Dao Quang Minh <dqminh@cloudflare.com>
@@ -314,8 +338,9 @@ Danny Yates <danny@codeaholics.org>
Darren Coxall <darren@darrencoxall.com>
Darren Shepherd <darren.s.shepherd@gmail.com>
Darren Stahl <darst@microsoft.com>
Davanum Srinivas <davanum@gmail.com>
Dave Barboza <dbarboza@datto.com>
Dave Henderson <Dave.Henderson@ca.ibm.com>
Dave Henderson <dhenderson@gmail.com>
Dave MacDonald <mindlapse@gmail.com>
Dave Tucker <dt@docker.com>
David Anderson <dave@natulte.net>
@@ -324,9 +349,12 @@ David Corking <dmc-source@dcorking.com>
David Cramer <davcrame@cisco.com>
David Currie <david_currie@uk.ibm.com>
David Davis <daviddavis@redhat.com>
David Dooling <dooling@gmail.com>
David Gageot <david@gageot.net>
David Gebler <davidgebler@gmail.com>
David Lawrence <david.lawrence@docker.com>
David Lechner <david@lechnology.com>
David M. Karr <davidmichaelkarr@gmail.com>
David Mackey <tdmackey@booleanhaiku.com>
David Mat <david@davidmat.com>
David Mcanulty <github@hellspark.com>
@@ -335,10 +363,12 @@ David R. Jenni <david.r.jenni@gmail.com>
David Röthlisberger <david@rothlis.net>
David Sheets <sheets@alum.mit.edu>
David Sissitka <me@dsissitka.com>
David Trott <github@davidtrott.com>
David Xia <dxia@spotify.com>
David Young <yangboh@cn.ibm.com>
Davide Ceretti <davide.ceretti@hogarthww.com>
Dawn Chen <dawnchen@google.com>
dbdd <wangtong2712@gmail.com>
dcylabs <dcylabs@gmail.com>
decadent <decadent@users.noreply.github.com>
deed02392 <georgehafiz@gmail.com>
@@ -357,8 +387,10 @@ devmeyster <arthurfbi@yahoo.com>
Devvyn Murphy <devvyn@devvyn.com>
Dharmit Shah <shahdharmit@gmail.com>
Dieter Reuter <dieter.reuter@me.com>
Dillon Dixon <dillondixon@gmail.com>
Dima Stopel <dima@twistlock.com>
Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
Dimitris Rozakis <dimrozakis@gmail.com>
Dimitry Andric <d.andric@activevideo.com>
Dinesh Subhraveti <dineshs@altiscale.com>
Diogo Monica <diogo@docker.com>
@@ -366,8 +398,10 @@ DiuDiugirl <sophia.wang@pku.edu.cn>
Djibril Koné <kone.djibril@gmail.com>
dkumor <daniel@dkumor.com>
Dmitri Logvinenko <dmitri.logvinenko@gmail.com>
Dmitri Shuralyov <shurcooL@gmail.com>
Dmitry Demeshchuk <demeshchuk@gmail.com>
Dmitry Gusev <dmitry.gusev@gmail.com>
Dmitry Smirnov <onlyjob@member.fsf.org>
Dmitry V. Krivenok <krivenok.dmitry@gmail.com>
Dmitry Vorobev <dimahabr@gmail.com>
Dolph Mathews <dolph.mathews@gmail.com>
@@ -379,17 +413,20 @@ Don Spaulding <donspauldingii@gmail.com>
Donald Huang <don.hcd@gmail.com>
Dong Chen <dongluo.chen@docker.com>
Donovan Jones <git@gamma.net.nz>
Doron Podoleanu <doronp@il.ibm.com>
Doug Davis <dug@us.ibm.com>
Doug MacEachern <dougm@vmware.com>
Doug Tangren <d.tangren@gmail.com>
Dr Nic Williams <drnicwilliams@gmail.com>
dragon788 <dragon788@users.noreply.github.com>
Dražen Lučanin <kermit666@gmail.com>
Drew Erny <drew.erny@docker.com>
Dustin Sallings <dustin@spy.net>
Ed Costello <epc@epcostello.com>
Edmund Wagner <edmund-wagner@web.de>
Eiichi Tsukata <devel@etsukata.com>
Eike Herzbach <eike@herzbach.net>
Eivin Giske Skaaren <eivinsn@axis.com>
Eivind Uggedal <eivind@uggedal.com>
Elan Ruusamäe <glen@delfi.ee>
Elias Probst <mail@eliasprobst.eu>
@@ -402,6 +439,7 @@ Emily Rose <emily@contactvibe.com>
Emir Ozer <emirozer@yandex.com>
Enguerran <engcolson@gmail.com>
Eohyung Lee <liquidnuker@gmail.com>
Eric Barch <barch@tomesoftware.com>
Eric Hanchrow <ehanchrow@ine.com>
Eric Lee <thenorthsecedes@gmail.com>
Eric Myhre <hash@exultant.us>
@@ -430,12 +468,14 @@ Evan Hazlett <ejhazlett@gmail.com>
Evan Krall <krall@yelp.com>
Evan Phoenix <evan@fallingsnow.net>
Evan Wies <evan@neomantra.net>
Everett Toews <everett.toews@rackspace.com>
Evgeny Vereshchagin <evvers@ya.ru>
Ewa Czechowska <ewa@ai-traders.com>
Eystein Måløy Stenberg <eystein.maloy.stenberg@cfengine.com>
ezbercih <cem.ezberci@gmail.com>
Fabiano Rosas <farosas@br.ibm.com>
Fabio Falci <fabiofalci@gmail.com>
Fabio Rapposelli <fabio@vmware.com>
Fabio Rehm <fgrehm@gmail.com>
Fabrizio Regini <freegenie@gmail.com>
Fabrizio Soppelsa <fsoppelsa@mirantis.com>
@@ -448,10 +488,12 @@ Federico Gimenez <fgimenez@coit.es>
Felix Geisendörfer <felix@debuggable.com>
Felix Hupfeld <quofelix@users.noreply.github.com>
Felix Rabe <felix@rabe.io>
Felix Ruess <felix.ruess@roboception.de>
Felix Schindler <fschindler@weluse.de>
Ferenc Szabo <pragmaticfrank@gmail.com>
Fernando <fermayo@gmail.com>
Fero Volar <alian@alian.info>
Ferran Rodenas <frodenas@gmail.com>
Filipe Brandenburger <filbranden@google.com>
Filipe Oliveira <contato@fmoliveira.com.br>
fl0yd <fl0yd@me.com>
@@ -462,7 +504,10 @@ Florian Klein <florian.klein@free.fr>
Florian Maier <marsmensch@users.noreply.github.com>
Florian Weingarten <flo@hackvalue.de>
Florin Asavoaie <florin.asavoaie@gmail.com>
fonglh <fonglh@gmail.com>
fortinux <fortinux@users.noreply.github.com>
Francesc Campoy <campoy@google.com>
Francis Chuang <francis.chuang@boostport.com>
Francisco Carriedo <fcarriedo@gmail.com>
Francisco Souza <f@souza.cc>
Frank Groeneveld <frank@ivaldi.nl>
@@ -474,6 +519,7 @@ Frederick F. Kautz IV <fkautz@redhat.com>
Frederik Loeffert <frederik@zitrusmedia.de>
Frederik Nordahl Jul Sabroe <frederikns@gmail.com>
Freek Kalter <freek@kalteronline.org>
frosforever <frosforever@users.noreply.github.com>
fy2462 <fy2462@gmail.com>
Félix Baylac-Jacqué <baylac.felix@gmail.com>
Félix Cantournet <felix.cantournet@cloudwatt.com>
@@ -529,7 +575,7 @@ Hao Zhang <21521210@zju.edu.cn>
Harald Albers <github@albersweb.de>
Harley Laue <losinggeneration@gmail.com>
Harold Cooper <hrldcpr@gmail.com>
Harry Zhang <harryzhang@zju.edu.cn>
Harry Zhang <harryz@hyper.sh>
He Simei <hesimei@zju.edu.cn>
heartlock <21521209@zju.edu.cn>
Hector Castro <hectcastro@gmail.com>
@@ -601,6 +647,7 @@ Jan Toebes <jan@toebes.info>
Jan-Gerd Tenberge <janten@gmail.com>
Jan-Jaap Driessen <janjaapdriessen@gmail.com>
Jana Radhakrishnan <mrjana@docker.com>
Jannick Fahlbusch <git@jf-projects.de>
Januar Wayong <januar@gmail.com>
Jared Biel <jared.biel@bolderthinking.com>
Jared Hocutt <jaredh@netapp.com>
@@ -633,6 +680,7 @@ Jeff Lindsay <progrium@gmail.com>
Jeff Mickey <j@codemac.net>
Jeff Minard <jeff@creditkarma.com>
Jeff Nickoloff <jeff.nickoloff@gmail.com>
Jeff Silberman <jsilberm@gmail.com>
Jeff Welch <whatthejeff@gmail.com>
Jeffrey Bolle <jeffreybolle@gmail.com>
Jeffrey Morgan <jmorganca@gmail.com>
@@ -645,10 +693,11 @@ Jeremy Unruh <jeremybunruh@gmail.com>
Jeroen Jacobs <github@jeroenj.be>
Jesse Dearing <jesse.dearing@gmail.com>
Jesse Dubay <jesse@thefortytwo.net>
Jessica Frazelle <jess@mesosphere.com>
Jessica Frazelle <jessfraz@google.com>
Jezeniel Zapanta <jpzapanta22@gmail.com>
jgeiger <jgeiger@gmail.com>
Jhon Honce <jhonce@redhat.com>
Ji.Zhilong <zhilongji@gmail.com>
Jian Zhang <zhangjian.fnst@cn.fujitsu.com>
jianbosun <wonderflow.sun@gmail.com>
Jilles Oldenbeuving <ojilles@gmail.com>
@@ -662,6 +711,7 @@ Jiri Popelka <jpopelka@redhat.com>
Jiří Župka <jzupka@redhat.com>
jjy <jiangjinyang@outlook.com>
jmzwcn <jmzwcn@gmail.com>
Joao Fernandes <joao.fernandes@docker.com>
Joe Beda <joe.github@bedafamily.com>
Joe Doliner <jdoliner@pachyderm.io>
Joe Ferguson <joe@infosiftr.com>
@@ -677,6 +727,7 @@ Joey Gibson <joey@joeygibson.com>
Joffrey F <joffrey@docker.com>
Johan Euphrosine <proppy@google.com>
Johan Rydberg <johan.rydberg@gmail.com>
Johanan Lieberman <johanan.lieberman@gmail.com>
Johannes 'fish' Ziemke <github@freigeist.org>
John Costa <john.costa@gmail.com>
John Feminella <jxf@jxf.me>
@@ -688,6 +739,7 @@ John Starks <jostarks@microsoft.com>
John Tims <john.k.tims@gmail.com>
John Warwick <jwarwick@gmail.com>
John Willis <john.willis@docker.com>
johnharris85 <john@johnharris.io>
Jon Wedaman <jweede@gmail.com>
Jonas Pfenniger <jonas@pfenniger.name>
Jonathan A. Sternberg <jonathansternberg@gmail.com>
@@ -695,10 +747,12 @@ Jonathan Boulle <jonathanboulle@gmail.com>
Jonathan Camp <jonathan@irondojo.com>
Jonathan Dowland <jon+github@alcopop.org>
Jonathan Lebon <jlebon@redhat.com>
Jonathan Lomas <jonathan@floatinglomas.ca>
Jonathan McCrohan <jmccrohan@gmail.com>
Jonathan Mueller <j.mueller@apoveda.ch>
Jonathan Pares <jonathanpa@users.noreply.github.com>
Jonathan Rudenberg <jonathan@titanous.com>
Jonathan Stoppani <jonathan.stoppani@divio.com>
Joost Cassee <joost@cassee.net>
Jordan <jjn2009@users.noreply.github.com>
Jordan Arentsen <blissdev@gmail.com>
@@ -708,7 +762,10 @@ Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
Joseph Hager <ajhager@gmail.com>
Joseph Kern <jkern@semafour.net>
Josh <jokajak@gmail.com>
Josh Bodah <jb3689@yahoo.com>
Josh Chorlton <jchorlton@gmail.com>
Josh Hawn <josh.hawn@docker.com>
Josh Horwitz <horwitz@addthis.com>
Josh Poimboeuf <jpoimboe@redhat.com>
Josiah Kiehl <jkiehl@riotgames.com>
José Tomás Albornoz <jojo@eljojo.net>
@@ -729,14 +786,16 @@ Justin Force <justin.force@gmail.com>
Justin Plock <jplock@users.noreply.github.com>
Justin Simonelis <justin.p.simonelis@gmail.com>
Justin Terry <juterry@microsoft.com>
Justyn Temme <justyntemme@gmail.com>
Jyrki Puttonen <jyrkiput@gmail.com>
Jérôme Petazzoni <jerome.petazzoni@dotcloud.com>
Jörg Thalheim <joerg@higgsboson.tk>
Kai Blin <kai@samba.org>
Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
Kai Qiang Wu(Kennan) <wkq5325@gmail.com>
Kamil Domański <kamil@domanski.co>
kamjar gerami <kami.gerami@gmail.com>
Kanstantsin Shautsou <kanstantsin.sha@gmail.com>
Kara Alexandra <kalexandra@us.ibm.com>
Karan Lyons <karan@karanlyons.com>
Kareem Khazem <karkhaz@karkhaz.com>
kargakis <kargakis@users.noreply.github.com>
@@ -748,17 +807,22 @@ Katrina Owen <katrina.owen@gmail.com>
Kawsar Saiyeed <kawsar.saiyeed@projiris.com>
kayrus <kay.diam@gmail.com>
Ke Xu <leonhartx.k@gmail.com>
Keith Hudgins <greenman@greenman.org>
Keli Hu <dev@keli.hu>
Ken Cochrane <kencochrane@gmail.com>
Ken Herner <kherner@progress.com>
Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Kenfe-Mickaël Laventure <mickael.laventure@gmail.com>
Kenjiro Nakayama <nakayamakenjiro@gmail.com>
Kent Johnson <kentoj@gmail.com>
Kevin "qwazerty" Houdebert <kevin.houdebert@gmail.com>
Kevin Burke <kev@inburke.com>
Kevin Clark <kevin.clark@gmail.com>
Kevin J. Lynagh <kevin@keminglabs.com>
Kevin Jing Qiu <kevin@idempotent.ca>
Kevin Menard <kevin@nirvdrum.com>
Kevin P. Kucharczyk <kevinkucharczyk@gmail.com>
Kevin Richardson <kevin@kevinrichardson.co>
Kevin Shi <kshi@andrew.cmu.edu>
Kevin Wallace <kevin@pentabarf.net>
Kevin Yap <me@kevinyap.ca>
@@ -770,19 +834,23 @@ Kim Eik <kim@heldig.org>
Kimbro Staken <kstaken@kstaken.com>
Kir Kolyshkin <kir@openvz.org>
Kiran Gangadharan <kiran.daredevil@gmail.com>
Kirill Kolyshkin <kolyshkin@users.noreply.github.com>
Kirill SIbirev <l0kix2@gmail.com>
knappe <tyler.knappe@gmail.com>
Kohei Tsuruta <coheyxyz@gmail.com>
Koichi Shiraishi <k@zchee.io>
Konrad Kleine <konrad.wilhelm.kleine@gmail.com>
Konstantin L <sw.double@gmail.com>
Konstantin Pelykh <kpelykh@zettaset.com>
Krasimir Georgiev <support@vip-consult.co.uk>
Kris-Mikael Krister <krismikael@protonmail.com>
Kristian Haugene <kristian.haugene@capgemini.com>
Kristina Zabunova <triara.xiii@gmail.com>
krrg <krrgithub@gmail.com>
Kun Zhang <zkazure@gmail.com>
Kunal Kushwaha <kunal.kushwaha@gmail.com>
Kyle Conroy <kyle.j.conroy@gmail.com>
Kyle Linden <linden.kyle@gmail.com>
kyu <leehk1227@gmail.com>
Lachlan Coote <lcoote@vmware.com>
Lai Jiangshan <jiangshanlai@gmail.com>
@@ -799,6 +867,7 @@ Laszlo Meszaros <lacienator@gmail.com>
Laurent Erignoux <lerignoux@gmail.com>
Laurie Voss <github@seldo.com>
Leandro Siqueira <leandro.siqueira@gmail.com>
Lee Chao <932819864@qq.com>
Lee, Meng-Han <sunrisedm4@gmail.com>
leeplay <hyeongkyu.lee@navercorp.com>
Lei Jitang <leijitang@huawei.com>
@@ -809,6 +878,7 @@ Levi Blackstone <levi.blackstone@rackspace.com>
Levi Gross <levi@levigross.com>
Lewis Marshall <lewis@lmars.net>
Lewis Peckover <lew+github@lew.io>
Liam Macgillavry <liam@kumina.nl>
Liana Lo <liana.lixia@gmail.com>
Liang Mingqiang <mqliang.zju@gmail.com>
Liang-Chi Hsieh <viirya@gmail.com>
@@ -821,6 +891,7 @@ Liran Tal <liran.tal@gmail.com>
Liron Levin <liron@twistlock.com>
Liu Bo <bo.li.liu@oracle.com>
Liu Hua <sdu.liu@huawei.com>
lixiaobing10051267 <li.xiaobing1@zte.com.cn>
LIZAO LI <lzlarryli@gmail.com>
Lloyd Dewolf <foolswisdom@gmail.com>
Lokesh Mandvekar <lsm5@fedoraproject.org>
@@ -832,6 +903,8 @@ Luca Marturana <lucamarturana@gmail.com>
Luca Orlandi <luca.orlandi@gmail.com>
Luca-Bogdan Grigorescu <Luca-Bogdan Grigorescu>
Lucas Chan <lucas-github@lucaschan.com>
Lucas Chi <lucas@teacherspayteachers.com>
Luciano Mores <leslau@gmail.com>
Luis Martínez de Bartolomé Izquierdo <lmartinez@biicode.com>
Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
lukaspustina <lukas.pustina@centerdevice.com>
@@ -850,6 +923,7 @@ Malte Janduda <mail@janduda.net>
manchoz <giampaolo@trampolineup.com>
Manfred Touron <m@42.am>
Manfred Zabarauskas <manfredas@zabarauskas.com>
Mansi Nahar <mmn4185@rit.edu>
mansinahar <mansinahar@users.noreply.github.com>
Manuel Meurer <manuel@krautcomputing.com>
Manuel Woelker <github@manuel.woelker.org>
@@ -892,8 +966,10 @@ Matt Apperson <me@mattapperson.com>
Matt Bachmann <bachmann.matt@gmail.com>
Matt Bentley <matt.bentley@docker.com>
Matt Haggard <haggardii@gmail.com>
Matt Hoyle <matt@deployable.co>
Matt McCormick <matt.mccormick@kitware.com>
Matt Moore <mattmoor@google.com>
Matt Richardson <matt@redgumtech.com.au>
Matt Robenolt <matt@ydekproductions.com>
Matthew Heon <mheon@redhat.com>
Matthew Mayer <matthewkmayer@gmail.com>
@@ -905,9 +981,10 @@ Matthias Rampke <mr@soundcloud.com>
Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
mattymo <raytrac3r@gmail.com>
mattyw <mattyw@me.com>
Mauricio Garavaglia <mauriciogaravaglia@gmail.com>
Mauricio Garavaglia <mauricio@medallia.com>
mauriyouth <mauriyouth@gmail.com>
Max Shytikov <mshytikov@gmail.com>
Maxim Fedchyshyn <sevmax@gmail.com>
Maxim Ivanov <ivanov.maxim@gmail.com>
Maxim Kulkin <mkulkin@mirantis.com>
Maxim Treskin <zerthurd@gmail.com>
@@ -916,8 +993,10 @@ Meaglith Ma <genedna@gmail.com>
meejah <meejah@meejah.ca>
Megan Kostick <mkostick@us.ibm.com>
Mehul Kar <mehul.kar@gmail.com>
Mei ChunTao <mei.chuntao@zte.com.cn>
Mengdi Gao <usrgdd@gmail.com>
Mert Yazıcıoğlu <merty@users.noreply.github.com>
mgniu <mgniu@dataman-inc.com>
Micah Zoltu <micah@newrelic.com>
Michael A. Smith <michael@smith-li.com>
Michael Bridgen <mikeb@squaremobius.net>
@@ -943,9 +1022,11 @@ Michal Fojtik <mfojtik@redhat.com>
Michal Gebauer <mishak@mishak.net>
Michal Jemala <michal.jemala@gmail.com>
Michal Minar <miminar@redhat.com>
Michal Wieczorek <wieczorek-michal@wp.pl>
Michaël Pailloncy <mpapo.dev@gmail.com>
Michał Czeraszkiewicz <czerasz@gmail.com>
Michiel@unhosted <michiel@unhosted.org>
Mickaël FORTUNATO <morsi.morsicus@gmail.com>
Miguel Angel Fernández <elmendalerenda@gmail.com>
Miguel Morales <mimoralea@gmail.com>
Mihai Borobocea <MihaiBorob@gmail.com>
@@ -956,7 +1037,7 @@ Mike Danese <mikedanese@google.com>
Mike Dillon <mike@embody.org>
Mike Dougherty <mike.dougherty@docker.com>
Mike Gaffney <mike@uberu.com>
Mike Goelzer <mgoelzer@docker.com>
Mike Goelzer <mike.goelzer@docker.com>
Mike Leone <mleone896@gmail.com>
Mike MacCana <mike.maccana@gmail.com>
Mike Naberezny <mike@naberezny.com>
@@ -966,6 +1047,7 @@ Mikhail Sobolev <mss@mawhrin.net>
Miloslav Trmač <mitr@redhat.com>
mingqing <limingqing@cyou-inc.com>
Mingzhen Feng <fmzhen@zju.edu.cn>
Misty Stanley-Jones <misty@docker.com>
Mitch Capper <mitch.capper@gmail.com>
mlarcher <github@ringabell.org>
Mohammad Banikazemi <mb@us.ibm.com>
@@ -1002,15 +1084,20 @@ Nathan LeClaire <nathan.leclaire@docker.com>
Nathan McCauley <nathan.mccauley@docker.com>
Nathan Williams <nathan@teamtreehouse.com>
Neal McBurnett <neal@mcburnett.org>
Neil Peterson <neilpeterson@outlook.com>
Nelson Chen <crazysim@gmail.com>
Neyazul Haque <nuhaque@gmail.com>
Nghia Tran <nghia@google.com>
Niall O'Higgins <niallo@unworkable.org>
Nicholas E. Rabenau <nerab@gmx.at>
nick <nicholasjamesrusso@gmail.com>
Nick DeCoursin <n.decoursin@foodpanda.com>
Nick Irvine <nfirvine@nfirvine.com>
Nick Parker <nikaios@gmail.com>
Nick Payne <nick@kurai.co.uk>
Nick Stenning <nick.stenning@digital.cabinet-office.gov.uk>
Nick Stinemates <nick@stinemates.org>
Nicola Kabar <nicolaka@gmail.com>
Nicolas Borboën <ponsfrilus@users.noreply.github.com>
Nicolas De loof <nicolas.deloof@gmail.com>
Nicolas Dudebout <nicolas.dudebout@gatech.edu>
@@ -1035,11 +1122,14 @@ odk- <github@odkurzacz.org>
Oguz Bilgic <fisyonet@gmail.com>
Oh Jinkyun <tintypemolly@gmail.com>
Ohad Schneider <ohadschn@users.noreply.github.com>
ohmystack <jun.jiang02@ele.me>
Ole Reifschneider <mail@ole-reifschneider.de>
Oliver Neal <ItsVeryWindy@users.noreply.github.com>
Olivier Gambier <dmp42@users.noreply.github.com>
Olle Jonsson <olle.jonsson@gmail.com>
Oriol Francès <oriolfa@gmail.com>
orkaa <orkica@gmail.com>
Oskar Niburski <oskarniburski@gmail.com>
Otto Kekäläinen <otto@seravo.fi>
oyld <oyld0210@163.com>
ozlerhakan <hakan.ozler@kodcu.com>
@@ -1049,6 +1139,7 @@ panticz <mail@konczalski.de>
Paolo G. Giarrusso <p.giarrusso@gmail.com>
Pascal Borreli <pascal@borreli.com>
Pascal Hartig <phartig@rdrei.net>
Patrick Böänziger <patrick.baenziger@bsi-software.com>
Patrick Devine <patrick.devine@docker.com>
Patrick Hemmer <patrick.hemmer@gmail.com>
Patrick Stapleton <github@gdi2290.com>
@@ -1058,6 +1149,7 @@ paul <paul@inkling.com>
Paul Annesley <paul@annesley.cc>
Paul Bellamy <paul.a.bellamy@gmail.com>
Paul Bowsher <pbowsher@globalpersonals.co.uk>
Paul Furtado <pfurtado@hubspot.com>
Paul Hammond <paul@paulhammond.org>
Paul Jimenez <pj@place.org>
Paul Lietar <paul@lietar.net>
@@ -1065,16 +1157,19 @@ Paul Liljenberg <liljenberg.paul@gmail.com>
Paul Morie <pmorie@gmail.com>
Paul Nasrat <pnasrat@gmail.com>
Paul Weaver <pauweave@cisco.com>
Paulo Ribeiro <paigr.io@gmail.com>
Pavel Lobashov <ShockwaveNN@gmail.com>
Pavel Pospisil <pospispa@gmail.com>
Pavel Sutyrin <pavel.sutyrin@gmail.com>
Pavel Tikhomirov <ptikhomirov@parallels.com>
Pavlos Ratis <dastergon@gentoo.org>
Pavol Vargovcik <pallly.vargovcik@gmail.com>
Peeyush Gupta <gpeeyush@linux.vnet.ibm.com>
Peggy Li <peggyli.224@gmail.com>
Pei Su <sillyousu@gmail.com>
Penghan Wang <ph.wang@daocloud.io>
perhapszzy@sina.com <perhapszzy@sina.com>
pestophagous <pestophagous@users.noreply.github.com>
Peter Bourgon <peter@bourgon.org>
Peter Braden <peterbraden@peterbraden.co.uk>
Peter Choi <reikani@Peters-MacBook-Pro.local>
@@ -1086,6 +1181,7 @@ Peter Malmgren <ptmalmgren@gmail.com>
Peter Salvatore <peter@psftw.com>
Peter Volpe <petervo@redhat.com>
Peter Waller <p@pwaller.net>
Petr Švihlík <svihlik.petr@gmail.com>
Phil <underscorephil@gmail.com>
Phil Estes <estesp@linux.vnet.ibm.com>
Phil Spitler <pspitler@gmail.com>
@@ -1097,6 +1193,7 @@ pidster <pid@pidster.com>
Piergiuliano Bossi <pgbossi@gmail.com>
Pierre <py@poujade.org>
Pierre Carrier <pierre@meteor.com>
Pierre Dal-Pra <dalpra.pierre@gmail.com>
Pierre Wacrenier <pierre.wacrenier@gmail.com>
Pierre-Alain RIVIERE <pariviere@ippon.fr>
Piotr Bogdan <ppbogdan@gmail.com>
@@ -1122,9 +1219,11 @@ Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Raghuram Devarakonda <draghuram@gmail.com>
Rajat Pandit <rp@rajatpandit.com>
Rajdeep Dua <dua_rajdeep@yahoo.com>
Ralf Sippl <ralf.sippl@gmail.com>
Ralle <spam@rasmusa.net>
Ralph Bean <rbean@redhat.com>
Ramkumar Ramachandra <artagnon@gmail.com>
Ramon Brooker <rbrooker@aetherealmind.com>
Ramon van Alteren <ramon@vanalteren.nl>
Ray Tsang <saturnism@users.noreply.github.com>
ReadmeCritic <frankensteinbot@gmail.com>
@@ -1135,10 +1234,12 @@ Renato Riccieri Santos Zannon <renato.riccieri@gmail.com>
resouer <resouer@163.com>
rgstephens <greg@udon.org>
Rhys Hiltner <rhys@twitch.tv>
Rich Moyse <rich@moyse.us>
Rich Seymour <rseymour@gmail.com>
Richard <richard.scothern@gmail.com>
Richard Burnison <rburnison@ebay.com>
Richard Harvey <richard@squarecows.com>
Richard Mathie <richard.mathie@amey.co.uk>
Richard Metzler <richard@paadee.com>
Richard Scothern <richard.scothern@gmail.com>
Richo Healey <richo@psych0tik.net>
@@ -1155,6 +1256,7 @@ Robert Bachmann <rb@robertbachmann.at>
Robert Bittle <guywithnose@gmail.com>
Robert Obryk <robryk@gmail.com>
Robert Stern <lexandro2000@gmail.com>
Robert Terhaar <robbyt@users.noreply.github.com>
Robert Wallis <smilingrob@gmail.com>
Roberto G. Hashioka <roberto.hashioka@docker.com>
Robin Naundorf <r.naundorf@fh-muenster.de>
@@ -1173,8 +1275,10 @@ Roland Moriz <rmoriz@users.noreply.github.com>
Roma Sokolov <sokolov.r.v@gmail.com>
Roman Strashkin <roman.strashkin@gmail.com>
Ron Smits <ron.smits@gmail.com>
Ron Williams <ron.a.williams@gmail.com>
root <docker-dummy@example.com>
root <root@localhost>
root <root@lxdebmas.marist.edu>
root <root@ubuntu-14.04-amd64-vbox>
root <root@webm215.cluster016.ha.ovh.net>
Rory Hunter <roryhunter2@gmail.com>
@@ -1185,6 +1289,7 @@ Rozhnov Alexandr <nox73@ya.ru>
rsmoorthy <rsmoorthy@users.noreply.github.com>
Rudolph Gottesheim <r.gottesheim@loot.at>
Rui Lopes <rgl@ruilopes.com>
Runshen Zhu <runshen.zhu@gmail.com>
Ryan Anderson <anderson.ryanc@gmail.com>
Ryan Aslett <github@mixologic.com>
Ryan Belgrave <rmb1993@gmail.com>
@@ -1204,6 +1309,7 @@ Sabin Basyal <sabin.basyal@gmail.com>
Sachin Joshi <sachin_jayant_joshi@hotmail.com>
Sagar Hani <sagarhani33@gmail.com>
Sainath Grandhi <sainath.grandhi@intel.com>
sakeven <jc5930@sina.cn>
Sally O'Malley <somalley@redhat.com>
Sam Abed <sam.abed@gmail.com>
Sam Alba <sam.alba@gmail.com>
@@ -1225,6 +1331,7 @@ sapphiredev <se.imas.kr@gmail.com>
Satnam Singh <satnam@raintown.org>
satoru <satorulogic@gmail.com>
Satoshi Amemiya <satoshi_amemiya@voyagegroup.com>
Satoshi Tagomori <tagomoris@gmail.com>
scaleoutsean <scaleoutsean@users.noreply.github.com>
Scott Bessler <scottbessler@gmail.com>
Scott Collier <emailscottcollier@gmail.com>
@@ -1245,19 +1352,25 @@ Seongyeol Lim <seongyeol37@gmail.com>
Serge Hallyn <serge.hallyn@ubuntu.com>
Sergey Alekseev <sergey.alekseev.minsk@gmail.com>
Sergey Evstifeev <sergey.evstifeev@gmail.com>
Serhat Gülçiçek <serhat25@gmail.com>
Sevki Hasirci <s@sevki.org>
Shane Canon <scanon@lbl.gov>
Shane da Silva <shane@dasilva.io>
shaunol <shaunol@gmail.com>
Shawn Landden <shawn@churchofgit.com>
Shawn Siefkas <shawn.siefkas@meredith.com>
shawnhe <shawnhe@shawnhedeMacBook-Pro.local>
Shekhar Gulati <shekhargulati84@gmail.com>
Sheng Yang <sheng@yasker.org>
Shengbo Song <thomassong@tencent.com>
Shev Yan <yandong_8212@163.com>
Shih-Yuan Lee <fourdollars@gmail.com>
Shijiang Wei <mountkin@gmail.com>
Shishir Mahajan <shishir.mahajan@redhat.com>
Shoubhik Bose <sbose78@gmail.com>
Shourya Sarcar <shourya.sarcar@gmail.com>
shuai-z <zs.broccoli@gmail.com>
Shukui Yang <yangshukui@huawei.com>
Shuwei Hao <haosw@cn.ibm.com>
Sian Lerk Lau <kiawin@gmail.com>
sidharthamani <sid@rancher.com>
@@ -1268,6 +1381,7 @@ Simon Leinen <simon.leinen@gmail.com>
Simon Taranto <simon.taranto@gmail.com>
Sindhu S <sindhus@live.in>
Sjoerd Langkemper <sjoerd-github@linuxonly.nl>
skaasten <shaunk@gmail.com>
Solganik Alexander <solganik@gmail.com>
Solomon Hykes <solomon@docker.com>
Song Gao <song@gao.io>
@@ -1288,11 +1402,13 @@ Stefan Staudenmeyer <doerte@instana.com>
Stefan Weil <sw@weilnetz.de>
Stephen Crosby <stevecrozz@gmail.com>
Stephen Day <stephen.day@docker.com>
Stephen Drake <stephen@xenolith.net>
Stephen Rust <srust@blockbridge.com>
Steve Durrheimer <s.durrheimer@gmail.com>
Steve Francia <steve.francia@gmail.com>
Steve Koch <stevekochscience@gmail.com>
Steven Burgess <steven.a.burgess@hotmail.com>
Steven Erenst <stevenerenst@gmail.com>
Steven Iveson <sjiveson@outlook.com>
Steven Merrill <steven.merrill@gmail.com>
Steven Richards <steven@axiomzen.co>
@@ -1307,6 +1423,7 @@ Sylvain Bellemare <sylvain@ascribe.io>
Sébastien <sebastien@yoozio.com>
Sébastien Luttringer <seblu@seblu.net>
Sébastien Stormacq <sebsto@users.noreply.github.com>
Tadej Janež <tadej.j@nez.si>
TAGOMORI Satoshi <tagomoris@gmail.com>
tang0th <tang0th@gmx.com>
Tangi COLIN <tangicolin@gmail.com>
@@ -1339,7 +1456,9 @@ Thomas Swift <tgs242@gmail.com>
Thomas Tanaka <thomas.tanaka@oracle.com>
Thomas Texier <sharkone@en-mousse.org>
Tianon Gravi <admwiggin@gmail.com>
Tianyi Wang <capkurmagati@gmail.com>
Tibor Vass <teabee89@gmail.com>
Tiffany Jernigan <tiffany.f.j@gmail.com>
Tiffany Low <tiffany@box.com>
Tim Bosse <taim@bosboot.org>
Tim Dettrick <t.dettrick@uq.edu.au>
@@ -1351,6 +1470,7 @@ Tim Terhorst <mynamewastaken+git@gmail.com>
Tim Wang <timwangdev@gmail.com>
Tim Waugh <twaugh@redhat.com>
Tim Wraight <tim.wraight@tangentlabs.co.uk>
timfeirg <kkcocogogo@gmail.com>
Timothy Hobbs <timothyhobbs@seznam.cz>
tjwebb123 <tjwebb123@users.noreply.github.com>
tobe <tobegit3hub@gmail.com>
@@ -1358,6 +1478,7 @@ Tobias Bieniek <Tobias.Bieniek@gmx.de>
Tobias Bradtke <webwurst@gmail.com>
Tobias Gesellchen <tobias@gesellix.de>
Tobias Klauser <tklauser@distanz.ch>
Tobias Munk <schmunk@usrbin.de>
Tobias Schmidt <ts@soundcloud.com>
Tobias Schwab <tobias.schwab@dynport.de>
Todd Crane <todd@toddcrane.com>
@@ -1402,6 +1523,7 @@ vagrant <vagrant@ubuntu-14.04-amd64-vbox>
Vaidas Jablonskis <jablonskis@gmail.com>
Veres Lajos <vlajos@gmail.com>
vgeta <gopikannan.venugopalsamy@gmail.com>
Victor Algaze <valgaze@gmail.com>
Victor Coisne <victor.coisne@dotcloud.com>
Victor Costan <costan@gmail.com>
Victor I. Wood <viw@t2am.com>
@@ -1430,6 +1552,7 @@ Vivek Dasgupta <vdasgupt@redhat.com>
Vivek Goyal <vgoyal@redhat.com>
Vladimir Bulyga <xx@ccxx.cc>
Vladimir Kirillov <proger@wilab.org.ua>
Vladimir Pouzanov <farcaller@google.com>
Vladimir Rutsky <altsysrq@gmail.com>
Vladimir Varankin <nek.narqo+git@gmail.com>
VladimirAus <v_roudakov@yahoo.com>
@@ -1447,6 +1570,7 @@ weiyan <weiyan3@huawei.com>
Weiyang Zhu <cnresonant@gmail.com>
Wen Cheng Ma <wenchma@cn.ibm.com>
Wendel Fleming <wfleming@usc.edu>
Wenkai Yin <yinw@vmware.com>
Wenxuan Zhao <viz@linux.com>
Wenyu You <21551128@zju.edu.cn>
Wes Morgan <cap10morgan@gmail.com>
@@ -1463,7 +1587,9 @@ WiseTrem <shepelyov.g@gmail.com>
wlan0 <sidharthamn@gmail.com>
Wolfgang Powisch <powo@powo.priv.at>
wonderflow <wonderflow.sun@gmail.com>
Wonjun Kim <wonjun.kim@navercorp.com>
xamyzhao <x.amy.zhao@gmail.com>
Xianlu Bird <xianlubird@gmail.com>
XiaoBing Jiang <s7v7nislands@gmail.com>
Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
xiekeyang <xiekeyang@huawei.com>
@@ -1476,6 +1602,7 @@ YAMADA Tsuyoshi <tyamada@minimum2scp.org>
Yan Feng <yanfeng2@huawei.com>
Yang Bai <hamo.by@gmail.com>
yangshukui <yangshukui@huawei.com>
Yanqiang Miao <miao.yanqiang@zte.com.cn>
Yasunori Mahata <nori@mahata.net>
Yestin Sun <sunyi0804@gmail.com>
Yi EungJun <eungjun.yi@navercorp.com>
@@ -1490,6 +1617,8 @@ Youcef YEKHLEF <yyekhlef@gmail.com>
Yuan Sun <sunyuan3@huawei.com>
yuchangchun <yuchangchun1@huawei.com>
yuchengxia <yuchengxia@huawei.com>
yuexiao-wang <wang.yuexiao@zte.com.cn>
YuPengZTE <yu.peng36@zte.com.cn>
Yurii Rashkovskii <yrashk@gmail.com>
yuzou <zouyu7@huawei.com>
Zac Dover <zdover@redhat.com>
@@ -1504,6 +1633,7 @@ Zhang Kun <zkazure@gmail.com>
Zhang Wei <zhangwei555@huawei.com>
Zhang Wentao <zhangwentao234@huawei.com>
Zhenan Ye <21551168@zju.edu.cn>
zhouhao <zhouhao@cn.fujitsu.com>
Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
Zhuoyun Wei <wzyboy@wzyboy.org>
Zilin Du <zilin.du@gmail.com>

View File

@@ -5,6 +5,599 @@ information on the list of deprecated flags and APIs please have a look at
https://docs.docker.com/engine/deprecated/ where target removal dates can also
be found.
## 17.03.0-ce (2017-03-01)
### Client
* Fix panic in `docker stats --format`
### Contrib
* Update various `bash` and `zsh` completion scripts [#30823](https://github.com/docker/docker/pull/30823), [#30945](https://github.com/docker/docker/pull/30945) and more...
### Networking
* Discard incoming plain vxlan packets for encrypted overlay network [#31170](https://github.com/docker/docker/pull/31170)
* Release the network attachment on allocation failure [#31073](https://github.com/docker/docker/pull/31073)
### Runtime
* Fix a deadlock in docker logs [#30223](https://github.com/docker/docker/pull/30223)
* Fix cpu spin waiting for log write events [#31070](https://github.com/docker/docker/pull/31070)
## 1.13.1 (2017-02-08)
**IMPORTANT**: On Linux distributions where `devicemapper` was the default storage driver,
the `overlay2`, or `overlay` is now used by default (if the kernel supports it).
To use devicemapper, you can manually configure the storage driver to use through
the `--storage-driver` daemon option, or by setting "storage-driver" in the `daemon.json`
configuration file.
**IMPORTANT**: In Docker 1.13, the managed plugin api changed, as compared to the experimental
version introduced in Docker 1.12. You must **uninstall** plugins which you installed with Docker 1.12
_before_ upgrading to Docker 1.13. You can uninstall plugins using the `docker plugin rm` command.
If you have already upgraded to Docker 1.13 without uninstalling
previously-installed plugins, you may see this message when the Docker daemon
starts:
Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv
To manually remove all plugins and resolve this problem, take the following steps:
1. Remove plugins.json from: `/var/lib/docker/plugins/`.
2. Restart Docker. Verify that the Docker daemon starts with no errors.
3. Reinstall your plugins.
### Contrib
* Do not require a custom build of tini [#28454](https://github.com/docker/docker/pull/28454)
* Upgrade to Go 1.7.5 [#30489](https://github.com/docker/docker/pull/30489)
### Remote API (v1.26) & Client
+ Support secrets in docker stack deploy with compose file [#30144](https://github.com/docker/docker/pull/30144)
### Runtime
* Fix size issue in `docker system df` [#30378](https://github.com/docker/docker/pull/30378)
* Fix error on `docker inspect` when Swarm certificates were expired. [#29246](https://github.com/docker/docker/pull/29246)
* Fix deadlock on v1 plugin with activate error [#30408](https://github.com/docker/docker/pull/30408)
* Fix SELinux regression [#30649](https://github.com/docker/docker/pull/30649)
### Plugins
* Support global scoped network plugins (v2) in swarm mode [#30332](https://github.com/docker/docker/pull/30332)
+ Add `docker plugin upgrade` [#29414](https://github.com/docker/docker/pull/29414)
### Windows
* Fix small regression with old plugins in Windows [#30150](https://github.com/docker/docker/pull/30150)
* Fix warning on Windows [#30730](https://github.com/docker/docker/pull/30730)
## 1.13.0 (2017-01-18)
**IMPORTANT**: On Linux distributions where `devicemapper` was the default storage driver,
the `overlay2`, or `overlay` is now used by default (if the kernel supports it).
To use devicemapper, you can manually configure the storage driver to use through
the `--storage-driver` daemon option, or by setting "storage-driver" in the `daemon.json`
configuration file.
**IMPORTANT**: In Docker 1.13, the managed plugin api changed, as compared to the experimental
version introduced in Docker 1.12. You must **uninstall** plugins which you installed with Docker 1.12
_before_ upgrading to Docker 1.13. You can uninstall plugins using the `docker plugin rm` command.
If you have already upgraded to Docker 1.13 without uninstalling
previously-installed plugins, you may see this message when the Docker daemon
starts:
Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv
To manually remove all plugins and resolve this problem, take the following steps:
1. Remove plugins.json from: `/var/lib/docker/plugins/`.
2. Restart Docker. Verify that the Docker daemon starts with no errors.
3. Reinstall your plugins.
### Builder
+ Add capability to specify images used as a cache source on build. These images do not need to have local parent chain and can be pulled from other registries [#26839](https://github.com/docker/docker/pull/26839)
+ (experimental) Add option to squash image layers to the FROM image after successful builds [#22641](https://github.com/docker/docker/pull/22641)
* Fix dockerfile parser with empty line after escape [#24725](https://github.com/docker/docker/pull/24725)
- Add step number on `docker build` [#24978](https://github.com/docker/docker/pull/24978)
+ Add support for compressing build context during image build [#25837](https://github.com/docker/docker/pull/25837)
+ add `--network` to `docker build` [#27702](https://github.com/docker/docker/pull/27702)
- Fix inconsistent behavior between `--label` flag on `docker build` and `docker run` [#26027](https://github.com/docker/docker/issues/26027)
- Fix image layer inconsistencies when using the overlay storage driver [#27209](https://github.com/docker/docker/pull/27209)
* Unused build-args are now allowed. A warning is presented instead of an error and failed build [#27412](https://github.com/docker/docker/pull/27412)
- Fix builder cache issue on Windows [#27805](https://github.com/docker/docker/pull/27805)
+ Allow `USER` in builder on Windows [#28415](https://github.com/docker/docker/pull/28415)
+ Handle env case-insensitive on Windows [#28725](https://github.com/docker/docker/pull/28725)
### Contrib
+ Add support for building docker debs for Ubuntu 16.04 Xenial on PPC64LE [#23438](https://github.com/docker/docker/pull/23438)
+ Add support for building docker debs for Ubuntu 16.04 Xenial on s390x [#26104](https://github.com/docker/docker/pull/26104)
+ Add support for building docker debs for Ubuntu 16.10 Yakkety Yak on PPC64LE [#28046](https://github.com/docker/docker/pull/28046)
- Add RPM builder for VMWare Photon OS [#24116](https://github.com/docker/docker/pull/24116)
+ Add shell completions to tgz [#27735](https://github.com/docker/docker/pull/27735)
* Update the install script to allow using the mirror in China [#27005](https://github.com/docker/docker/pull/27005)
+ Add DEB builder for Ubuntu 16.10 Yakkety Yak [#27993](https://github.com/docker/docker/pull/27993)
+ Add RPM builder for Fedora 25 [#28222](https://github.com/docker/docker/pull/28222)
+ Add `make deb` support for aarch64 [#27625](https://github.com/docker/docker/pull/27625)
### Distribution
* Update notary dependency to 0.4.2 (full changelogs [here](https://github.com/docker/notary/releases/tag/v0.4.2)) [#27074](https://github.com/docker/docker/pull/27074)
- Support for compilation on windows [docker/notary#970](https://github.com/docker/notary/pull/970)
- Improved error messages for client authentication errors [docker/notary#972](https://github.com/docker/notary/pull/972)
- Support for finding keys that are anywhere in the `~/.docker/trust/private` directory, not just under `~/.docker/trust/private/root_keys` or `~/.docker/trust/private/tuf_keys` [docker/notary#981](https://github.com/docker/notary/pull/981)
- Previously, on any error updating, the client would fall back on the cache. Now we only do so if there is a network error or if the server is unavailable or missing the TUF data. Invalid TUF data will cause the update to fail - for example if there was an invalid root rotation. [docker/notary#982](https://github.com/docker/notary/pull/982)
- Improve root validation and yubikey debug logging [docker/notary#858](https://github.com/docker/notary/pull/858) [docker/notary#891](https://github.com/docker/notary/pull/891)
- Warn if certificates for root or delegations are near expiry [docker/notary#802](https://github.com/docker/notary/pull/802)
- Warn if role metadata is near expiry [docker/notary#786](https://github.com/docker/notary/pull/786)
- Fix passphrase retrieval attempt counting and terminal detection [docker/notary#906](https://github.com/docker/notary/pull/906)
- Avoid unnecessary blob uploads when different users push same layers to authenticated registry [#26564](https://github.com/docker/docker/pull/26564)
* Allow external storage for registry credentials [#26354](https://github.com/docker/docker/pull/26354)
### Logging
* Standardize the default logging tag value in all logging drivers [#22911](https://github.com/docker/docker/pull/22911)
- Improve performance and memory use when logging of long log lines [#22982](https://github.com/docker/docker/pull/22982)
+ Enable syslog driver for windows [#25736](https://github.com/docker/docker/pull/25736)
+ Add Logentries Driver [#27471](https://github.com/docker/docker/pull/27471)
+ Update of AWS log driver to support tags [#27707](https://github.com/docker/docker/pull/27707)
+ Unix socket support for fluentd [#26088](https://github.com/docker/docker/pull/26088)
* Enable fluentd logging driver on Windows [#28189](https://github.com/docker/docker/pull/28189)
- Sanitize docker labels when used as journald field names [#23725](https://github.com/docker/docker/pull/23725)
- Fix an issue where `docker logs --tail` returned less lines than expected [#28203](https://github.com/docker/docker/pull/28203)
- Splunk Logging Driver: performance and reliability improvements [#26207](https://github.com/docker/docker/pull/26207)
- Splunk Logging Driver: configurable formats and skip for verifying connection [#25786](https://github.com/docker/docker/pull/25786)
### Networking
+ Add `--attachable` network support to enable `docker run` to work in swarm-mode overlay network [#25962](https://github.com/docker/docker/pull/25962)
+ Add support for host port PublishMode in services using the `--publish` option in `docker service create` [#27917](https://github.com/docker/docker/pull/27917) and [#28943](https://github.com/docker/docker/pull/28943)
+ Add support for Windows server 2016 overlay network driver (requires upcoming ws2016 update) [#28182](https://github.com/docker/docker/pull/28182)
* Change the default `FORWARD` policy to `DROP` [#28257](https://github.com/docker/docker/pull/28257)
+ Add support for specifying static IP addresses for predefined network on windows [#22208](https://github.com/docker/docker/pull/22208)
- Fix `--publish` flag on `docker run` not working with IPv6 addresses [#27860](https://github.com/docker/docker/pull/27860)
- Fix inspect network show gateway with mask [#25564](https://github.com/docker/docker/pull/25564)
- Fix an issue where multiple addresses in a bridge may cause `--fixed-cidr` to not have the correct addresses [#26659](https://github.com/docker/docker/pull/26659)
+ Add creation timestamp to `docker network inspect` [#26130](https://github.com/docker/docker/pull/26130)
- Show peer nodes in `docker network inspect` for swarm overlay networks [#28078](https://github.com/docker/docker/pull/28078)
- Enable ping for service VIP address [#28019](https://github.com/docker/docker/pull/28019)
### Plugins
- Move plugins out of experimental [#28226](https://github.com/docker/docker/pull/28226)
- Add `--force` on `docker plugin remove` [#25096](https://github.com/docker/docker/pull/25096)
* Add support for dynamically reloading authorization plugins [#22770](https://github.com/docker/docker/pull/22770)
+ Add description in `docker plugin ls` [#25556](https://github.com/docker/docker/pull/25556)
+ Add `-f`/`--format` to `docker plugin inspect` [#25990](https://github.com/docker/docker/pull/25990)
+ Add `docker plugin create` command [#28164](https://github.com/docker/docker/pull/28164)
* Send request's TLS peer certificates to authorization plugins [#27383](https://github.com/docker/docker/pull/27383)
* Support for global-scoped network and ipam plugins in swarm-mode [#27287](https://github.com/docker/docker/pull/27287)
* Split `docker plugin install` into two API call `/privileges` and `/pull` [#28963](https://github.com/docker/docker/pull/28963)
### Remote API (v1.25) & Client
+ Support `docker stack deploy` from a Compose file [#27998](https://github.com/docker/docker/pull/27998)
+ (experimental) Implement checkpoint and restore [#22049](https://github.com/docker/docker/pull/22049)
+ Add `--format` flag to `docker info` [#23808](https://github.com/docker/docker/pull/23808)
* Remove `--name` from `docker volume create` [#23830](https://github.com/docker/docker/pull/23830)
+ Add `docker stack ls` [#23886](https://github.com/docker/docker/pull/23886)
+ Add a new `is-task` ps filter [#24411](https://github.com/docker/docker/pull/24411)
+ Add `--env-file` flag to `docker service create` [#24844](https://github.com/docker/docker/pull/24844)
+ Add `--format` on `docker stats` [#24987](https://github.com/docker/docker/pull/24987)
+ Make `docker node ps` default to `self` in swarm node [#25214](https://github.com/docker/docker/pull/25214)
+ Add `--group` in `docker service create` [#25317](https://github.com/docker/docker/pull/25317)
+ Add `--no-trunc` to service/node/stack ps output [#25337](https://github.com/docker/docker/pull/25337)
+ Add Logs to `ContainerAttachOptions` so go clients can request to retrieve container logs as part of the attach process [#26718](https://github.com/docker/docker/pull/26718)
+ Allow client to talk to an older server [#27745](https://github.com/docker/docker/pull/27745)
* Inform user client-side that a container removal is in progress [#26074](https://github.com/docker/docker/pull/26074)
+ Add `Isolation` to the /info endpoint [#26255](https://github.com/docker/docker/pull/26255)
+ Add `userns` to the /info endpoint [#27840](https://github.com/docker/docker/pull/27840)
- Do not allow more than one mode be requested at once in the services endpoint [#26643](https://github.com/docker/docker/pull/26643)
+ Add capability to /containers/create API to specify mounts in a more granular and safer way [#22373](https://github.com/docker/docker/pull/22373)
+ Add `--format` flag to `network ls` and `volume ls` [#23475](https://github.com/docker/docker/pull/23475)
* Allow the top-level `docker inspect` command to inspect any kind of resource [#23614](https://github.com/docker/docker/pull/23614)
+ Add --cpus flag to control cpu resources for `docker run` and `docker create`, and add `NanoCPUs` to `HostConfig` [#27958](https://github.com/docker/docker/pull/27958)
- Allow unsetting the `--entrypoint` in `docker run` or `docker create` [#23718](https://github.com/docker/docker/pull/23718)
* Restructure CLI commands by adding `docker image` and `docker container` commands for more consistency [#26025](https://github.com/docker/docker/pull/26025)
- Remove `COMMAND` column from `service ls` output [#28029](https://github.com/docker/docker/pull/28029)
+ Add `--format` to `docker events` [#26268](https://github.com/docker/docker/pull/26268)
* Allow specifying multiple nodes on `docker node ps` [#26299](https://github.com/docker/docker/pull/26299)
* Restrict fractional digits to 2 decimals in `docker images` output [#26303](https://github.com/docker/docker/pull/26303)
+ Add `--dns-option` to `docker run` [#28186](https://github.com/docker/docker/pull/28186)
+ Add Image ID to container commit event [#28128](https://github.com/docker/docker/pull/28128)
+ Add external binaries version to docker info [#27955](https://github.com/docker/docker/pull/27955)
+ Add information for `Manager Addresses` in the output of `docker info` [#28042](https://github.com/docker/docker/pull/28042)
+ Add a new reference filter for `docker images` [#27872](https://github.com/docker/docker/pull/27872)
### Runtime
+ Add `--experimental` daemon flag to enable experimental features, instead of shipping them in a separate build [#27223](https://github.com/docker/docker/pull/27223)
+ Add a `--shutdown-timeout` daemon flag to specify the default timeout (in seconds) to stop containers gracefully before daemon exit [#23036](https://github.com/docker/docker/pull/23036)
+ Add `--stop-timeout` to specify the timeout value (in seconds) for individual containers to stop [#22566](https://github.com/docker/docker/pull/22566)
+ Add a new daemon flag `--userland-proxy-path` to allow configuring the userland proxy instead of using the hardcoded `docker-proxy` from `$PATH` [#26882](https://github.com/docker/docker/pull/26882)
+ Add boolean flag `--init` on `dockerd` and on `docker run` to use [tini](https://github.com/krallin/tini) a zombie-reaping init process as PID 1 [#26061](https://github.com/docker/docker/pull/26061) [#28037](https://github.com/docker/docker/pull/28037)
+ Add a new daemon flag `--init-path` to allow configuring the path to the `docker-init` binary [#26941](https://github.com/docker/docker/pull/26941)
+ Add support for live reloading insecure registry in configuration [#22337](https://github.com/docker/docker/pull/22337)
+ Add support for storage-opt size on Windows daemons [#23391](https://github.com/docker/docker/pull/23391)
* Improve reliability of `docker run --rm` by moving it from the client to the daemon [#20848](https://github.com/docker/docker/pull/20848)
+ Add support for `--cpu-rt-period` and `--cpu-rt-runtime` flags, allowing containers to run real-time threads when `CONFIG_RT_GROUP_SCHED` is enabled in the kernel [#23430](https://github.com/docker/docker/pull/23430)
* Allow parallel stop, pause, unpause [#24761](https://github.com/docker/docker/pull/24761) / [#26778](https://github.com/docker/docker/pull/26778)
* Implement XFS quota for overlay2 [#24771](https://github.com/docker/docker/pull/24771)
- Fix partial/full filter issue in `service tasks --filter` [#24850](https://github.com/docker/docker/pull/24850)
- Allow engine to run inside a user namespace [#25672](https://github.com/docker/docker/pull/25672)
- Fix a race condition between device deferred removal and resume device, when using the devicemapper graphdriver [#23497](https://github.com/docker/docker/pull/23497)
- Add `docker stats` support in Windows [#25737](https://github.com/docker/docker/pull/25737)
- Allow using `--pid=host` and `--net=host` when `--userns=host` [#25771](https://github.com/docker/docker/pull/25771)
+ (experimental) Add metrics (Prometheus) output for basic `container`, `image`, and `daemon` operations [#25820](https://github.com/docker/docker/pull/25820)
- Fix issue in `docker stats` with `NetworkDisabled=true` [#25905](https://github.com/docker/docker/pull/25905)
+ Add `docker top` support in Windows [#25891](https://github.com/docker/docker/pull/25891)
+ Record pid of exec'd process [#27470](https://github.com/docker/docker/pull/27470)
+ Add support for looking up user/groups via `getent` [#27599](https://github.com/docker/docker/pull/27599)
+ Add new `docker system` command with `df` and `prune` subcommands for system resource management, as well as `docker {container,image,volume,network} prune` subcommands [#26108](https://github.com/docker/docker/pull/26108) [#27525](https://github.com/docker/docker/pull/27525) / [#27525](https://github.com/docker/docker/pull/27525)
- Fix an issue where containers could not be stopped or killed by setting xfs max_retries to 0 upon ENOSPC with devicemapper [#26212](https://github.com/docker/docker/pull/26212)
- Fix `docker cp` failing to copy to a container's volume dir on CentOS with devicemapper [#28047](https://github.com/docker/docker/pull/28047)
* Promote overlay(2) graphdriver [#27932](https://github.com/docker/docker/pull/27932)
+ Add `--seccomp-profile` daemon flag to specify a path to a seccomp profile that overrides the default [#26276](https://github.com/docker/docker/pull/26276)
- Fix ulimits in `docker inspect` when `--default-ulimit` is set on daemon [#26405](https://github.com/docker/docker/pull/26405)
- Add workaround for overlay issues during build in older kernels [#28138](https://github.com/docker/docker/pull/28138)
+ Add `TERM` environment variable on `docker exec -t` [#26461](https://github.com/docker/docker/pull/26461)
* Honor a containers `--stop-signal` setting upon `docker kill` [#26464](https://github.com/docker/docker/pull/26464)
### Swarm Mode
+ Add secret management [#27794](https://github.com/docker/docker/pull/27794)
+ Add support for templating service options (hostname, mounts, and environment variables) [#28025](https://github.com/docker/docker/pull/28025)
* Display the endpoint mode in the output of `docker service inspect --pretty` [#26906](https://github.com/docker/docker/pull/26906)
* Make `docker service ps` output more bearable by shortening service IDs in task names [#28088](https://github.com/docker/docker/pull/28088)
* Make `docker node ps` default to the current node [#25214](https://github.com/docker/docker/pull/25214)
+ Add `--dns`, -`-dns-opt`, and `--dns-search` to service create. [#27567](https://github.com/docker/docker/pull/27567)
+ Add `--force` to `docker service update` [#27596](https://github.com/docker/docker/pull/27596)
+ Add `--health-*` and `--no-healthcheck` flags to `docker service create` and `docker service update` [#27369](https://github.com/docker/docker/pull/27369)
+ Add `-q` to `docker service ps` [#27654](https://github.com/docker/docker/pull/27654)
* Display number of global services in `docker service ls` [#27710](https://github.com/docker/docker/pull/27710)
- Remove `--name` flag from `docker service update`. This flag is only functional on `docker service create`, so was removed from the `update` command [#26988](https://github.com/docker/docker/pull/26988)
- Fix worker nodes failing to recover because of transient networking issues [#26646](https://github.com/docker/docker/issues/26646)
* Add support for health aware load balancing and DNS records [#27279](https://github.com/docker/docker/pull/27279)
+ Add `--hostname` to `docker service create` [#27857](https://github.com/docker/docker/pull/27857)
+ Add `--host` to `docker service create`, and `--host-add`, `--host-rm` to `docker service update` [#28031](https://github.com/docker/docker/pull/28031)
+ Add `--tty` flag to `docker service create`/`update` [#28076](https://github.com/docker/docker/pull/28076)
* Autodetect, store, and expose node IP address as seen by the manager [#27910](https://github.com/docker/docker/pull/27910)
* Encryption at rest of manager keys and raft data [#27967](https://github.com/docker/docker/pull/27967)
+ Add `--update-max-failure-ratio`, `--update-monitor` and `--rollback` flags to `docker service update` [#26421](https://github.com/docker/docker/pull/26421)
- Fix an issue with address autodiscovery on `docker swarm init` running inside a container [#26457](https://github.com/docker/docker/pull/26457)
+ (experimental) Add `docker service logs` command to view logs for a service [#28089](https://github.com/docker/docker/pull/28089)
+ Pin images by digest for `docker service create` and `update` [#28173](https://github.com/docker/docker/pull/28173)
* Add short (`-f`) flag for `docker node rm --force` and `docker swarm leave --force` [#28196](https://github.com/docker/docker/pull/28196)
+ Add options to customize Raft snapshots (`--max-snapshots`, `--snapshot-interval`) [#27997](https://github.com/docker/docker/pull/27997)
- Don't repull image if pinned by digest [#28265](https://github.com/docker/docker/pull/28265)
+ Swarm-mode support for Windows [#27838](https://github.com/docker/docker/pull/27838)
+ Allow hostname to be updated on service [#28771](https://github.com/docker/docker/pull/28771)
+ Support v2 plugins [#29433](https://github.com/docker/docker/pull/29433)
+ Add content trust for services [#29469](https://github.com/docker/docker/pull/29469)
### Volume
+ Add support for labels on volumes [#21270](https://github.com/docker/docker/pull/21270)
+ Add support for filtering volumes by label [#25628](https://github.com/docker/docker/pull/25628)
* Add a `--force` flag in `docker volume rm` to forcefully purge the data of the volume that has already been deleted [#23436](https://github.com/docker/docker/pull/23436)
* Enhance `docker volume inspect` to show all options used when creating the volume [#26671](https://github.com/docker/docker/pull/26671)
* Add support for local NFS volumes to resolve hostnames [#27329](https://github.com/docker/docker/pull/27329)
### Security
- Fix selinux labeling of volumes shared in a container [#23024](https://github.com/docker/docker/pull/23024)
- Prohibit `/sys/firmware/**` from being accessed with apparmor [#26618](https://github.com/docker/docker/pull/26618)
### DEPRECATION
- Marked the `docker daemon` command as deprecated. The daemon is moved to a separate binary (`dockerd`), and should be used instead [#26834](https://github.com/docker/docker/pull/26834)
- Deprecate unversioned API endpoints [#28208](https://github.com/docker/docker/pull/28208)
- Remove Ubuntu 15.10 (Wily Werewolf) as supported platform. Ubuntu 15.10 is EOL, and no longer receives updates [#27042](https://github.com/docker/docker/pull/27042)
- Remove Fedora 22 as supported platform. Fedora 22 is EOL, and no longer receives updates [#27432](https://github.com/docker/docker/pull/27432)
- Remove Fedora 23 as supported platform. Fedora 23 is EOL, and no longer receives updates [#29455](https://github.com/docker/docker/pull/29455)
- Deprecate the `repo:shortid` syntax on `docker pull` [#27207](https://github.com/docker/docker/pull/27207)
- Deprecate backing filesystem without `d_type` for overlay and overlay2 storage drivers [#27433](https://github.com/docker/docker/pull/27433)
- Deprecate `MAINTAINER` in Dockerfile [#25466](https://github.com/docker/docker/pull/25466)
- Deprecate `filter` param for endpoint `/images/json` [#27872](https://github.com/docker/docker/pull/27872)
- Deprecate setting duplicate engine labels [#24533](https://github.com/docker/docker/pull/24533)
- Deprecate "top-level" network information in `NetworkSettings` [#28437](https://github.com/docker/docker/pull/28437)
## 1.12.6 (2017-01-10)
**IMPORTANT**: Docker 1.12 ships with an updated systemd unit file for rpm
based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When
upgrading from an older version of docker, the upgrade process may not
automatically install the updated version of the unit file, or fail to start
the docker service if;
- the systemd unit file (`/usr/lib/systemd/system/docker.service`) contains local changes, or
- a systemd drop-in file is present, and contains `-H fd://` in the `ExecStart` directive
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the
[version that ships with docker 1.12](https://raw.githubusercontent.com/docker/docker/v1.12.0/contrib/init/systemd/docker.service.rpm)
- Remove the `Requires=docker.socket` directive from the `/usr/lib/systemd/system/docker.service` file if present
- Remove `-H fd://` from the `ExecStart` directive (both in the main unit file, and in any drop-in files present).
After making those changes, run `sudo systemctl daemon-reload`, and `sudo
systemctl restart docker` to reload changes and (re)start the docker daemon.
**NOTE**: Docker 1.12.5 will correctly validate that either an IPv6 subnet is provided or
that the IPAM driver can provide one when you specify the `--ipv6` option.
If you are currently using the `--ipv6` option _without_ specifying the
`--fixed-cidr-v6` option, the Docker daemon will refuse to start with the
following message:
```none
Error starting daemon: Error initializing network controller: Error creating
default "bridge" network: failed to parse pool request
for address space "LocalDefault" pool " subpool ":
could not find an available, non-overlapping IPv6 address
pool among the defaults to assign to the network
```
To resolve this error, either remove the `--ipv6` flag (to preserve the same
behavior as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the
value of the `--fixed-cidr-v6` flag.
In a similar way, if you specify the `--ipv6` flag when creating a network
with the default IPAM driver, without providing an IPv6 `--subnet`, network
creation will fail with the following message:
```none
Error response from daemon: failed to parse pool request for address space
"LocalDefault" pool "" subpool "": could not find an
available, non-overlapping IPv6 address pool among
the defaults to assign to the network
```
To resolve this, either remove the `--ipv6` flag (to preserve the same behavior
as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the value of the
`--subnet` flag.
The network network creation will instead succeed if you use an external IPAM driver
which supports automatic allocation of IPv6 subnets.
### Runtime
- Fix runC privilege escalation (CVE-2016-9962)
## 1.12.5 (2016-12-15)
**IMPORTANT**: Docker 1.12 ships with an updated systemd unit file for rpm
based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When
upgrading from an older version of docker, the upgrade process may not
automatically install the updated version of the unit file, or fail to start
the docker service if;
- the systemd unit file (`/usr/lib/systemd/system/docker.service`) contains local changes, or
- a systemd drop-in file is present, and contains `-H fd://` in the `ExecStart` directive
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the
[version that ships with docker 1.12](https://raw.githubusercontent.com/docker/docker/v1.12.0/contrib/init/systemd/docker.service.rpm)
- Remove the `Requires=docker.socket` directive from the `/usr/lib/systemd/system/docker.service` file if present
- Remove `-H fd://` from the `ExecStart` directive (both in the main unit file, and in any drop-in files present).
After making those changes, run `sudo systemctl daemon-reload`, and `sudo
systemctl restart docker` to reload changes and (re)start the docker daemon.
**NOTE**: Docker 1.12.5 will correctly validate that either an IPv6 subnet is provided or
that the IPAM driver can provide one when you specify the `--ipv6` option.
If you are currently using the `--ipv6` option _without_ specifying the
`--fixed-cidr-v6` option, the Docker daemon will refuse to start with the
following message:
```none
Error starting daemon: Error initializing network controller: Error creating
default "bridge" network: failed to parse pool request
for address space "LocalDefault" pool " subpool ":
could not find an available, non-overlapping IPv6 address
pool among the defaults to assign to the network
```
To resolve this error, either remove the `--ipv6` flag (to preserve the same
behavior as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the
value of the `--fixed-cidr-v6` flag.
In a similar way, if you specify the `--ipv6` flag when creating a network
with the default IPAM driver, without providing an IPv6 `--subnet`, network
creation will fail with the following message:
```none
Error response from daemon: failed to parse pool request for address space
"LocalDefault" pool "" subpool "": could not find an
available, non-overlapping IPv6 address pool among
the defaults to assign to the network
```
To resolve this, either remove the `--ipv6` flag (to preserve the same behavior
as in Docker 1.12.3 and earlier), or provide an IPv6 subnet as the value of the
`--subnet` flag.
The network network creation will instead succeed if you use an external IPAM driver
which supports automatic allocation of IPv6 subnets.
### Runtime
- Fix race on sending stdin close event [#29424](https://github.com/docker/docker/pull/29424)
### Networking
- Fix panic in docker network ls when a network was created with `--ipv6` and no ipv6 `--subnet` in older docker versions [#29416](https://github.com/docker/docker/pull/29416)
### Contrib
- Fix compilation on Darwin [#29370](https://github.com/docker/docker/pull/29370)
## 1.12.4 (2016-12-12)
**IMPORTANT**: Docker 1.12 ships with an updated systemd unit file for rpm
based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When
upgrading from an older version of docker, the upgrade process may not
automatically install the updated version of the unit file, or fail to start
the docker service if;
- the systemd unit file (`/usr/lib/systemd/system/docker.service`) contains local changes, or
- a systemd drop-in file is present, and contains `-H fd://` in the `ExecStart` directive
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the
[version that ships with docker 1.12](https://raw.githubusercontent.com/docker/docker/v1.12.0/contrib/init/systemd/docker.service.rpm)
- Remove the `Requires=docker.socket` directive from the `/usr/lib/systemd/system/docker.service` file if present
- Remove `-H fd://` from the `ExecStart` directive (both in the main unit file, and in any drop-in files present).
After making those changes, run `sudo systemctl daemon-reload`, and `sudo
systemctl restart docker` to reload changes and (re)start the docker daemon.
### Runtime
- Fix issue where volume metadata was not removed [#29083](https://github.com/docker/docker/pull/29083)
- Asynchronously close streams to prevent holding container lock [#29050](https://github.com/docker/docker/pull/29050)
- Fix selinux labels for newly created container volumes [#29050](https://github.com/docker/docker/pull/29050)
- Remove hostname validation [#28990](https://github.com/docker/docker/pull/28990)
- Fix deadlocks caused by IO races [#29095](https://github.com/docker/docker/pull/29095) [#29141](https://github.com/docker/docker/pull/29141)
- Return an empty stats if the container is restarting [#29150](https://github.com/docker/docker/pull/29150)
- Fix volume store locking [#29151](https://github.com/docker/docker/pull/29151)
- Ensure consistent status code in API [#29150](https://github.com/docker/docker/pull/29150)
- Fix incorrect opaque directory permission in overlay2 [#29093](https://github.com/docker/docker/pull/29093)
- Detect plugin content and error out on `docker pull` [#29297](https://github.com/docker/docker/pull/29297)
### Swarm Mode
* Update Swarmkit [#29047](https://github.com/docker/docker/pull/29047)
- orchestrator/global: Fix deadlock on updates [docker/swarmkit#1760](https://github.com/docker/swarmkit/pull/1760)
- on leader switchover preserve the vxlan id for existing networks [docker/swarmkit#1773](https://github.com/docker/swarmkit/pull/1773)
- Refuse swarm spec not named "default" [#29152](https://github.com/docker/docker/pull/29152)
### Networking
* Update libnetwork [#29004](https://github.com/docker/docker/pull/29004) [#29146](https://github.com/docker/docker/pull/29146)
- Fix panic in embedded DNS [docker/libnetwork#1561](https://github.com/docker/libnetwork/pull/1561)
- Fix unmarhalling panic when passing --link-local-ip on global scope network [docker/libnetwork#1564](https://github.com/docker/libnetwork/pull/1564)
- Fix panic when network plugin returns nil StaticRoutes [docker/libnetwork#1563](https://github.com/docker/libnetwork/pull/1563)
- Fix panic in osl.(*networkNamespace).DeleteNeighbor [docker/libnetwork#1555](https://github.com/docker/libnetwork/pull/1555)
- Fix panic in swarm networking concurrent map read/write [docker/libnetwork#1570](https://github.com/docker/libnetwork/pull/1570)
* Allow encrypted networks when running docker inside a container [docker/libnetwork#1502](https://github.com/docker/libnetwork/pull/1502)
- Do not block autoallocation of IPv6 pool [docker/libnetwork#1538](https://github.com/docker/libnetwork/pull/1538)
- Set timeout for netlink calls [docker/libnetwork#1557](https://github.com/docker/libnetwork/pull/1557)
- Increase networking local store timeout to one minute [docker/libkv#140](https://github.com/docker/libkv/pull/140)
- Fix a panic in libnetwork.(*sandbox).execFunc [docker/libnetwork#1556](https://github.com/docker/libnetwork/pull/1556)
- Honor icc=false for internal networks [docker/libnetwork#1525](https://github.com/docker/libnetwork/pull/1525)
### Logging
* Update syslog log driver [#29150](https://github.com/docker/docker/pull/29150)
### Contrib
- Run "dnf upgrade" before installing in fedora [#29150](https://github.com/docker/docker/pull/29150)
- Add build-date back to RPM packages [#29150](https://github.com/docker/docker/pull/29150)
- deb package filename changed to include distro to distinguish between distro code names [#27829](https://github.com/docker/docker/pull/27829)
## 1.12.3 (2016-10-26)
**IMPORTANT**: Docker 1.12 ships with an updated systemd unit file for rpm
based installs (which includes RHEL, Fedora, CentOS, and Oracle Linux 7). When
upgrading from an older version of docker, the upgrade process may not
automatically install the updated version of the unit file, or fail to start
the docker service if;
- the systemd unit file (`/usr/lib/systemd/system/docker.service`) contains local changes, or
- a systemd drop-in file is present, and contains `-H fd://` in the `ExecStart` directive
Starting the docker service will produce an error:
Failed to start docker.service: Unit docker.socket failed to load: No such file or directory.
or
no sockets found via socket activation: make sure the service was started by systemd.
To resolve this:
- Backup the current version of the unit file, and replace the file with the
[version that ships with docker 1.12](https://raw.githubusercontent.com/docker/docker/v1.12.0/contrib/init/systemd/docker.service.rpm)
- Remove the `Requires=docker.socket` directive from the `/usr/lib/systemd/system/docker.service` file if present
- Remove `-H fd://` from the `ExecStart` directive (both in the main unit file, and in any drop-in files present).
After making those changes, run `sudo systemctl daemon-reload`, and `sudo
systemctl restart docker` to reload changes and (re)start the docker daemon.
### Runtime
- Fix ambient capability usage in containers (CVE-2016-8867) [#27610](https://github.com/docker/docker/pull/27610)
- Prevent a deadlock in libcontainerd for Windows [#27136](https://github.com/docker/docker/pull/27136)
- Fix error reporting in CopyFileWithTar [#27075](https://github.com/docker/docker/pull/27075)
* Reset health status to starting when a container is restarted [#27387](https://github.com/docker/docker/pull/27387)
* Properly handle shared mount propagation in storage directory [#27609](https://github.com/docker/docker/pull/27609)
- Fix docker exec [#27610](https://github.com/docker/docker/pull/27610)
- Fix backward compatibility with containerds events log [#27693](https://github.com/docker/docker/pull/27693)
### Swarm Mode
- Fix conversion of restart-policy [#27062](https://github.com/docker/docker/pull/27062)
* Update Swarmkit [#27554](https://github.com/docker/docker/pull/27554)
* Avoid restarting a task that has already been restarted [docker/swarmkit#1305](https://github.com/docker/swarmkit/pull/1305)
* Allow duplicate published ports when they use different protocols [docker/swarmkit#1632](https://github.com/docker/swarmkit/pull/1632)
* Allow multiple randomly assigned published ports on service [docker/swarmkit#1657](https://github.com/docker/swarmkit/pull/1657)
- Fix panic when allocations happen at init time [docker/swarmkit#1651](https://github.com/docker/swarmkit/pull/1651)
### Networking
* Update libnetwork [#27559](https://github.com/docker/docker/pull/27559)
- Fix race in serializing sandbox to string [docker/libnetwork#1495](https://github.com/docker/libnetwork/pull/1495)
- Fix race during deletion [docker/libnetwork#1503](https://github.com/docker/libnetwork/pull/1503)
* Reset endpoint port info on connectivity revoke in bridge driver [docker/libnetwork#1504](https://github.com/docker/libnetwork/pull/1504)
- Fix a deadlock in networking code [docker/libnetwork#1507](https://github.com/docker/libnetwork/pull/1507)
- Fix a race in load balancer state [docker/libnetwork#1512](https://github.com/docker/libnetwork/pull/1512)
### Logging
* Update fluent-logger-golang to v1.2.1 [#27474](https://github.com/docker/docker/pull/27474)
### Contrib
* Update buildtags for armhf ubuntu-trusty [#27327](https://github.com/docker/docker/pull/27327)
* Add AppArmor to runc buildtags for armhf [#27421](https://github.com/docker/docker/pull/27421)
## 1.12.2 (2016-10-11)
**IMPORTANT**: Docker 1.12 ships with an updated systemd unit file for rpm
@@ -117,7 +710,7 @@ systemctl restart docker` to reload changes and (re)start the docker daemon.
- Fix issue preventing `service update --publish-add` to work as intended [#25428](https://github.com/docker/docker/pull/25428)
- Remove `service update --network-add` and `service update --network-rm` flags
because this feature is not yet implemented in 1.12, but was inadvertently added
to the client in 1.12.0 [#25646](https://github.com/docker/docker/pull/25646)
to the client in 1.12.0 [#25646](https://github.com/docker/docker/pull/25646)
### Contrib
@@ -325,7 +918,7 @@ installing docker, please make sure to update them accordingly.
### DEPRECATION
* Environment variables `DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE` and `DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE` have been renamed
* Environment variables `DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE` and `DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE` have been renamed
to `DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE` and `DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE` respectively [#22574](https://github.com/docker/docker/pull/22574)
* Remove deprecated `syslog-tag`, `gelf-tag`, `fluentd-tag` log option in favor of the more generic `tag` one [#22620](https://github.com/docker/docker/pull/22620)
* Remove deprecated feature of passing HostConfig at API container start [#22570](https://github.com/docker/docker/pull/22570)
@@ -496,7 +1089,7 @@ installing docker, please make sure to update them accordingly.
- Fix a panic that could occur when cleanup after a container started with invalid parameters ([#21716](https://github.com/docker/docker/pull/21716))
- Fix a race with event timers stopping early ([#21692](https://github.com/docker/docker/pull/21692))
- Fix race conditions in the layer store, potentially corrupting the map and crashing the process ([#21677](https://github.com/docker/docker/pull/21677))
- Un-deprecate auto-creation of host directories for mounts. This feature was marked deprecated in ([#21666](https://github.com/docker/docker/pull/21666))
- Un-deprecate auto-creation of host directories for mounts. This feature was marked deprecated in ([#21666](https://github.com/docker/docker/pull/21666))
Docker 1.9, but was decided to be too much of a backward-incompatible change, so it was decided to keep the feature.
+ It is now possible for containers to share the NET and IPC namespaces when `userns` is enabled ([#21383](https://github.com/docker/docker/pull/21383))
+ `docker inspect <image-id>` will now expose the rootfs layers ([#21370](https://github.com/docker/docker/pull/21370))
@@ -1220,7 +1813,7 @@ by another client (#15489)
#### Security
- Fix tar breakout vulnerability
* Extractions are now sandboxed chroot
- Security options are no longer comitted to images
- Security options are no longer committed to images
#### Runtime
- Fix deadlock in `docker ps -f exited=1`

View File

@@ -123,7 +123,7 @@ However, there might be a way to implement that feature *on top of* Docker.
group is for contributors and other people contributing to the Docker project.
You can join them without a google account by sending an email to
<a href="mailto:docker-dev+subscribe@googlegroups.com">docker-dev+subscribe@googlegroups.com</a>.
After receiving the join-request message, you can simply reply to that to confirm the subscribtion.
After receiving the join-request message, you can simply reply to that to confirm the subscription.
</td>
</tr>
<tr>
@@ -234,8 +234,9 @@ Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

View File

@@ -9,7 +9,7 @@
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test-unit test-integration-cli test-docker-py
#
# # Publish a release:
# docker run --privileged \
@@ -25,16 +25,15 @@
FROM debian:jessie
# add zfs ppa
# allow replacing httpredir or deb mirror
ARG APT_MIRROR=deb.debian.org
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
# Add zfs ppa
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys E871F18B51E0147C77796AC81196BA81F6B0FC61 \
|| apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys E871F18B51E0147C77796AC81196BA81F6B0FC61
RUN echo deb http://ppa.launchpad.net/zfs-native/stable/ubuntu trusty main > /etc/apt/sources.list.d/zfs.list
# allow replacing httpredir mirror
ARG APT_MIRROR=httpredir.debian.org
RUN sed -i s/httpredir.debian.org/$APT_MIRROR/g /etc/apt/sources.list
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
@@ -47,6 +46,7 @@ RUN apt-get update && apt-get install -y \
btrfs-tools \
build-essential \
clang \
cmake \
createrepo \
curl \
dpkg-sig \
@@ -57,18 +57,24 @@ RUN apt-get update && apt-get install -y \
libapparmor-dev \
libcap-dev \
libltdl-dev \
libnl-3-dev \
libprotobuf-c0-dev \
libprotobuf-dev \
libsqlite3-dev \
libsystemd-journal-dev \
libtool \
mercurial \
net-tools \
pkg-config \
protobuf-compiler \
protobuf-c-compiler \
python-dev \
python-mock \
python-pip \
python-websocket \
ubuntu-zfs \
xfsprogs \
vim-common \
libzfs-dev \
tar \
zip \
@@ -79,7 +85,7 @@ ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
&& curl -fsSL "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${LVM2_VERSION}.tgz" \
| tar -xzC /usr/local/lvm2 --strip-components=1
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# See https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# Compile and install lvm2
RUN cd /usr/local/lvm2 \
@@ -88,11 +94,11 @@ RUN cd /usr/local/lvm2 \
--enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# See https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Configure the container for OSX cross compilation
ENV OSX_SDK MacOSX10.11.sdk
ENV OSX_CROSS_COMMIT 8aa9b71a394905e6c5f4b59e2b97b87a004658a4
ENV OSX_CROSS_COMMIT a9317c18a3a457ca0a657f08cc4d0d43c6cf8953
RUN set -x \
&& export OSXCROSS_PATH="/osxcross" \
&& git clone https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \
@@ -101,7 +107,7 @@ RUN set -x \
&& UNATTENDED=yes OSX_VERSION_MIN=10.6 ${OSXCROSS_PATH}/build.sh
ENV PATH /osxcross/target/bin:$PATH
# install seccomp: the version shipped in trusty is too old
# Install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -120,47 +126,40 @@ RUN set -x \
# IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines
# will need updating, to avoid errors. Ping #docker-maintainers on IRC
# with a heads-up.
ENV GO_VERSION 1.6.3
ENV GO_VERSION 1.7.5
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \
| tar -xzC /usr/local
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go
# Compile Go for cross compilation
ENV DOCKER_CROSSPLATFORMS \
linux/386 linux/arm \
darwin/amd64 \
freebsd/amd64 freebsd/386 freebsd/arm \
windows/amd64 windows/386
RUN curl -fsSL "https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz" \
| tar -xzC /root && \
mv /root/go /root/go1.4 && \
cd /usr/local && \
curl -fsSL "https://storage.googleapis.com/golang/go$GO_VERSION.src.tar.gz" \
| tar -xzC /usr/local && \
cd go && \
printf 'diff --git a/src/runtime/sys_darwin_amd64.s b/src/runtime/sys_darwin_amd64.s\nindex e09b906..fa8ff2f 100644\n--- a/src/runtime/sys_darwin_amd64.s\n+++ b/src/runtime/sys_darwin_amd64.s\n@@ -157,6 +157,7 @@ systime:\n\t// Fall back to system call (usually first call in this thread).\n\tMOVQ\tSP, DI\n\tMOVQ\t$0, SI\n+\tMOVQ\t$0, DX // required as of Sierra; Issue 16570\n\tMOVL\t$(0x2000000+116), AX\n\tSYSCALL\n\tCMPQ\tAX, $0\n' | patch -p1 && \
cd src && \
./make.bash
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
# This has been commented out and kept as reference because we don't support compiling with older Go anymore.
# ENV GOFMT_VERSION 1.3.3
# RUN curl -sSL https://storage.googleapis.com/golang/go${GOFMT_VERSION}.$(go env GOOS)-$(go env GOARCH).tar.gz | tar -C /go/bin -xz --strip-components=2 go/bin/gofmt
windows/amd64 windows/386 \
solaris/amd64
# Dependency for golint
ENV GO_TOOLS_COMMIT 823804e1ae08dbb14eb807afc7db9993bc9e3cc3
# Grab Go's cover tool for dead-simple code coverage testing
# Grab Go's vet tool for examining go code to find suspicious constructs
# and help prevent errors that the compiler might not catch
RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT) \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT)
# Grab Go's lint tool
ENV GO_LINT_COMMIT 32a87160691b3c96046c0c678fe57c5bef761456
RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint \
&& (cd /go/src/github.com/golang/lint && git checkout -q $GO_LINT_COMMIT) \
&& go install -v github.com/golang/lint/golint
# Install CRIU for checkpoint/restore support
ENV CRIU_VERSION 2.2
RUN mkdir -p /usr/src/criu \
&& curl -sSL https://github.com/xemul/criu/archive/v${CRIU_VERSION}.tar.gz | tar -v -C /usr/src/criu/ -xz --strip-components=1 \
&& cd /usr/src/criu \
&& make \
&& make install-criu
# Install two versions of the registry. The first is an older version that
# only supports schema1 manifests. The second is a newer version that supports
# both. This allows integration-cli tests to cover push/pull with both schema1
@@ -179,7 +178,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
ENV NOTARY_VERSION v0.4.2
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \
@@ -191,12 +190,21 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
ENV DOCKER_PY_COMMIT e2655f658408f9ad1f62abdef3eb6ed43c0cf324
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT \
&& pip install -r test-requirements.txt
# Install yamllint for validating swagger.yaml
RUN pip install yamllint==1.5.0
# Install go-swagger for validating swagger.yaml
ENV GO_SWAGGER_COMMIT c28258affb0b6251755d92489ef685af8d4ff3eb
RUN git clone https://github.com/go-swagger/go-swagger.git /go/src/github.com/go-swagger/go-swagger \
&& (cd /go/src/github.com/go-swagger/go-swagger && git checkout -q $GO_SWAGGER_COMMIT) \
&& go install -v github.com/go-swagger/go-swagger/cmd/swagger
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
@@ -210,6 +218,8 @@ ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
# Add integration helps to bashrc
RUN echo "source $PWD/hack/make/.integration-test-helpers" >> /etc/bash.bashrc
# Register Docker's bash completion.
RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
@@ -221,49 +231,13 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
busybox:latest@sha256:e4f93f6ed15a0cdd342f5aae387886fba0ab98af0a102da6276eaf24d6e6ade0 \
debian:jessie@sha256:f968f10b4b523737e253a97eac59b0d1420b5c19b69928d35801a6373ffe330e \
hello-world:latest@sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# See also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.5 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone --depth 1 -b v1.4 https://github.com/russross/blackfriday.git "$GOPATH/src/github.com/russross/blackfriday" \
&& go get -v -d github.com/cpuguy83/go-md2man \
&& go build -v -o /usr/local/bin/go-md2man github.com/cpuguy83/go-md2man \
&& rm -rf "$GOPATH"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy bindata
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]

View File

@@ -9,7 +9,7 @@
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test-unit test-integration-cli test-docker-py
#
# Note: AppArmor used to mess with privileged mode, but this is no longer
# the case. Therefore, you don't have to disable it anymore.
@@ -25,6 +25,7 @@ RUN apt-get update && apt-get install -y \
bash-completion \
btrfs-tools \
build-essential \
cmake \
createrepo \
curl \
dpkg-sig \
@@ -48,21 +49,19 @@ RUN apt-get update && apt-get install -y \
python-pip \
python-websocket \
gccgo \
iproute2 \
iputils-ping \
vim-common \
--no-install-recommends
# Install armhf loader to use armv6 binaries on armv8
RUN dpkg --add-architecture armhf \
&& apt-get update \
&& apt-get install -y libc6:armhf
# Get lvm2 source for compiling statically
ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
&& curl -fsSL "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${LVM2_VERSION}.tgz" \
| tar -xzC /usr/local/lvm2 --strip-components=1
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# See https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# fix platform enablement in lvm2 to support aarch64 properly
# Fix platform enablement in lvm2 to support aarch64 properly
RUN set -e \
&& for f in config.guess config.sub; do \
curl -fsSL -o "/usr/local/lvm2/autoconf/$f" "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=$f;hb=HEAD"; \
@@ -76,9 +75,9 @@ RUN cd /usr/local/lvm2 \
--enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# See https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# install seccomp: the version shipped in trusty is too old
# Install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -95,15 +94,16 @@ RUN set -x \
# Install Go
# We don't have official binary tarballs for ARM64, eigher for Go or bootstrap,
# so we use the official armv6 released binaries as a GOROOT_BOOTSTRAP, and
# build Go from source code.
ENV GO_VERSION 1.6.3
RUN mkdir /usr/src/go && curl -fsSL https://storage.googleapis.com/golang/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
# so we use gccgo as bootstrap to build Go from source code.
# We don't use the official ARMv6 released binaries as a GOROOT_BOOTSTRAP, because
# not all ARM64 platforms support 32-bit mode. 32-bit mode is optional for ARMv8.
ENV GO_VERSION 1.7.5
RUN mkdir /usr/src/go && curl -fsSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
&& cd /usr/src/go/src \
&& GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash
ENV PATH /usr/src/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV GOPATH /go
# Only install one version of the registry, because old version which support
# schema1 manifests is not working on ARM64, we should skip integration-cli
@@ -118,7 +118,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
ENV NOTARY_VERSION v0.4.2
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \
@@ -130,7 +130,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
ENV DOCKER_PY_COMMIT e2655f658408f9ad1f62abdef3eb6ed43c0cf324
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT \
@@ -160,49 +160,13 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
aarch64/busybox:latest@sha256:b23a6a37cf269dff6e46d2473b6e227afa42b037e6d23435f1d2bc40fc8c2828 \
aarch64/debian:jessie@sha256:4be74a41a7c70ebe887b634b11ffe516cf4fcd56864a54941e56bb49883c3170 \
aarch64/hello-world:latest@sha256:65a4a158587b307bb02db4de41b836addb0c35175bdc801367b1ac1ddeb9afda
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# See also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.5 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone --depth 1 -b v1.4 https://github.com/russross/blackfriday.git "$GOPATH/src/github.com/russross/blackfriday" \
&& go get -v -d github.com/cpuguy83/go-md2man \
&& go build -v -o /usr/local/bin/go-md2man github.com/cpuguy83/go-md2man \
&& rm -rf "$GOPATH"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]

View File

@@ -9,7 +9,7 @@
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test-unit test-integration-cli test-docker-py
#
# Note: AppArmor used to mess with privileged mode, but this is no longer
# the case. Therefore, you don't have to disable it anymore.
@@ -17,6 +17,10 @@
FROM armhf/debian:jessie
# allow replacing httpredir or deb mirror
ARG APT_MIRROR=deb.debian.org
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
@@ -27,6 +31,7 @@ RUN apt-get update && apt-get install -y \
build-essential \
createrepo \
curl \
cmake \
dpkg-sig \
git \
iptables \
@@ -46,6 +51,7 @@ RUN apt-get update && apt-get install -y \
python-websocket \
xfsprogs \
tar \
vim-common \
--no-install-recommends \
&& pip install awscli==1.10.15
@@ -54,7 +60,7 @@ ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
&& curl -fsSL "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${LVM2_VERSION}.tgz" \
| tar -xzC /usr/local/lvm2 --strip-components=1
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# See https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# Compile and install lvm2
RUN cd /usr/local/lvm2 \
@@ -63,38 +69,31 @@ RUN cd /usr/local/lvm2 \
--enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# See https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Install Go
ENV GO_VERSION 1.6.3
RUN curl -fsSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-armv6l.tar.gz" \
ENV GO_VERSION 1.7.5
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" \
| tar -xzC /usr/local
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV GOPATH /go
# we're building for armhf, which is ARMv7, so let's be explicit about that
# We're building for armhf, which is ARMv7, so let's be explicit about that
ENV GOARCH arm
ENV GOARM 7
# This has been commented out and kept as reference because we don't support compiling with older Go anymore.
# ENV GOFMT_VERSION 1.3.3
# RUN curl -sSL https://storage.googleapis.com/golang/go${GOFMT_VERSION}.$(go env GOOS)-$(go env GOARCH).tar.gz | tar -C /go/bin -xz --strip-components=2 go/bin/gofmt
# Dependency for golint
ENV GO_TOOLS_COMMIT 823804e1ae08dbb14eb807afc7db9993bc9e3cc3
# Grab Go's cover tool for dead-simple code coverage testing
# Grab Go's vet tool for examining go code to find suspicious constructs
# and help prevent errors that the compiler might not catch
RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT) \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT)
# Grab Go's lint tool
ENV GO_LINT_COMMIT 32a87160691b3c96046c0c678fe57c5bef761456
RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint \
&& (cd /go/src/github.com/golang/lint && git checkout -q $GO_LINT_COMMIT) \
&& go install -v github.com/golang/lint/golint
# install seccomp: the version shipped in trusty is too old
# Install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -127,7 +126,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
ENV NOTARY_VERSION v0.4.2
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \
@@ -139,7 +138,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
ENV DOCKER_PY_COMMIT e2655f658408f9ad1f62abdef3eb6ed43c0cf324
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT \
@@ -169,49 +168,13 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
armhf/busybox:latest@sha256:d98a7343ac750ffe387e3d514f8521ba69846c216778919b01414b8617cfb3d4 \
armhf/debian:jessie@sha256:4a2187483f04a84f9830910fe3581d69b3c985cc045d9f01d8e2f3795b28107b \
armhf/hello-world:latest@sha256:161dcecea0225975b2ad5f768058212c1e0d39e8211098666ffa1ac74cfb7791
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# See also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.5 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone --depth 1 -b v1.4 https://github.com/russross/blackfriday.git "$GOPATH/src/github.com/russross/blackfriday" \
&& go get -v -d github.com/cpuguy83/go-md2man \
&& go build -v -o /usr/local/bin/go-md2man github.com/cpuguy83/go-md2man \
&& rm -rf "$GOPATH"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy
ENTRYPOINT ["hack/dind"]

View File

@@ -1,104 +0,0 @@
# This file describes the standard way to build Docker, using docker
#
# Usage:
#
# # Assemble the full dev environment. This is slow the first time.
# docker build -t docker -f Dockerfile.gccgo .
#
FROM gcc:6.1
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
aufs-tools \
btrfs-tools \
build-essential \
curl \
git \
iptables \
jq \
net-tools \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
mercurial \
net-tools \
parallel \
python-dev \
python-mock \
python-pip \
python-websocket \
--no-install-recommends
# Get lvm2 source for compiling statically
RUN git clone -b v2_02_103 https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# Compile and install lvm2
RUN cd /usr/local/lvm2 \
&& ./configure --enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# install seccomp: the version shipped in jessie is too old
ENV SECCOMP_VERSION v2.3.1
RUN set -x \
&& export SECCOMP_PATH=$(mktemp -d) \
&& git clone https://github.com/seccomp/libseccomp.git "$SECCOMP_PATH" \
&& ( \
cd "$SECCOMP_PATH" \
&& git checkout "$SECCOMP_VERSION" \
&& ./autogen.sh \
&& ./configure --prefix=/usr \
&& make \
&& make install \
) \
&& rm -rf "$SECCOMP_PATH"
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT
# Add an unprivileged user to be used for tests which need it
RUN groupadd -r docker
RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]
# Upload docker source
COPY . /go/src/github.com/docker/docker

View File

@@ -9,13 +9,17 @@
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test-unit test-integration-cli test-docker-py
#
# Note: AppArmor used to mess with privileged mode, but this is no longer
# the case. Therefore, you don't have to disable it anymore.
#
FROM ppc64le/gcc:6.1
FROM ppc64le/debian:jessie
# allow replacing httpredir or deb mirror
ARG APT_MIRROR=deb.debian.org
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
# Packaged dependencies
RUN apt-get update && apt-get install -y \
@@ -25,6 +29,7 @@ RUN apt-get update && apt-get install -y \
bash-completion \
btrfs-tools \
build-essential \
cmake \
createrepo \
curl \
dpkg-sig \
@@ -46,6 +51,7 @@ RUN apt-get update && apt-get install -y \
python-websocket \
xfsprogs \
tar \
vim-common \
--no-install-recommends
# Get lvm2 source for compiling statically
@@ -53,9 +59,9 @@ ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
&& curl -fsSL "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${LVM2_VERSION}.tgz" \
| tar -xzC /usr/local/lvm2 --strip-components=1
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# See https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# fix platform enablement in lvm2 to support ppc64le properly
# Fix platform enablement in lvm2 to support ppc64le properly
RUN set -e \
&& for f in config.guess config.sub; do \
curl -fsSL -o "/usr/local/lvm2/autoconf/$f" "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=$f;hb=HEAD"; \
@@ -69,9 +75,9 @@ RUN cd /usr/local/lvm2 \
--enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# See https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# install seccomp: the version shipped in jessie is too old
# Install seccomp: the version shipped in jessie is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -87,34 +93,20 @@ RUN set -x \
&& rm -rf "$SECCOMP_PATH"
## BUILD GOLANG 1.6
# NOTE: ppc64le has compatibility issues with older versions of go, so make sure the version >= 1.6
ENV GO_VERSION 1.6.3
ENV GO_DOWNLOAD_URL https://golang.org/dl/go${GO_VERSION}.src.tar.gz
ENV GOROOT_BOOTSTRAP /usr/local
# Install Go
# NOTE: official ppc64le go binaries weren't available until go 1.6.4 and 1.7.4
ENV GO_VERSION 1.7.5
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" \
| tar -xzC /usr/local
RUN curl -fsSL "$GO_DOWNLOAD_URL" -o golang.tar.gz \
&& tar -C /usr/src -xzf golang.tar.gz \
&& rm golang.tar.gz \
&& cd /usr/src/go/src && ./make.bash 2>&1
ENV GOROOT_BOOTSTRAP /usr/src/
ENV PATH /usr/src/go/bin/:/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
# This has been commented out and kept as reference because we don't support compiling with older Go anymore.
# ENV GOFMT_VERSION 1.3.3
# RUN curl -sSL https://storage.googleapis.com/golang/go${GOFMT_VERSION}.$(go env GOOS)-$(go env GOARCH).tar.gz | tar -C /go/bin -xz --strip-components=2 go/bin/gofmt
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go
# Dependency for golint
ENV GO_TOOLS_COMMIT 823804e1ae08dbb14eb807afc7db9993bc9e3cc3
# Grab Go's cover tool for dead-simple code coverage testing
# Grab Go's vet tool for examining go code to find suspicious constructs
# and help prevent errors that the compiler might not catch
RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT) \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT)
# Grab Go's lint tool
ENV GO_LINT_COMMIT 32a87160691b3c96046c0c678fe57c5bef761456
RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint \
@@ -139,7 +131,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
ENV NOTARY_VERSION v0.4.2
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \
@@ -151,7 +143,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
ENV DOCKER_PY_COMMIT e2655f658408f9ad1f62abdef3eb6ed43c0cf324
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT \
@@ -181,49 +173,13 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
ppc64le/busybox:latest@sha256:38bb82085248d5a3c24bd7a5dc146f2f2c191e189da0441f1c2ca560e3fc6f1b \
ppc64le/debian:jessie@sha256:412845f51b6ab662afba71bc7a716e20fdb9b84f185d180d4c7504f8a75c4f91 \
ppc64le/hello-world:latest@sha256:186a40a9a02ca26df0b6c8acdfb8ac2f3ae6678996a838f977e57fac9d963974
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# See also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.5 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone --depth 1 -b v1.4 https://github.com/russross/blackfriday.git "$GOPATH/src/github.com/russross/blackfriday" \
&& go get -v -d github.com/cpuguy83/go-md2man \
&& go build -v -o /usr/local/bin/go-md2man github.com/cpuguy83/go-md2man \
&& rm -rf "$GOPATH"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="apparmor seccomp selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]

View File

@@ -9,7 +9,7 @@
# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash
#
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
# docker run --privileged docker hack/make.sh test-unit test-integration-cli test-docker-py
#
# Note: AppArmor used to mess with privileged mode, but this is no longer
# the case. Therefore, you don't have to disable it anymore.
@@ -25,6 +25,7 @@ RUN apt-get update && apt-get install -y \
bash-completion \
btrfs-tools \
build-essential \
cmake \
createrepo \
curl \
dpkg-sig \
@@ -46,9 +47,19 @@ RUN apt-get update && apt-get install -y \
python-websocket \
xfsprogs \
tar \
vim-common \
--no-install-recommends
# install seccomp: the version shipped in jessie is too old
# glibc in Debian has a bug specific to s390x that won't be fixed until Debian 8.6 is released
# - https://github.com/docker/docker/issues/24748
# - https://sourceware.org/git/?p=glibc.git;a=commit;h=890b7a4b33d482b5c768ab47d70758b80227e9bc
# - https://sourceware.org/git/?p=glibc.git;a=commit;h=2e807f29595eb5b1e5d0decc6e356a3562ecc58e
RUN echo 'deb http://httpredir.debian.org/debian jessie-proposed-updates main' >> /etc/apt/sources.list.d/pu.list \
&& apt-get update \
&& apt-get install -y libc6 \
&& rm -rf /var/lib/apt/lists/*
# Install seccomp: the version shipped in jessie is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -68,9 +79,9 @@ ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
&& curl -fsSL "https://mirrors.kernel.org/sourceware/lvm2/LVM2.${LVM2_VERSION}.tgz" \
| tar -xzC /usr/local/lvm2 --strip-components=1
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# See https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# fix platform enablement in lvm2 to support s390x properly
# Fix platform enablement in lvm2 to support s390x properly
RUN set -e \
&& for f in config.guess config.sub; do \
curl -fsSL -o "/usr/local/lvm2/autoconf/$f" "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=$f;hb=HEAD"; \
@@ -84,34 +95,26 @@ RUN cd /usr/local/lvm2 \
--enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# See https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Note: Go comes from the base image (gccgo, specifically)
# We can't compile Go proper because s390x isn't an officially supported architecture yet.
ENV GO_VERSION 1.7.5
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" \
| tar -xzC /usr/local
ENV PATH /go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go
# This has been commented out and kept as reference because we don't support compiling with older Go anymore.
# ENV GOFMT_VERSION 1.3.3
# RUN curl -sSL https://storage.googleapis.com/golang/go${GOFMT_VERSION}.$(go env GOOS)-$(go env GOARCH).tar.gz | tar -C /go/bin -xz --strip-components=2 go/bin/gofmt
# TODO update this sha when we upgrade to Go 1.5+
ENV GO_TOOLS_COMMIT 069d2f3bcb68257b627205f0486d6cc69a231ff9
# Grab Go's cover tool for dead-simple code coverage testing
# Grab Go's vet tool for examining go code to find suspicious constructs
# and help prevent errors that the compiler might not catch
# Dependency for golint
ENV GO_TOOLS_COMMIT 823804e1ae08dbb14eb807afc7db9993bc9e3cc3
RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT) \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT)
# Grab Go's lint tool
ENV GO_LINT_COMMIT f42f5c1c440621302702cb0741e9d2ca547ae80f
ENV GO_LINT_COMMIT 32a87160691b3c96046c0c678fe57c5bef761456
RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint \
&& (cd /go/src/github.com/golang/lint && git checkout -q $GO_LINT_COMMIT) \
&& go install -v github.com/golang/lint/golint
# Install two versions of the registry. The first is an older version that
# only supports schema1 manifests. The second is a newer version that supports
# both. This allows integration-cli tests to cover push/pull with both schema1
@@ -130,15 +133,11 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Install notary and notary-server
#
# Note: We have to explicitly set GO15VENDOREXPERIMENT=0 because gccgo does not
# support vendoring: https://github.com/golang/go/issues/15628
ENV NOTARY_VERSION v0.3.0
ENV NOTARY_VERSION v0.4.2
RUN set -x \
&& export GO15VENDOREXPERIMENT=0 \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/notary.git "$GOPATH/src/github.com/docker/notary" \
&& (cd "$GOPATH/src/github.com/docker/notary" && git checkout -q "$NOTARY_VERSION" && ln -s . vendor/src) \
&& (cd "$GOPATH/src/github.com/docker/notary" && git checkout -q "$NOTARY_VERSION") \
&& GOPATH="$GOPATH/src/github.com/docker/notary/vendor:$GOPATH" \
go build -o /usr/local/bin/notary-server github.com/docker/notary/cmd/notary-server \
&& GOPATH="$GOPATH/src/github.com/docker/notary/vendor:$GOPATH" \
@@ -146,7 +145,7 @@ RUN set -x \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 7befe694bd21e3c54bb1d7825270ea4bd6864c13
ENV DOCKER_PY_COMMIT e2655f658408f9ad1f62abdef3eb6ed43c0cf324
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT \
@@ -176,49 +175,13 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
s390x/busybox:latest@sha256:dd61522c983884a66ed72d60301925889028c6d2d5e0220a8fe1d9b4c6a4f01b \
s390x/debian:jessie@sha256:b74c863400909eff3c5e196cac9bfd1f6333ce47aae6a38398d87d5875da170a \
s390x/hello-world:latest@sha256:780d80b3a7677c3788c0d5cd9168281320c8d4a6d9183892d8ee5cdd610f5699
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# See also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.5 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone --depth 1 -b v1.4 https://github.com/russross/blackfriday.git "$GOPATH/src/github.com/russross/blackfriday" \
&& go get -v -d github.com/cpuguy83/go-md2man \
&& go build -v -o /usr/local/bin/go-md2man github.com/cpuguy83/go-md2man \
&& rm -rf "$GOPATH"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]

View File

@@ -7,13 +7,18 @@
FROM debian:jessie
# compile and runtime deps
# allow replacing httpredir or deb mirror
ARG APT_MIRROR=deb.debian.org
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
# Compile and runtime deps
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
btrfs-tools \
build-essential \
curl \
cmake \
gcc \
git \
libapparmor-dev \
@@ -28,9 +33,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
xz-utils \
\
aufs-tools \
vim-common \
&& rm -rf /var/lib/apt/lists/*
# install seccomp: the version shipped in trusty is too old
# Install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
@@ -49,36 +55,18 @@ RUN set -x \
# IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines
# will need updating, to avoid errors. Ping #docker-maintainers on IRC
# with a heads-up.
ENV GO_VERSION 1.6.3
RUN curl -fsSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" \
ENV GO_VERSION 1.7.5
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \
| tar -xzC /usr/local
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV GOPATH /go
ENV CGO_LDFLAGS -L/lib
# Install runc
ENV RUNC_COMMIT 02f8fa7863dd3f82909a73e2061897828460d52f
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
&& cd "$GOPATH/src/github.com/opencontainers/runc" \
&& git checkout -q "$RUNC_COMMIT" \
&& make static BUILDTAGS="seccomp apparmor selinux" \
&& cp runc /usr/local/bin/docker-runc \
&& rm -rf "$GOPATH"
# Install containerd
ENV CONTAINERD_COMMIT 0366d7e9693c930cf18c0f50cc16acec064e96c5
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \
&& cd "$GOPATH/src/github.com/docker/containerd" \
&& git checkout -q "$CONTAINERD_COMMIT" \
&& make static \
&& cp bin/containerd /usr/local/bin/docker-containerd \
&& cp bin/containerd-shim /usr/local/bin/docker-containerd-shim \
&& cp bin/ctr /usr/local/bin/docker-containerd-ctr \
&& rm -rf "$GOPATH"
# Install runc, containerd, tini and docker-proxy
# Please edit hack/dockerfile/install-binaries.sh to update them.
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
RUN /tmp/install-binaries.sh runc containerd tini proxy
ENV AUTO_GOPATH 1
WORKDIR /usr/src/docker

20
Dockerfile.solaris Normal file
View File

@@ -0,0 +1,20 @@
# Defines an image that hosts a native Docker build environment for Solaris
# TODO: Improve stub
FROM solaris:latest
# compile and runtime deps
RUN pkg install --accept \
git \
gnu-coreutils \
gnu-make \
gnu-tar \
diagnostic/top \
golang \
library/golang/* \
developer/gcc-*
ENV GOPATH /go/:/usr/lib/gocode/1.5/
ENV DOCKER_CROSSPLATFORMS solaris/amd64
WORKDIR /go/src/github.com/docker/docker
COPY . /go/src/github.com/docker/docker

View File

@@ -1,89 +1,267 @@
# This file describes the standard way to build Docker, using a docker container on Windows
# Server 2016
# escape=`
# -----------------------------------------------------------------------------------------
# This file describes the standard way to build Docker in a container on Windows
# Server 2016 or Windows 10.
#
# Maintainer: @jhowardmsft
# -----------------------------------------------------------------------------------------
# Prerequisites:
# --------------
#
# 1. Windows Server 2016 or Windows 10 with all Windows updates applied. The major
# build number must be at least 14393. This can be confirmed, for example, by
# running the following from an elevated PowerShell prompt - this sample output
# is from a fully up to date machine as at mid-November 2016:
#
# >> PS C:\> $(gin).WindowsBuildLabEx
# >> 14393.447.amd64fre.rs1_release_inmarket.161102-0100
#
# 2. Git for Windows (or another git client) must be installed. https://git-scm.com/download/win.
#
# 3. The machine must be configured to run containers. For example, by following
# the quick start guidance at https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start or
# https://github.com/docker/labs/blob/master/windows/windows-containers/Setup.md
#
# 4. If building in a Hyper-V VM: For Windows Server 2016 using Windows Server
# containers as the default option, it is recommended you have at least 1GB
# of memory assigned; For Windows 10 where Hyper-V Containers are employed, you
# should have at least 4GB of memory assigned. Note also, to run Hyper-V
# containers in a VM, it is necessary to configure the VM for nested virtualization.
# -----------------------------------------------------------------------------------------
# Usage:
# -----
#
# # Assemble the full dev environment. This is slow the first time. Run this from
# # a directory containing the sources you are validating. For example from
# # c:\go\src\github.com\docker\docker
# The following steps should be run from an (elevated*) Windows PowerShell prompt.
#
# docker build -t docker -f Dockerfile.windows .
# (*In a default installation of containers on Windows following the quick-start guidance at
# https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start,
# the docker.exe client must run elevated to be able to connect to the daemon).
#
# 1. Clone the sources from github.com:
#
# >> git clone https://github.com/docker/docker.git C:\go\src\github.com\docker\docker
# >> Cloning into 'C:\go\src\github.com\docker\docker'...
# >> remote: Counting objects: 186216, done.
# >> remote: Compressing objects: 100% (21/21), done.
# >> remote: Total 186216 (delta 5), reused 0 (delta 0), pack-reused 186195
# >> Receiving objects: 100% (186216/186216), 104.32 MiB | 8.18 MiB/s, done.
# >> Resolving deltas: 100% (123139/123139), done.
# >> Checking connectivity... done.
# >> Checking out files: 100% (3912/3912), done.
# >> PS C:\>
#
#
# # Build docker in a container. Run the following from a Windows cmd command prommpt,
# # replacing c:\built with the directory you want the binaries to be placed on the
# # host system.
# 2. Change directory to the cloned docker sources:
#
# docker run --rm -v "c:\built:c:\target" docker sh -c 'cd /c/go/src/github.com/docker/docker; hack/make.sh binary; ec=$?; if [ $ec -eq 0 ]; then robocopy /c/go/src/github.com/docker/docker/bundles/$(cat VERSION)/binary /c/target/binary; fi; exit $ec'
# >> cd C:\go\src\github.com\docker\docker
#
#
# 3. Build a docker image with the components required to build the docker binaries from source
# by running one of the following:
#
# >> docker build -t nativebuildimage -f Dockerfile.windows .
# >> docker build -t nativebuildimage -f Dockerfile.windows -m 2GB . (if using Hyper-V containers)
#
#
# 4. Build the docker executable binaries by running one of the following:
#
# >> docker run --name binaries nativebuildimage hack\make.ps1 -Binary
# >> docker run --name binaries -m 2GB nativebuildimage hack\make.ps1 -Binary (if using Hyper-V containers)
#
#
# 5. Copy the binaries out of the container, replacing HostPath with an appropriate destination
# folder on the host system where you want the binaries to be located.
#
# >> docker cp binaries:C:\go\src\github.com\docker\docker\bundles\docker.exe C:\HostPath\docker.exe
# >> docker cp binaries:C:\go\src\github.com\docker\docker\bundles\dockerd.exe C:\HostPath\dockerd.exe
#
#
# 6. (Optional) Remove the interim container holding the built executable binaries:
#
# >> docker rm binaries
#
#
# 7. (Optional) Remove the image used for the container in which the executable
# binaries are build. Tip - it may be useful to keep this image around if you need to
# build multiple times. Then you can take advantage of the builder cache to have an
# image which has all the components required to build the binaries already installed.
#
# >> docker rmi nativebuildimage
#
# -----------------------------------------------------------------------------------------
# The validation tests can either run in a container, or directly on the host. To run in a
# container, ensure you have created the nativebuildimage above. Then run one of the
# following from an (elevated) Windows PowerShell prompt:
#
# >> docker run --rm nativebuildimage hack\make.ps1 -DCO -PkgImports -GoFormat
# >> docker run --rm -m 2GB nativebuildimage hack\make.ps1 -DCO -PkgImports -GoFormat (if using Hyper-V containers)
# To run the validation tests on the host, from the root of the repository, run the
# following from a Windows PowerShell prompt (elevation is not required): (Note Go
# must be installed to run these tests)
#
# >> hack\make.ps1 -DCO -PkgImports -GoFormat
# -----------------------------------------------------------------------------------------
# To run unit tests, ensure you have created the nativebuildimage above. Then run one of
# the following from an (elevated) Windows PowerShell prompt:
#
# >> docker run --rm nativebuildimage hack\make.ps1 -TestUnit
# >> docker run --rm -m 2GB nativebuildimage hack\make.ps1 -TestUnit (if using Hyper-V containers)
# -----------------------------------------------------------------------------------------
# To run all tests and binary build, ensure you have created the nativebuildimage above. Then
# run one of the following from an (elevated) Windows PowerShell prompt:
#
# >> docker run nativebuildimage hack\make.ps1 -All
# >> docker run -m 2GB nativebuildimage hack\make.ps1 -All (if using Hyper-V containers)
# -----------------------------------------------------------------------------------------
# Important notes:
# ---------------
#
# The posix utilities from GIT aren't usable interactively as at January 2016. This
# is because they require a console window which isn't present in a container in Windows.
# See the example at the top of this file. Do NOT use -it in that docker run!!!
# Don't attempt to use a bind-mount to pass a local directory as the bundles target
# directory. It does not work (golang attempts for follow a mapped folder incorrectly).
# Instead, use docker cp as per the example.
#
# Don't try to use a volume for passing the source through. The posix utilities will
# balk at reparse points. Again, see the example at the top of this file on how use a volume
# to get the built binary out of the container.
# go.zip is not removed from the image as it is used by the Windows CI servers
# to ensure the host and image are running consistent versions of go.
#
# The steps are minimised dramatically to improve performance
# Nanoserver support is a work in progress. Although the image will build if the
# FROM statement is updated, it will not work when running autogen through hack\make.ps1.
# It is suspected that the required GCC utilities (eg gcc, windres, windmc) silently
# quit due to the use of console hooks which are not available.
#
# The docker integration tests do not currently run in a container on Windows, predominantly
# due to Windows not supporting privileged mode, so anything using a volume would fail.
# They (along with the rest of the docker CI suite) can be run using
# https://github.com/jhowardmsft/docker-w2wCIScripts/blob/master/runCI/Invoke-DockerCI.ps1.
#
# -----------------------------------------------------------------------------------------
FROM windowsservercore
# The number of build steps below are explicitly minimised to improve performance.
FROM microsoft/windowsservercore
# Use PowerShell as the default shell
SHELL ["powershell", "-command"]
# Environment variable notes:
# - GO_VERSION must consistent with 'Dockerfile' used by Linux'.
# - GO_VERSION must be consistent with 'Dockerfile' used by Linux.
# - FROM_DOCKERFILE is used for detection of building within a container.
ENV GO_VERSION=1.6.3 \
GIT_LOCATION=https://github.com/git-for-windows/git/releases/download/v2.7.2.windows.1/Git-2.7.2-64-bit.exe \
GOPATH=C:/go;C:/go/src/github.com/docker/docker/vendor \
ENV GO_VERSION=1.7.5 `
GIT_VERSION=2.11.0 `
GOPATH=C:\go `
FROM_DOCKERFILE=1
WORKDIR c:/
# Everything downloaded/installed in one go (better performance, esp on TP4)
RUN \
setx /M Path "c:\git\cmd;c:\git\bin;c:\git\usr\bin;%Path%;c:\gcc\bin;c:\go\bin" && \
setx GOROOT "c:\go" && \
powershell -command \
$ErrorActionPreference = 'Stop'; \
Function Download-File([string] $source, [string] $target) { \
$wc = New-Object net.webclient; $wc.Downloadfile($source, $target) \
} \
\
Write-Host INFO: Downloading git...; \
Download-File %GIT_LOCATION% gitsetup.exe; \
\
Write-Host INFO: Downloading go...; \
Download-File https://storage.googleapis.com/golang/go%GO_VERSION%.windows-amd64.msi go.msi; \
\
Write-Host INFO: Downloading compiler 1 of 3...; \
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/gcc.zip gcc.zip; \
\
Write-Host INFO: Downloading compiler 2 of 3...; \
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/runtime.zip runtime.zip; \
\
Write-Host INFO: Downloading compiler 3 of 3...; \
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/binutils.zip binutils.zip; \
\
Write-Host INFO: Installing git...; \
Start-Process gitsetup.exe -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS /DIR=c:\git\' -Wait; \
\
Write-Host INFO: Installing go..."; \
Start-Process msiexec -ArgumentList '-i go.msi -quiet' -Wait; \
\
Write-Host INFO: Unzipping compiler...; \
c:\git\usr\bin\unzip.exe -q -o gcc.zip -d /c/gcc; \
c:\git\usr\bin\unzip.exe -q -o runtime.zip -d /c/gcc; \
c:\git\usr\bin\unzip.exe -q -o binutils.zip -d /c/gcc"; \
\
Write-Host INFO: Removing interim files; \
Remove-Item *.zip; \
Remove-Item go.msi; \
Remove-Item gitsetup.exe; \
\
RUN `
$ErrorActionPreference = 'Stop'; `
$ProgressPreference = 'SilentlyContinue'; `
`
Function Test-Nano() { `
$EditionId = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name 'EditionID').EditionId; `
return (($EditionId -eq 'ServerStandardNano') -or ($EditionId -eq 'ServerDataCenterNano') -or ($EditionId -eq 'NanoServer')); `
}`
`
Function Download-File([string] $source, [string] $target) { `
if (Test-Nano) { `
$handler = New-Object System.Net.Http.HttpClientHandler; `
$client = New-Object System.Net.Http.HttpClient($handler); `
$client.Timeout = New-Object System.TimeSpan(0, 30, 0); `
$cancelTokenSource = [System.Threading.CancellationTokenSource]::new(); `
$responseMsg = $client.GetAsync([System.Uri]::new($source), $cancelTokenSource.Token); `
$responseMsg.Wait(); `
if (!$responseMsg.IsCanceled) { `
$response = $responseMsg.Result; `
if ($response.IsSuccessStatusCode) { `
$downloadedFileStream = [System.IO.FileStream]::new($target, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write); `
$copyStreamOp = $response.Content.CopyToAsync($downloadedFileStream); `
$copyStreamOp.Wait(); `
$downloadedFileStream.Close(); `
if ($copyStreamOp.Exception -ne $null) { throw $copyStreamOp.Exception } `
} `
} else { `
Throw ("Failed to download " + $source) `
}`
} else { `
$webClient = New-Object System.Net.WebClient; `
$webClient.DownloadFile($source, $target); `
} `
} `
`
setx /M PATH $('C:\git\bin;C:\git\usr\bin;'+$Env:PATH+';C:\gcc\bin;C:\go\bin'); `
`
Write-Host INFO: Downloading git...; `
$location='https://github.com/git-for-windows/git/releases/download/v'+$env:GIT_VERSION+'.windows.1/PortableGit-'+$env:GIT_VERSION+'-64-bit.7z.exe'; `
Download-File $location C:\gitsetup.7z.exe; `
`
Write-Host INFO: Downloading go...; `
Download-File $('https://golang.org/dl/go'+$Env:GO_VERSION+'.windows-amd64.zip') C:\go.zip; `
`
Write-Host INFO: Downloading compiler 1 of 3...; `
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/gcc.zip C:\gcc.zip; `
`
Write-Host INFO: Downloading compiler 2 of 3...; `
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/runtime.zip C:\runtime.zip; `
`
Write-Host INFO: Downloading compiler 3 of 3...; `
Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/binutils.zip C:\binutils.zip; `
`
Write-Host INFO: Installing PS7Zip package...; `
Install-Package PS7Zip -Force | Out-Null; `
Write-Host INFO: Importing PS7Zip...; `
Import-Module PS7Zip -Force; `
New-Item C:\git -ItemType Directory | Out-Null ; `
cd C:\git; `
Write-Host INFO: Extracting git...; `
Expand-7Zip C:\gitsetup.7z.exe | Out-Null; `
cd C:\; `
`
Write-Host INFO: Expanding go...; `
Expand-Archive C:\go.zip -DestinationPath C:\; `
`
Write-Host INFO: Expanding compiler 1 of 3...; `
Expand-Archive C:\gcc.zip -DestinationPath C:\gcc -Force; `
Write-Host INFO: Expanding compiler 2 of 3...; `
Expand-Archive C:\runtime.zip -DestinationPath C:\gcc -Force; `
Write-Host INFO: Expanding compiler 3 of 3...; `
Expand-Archive C:\binutils.zip -DestinationPath C:\gcc -Force; `
`
Write-Host INFO: Removing downloaded files...; `
Remove-Item C:\gcc.zip; `
Remove-Item C:\runtime.zip; `
Remove-Item C:\binutils.zip; `
Remove-Item C:\gitsetup.7z.exe; `
`
Write-Host INFO: Creating source directory...; `
New-Item -ItemType Directory -Path C:\go\src\github.com\docker\docker | Out-Null; `
`
Write-Host INFO: Configuring git core.autocrlf...; `
C:\git\bin\git config --global core.autocrlf true; `
`
Write-Host INFO: Completed
# Prepare for building
COPY . /go/src/github.com/docker/docker
# Make PowerShell the default entrypoint
ENTRYPOINT ["powershell.exe"]
# Set the working directory to the location of the sources
WORKDIR C:\go\src\github.com\docker\docker
# Copy the sources into the container
COPY . .

View File

@@ -27,10 +27,13 @@
people = [
"aaronlehmann",
"calavera",
"akihirosuda",
"aluzzardi",
"anusha",
"coolljt0725",
"cpuguy83",
"crosbymichael",
"dnephin",
"duglin",
"estesp",
"icecrime",
@@ -39,12 +42,16 @@
"lk4d4",
"mavenugo",
"mhbauer",
"mlaventure",
"mrjana",
"runcom",
"stevvooe",
"tianon",
"tibor",
"tonistiigi",
"unclejack",
"vdemeester"
"vdemeester",
"vieux"
]
[Org."Docs maintainers"]
@@ -53,7 +60,7 @@
people = [
"jamtur01",
"moxiegirl",
"misty",
"sven",
"thajeztah"
]
@@ -71,6 +78,10 @@
# - close an issue or pull request when it's inappropriate or off-topic
people = [
"aboch",
"andrewhsu",
"ehazlett",
"mgoelzer",
"programmerq",
"thajeztah"
]
@@ -82,6 +93,15 @@
# Thank you!
people = [
# David Calavera contributed many features to Docker, such as an improved
# event system, dynamic configuration reloading, volume plugins, fancy
# new templating options, and an external client credential store. As a
# maintainer, David was release captain for Docker 1.8, and competing
# with Jess Frazelle to be "top dream killer".
# David is now doing amazing stuff as CTO for https://www.netlify.com,
# and tweets as @calavera.
"calavera",
# As a maintainer, Erik was responsible for the "builder", and
# started the first designs for the new networking model in
# Docker. Erik is now working on all kinds of plugins for Docker
@@ -96,7 +116,7 @@
# expressions (coz, YOLO!) on July 10, 2014
# https://github.com/docker/docker/pull/6950/commits/f3a68ffa390fb851115c77783fa4031f1d3b2995.
# Jess was Release Captain for Docker 1.4, 1.6 and 1.7, and contributed
# many features and improvement, among which "seccomp profiles" (making
# many features and improvement, among which "seccomp profiles" (making
# containers a lot more secure). Besides being a maintainer, she
# set up the CI infrastructure for the project, giving everyone
# something to shout at if a PR failed ("noooo Janky!").
@@ -104,11 +124,20 @@
# and contributing to various open source projects.
# Be sure you don't miss her talks at a conference near you (a must-see),
# read her blog at https://blog.jessfraz.com (a must-read), and
# check out her open source projects on GitHub https://github.com/jfrazelle (a must-try).
"jfrazelle",
# check out her open source projects on GitHub https://github.com/jessfraz (a must-try).
"jessfraz",
# As a docs maintainer, Mary Anthony contributed greatly to the Docker
# docs. She wrote the Docker Contributor Guide and Getting Started
# Guides. She helped create a doc build system independent of
# docker/docker project, and implemented a new docs.docker.com theme and
# nav for 2015 Dockercon. Fun fact: the most inherited layer in DockerHub
# public repositories was originally referenced in
# maryatdocker/docker-whale back in May 2015.
"moxiegirl",
# Vincent "vbatts!" Batts made his first contribution to the project
# in November 2013, to become a maintainer a few months later, on
# in November 2013, to become a maintainer a few months later, on
# May 10, 2014 (https://github.com/docker/docker/commit/d6e666a87a01a5634c250358a94c814bf26cb778).
# As a maintainer, Vincent made important contributions to core elements
# of Docker, such as "distribution" (tarsum) and graphdrivers (btrfs, devicemapper).
@@ -121,15 +150,6 @@
# for a chat, as he's always a lot of fun.
"vbatts",
# Victor is one of the earliest contributors to Docker, having worked on the
# project when it was still "dotCloud" in April 2013. He's been responsible
# for multiple releases (https://github.com/docker/docker/pulls?q=is%3Apr+bump+in%3Atitle+author%3Avieux),
# and up until today (2015), our number 2 contributor. Although he's no longer
# a maintainer for the Docker "Engine", he's still actively involved in other
# Docker projects, and most likely can be found in the Docker Swarm repository,
# for which he's a core maintainer.
"vieux",
# Vishnu became a maintainer to help out on the daemon codebase and
# libcontainer integration. He's currently involved in the
# Open Containers Initiative, working on the specifications,
@@ -150,6 +170,31 @@
Email = "aaron.lehmann@docker.com"
GitHub = "aaronlehmann"
[people.aboch]
Name = "Alessandro Boch"
Email = "aboch@docker.com"
GitHub = "aboch"
[people.akihirosuda]
Name = "Akihiro Suda"
Email = "suda.akihiro@lab.ntt.co.jp"
GitHub = "AkihiroSuda"
[people.aluzzardi]
Name = "Andrea Luzzardi"
Email = "al@docker.com"
GitHub = "aluzzardi"
[people.andrewhsu]
Name = "Andrew Hsu"
Email = "andrewhsu@docker.com"
GitHub = "andrewhsu"
[people.anusha]
Name = "Anusha Ragunathan"
Email = "anusha@docker.com"
GitHub = "anusha-ragunathan"
[people.calavera]
Name = "David Calavera"
Email = "david.calavera@gmail.com"
@@ -170,11 +215,21 @@
Email = "crosbymichael@gmail.com"
GitHub = "crosbymichael"
[people.dnephin]
Name = "Daniel Nephin"
Email = "dnephin@gmail.com"
GitHub = "dnephin"
[people.duglin]
Name = "Doug Davis"
Email = "dug@us.ibm.com"
GitHub = "duglin"
[people.ehazlett]
Name = "Evan Hazlett"
Email = "ejhazlett@gmail.com"
GitHub = "ehazlett"
[people.erikh]
Name = "Erik Hollensbe"
Email = "erik@docker.com"
@@ -200,10 +255,10 @@
Email = "jhoward@microsoft.com"
GitHub = "jhowardmsft"
[people.jfrazelle]
[people.jessfraz]
Name = "Jessie Frazelle"
Email = "jess@linux.com"
GitHub = "jfrazelle"
GitHub = "jessfraz"
[people.justincormack]
Name = "Justin Cormack"
@@ -220,16 +275,36 @@
Email = "madhu@docker.com"
GitHub = "mavenugo"
[people.mgoelzer]
Name = "Mike Goelzer"
Email = "mike.goelzer@docker.com"
GitHub = "mgoelzer"
[people.mhbauer]
Name = "Morgan Bauer"
Email = "mbauer@us.ibm.com"
GitHub = "mhbauer"
[people.misty]
Name = "Misty Stanley-Jones"
Email = "misty@docker.com"
GitHub = "mstanleyjones"
[people.mlaventure]
Name = "Kenfe-Mickaël Laventure"
Email = "mickael.laventure@docker.com"
GitHub = "mlaventure"
[people.moxiegirl]
Name = "Mary Anthony"
Email = "mary.anthony@docker.com"
GitHub = "moxiegirl"
[people.mrjana]
Name = "Jana Radhakrishnan"
Email = "mrjana@docker.com"
GitHub = "mrjana"
[people.programmerq]
Name = "Jeff Anderson"
Email = "jeff@docker.com"
@@ -245,6 +320,11 @@
Email = "solomon@docker.com"
GitHub = "shykes"
[people.stevvooe]
Name = "Stephen Day"
Email = "stephen.day@docker.com"
GitHub = "stevvooe"
[people.sven]
Name = "Sven Dowideit"
Email = "SvenDowideit@home.org.au"

View File

@@ -1,4 +1,4 @@
.PHONY: all binary build build-gccgo cross default docs docs-build docs-shell shell gccgo test test-docker-py test-integration-cli test-unit validate help
.PHONY: all binary build cross deb help init-go-pkg-cache install manpages rpm run shell test test-docker-py test-integration-cli test-unit tgz validate win
# set the graph driver as the current graphdriver if not set
DOCKER_GRAPHDRIVER := $(if $(DOCKER_GRAPHDRIVER),$(DOCKER_GRAPHDRIVER),$(shell docker info 2>&1 | grep "Storage Driver" | sed 's/.*: //'))
@@ -9,10 +9,12 @@ DOCKERFILE := $(shell bash -c 'source hack/make/.detect-daemon-osarch && echo $$
# env vars passed through directly to Docker's build scripts
# to allow things like `make KEEPBUNDLE=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
# `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILD_APT_MIRROR \
-e BUILDFLAGS \
-e KEEPBUNDLE \
-e DOCKER_BUILD_ARGS \
-e DOCKER_BUILD_GOGC \
-e DOCKER_BUILD_PKGS \
-e DOCKER_DEBUG \
@@ -20,12 +22,19 @@ DOCKER_ENVS := \
-e DOCKER_GITCOMMIT \
-e DOCKER_GRAPHDRIVER=$(DOCKER_GRAPHDRIVER) \
-e DOCKER_INCREMENTAL_BINARY \
-e DOCKER_PORT \
-e DOCKER_REMAP_ROOT \
-e DOCKER_STORAGE_OPTS \
-e DOCKER_USERLANDPROXY \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
-e TIMEOUT \
-e HTTP_PROXY \
-e HTTPS_PROXY \
-e NO_PROXY \
-e http_proxy \
-e https_proxy \
-e no_proxy
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make BIND_DIR=. shell` or `make BIND_DIR= test`
@@ -37,14 +46,21 @@ DOCKER_MOUNT := $(if $(BIND_DIR),-v "$(CURDIR)/$(BIND_DIR):/go/src/github.com/do
# This allows the test suite to be able to run without worrying about the underlying fs used by the container running the daemon (e.g. aufs-on-aufs), so long as the host running the container is running a supported fs.
# The volume will be cleaned up when the container is removed due to `--rm`.
# Note that `BIND_DIR` will already be set to `bundles` if `DOCKER_HOST` is not set (see above BIND_DIR line), in such case this will do nothing since `DOCKER_MOUNT` will already be set.
DOCKER_MOUNT := $(if $(DOCKER_MOUNT),$(DOCKER_MOUNT),-v "/go/src/github.com/docker/docker/bundles")
DOCKER_MOUNT := $(if $(DOCKER_MOUNT),$(DOCKER_MOUNT),-v /go/src/github.com/docker/docker/bundles)
# enable .go-pkg-cache if DOCKER_INCREMENTAL_BINARY and DOCKER_MOUNT (i.e.DOCKER_HOST) are set
PKGCACHE_DIR := $(if $(PKGCACHE_DIR),$(PKGCACHE_DIR),.go-pkg-cache)
PKGCACHE_MAP := gopath:/go/pkg goroot-linux_amd64_netgo:/usr/local/go/pkg/linux_amd64_netgo
DOCKER_MOUNT := $(if $(DOCKER_INCREMENTAL_BINARY),$(DOCKER_MOUNT) $(shell echo $(PKGCACHE_MAP) | sed -E 's@([^ ]*)@-v "$(CURDIR)/$(PKGCACHE_DIR)/\1"@g'),$(DOCKER_MOUNT))
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_IMAGE := docker-dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_PORT_FORWARD := $(if $(DOCKER_PORT),-p "$(DOCKER_PORT)",)
DOCKER_FLAGS := docker run --rm -i --privileged $(DOCKER_ENVS) $(DOCKER_MOUNT)
DOCKER_FLAGS := docker run --rm -i --privileged $(DOCKER_ENVS) $(DOCKER_MOUNT) $(DOCKER_PORT_FORWARD)
BUILD_APT_MIRROR := $(if $(DOCKER_BUILD_APT_MIRROR),--build-arg APT_MIRROR=$(DOCKER_BUILD_APT_MIRROR))
export BUILD_APT_MIRROR
# if this session isn't interactive, then we don't want to allocate a
# TTY, which would fail, but if it is interactive, we do want to attach
@@ -59,16 +75,13 @@ DOCKER_RUN_DOCKER := $(DOCKER_FLAGS) "$(DOCKER_IMAGE)"
default: binary
all: build ## validate all checks, build linux binaries, run all tests\ncross build non-linux binaries and generate archives
$(DOCKER_RUN_DOCKER) hack/make.sh
$(DOCKER_RUN_DOCKER) bash -c 'hack/validate/default && hack/make.sh'
binary: build ## build the linux binaries
$(DOCKER_RUN_DOCKER) hack/make.sh binary
build: bundles
docker build ${DOCKER_BUILD_ARGS} -t "$(DOCKER_IMAGE)" -f "$(DOCKERFILE)" .
build-gccgo: bundles
docker build ${DOCKER_BUILD_ARGS} -t "$(DOCKER_IMAGE)-gccgo" -f Dockerfile.gccgo .
build: bundles init-go-pkg-cache
docker build ${BUILD_APT_MIRROR} ${DOCKER_BUILD_ARGS} -t "$(DOCKER_IMAGE)" -f "$(DOCKERFILE)" .
bundles:
mkdir bundles
@@ -76,30 +89,37 @@ bundles:
cross: build ## cross build the binaries for darwin, freebsd and\nwindows
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross
win: build ## cross build the binary for windows
$(DOCKER_RUN_DOCKER) hack/make.sh win
tgz: build ## build the archives (.zip on windows and .tgz\notherwise) containing the binaries
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross tgz
deb: build ## build the deb packages
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary build-deb
docs: ## build the docs
$(MAKE) -C docs docs
gccgo: build-gccgo ## build the gcc-go linux binaries
$(DOCKER_FLAGS) "$(DOCKER_IMAGE)-gccgo" hack/make.sh gccgo
help: ## this help
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
init-go-pkg-cache:
mkdir -p $(shell echo $(PKGCACHE_MAP) | sed -E 's@([^: ]*):[^ ]*@$(PKGCACHE_DIR)/\1@g')
install: ## install the linux binaries
KEEPBUNDLE=1 hack/make.sh install-binary
manpages: ## Generate man pages from go source and markdown
docker build -t docker-manpage-dev -f "man/$(DOCKERFILE)" ./man
docker run --rm \
-v $(PWD):/go/src/github.com/docker/docker/ \
docker-manpage-dev
rpm: build ## build the rpm packages
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary build-rpm
run: build ## run the docker daemon in a container
$(DOCKER_RUN_DOCKER) sh -c "KEEPBUNDLE=1 hack/make.sh install-binary run"
shell: build ## start a shell inside the build env
$(DOCKER_RUN_DOCKER) bash
yaml-docs-gen: build ## generate documentation YAML files consumed by docs repo
$(DOCKER_RUN_DOCKER) sh -c 'hack/make.sh yaml-docs-generator && ( root=$$(pwd); cd bundles/latest/yaml-docs-generator; mkdir docs; ./yaml-docs-generator --root $${root} --target $$(pwd)/docs )'
test: build ## run the unit, integration and docker-py tests
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary cross test-unit test-integration-cli test-docker-py
@@ -107,20 +127,24 @@ test-docker-py: build ## run the docker-py tests
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-docker-py
test-integration-cli: build ## run the integration tests
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-integration-cli
$(DOCKER_RUN_DOCKER) hack/make.sh build-integration-test-binary dynbinary test-integration-cli
test-unit: build ## run the unit tests
$(DOCKER_RUN_DOCKER) hack/make.sh test-unit
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
$(DOCKER_RUN_DOCKER) hack/make.sh validate-dco validate-default-seccomp validate-gofmt validate-pkg validate-lint validate-test validate-toml validate-vet validate-vendor
tgz: build ## build the archives (.zip on windows and .tgz\notherwise) containing the binaries
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross tgz
manpages: ## Generate man pages from go source and markdown
docker build -t docker-manpage-dev -f "man/$(DOCKERFILE)" ./man
docker run \
-v $(PWD):/go/src/github.com/docker/docker/ \
docker-manpage-dev
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
$(DOCKER_RUN_DOCKER) hack/validate/all
help: ## this help
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
win: build ## cross build the binary for windows
$(DOCKER_RUN_DOCKER) hack/make.sh win
.PHONY: swagger-gen
swagger-gen:
docker run --rm -v $(PWD):/go/src/github.com/docker/docker \
-w /go/src/github.com/docker/docker \
--entrypoint hack/generate-swagger-api.sh \
-e GOPATH=/go \
quay.io/goswagger/swagger:0.7.4

View File

@@ -24,7 +24,7 @@ of thousands of applications and databases.
Security is very important to us. If you have any issue regarding security,
please disclose the information responsibly by sending an email to
security@docker.com and not by creating a github issue.
security@docker.com and not by creating a GitHub issue.
## Better than VMs
@@ -175,7 +175,7 @@ Under the hood, Docker is built on the following components:
Contributing to Docker [![GoDoc](https://godoc.org/github.com/docker/docker?status.svg)](https://godoc.org/github.com/docker/docker)
======================
| **Master** (Linux) | **Experimental** (linux) | **Windows** | **FreeBSD** |
| **Master** (Linux) | **Experimental** (Linux) | **Windows** | **FreeBSD** |
|------------------|----------------------|---------|---------|
| [![Jenkins Build Status](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master/badge/icon)](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master/) | [![Jenkins Build Status](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master%20%28experimental%29/badge/icon)](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master%20%28experimental%29/) | [![Build Status](http://jenkins.dockerproject.org/job/Docker%20Master%20(windows)/badge/icon)](http://jenkins.dockerproject.org/job/Docker%20Master%20(windows)/) | [![Build Status](http://jenkins.dockerproject.org/job/Docker%20Master%20(freebsd)/badge/icon)](http://jenkins.dockerproject.org/job/Docker%20Master%20(freebsd)/) |
@@ -219,7 +219,7 @@ We are always open to suggestions on process improvements, and are always lookin
IRC is a rich chat protocol but it can overwhelm new users. You can search
<a href="https://botbot.me/freenode/docker/#" target="_blank">our chat archives</a>.
</p>
Read our <a href="https://docs.docker.com/project/get-help/#irc-quickstart" target="_blank">IRC quickstart guide</a> for an easy way to get started.
Read our <a href="https://docs.docker.com/opensource/get-help/#/irc-quickstart" target="_blank">IRC quickstart guide</a> for an easy way to get started.
</td>
</tr>
<tr>
@@ -238,7 +238,7 @@ We are always open to suggestions on process improvements, and are always lookin
Google account by sending an email to <a
href="mailto:docker-dev+subscribe@googlegroups.com">docker-dev+subscribe@googlegroups.com</a>.
You'll receive a join-request message; simply reply to the message to
confirm your subscribtion.
confirm your subscription.
</td>
</tr>
<tr>

View File

@@ -63,10 +63,9 @@ containers, and not as easily dismissed).
## 1.3 Internal decoupling
A lot of work has been done in trying to decouple the Docker Engine's internals. In particular, the
API implementation has been refactored and ongoing work is happening to move the code to a separate
repository ([`docker/engine-api`](https://github.com/docker/engine-api)), and the Builder side of
the daemon is now [fully independent](https://github.com/docker/docker/tree/master/builder) while
still residing in the same repository.
API implementation has been refactored, and the Builder side of the daemon is now
[fully independent](https://github.com/docker/docker/tree/master/builder) while still residing in
the same repository.
We are exploring ways to go further with that decoupling, capitalizing on the work introduced by the
runtime renovation and plugins improvement efforts. Indeed, the combination of `containerd` support
@@ -93,28 +92,7 @@ to another node in the cluster. This will be introduced in a backward compatible
We won't accept patches expanding the surface of `docker exec`, which we intend to keep as a
*debugging* feature, as well as being strongly dependent on the Runtime ingredient effort.
## 2.2 Dockerfile syntax
The Dockerfile syntax as we know it is simple, and has proven successful in supporting all our
[official images](https://github.com/docker-library/official-images). Although this is *not* a
definitive move, we temporarily won't accept more patches to the Dockerfile syntax for several
reasons:
- Long term impact of syntax changes is a sensitive matter that require an amount of attention the
volume of Engine codebase and activity today doesn't allow us to provide.
- Allowing the Builder to be implemented as a separate utility consuming the Engine's API will
open the door for many possibilities, such as offering alternate syntaxes or DSL for existing
languages without cluttering the Engine's codebase.
- A standalone Builder will also offer the opportunity for a better dedicated group of maintainers
to own the Dockerfile syntax and decide collectively on the direction to give it.
- Our experience with official images tend to show that no new instruction or syntax expansion is
*strictly* necessary for the majority of use cases, and although we are aware many things are
still lacking for many, we cannot make it a priority yet for the above reasons.
Again, this is not about saying that the Dockerfile syntax is done, it's about making choices about
what we want to do first!
## 2.3 Remote Registry Operations
## 2.2 Remote Registry Operations
A large amount of work is ongoing in the area of image distribution and provenance. This includes
moving to the V2 Registry API and heavily refactoring the code that powers these features. The

View File

@@ -20,7 +20,7 @@ Each repo should:
github releases file.
The goal here is for consuming repos to be able to use the tag version and
changelog updates to determine whether the vendoring will cause any breaking or
changelog updates to determine whether the vendoring will cause any breaking or
backward incompatible changes. This also means that repos can specify having
dependency on a package of a specific version or greater up to the next major
release, without encountering breaking changes.

View File

@@ -1 +1 @@
1.12.2
17.03.0-ce-rc1

View File

@@ -1,5 +1,42 @@
This directory contains code pertaining to the Docker API:
# Working on the Engine API
- Used by the docker client when communicating with the docker daemon
The Engine API is an HTTP API used by the command-line client to communicate with the daemon. It can also be used by third-party software to control the daemon.
- Used by third party tools wishing to interface with the docker daemon
It consists of various components in this repository:
- `api/swagger.yaml` A Swagger definition of the API.
- `api/types/` Types shared by both the client and server, representing various objects, options, responses, etc. Most are written manually, but some are automatically generated from the Swagger definition. See [#27919](https://github.com/docker/docker/issues/27919) for progress on this.
- `cli/` The command-line client.
- `client/` The Go client used by the command-line client. It can also be used by third-party Go programs.
- `daemon/` The daemon, which serves the API.
## Swagger definition
The API is defined by the [Swagger](http://swagger.io/specification/) definition in `api/swagger.yaml`. This definition can be used to:
1. To automatically generate documentation.
2. To automatically generate the Go server and client. (A work-in-progress.)
3. Provide a machine readable version of the API for introspecting what it can do, automatically generating clients for other languages, etc.
## Updating the API documentation
The API documentation is generated entirely from `api/swagger.yaml`. If you make updates to the API, you'll need to edit this file to represent the change in the documentation.
The file is split into two main sections:
- `definitions`, which defines re-usable objects used in requests and responses
- `paths`, which defines the API endpoints (and some inline objects which don't need to be reusable)
To make an edit, first look for the endpoint you want to edit under `paths`, then make the required edits. Endpoints may reference reusable objects with `$ref`, which can be found in the `definitions` section.
There is hopefully enough example material in the file for you to copy a similar pattern from elsewhere in the file (e.g. adding new fields or endpoints), but for the full reference, see the [Swagger specification](https://github.com/docker/docker/issues/27919)
`swagger.yaml` is validated by `hack/validate/swagger` to ensure it is a valid Swagger definition. This is useful for when you are making edits to ensure you are doing the right thing.
## Viewing the API documentation
When you make edits to `swagger.yaml`, you may want to check the generated API documentation to ensure it renders correctly.
All the documentation generation is done in the documentation repository, [docker/docker.github.io](https://github.com/docker/docker.github.io). The Swagger definition is vendored periodically into this repository, but you can manually copy over the Swagger definition to test changes.
Copy `api/swagger.yaml` in this repository to `engine/api/[VERSION_NUMBER]/swagger.yaml` in the documentation repository, overwriting what is already there. Then, run `docker-compose up` in the documentation repository and browse to [http://localhost:4000/engine/api/](http://localhost:4000/engine/api/) when it finishes rendering.

View File

@@ -1,281 +0,0 @@
package client
import (
"errors"
"fmt"
"io"
"net/http"
"os"
"runtime"
"github.com/docker/docker/api"
cliflags "github.com/docker/docker/cli/flags"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/cliconfig/configfile"
"github.com/docker/docker/cliconfig/credentials"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/term"
"github.com/docker/engine-api/client"
"github.com/docker/go-connections/sockets"
"github.com/docker/go-connections/tlsconfig"
)
// DockerCli represents the docker command line client.
// Instances of the client can be returned from NewDockerCli.
type DockerCli struct {
// initializing closure
init func() error
// configFile has the client configuration file
configFile *configfile.ConfigFile
// in holds the input stream and closer (io.ReadCloser) for the client.
in io.ReadCloser
// out holds the output stream (io.Writer) for the client.
out io.Writer
// err holds the error stream (io.Writer) for the client.
err io.Writer
// keyFile holds the key file as a string.
keyFile string
// inFd holds the file descriptor of the client's STDIN (if valid).
inFd uintptr
// outFd holds file descriptor of the client's STDOUT (if valid).
outFd uintptr
// isTerminalIn indicates whether the client's STDIN is a TTY
isTerminalIn bool
// isTerminalOut indicates whether the client's STDOUT is a TTY
isTerminalOut bool
// client is the http client that performs all API operations
client client.APIClient
// state holds the terminal input state
inState *term.State
// outState holds the terminal output state
outState *term.State
}
// Initialize calls the init function that will setup the configuration for the client
// such as the TLS, tcp and other parameters used to run the client.
func (cli *DockerCli) Initialize() error {
if cli.init == nil {
return nil
}
return cli.init()
}
// Client returns the APIClient
func (cli *DockerCli) Client() client.APIClient {
return cli.client
}
// Out returns the writer used for stdout
func (cli *DockerCli) Out() io.Writer {
return cli.out
}
// Err returns the writer used for stderr
func (cli *DockerCli) Err() io.Writer {
return cli.err
}
// In returns the reader used for stdin
func (cli *DockerCli) In() io.ReadCloser {
return cli.in
}
// ConfigFile returns the ConfigFile
func (cli *DockerCli) ConfigFile() *configfile.ConfigFile {
return cli.configFile
}
// IsTerminalOut returns true if the clients stdin is a TTY
func (cli *DockerCli) IsTerminalOut() bool {
return cli.isTerminalOut
}
// OutFd returns the fd for the stdout stream
func (cli *DockerCli) OutFd() uintptr {
return cli.outFd
}
// CheckTtyInput checks if we are trying to attach to a container tty
// from a non-tty client input stream, and if so, returns an error.
func (cli *DockerCli) CheckTtyInput(attachStdin, ttyMode bool) error {
// In order to attach to a container tty, input stream for the client must
// be a tty itself: redirecting or piping the client standard input is
// incompatible with `docker run -t`, `docker exec -t` or `docker attach`.
if ttyMode && attachStdin && !cli.isTerminalIn {
eText := "the input device is not a TTY"
if runtime.GOOS == "windows" {
return errors.New(eText + ". If you are using mintty, try prefixing the command with 'winpty'")
}
return errors.New(eText)
}
return nil
}
// PsFormat returns the format string specified in the configuration.
// String contains columns and format specification, for example {{ID}}\t{{Name}}.
func (cli *DockerCli) PsFormat() string {
return cli.configFile.PsFormat
}
// ImagesFormat returns the format string specified in the configuration.
// String contains columns and format specification, for example {{ID}}\t{{Name}}.
func (cli *DockerCli) ImagesFormat() string {
return cli.configFile.ImagesFormat
}
func (cli *DockerCli) setRawTerminal() error {
if os.Getenv("NORAW") == "" {
if cli.isTerminalIn {
state, err := term.SetRawTerminal(cli.inFd)
if err != nil {
return err
}
cli.inState = state
}
if cli.isTerminalOut {
state, err := term.SetRawTerminalOutput(cli.outFd)
if err != nil {
return err
}
cli.outState = state
}
}
return nil
}
func (cli *DockerCli) restoreTerminal(in io.Closer) error {
if cli.inState != nil {
term.RestoreTerminal(cli.inFd, cli.inState)
}
if cli.outState != nil {
term.RestoreTerminal(cli.outFd, cli.outState)
}
// WARNING: DO NOT REMOVE THE OS CHECK !!!
// For some reason this Close call blocks on darwin..
// As the client exists right after, simply discard the close
// until we find a better solution.
if in != nil && runtime.GOOS != "darwin" {
return in.Close()
}
return nil
}
// NewDockerCli returns a DockerCli instance with IO output and error streams set by in, out and err.
// The key file, protocol (i.e. unix) and address are passed in as strings, along with the tls.Config. If the tls.Config
// is set the client scheme will be set to https.
// The client will be given a 32-second timeout (see https://github.com/docker/docker/pull/8035).
func NewDockerCli(in io.ReadCloser, out, err io.Writer, clientFlags *cliflags.ClientFlags) *DockerCli {
cli := &DockerCli{
in: in,
out: out,
err: err,
keyFile: clientFlags.Common.TrustKey,
}
cli.init = func() error {
clientFlags.PostParse()
cli.configFile = LoadDefaultConfigFile(err)
client, err := NewAPIClientFromFlags(clientFlags, cli.configFile)
if err != nil {
return err
}
cli.client = client
if cli.in != nil {
cli.inFd, cli.isTerminalIn = term.GetFdInfo(cli.in)
}
if cli.out != nil {
cli.outFd, cli.isTerminalOut = term.GetFdInfo(cli.out)
}
return nil
}
return cli
}
// LoadDefaultConfigFile attempts to load the default config file and returns
// an initialized ConfigFile struct if none is found.
func LoadDefaultConfigFile(err io.Writer) *configfile.ConfigFile {
configFile, e := cliconfig.Load(cliconfig.ConfigDir())
if e != nil {
fmt.Fprintf(err, "WARNING: Error loading config file:%v\n", e)
}
if !configFile.ContainsAuth() {
credentials.DetectDefaultStore(configFile)
}
return configFile
}
// NewAPIClientFromFlags creates a new APIClient from command line flags
func NewAPIClientFromFlags(clientFlags *cliflags.ClientFlags, configFile *configfile.ConfigFile) (client.APIClient, error) {
host, err := getServerHost(clientFlags.Common.Hosts, clientFlags.Common.TLSOptions)
if err != nil {
return &client.Client{}, err
}
customHeaders := configFile.HTTPHeaders
if customHeaders == nil {
customHeaders = map[string]string{}
}
customHeaders["User-Agent"] = clientUserAgent()
verStr := api.DefaultVersion
if tmpStr := os.Getenv("DOCKER_API_VERSION"); tmpStr != "" {
verStr = tmpStr
}
httpClient, err := newHTTPClient(host, clientFlags.Common.TLSOptions)
if err != nil {
return &client.Client{}, err
}
return client.NewClient(host, verStr, httpClient, customHeaders)
}
func getServerHost(hosts []string, tlsOptions *tlsconfig.Options) (host string, err error) {
switch len(hosts) {
case 0:
host = os.Getenv("DOCKER_HOST")
case 1:
host = hosts[0]
default:
return "", errors.New("Please specify only one -H")
}
host, err = opts.ParseHost(tlsOptions != nil, host)
return
}
func newHTTPClient(host string, tlsOptions *tlsconfig.Options) (*http.Client, error) {
if tlsOptions == nil {
// let the api client configure the default transport.
return nil, nil
}
config, err := tlsconfig.Client(*tlsOptions)
if err != nil {
return nil, err
}
tr := &http.Transport{
TLSClientConfig: config,
}
proto, addr, _, err := client.ParseHost(host)
if err != nil {
return nil, err
}
sockets.ConfigureTransport(tr, proto, addr)
return &http.Client{
Transport: tr,
}, nil
}
func clientUserAgent() string {
return "Docker-Client/" + dockerversion.Version + " (" + runtime.GOOS + ")"
}

View File

@@ -1,5 +0,0 @@
// Package client provides a command-line interface for Docker.
//
// Run "docker help SUBCOMMAND" or "docker SUBCOMMAND --help" to see more information on any Docker subcommand, including the full list of options supported for the subcommand.
// See https://docs.docker.com/installation/ for instructions on installing Docker.
package client

View File

@@ -1,11 +0,0 @@
package client
// Command returns a cli command handler if one exists
func (cli *DockerCli) Command(name string) func(...string) error {
return map[string]func(...string) error{
"exec": cli.CmdExec,
"info": cli.CmdInfo,
"inspect": cli.CmdInspect,
"update": cli.CmdUpdate,
}[name]
}

View File

@@ -1,129 +0,0 @@
package container
import (
"fmt"
"io"
"net/http/httputil"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/signal"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type attachOptions struct {
noStdin bool
proxy bool
detachKeys string
container string
}
// NewAttachCommand creats a new cobra.Command for `docker attach`
func NewAttachCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts attachOptions
cmd := &cobra.Command{
Use: "attach [OPTIONS] CONTAINER",
Short: "Attach to a running container",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
return runAttach(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVar(&opts.noStdin, "no-stdin", false, "Do not attach STDIN")
flags.BoolVar(&opts.proxy, "sig-proxy", true, "Proxy all received signals to the process")
flags.StringVar(&opts.detachKeys, "detach-keys", "", "Override the key sequence for detaching a container")
return cmd
}
func runAttach(dockerCli *client.DockerCli, opts *attachOptions) error {
ctx := context.Background()
c, err := dockerCli.Client().ContainerInspect(ctx, opts.container)
if err != nil {
return err
}
if !c.State.Running {
return fmt.Errorf("You cannot attach to a stopped container, start it first")
}
if c.State.Paused {
return fmt.Errorf("You cannot attach to a paused container, unpause it first")
}
if err := dockerCli.CheckTtyInput(!opts.noStdin, c.Config.Tty); err != nil {
return err
}
if opts.detachKeys != "" {
dockerCli.ConfigFile().DetachKeys = opts.detachKeys
}
options := types.ContainerAttachOptions{
Stream: true,
Stdin: !opts.noStdin && c.Config.OpenStdin,
Stdout: true,
Stderr: true,
DetachKeys: dockerCli.ConfigFile().DetachKeys,
}
var in io.ReadCloser
if options.Stdin {
in = dockerCli.In()
}
if opts.proxy && !c.Config.Tty {
sigc := dockerCli.ForwardAllSignals(ctx, opts.container)
defer signal.StopCatch(sigc)
}
resp, errAttach := dockerCli.Client().ContainerAttach(ctx, opts.container, options)
if errAttach != nil && errAttach != httputil.ErrPersistEOF {
// ContainerAttach returns an ErrPersistEOF (connection closed)
// means server met an error and put it in Hijacked connection
// keep the error and read detailed error message from hijacked connection later
return errAttach
}
defer resp.Close()
if c.Config.Tty && dockerCli.IsTerminalOut() {
height, width := dockerCli.GetTtySize()
// To handle the case where a user repeatedly attaches/detaches without resizing their
// terminal, the only way to get the shell prompt to display for attaches 2+ is to artificially
// resize it, then go back to normal. Without this, every attach after the first will
// require the user to manually resize or hit enter.
dockerCli.ResizeTtyTo(ctx, opts.container, height+1, width+1, false)
// After the above resizing occurs, the call to MonitorTtySize below will handle resetting back
// to the actual size.
if err := dockerCli.MonitorTtySize(ctx, opts.container, false); err != nil {
logrus.Debugf("Error monitoring TTY size: %s", err)
}
}
if err := dockerCli.HoldHijackedConnection(ctx, c.Config.Tty, in, dockerCli.Out(), dockerCli.Err(), resp); err != nil {
return err
}
if errAttach != nil {
return errAttach
}
_, status, err := getExitCode(dockerCli, ctx, opts.container)
if err != nil {
return err
}
if status != 0 {
return cli.StatusError{StatusCode: status}
}
return nil
}

View File

@@ -1,92 +0,0 @@
package container
import (
"encoding/json"
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
dockeropts "github.com/docker/docker/opts"
"github.com/docker/engine-api/types"
containertypes "github.com/docker/engine-api/types/container"
"github.com/spf13/cobra"
)
type commitOptions struct {
container string
reference string
pause bool
comment string
author string
changes dockeropts.ListOpts
config string
}
// NewCommitCommand creats a new cobra.Command for `docker commit`
func NewCommitCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts commitOptions
cmd := &cobra.Command{
Use: "commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]",
Short: "Create a new image from a container's changes",
Args: cli.RequiresRangeArgs(1, 2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
if len(args) > 1 {
opts.reference = args[1]
}
return runCommit(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.SetInterspersed(false)
flags.BoolVarP(&opts.pause, "pause", "p", true, "Pause container during commit")
flags.StringVarP(&opts.comment, "message", "m", "", "Commit message")
flags.StringVarP(&opts.author, "author", "a", "", "Author (e.g., \"John Hannibal Smith <hannibal@a-team.com>\")")
opts.changes = dockeropts.NewListOpts(nil)
flags.VarP(&opts.changes, "change", "c", "Apply Dockerfile instruction to the created image")
// FIXME: --run is deprecated, it will be replaced with inline Dockerfile commands.
flags.StringVar(&opts.config, "run", "", "This option is deprecated and will be removed in a future version in favor of inline Dockerfile-compatible commands")
flags.MarkDeprecated("run", "it will be replaced with inline Dockerfile commands.")
return cmd
}
func runCommit(dockerCli *client.DockerCli, opts *commitOptions) error {
ctx := context.Background()
name := opts.container
reference := opts.reference
var config *containertypes.Config
if opts.config != "" {
config = &containertypes.Config{}
if err := json.Unmarshal([]byte(opts.config), config); err != nil {
return err
}
}
options := types.ContainerCommitOptions{
Reference: reference,
Comment: opts.comment,
Author: opts.author,
Changes: opts.changes.GetAll(),
Pause: opts.pause,
Config: config,
}
response, err := dockerCli.Client().ContainerCommit(ctx, name, options)
if err != nil {
return err
}
fmt.Fprintln(dockerCli.Out(), response.ID)
return nil
}

View File

@@ -1,217 +0,0 @@
package container
import (
"fmt"
"io"
"os"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
// FIXME migrate to docker/distribution/reference
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
runconfigopts "github.com/docker/docker/runconfig/opts"
apiclient "github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container"
networktypes "github.com/docker/engine-api/types/network"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
type createOptions struct {
name string
}
// NewCreateCommand creats a new cobra.Command for `docker create`
func NewCreateCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts createOptions
var copts *runconfigopts.ContainerOptions
cmd := &cobra.Command{
Use: "create [OPTIONS] IMAGE [COMMAND] [ARG...]",
Short: "Create a new container",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
copts.Image = args[0]
if len(args) > 1 {
copts.Args = args[1:]
}
return runCreate(dockerCli, cmd.Flags(), &opts, copts)
},
}
flags := cmd.Flags()
flags.SetInterspersed(false)
flags.StringVar(&opts.name, "name", "", "Assign a name to the container")
// Add an explicit help that doesn't have a `-h` to prevent the conflict
// with hostname
flags.Bool("help", false, "Print usage")
client.AddTrustedFlags(flags, true)
copts = runconfigopts.AddFlags(flags)
return cmd
}
func runCreate(dockerCli *client.DockerCli, flags *pflag.FlagSet, opts *createOptions, copts *runconfigopts.ContainerOptions) error {
config, hostConfig, networkingConfig, err := runconfigopts.Parse(flags, copts)
if err != nil {
reportError(dockerCli.Err(), "create", err.Error(), true)
return cli.StatusError{StatusCode: 125}
}
response, err := createContainer(context.Background(), dockerCli, config, hostConfig, networkingConfig, hostConfig.ContainerIDFile, opts.name)
if err != nil {
return err
}
fmt.Fprintf(dockerCli.Out(), "%s\n", response.ID)
return nil
}
func pullImage(ctx context.Context, dockerCli *client.DockerCli, image string, out io.Writer) error {
ref, err := reference.ParseNamed(image)
if err != nil {
return err
}
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(ref)
if err != nil {
return err
}
authConfig := dockerCli.ResolveAuthConfig(ctx, repoInfo.Index)
encodedAuth, err := client.EncodeAuthToBase64(authConfig)
if err != nil {
return err
}
options := types.ImageCreateOptions{
RegistryAuth: encodedAuth,
}
responseBody, err := dockerCli.Client().ImageCreate(ctx, image, options)
if err != nil {
return err
}
defer responseBody.Close()
return jsonmessage.DisplayJSONMessagesStream(
responseBody,
out,
dockerCli.OutFd(),
dockerCli.IsTerminalOut(),
nil)
}
type cidFile struct {
path string
file *os.File
written bool
}
func (cid *cidFile) Close() error {
cid.file.Close()
if !cid.written {
if err := os.Remove(cid.path); err != nil {
return fmt.Errorf("failed to remove the CID file '%s': %s \n", cid.path, err)
}
}
return nil
}
func (cid *cidFile) Write(id string) error {
if _, err := cid.file.Write([]byte(id)); err != nil {
return fmt.Errorf("Failed to write the container ID to the file: %s", err)
}
cid.written = true
return nil
}
func newCIDFile(path string) (*cidFile, error) {
if _, err := os.Stat(path); err == nil {
return nil, fmt.Errorf("Container ID file found, make sure the other container isn't running or delete %s", path)
}
f, err := os.Create(path)
if err != nil {
return nil, fmt.Errorf("Failed to create the container ID file: %s", err)
}
return &cidFile{path: path, file: f}, nil
}
func createContainer(ctx context.Context, dockerCli *client.DockerCli, config *container.Config, hostConfig *container.HostConfig, networkingConfig *networktypes.NetworkingConfig, cidfile, name string) (*types.ContainerCreateResponse, error) {
stderr := dockerCli.Err()
var containerIDFile *cidFile
if cidfile != "" {
var err error
if containerIDFile, err = newCIDFile(cidfile); err != nil {
return nil, err
}
defer containerIDFile.Close()
}
var trustedRef reference.Canonical
_, ref, err := reference.ParseIDOrReference(config.Image)
if err != nil {
return nil, err
}
if ref != nil {
ref = reference.WithDefaultTag(ref)
if ref, ok := ref.(reference.NamedTagged); ok && client.IsTrusted() {
var err error
trustedRef, err = dockerCli.TrustedReference(ctx, ref)
if err != nil {
return nil, err
}
config.Image = trustedRef.String()
}
}
//create the container
response, err := dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, name)
//if image not found try to pull it
if err != nil {
if apiclient.IsErrImageNotFound(err) && ref != nil {
fmt.Fprintf(stderr, "Unable to find image '%s' locally\n", ref.String())
// we don't want to write to stdout anything apart from container.ID
if err = pullImage(ctx, dockerCli, config.Image, stderr); err != nil {
return nil, err
}
if ref, ok := ref.(reference.NamedTagged); ok && trustedRef != nil {
if err := dockerCli.TagTrusted(ctx, trustedRef, ref); err != nil {
return nil, err
}
}
// Retry
var retryErr error
response, retryErr = dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, name)
if retryErr != nil {
return nil, retryErr
}
} else {
return nil, err
}
}
for _, warning := range response.Warnings {
fmt.Fprintf(stderr, "WARNING: %s\n", warning)
}
if containerIDFile != nil {
if err = containerIDFile.Write(response.ID); err != nil {
return nil, err
}
}
return &response, nil
}

View File

@@ -1,53 +0,0 @@
package container
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type killOptions struct {
signal string
containers []string
}
// NewKillCommand creats a new cobra.Command for `docker kill`
func NewKillCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts killOptions
cmd := &cobra.Command{
Use: "kill [OPTIONS] CONTAINER [CONTAINER...]",
Short: "Kill one or more running containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runKill(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.signal, "signal", "s", "KILL", "Signal to send to the container")
return cmd
}
func runKill(dockerCli *client.DockerCli, opts *killOptions) error {
var errs []string
ctx := context.Background()
for _, name := range opts.containers {
if err := dockerCli.Client().ContainerKill(ctx, name, opts.signal); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", name)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,87 +0,0 @@
package container
import (
"fmt"
"io"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
var validDrivers = map[string]bool{
"json-file": true,
"journald": true,
}
type logsOptions struct {
follow bool
since string
timestamps bool
details bool
tail string
container string
}
// NewLogsCommand creats a new cobra.Command for `docker logs`
func NewLogsCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts logsOptions
cmd := &cobra.Command{
Use: "logs [OPTIONS] CONTAINER",
Short: "Fetch the logs of a container",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
return runLogs(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.follow, "follow", "f", false, "Follow log output")
flags.StringVar(&opts.since, "since", "", "Show logs since timestamp")
flags.BoolVarP(&opts.timestamps, "timestamps", "t", false, "Show timestamps")
flags.BoolVar(&opts.details, "details", false, "Show extra details provided to logs")
flags.StringVar(&opts.tail, "tail", "all", "Number of lines to show from the end of the logs")
return cmd
}
func runLogs(dockerCli *client.DockerCli, opts *logsOptions) error {
ctx := context.Background()
c, err := dockerCli.Client().ContainerInspect(ctx, opts.container)
if err != nil {
return err
}
if !validDrivers[c.HostConfig.LogConfig.Type] {
return fmt.Errorf("\"logs\" command is supported only for \"json-file\" and \"journald\" logging drivers (got: %s)", c.HostConfig.LogConfig.Type)
}
options := types.ContainerLogsOptions{
ShowStdout: true,
ShowStderr: true,
Since: opts.since,
Timestamps: opts.timestamps,
Follow: opts.follow,
Tail: opts.tail,
Details: opts.details,
}
responseBody, err := dockerCli.Client().ContainerLogs(ctx, opts.container, options)
if err != nil {
return err
}
defer responseBody.Close()
if c.Config.Tty {
_, err = io.Copy(dockerCli.Out(), responseBody)
} else {
_, err = stdcopy.StdCopy(dockerCli.Out(), dockerCli.Err(), responseBody)
}
return err
}

View File

@@ -1,50 +0,0 @@
package container
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type pauseOptions struct {
containers []string
}
// NewPauseCommand creats a new cobra.Command for `docker pause`
func NewPauseCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts pauseOptions
cmd := &cobra.Command{
Use: "pause CONTAINER [CONTAINER...]",
Short: "Pause all processes within one or more containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runPause(dockerCli, &opts)
},
}
return cmd
}
func runPause(dockerCli *client.DockerCli, opts *pauseOptions) error {
ctx := context.Background()
var errs []string
for _, container := range opts.containers {
if err := dockerCli.Client().ContainerPause(ctx, container); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", container)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,79 +0,0 @@
package container
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/go-connections/nat"
"github.com/spf13/cobra"
)
type portOptions struct {
container string
port string
}
// NewPortCommand creats a new cobra.Command for `docker port`
func NewPortCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts portOptions
cmd := &cobra.Command{
Use: "port CONTAINER [PRIVATE_PORT[/PROTO]]",
Short: "List port mappings or a specific mapping for the container",
Args: cli.RequiresRangeArgs(1, 2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
if len(args) > 1 {
opts.port = args[1]
}
return runPort(dockerCli, &opts)
},
}
return cmd
}
func runPort(dockerCli *client.DockerCli, opts *portOptions) error {
ctx := context.Background()
c, err := dockerCli.Client().ContainerInspect(ctx, opts.container)
if err != nil {
return err
}
if opts.port != "" {
port := opts.port
proto := "tcp"
parts := strings.SplitN(port, "/", 2)
if len(parts) == 2 && len(parts[1]) != 0 {
port = parts[0]
proto = parts[1]
}
natPort := port + "/" + proto
newP, err := nat.NewPort(proto, port)
if err != nil {
return err
}
if frontends, exists := c.NetworkSettings.Ports[newP]; exists && frontends != nil {
for _, frontend := range frontends {
fmt.Fprintf(dockerCli.Out(), "%s:%s\n", frontend.HostIP, frontend.HostPort)
}
return nil
}
return fmt.Errorf("Error: No public port '%s' published for %s", natPort, opts.container)
}
for from, frontends := range c.NetworkSettings.Ports {
for _, frontend := range frontends {
fmt.Fprintf(dockerCli.Out(), "%s -> %s:%s\n", from, frontend.HostIP, frontend.HostPort)
}
}
return nil
}

View File

@@ -1,125 +0,0 @@
package container
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/formatter"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
"github.com/docker/docker/utils/templates"
"github.com/spf13/cobra"
"io/ioutil"
)
type psOptions struct {
quiet bool
size bool
all bool
noTrunc bool
nLatest bool
last int
format string
filter []string
}
type preProcessor struct {
opts *types.ContainerListOptions
}
// Size sets the size option when called by a template execution.
func (p *preProcessor) Size() bool {
p.opts.Size = true
return true
}
// NewPsCommand creates a new cobra.Command for `docker ps`
func NewPsCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts psOptions
cmd := &cobra.Command{
Use: "ps [OPTIONS]",
Short: "List containers",
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runPs(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only display numeric IDs")
flags.BoolVarP(&opts.size, "size", "s", false, "Display total file sizes")
flags.BoolVarP(&opts.all, "all", "a", false, "Show all containers (default shows just running)")
flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Don't truncate output")
flags.BoolVarP(&opts.nLatest, "latest", "l", false, "Show the latest created container (includes all states)")
flags.IntVarP(&opts.last, "last", "n", -1, "Show n last created containers (includes all states)")
flags.StringVarP(&opts.format, "format", "", "", "Pretty-print containers using a Go template")
flags.StringSliceVarP(&opts.filter, "filter", "f", []string{}, "Filter output based on conditions provided")
return cmd
}
func runPs(dockerCli *client.DockerCli, opts *psOptions) error {
ctx := context.Background()
if opts.nLatest && opts.last == -1 {
opts.last = 1
}
containerFilterArgs := filters.NewArgs()
for _, f := range opts.filter {
var err error
containerFilterArgs, err = filters.ParseFlag(f, containerFilterArgs)
if err != nil {
return err
}
}
options := types.ContainerListOptions{
All: opts.all,
Limit: opts.last,
Size: opts.size,
Filter: containerFilterArgs,
}
pre := &preProcessor{opts: &options}
tmpl, err := templates.Parse(opts.format)
if err != nil {
return err
}
_ = tmpl.Execute(ioutil.Discard, pre)
containers, err := dockerCli.Client().ContainerList(ctx, options)
if err != nil {
return err
}
f := opts.format
if len(f) == 0 {
if len(dockerCli.PsFormat()) > 0 && !opts.quiet {
f = dockerCli.PsFormat()
} else {
f = "table"
}
}
psCtx := formatter.ContainerContext{
Context: formatter.Context{
Output: dockerCli.Out(),
Format: f,
Quiet: opts.quiet,
Trunc: !opts.noTrunc,
},
Size: opts.size,
Containers: containers,
}
psCtx.Write()
return nil
}

View File

@@ -1,55 +0,0 @@
package container
import (
"fmt"
"strings"
"time"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type restartOptions struct {
nSeconds int
containers []string
}
// NewRestartCommand creates a new cobra.Command for `docker restart`
func NewRestartCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts restartOptions
cmd := &cobra.Command{
Use: "restart [OPTIONS] CONTAINER [CONTAINER...]",
Short: "Restart a container",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runRestart(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.IntVarP(&opts.nSeconds, "time", "t", 10, "Seconds to wait for stop before killing the container")
return cmd
}
func runRestart(dockerCli *client.DockerCli, opts *restartOptions) error {
ctx := context.Background()
var errs []string
for _, name := range opts.containers {
timeout := time.Duration(opts.nSeconds) * time.Second
if err := dockerCli.Client().ContainerRestart(ctx, name, &timeout); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", name)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,76 +0,0 @@
package container
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type rmOptions struct {
rmVolumes bool
rmLink bool
force bool
containers []string
}
// NewRmCommand creates a new cobra.Command for `docker rm`
func NewRmCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts rmOptions
cmd := &cobra.Command{
Use: "rm [OPTIONS] CONTAINER [CONTAINER...]",
Short: "Remove one or more containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runRm(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.rmVolumes, "volumes", "v", false, "Remove the volumes associated with the container")
flags.BoolVarP(&opts.rmLink, "link", "l", false, "Remove the specified link")
flags.BoolVarP(&opts.force, "force", "f", false, "Force the removal of a running container (uses SIGKILL)")
return cmd
}
func runRm(dockerCli *client.DockerCli, opts *rmOptions) error {
ctx := context.Background()
var errs []string
for _, name := range opts.containers {
if name == "" {
return fmt.Errorf("Container name cannot be empty")
}
name = strings.Trim(name, "/")
if err := removeContainer(dockerCli, ctx, name, opts.rmVolumes, opts.rmLink, opts.force); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", name)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}
func removeContainer(dockerCli *client.DockerCli, ctx context.Context, container string, removeVolumes, removeLinks, force bool) error {
options := types.ContainerRemoveOptions{
RemoveVolumes: removeVolumes,
RemoveLinks: removeLinks,
Force: force,
}
if err := dockerCli.Client().ContainerRemove(ctx, container, options); err != nil {
return err
}
return nil
}

View File

@@ -1,326 +0,0 @@
package container
import (
"fmt"
"io"
"net/http/httputil"
"os"
"runtime"
"strings"
"syscall"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
opttypes "github.com/docker/docker/opts"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/signal"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types"
"github.com/docker/libnetwork/resolvconf/dns"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
const (
errCmdNotFound = "not found or does not exist"
errCmdCouldNotBeInvoked = "could not be invoked"
)
type runOptions struct {
autoRemove bool
detach bool
sigProxy bool
name string
detachKeys string
}
// NewRunCommand create a new `docker run` command
func NewRunCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts runOptions
var copts *runconfigopts.ContainerOptions
cmd := &cobra.Command{
Use: "run [OPTIONS] IMAGE [COMMAND] [ARG...]",
Short: "Run a command in a new container",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
copts.Image = args[0]
if len(args) > 1 {
copts.Args = args[1:]
}
return runRun(dockerCli, cmd.Flags(), &opts, copts)
},
}
flags := cmd.Flags()
flags.SetInterspersed(false)
// These are flags not stored in Config/HostConfig
flags.BoolVar(&opts.autoRemove, "rm", false, "Automatically remove the container when it exits")
flags.BoolVarP(&opts.detach, "detach", "d", false, "Run container in background and print container ID")
flags.BoolVar(&opts.sigProxy, "sig-proxy", true, "Proxy received signals to the process")
flags.StringVar(&opts.name, "name", "", "Assign a name to the container")
flags.StringVar(&opts.detachKeys, "detach-keys", "", "Override the key sequence for detaching a container")
// Add an explicit help that doesn't have a `-h` to prevent the conflict
// with hostname
flags.Bool("help", false, "Print usage")
client.AddTrustedFlags(flags, true)
copts = runconfigopts.AddFlags(flags)
return cmd
}
func runRun(dockerCli *client.DockerCli, flags *pflag.FlagSet, opts *runOptions, copts *runconfigopts.ContainerOptions) error {
stdout, stderr, stdin := dockerCli.Out(), dockerCli.Err(), dockerCli.In()
client := dockerCli.Client()
// TODO: pass this as an argument
cmdPath := "run"
var (
flAttach *opttypes.ListOpts
ErrConflictAttachDetach = fmt.Errorf("Conflicting options: -a and -d")
ErrConflictRestartPolicyAndAutoRemove = fmt.Errorf("Conflicting options: --restart and --rm")
ErrConflictDetachAutoRemove = fmt.Errorf("Conflicting options: --rm and -d")
)
config, hostConfig, networkingConfig, err := runconfigopts.Parse(flags, copts)
// just in case the Parse does not exit
if err != nil {
reportError(stderr, cmdPath, err.Error(), true)
return cli.StatusError{StatusCode: 125}
}
if hostConfig.OomKillDisable != nil && *hostConfig.OomKillDisable && hostConfig.Memory == 0 {
fmt.Fprintf(stderr, "WARNING: Disabling the OOM killer on containers without setting a '-m/--memory' limit may be dangerous.\n")
}
if len(hostConfig.DNS) > 0 {
// check the DNS settings passed via --dns against
// localhost regexp to warn if they are trying to
// set a DNS to a localhost address
for _, dnsIP := range hostConfig.DNS {
if dns.IsLocalhost(dnsIP) {
fmt.Fprintf(stderr, "WARNING: Localhost DNS setting (--dns=%s) may fail in containers.\n", dnsIP)
break
}
}
}
config.ArgsEscaped = false
if !opts.detach {
if err := dockerCli.CheckTtyInput(config.AttachStdin, config.Tty); err != nil {
return err
}
} else {
if fl := flags.Lookup("attach"); fl != nil {
flAttach = fl.Value.(*opttypes.ListOpts)
if flAttach.Len() != 0 {
return ErrConflictAttachDetach
}
}
if opts.autoRemove {
return ErrConflictDetachAutoRemove
}
config.AttachStdin = false
config.AttachStdout = false
config.AttachStderr = false
config.StdinOnce = false
}
// Disable sigProxy when in TTY mode
if config.Tty {
opts.sigProxy = false
}
// Telling the Windows daemon the initial size of the tty during start makes
// a far better user experience rather than relying on subsequent resizes
// to cause things to catch up.
if runtime.GOOS == "windows" {
hostConfig.ConsoleSize[0], hostConfig.ConsoleSize[1] = dockerCli.GetTtySize()
}
ctx, cancelFun := context.WithCancel(context.Background())
createResponse, err := createContainer(ctx, dockerCli, config, hostConfig, networkingConfig, hostConfig.ContainerIDFile, opts.name)
if err != nil {
reportError(stderr, cmdPath, err.Error(), true)
return runStartContainerErr(err)
}
if opts.sigProxy {
sigc := dockerCli.ForwardAllSignals(ctx, createResponse.ID)
defer signal.StopCatch(sigc)
}
var (
waitDisplayID chan struct{}
errCh chan error
)
if !config.AttachStdout && !config.AttachStderr {
// Make this asynchronous to allow the client to write to stdin before having to read the ID
waitDisplayID = make(chan struct{})
go func() {
defer close(waitDisplayID)
fmt.Fprintf(stdout, "%s\n", createResponse.ID)
}()
}
if opts.autoRemove && (hostConfig.RestartPolicy.IsAlways() || hostConfig.RestartPolicy.IsOnFailure()) {
return ErrConflictRestartPolicyAndAutoRemove
}
attach := config.AttachStdin || config.AttachStdout || config.AttachStderr
if attach {
var (
out, cerr io.Writer
in io.ReadCloser
)
if config.AttachStdin {
in = stdin
}
if config.AttachStdout {
out = stdout
}
if config.AttachStderr {
if config.Tty {
cerr = stdout
} else {
cerr = stderr
}
}
if opts.detachKeys != "" {
dockerCli.ConfigFile().DetachKeys = opts.detachKeys
}
options := types.ContainerAttachOptions{
Stream: true,
Stdin: config.AttachStdin,
Stdout: config.AttachStdout,
Stderr: config.AttachStderr,
DetachKeys: dockerCli.ConfigFile().DetachKeys,
}
resp, errAttach := client.ContainerAttach(ctx, createResponse.ID, options)
if errAttach != nil && errAttach != httputil.ErrPersistEOF {
// ContainerAttach returns an ErrPersistEOF (connection closed)
// means server met an error and put it in Hijacked connection
// keep the error and read detailed error message from hijacked connection later
return errAttach
}
defer resp.Close()
errCh = promise.Go(func() error {
errHijack := dockerCli.HoldHijackedConnection(ctx, config.Tty, in, out, cerr, resp)
if errHijack == nil {
return errAttach
}
return errHijack
})
}
if opts.autoRemove {
defer func() {
// Explicitly not sharing the context as it could be "Done" (by calling cancelFun)
// and thus the container would not be removed.
if err := removeContainer(dockerCli, context.Background(), createResponse.ID, true, false, true); err != nil {
fmt.Fprintf(stderr, "%v\n", err)
}
}()
}
//start the container
if err := client.ContainerStart(ctx, createResponse.ID, types.ContainerStartOptions{}); err != nil {
// If we have holdHijackedConnection, we should notify
// holdHijackedConnection we are going to exit and wait
// to avoid the terminal are not restored.
if attach {
cancelFun()
<-errCh
}
reportError(stderr, cmdPath, err.Error(), false)
return runStartContainerErr(err)
}
if (config.AttachStdin || config.AttachStdout || config.AttachStderr) && config.Tty && dockerCli.IsTerminalOut() {
if err := dockerCli.MonitorTtySize(ctx, createResponse.ID, false); err != nil {
fmt.Fprintf(stderr, "Error monitoring TTY size: %s\n", err)
}
}
if errCh != nil {
if err := <-errCh; err != nil {
logrus.Debugf("Error hijack: %s", err)
return err
}
}
// Detached mode: wait for the id to be displayed and return.
if !config.AttachStdout && !config.AttachStderr {
// Detached mode
<-waitDisplayID
return nil
}
var status int
// Attached mode
if opts.autoRemove {
// Autoremove: wait for the container to finish, retrieve
// the exit code and remove the container
if status, err = client.ContainerWait(ctx, createResponse.ID); err != nil {
return runStartContainerErr(err)
}
if _, status, err = getExitCode(dockerCli, ctx, createResponse.ID); err != nil {
return err
}
} else {
// No Autoremove: Simply retrieve the exit code
if !config.Tty && hostConfig.RestartPolicy.IsNone() {
// In non-TTY mode, we can't detach, so we must wait for container exit
if status, err = client.ContainerWait(ctx, createResponse.ID); err != nil {
return err
}
} else {
// In TTY mode, there is a race: if the process dies too slowly, the state could
// be updated after the getExitCode call and result in the wrong exit code being reported
if _, status, err = getExitCode(dockerCli, ctx, createResponse.ID); err != nil {
return err
}
}
}
if status != 0 {
return cli.StatusError{StatusCode: status}
}
return nil
}
// reportError is a utility method that prints a user-friendly message
// containing the error that occurred during parsing and a suggestion to get help
func reportError(stderr io.Writer, name string, str string, withHelp bool) {
if withHelp {
str += ".\nSee '" + os.Args[0] + " " + name + " --help'"
}
fmt.Fprintf(stderr, "%s: %s.\n", os.Args[0], str)
}
// if container start fails with 'not found'/'no such' error, return 127
// if container start fails with 'permission denied' error, return 126
// return 125 for generic docker daemon failures
func runStartContainerErr(err error) error {
trimmedErr := strings.TrimPrefix(err.Error(), "Error response from daemon: ")
statusError := cli.StatusError{StatusCode: 125}
if strings.Contains(trimmedErr, "executable file not found") ||
strings.Contains(trimmedErr, "no such file or directory") ||
strings.Contains(trimmedErr, "system cannot find the file specified") {
statusError = cli.StatusError{StatusCode: 127}
} else if strings.Contains(trimmedErr, syscall.EACCES.Error()) {
statusError = cli.StatusError{StatusCode: 126}
}
return statusError
}

View File

@@ -1,152 +0,0 @@
package container
import (
"fmt"
"io"
"net/http/httputil"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/signal"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type startOptions struct {
attach bool
openStdin bool
detachKeys string
containers []string
}
// NewStartCommand creats a new cobra.Command for `docker start`
func NewStartCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts startOptions
cmd := &cobra.Command{
Use: "start [OPTIONS] CONTAINER [CONTAINER...]",
Short: "Start one or more stopped containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runStart(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.attach, "attach", "a", false, "Attach STDOUT/STDERR and forward signals")
flags.BoolVarP(&opts.openStdin, "interactive", "i", false, "Attach container's STDIN")
flags.StringVar(&opts.detachKeys, "detach-keys", "", "Override the key sequence for detaching a container")
return cmd
}
func runStart(dockerCli *client.DockerCli, opts *startOptions) error {
ctx, cancelFun := context.WithCancel(context.Background())
if opts.attach || opts.openStdin {
// We're going to attach to a container.
// 1. Ensure we only have one container.
if len(opts.containers) > 1 {
return fmt.Errorf("You cannot start and attach multiple containers at once.")
}
// 2. Attach to the container.
container := opts.containers[0]
c, err := dockerCli.Client().ContainerInspect(ctx, container)
if err != nil {
return err
}
// We always use c.ID instead of container to maintain consistency during `docker start`
if !c.Config.Tty {
sigc := dockerCli.ForwardAllSignals(ctx, c.ID)
defer signal.StopCatch(sigc)
}
if opts.detachKeys != "" {
dockerCli.ConfigFile().DetachKeys = opts.detachKeys
}
options := types.ContainerAttachOptions{
Stream: true,
Stdin: opts.openStdin && c.Config.OpenStdin,
Stdout: true,
Stderr: true,
DetachKeys: dockerCli.ConfigFile().DetachKeys,
}
var in io.ReadCloser
if options.Stdin {
in = dockerCli.In()
}
resp, errAttach := dockerCli.Client().ContainerAttach(ctx, c.ID, options)
if errAttach != nil && errAttach != httputil.ErrPersistEOF {
// ContainerAttach return an ErrPersistEOF (connection closed)
// means server met an error and put it in Hijacked connection
// keep the error and read detailed error message from hijacked connection
return errAttach
}
defer resp.Close()
cErr := promise.Go(func() error {
errHijack := dockerCli.HoldHijackedConnection(ctx, c.Config.Tty, in, dockerCli.Out(), dockerCli.Err(), resp)
if errHijack == nil {
return errAttach
}
return errHijack
})
// 3. Start the container.
if err := dockerCli.Client().ContainerStart(ctx, c.ID, types.ContainerStartOptions{}); err != nil {
cancelFun()
<-cErr
return err
}
// 4. Wait for attachment to break.
if c.Config.Tty && dockerCli.IsTerminalOut() {
if err := dockerCli.MonitorTtySize(ctx, c.ID, false); err != nil {
fmt.Fprintf(dockerCli.Err(), "Error monitoring TTY size: %s\n", err)
}
}
if attchErr := <-cErr; attchErr != nil {
return attchErr
}
_, status, err := getExitCode(dockerCli, ctx, c.ID)
if err != nil {
return err
}
if status != 0 {
return cli.StatusError{StatusCode: status}
}
} else {
// We're not going to attach to anything.
// Start as many containers as we want.
return startContainersWithoutAttachments(dockerCli, ctx, opts.containers)
}
return nil
}
func startContainersWithoutAttachments(dockerCli *client.DockerCli, ctx context.Context, containers []string) error {
var failedContainers []string
for _, container := range containers {
if err := dockerCli.Client().ContainerStart(ctx, container, types.ContainerStartOptions{}); err != nil {
fmt.Fprintf(dockerCli.Err(), "%s\n", err)
failedContainers = append(failedContainers, container)
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", container)
}
}
if len(failedContainers) > 0 {
return fmt.Errorf("Error: failed to start containers: %v", strings.Join(failedContainers, ", "))
}
return nil
}

View File

@@ -1,233 +0,0 @@
package container
import (
"fmt"
"io"
"strings"
"sync"
"text/tabwriter"
"time"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/system"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/events"
"github.com/docker/engine-api/types/filters"
"github.com/spf13/cobra"
)
type statsOptions struct {
all bool
noStream bool
containers []string
}
// NewStatsCommand creats a new cobra.Command for `docker stats`
func NewStatsCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts statsOptions
cmd := &cobra.Command{
Use: "stats [OPTIONS] [CONTAINER...]",
Short: "Display a live stream of container(s) resource usage statistics",
Args: cli.RequiresMinArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runStats(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.all, "all", "a", false, "Show all containers (default shows just running)")
flags.BoolVar(&opts.noStream, "no-stream", false, "Disable streaming stats and only pull the first result")
return cmd
}
// runStats displays a live stream of resource usage statistics for one or more containers.
// This shows real-time information on CPU usage, memory usage, and network I/O.
func runStats(dockerCli *client.DockerCli, opts *statsOptions) error {
showAll := len(opts.containers) == 0
closeChan := make(chan error)
ctx := context.Background()
// monitorContainerEvents watches for container creation and removal (only
// used when calling `docker stats` without arguments).
monitorContainerEvents := func(started chan<- struct{}, c chan events.Message) {
f := filters.NewArgs()
f.Add("type", "container")
options := types.EventsOptions{
Filters: f,
}
resBody, err := dockerCli.Client().Events(ctx, options)
// Whether we successfully subscribed to events or not, we can now
// unblock the main goroutine.
close(started)
if err != nil {
closeChan <- err
return
}
defer resBody.Close()
system.DecodeEvents(resBody, func(event events.Message, err error) error {
if err != nil {
closeChan <- err
return nil
}
c <- event
return nil
})
}
// waitFirst is a WaitGroup to wait first stat data's reach for each container
waitFirst := &sync.WaitGroup{}
cStats := stats{}
// getContainerList simulates creation event for all previously existing
// containers (only used when calling `docker stats` without arguments).
getContainerList := func() {
options := types.ContainerListOptions{
All: opts.all,
}
cs, err := dockerCli.Client().ContainerList(ctx, options)
if err != nil {
closeChan <- err
}
for _, container := range cs {
s := &containerStats{Name: container.ID[:12]}
if cStats.add(s) {
waitFirst.Add(1)
go s.Collect(ctx, dockerCli.Client(), !opts.noStream, waitFirst)
}
}
}
if showAll {
// If no names were specified, start a long running goroutine which
// monitors container events. We make sure we're subscribed before
// retrieving the list of running containers to avoid a race where we
// would "miss" a creation.
started := make(chan struct{})
eh := system.InitEventHandler()
eh.Handle("create", func(e events.Message) {
if opts.all {
s := &containerStats{Name: e.ID[:12]}
if cStats.add(s) {
waitFirst.Add(1)
go s.Collect(ctx, dockerCli.Client(), !opts.noStream, waitFirst)
}
}
})
eh.Handle("start", func(e events.Message) {
s := &containerStats{Name: e.ID[:12]}
if cStats.add(s) {
waitFirst.Add(1)
go s.Collect(ctx, dockerCli.Client(), !opts.noStream, waitFirst)
}
})
eh.Handle("die", func(e events.Message) {
if !opts.all {
cStats.remove(e.ID[:12])
}
})
eventChan := make(chan events.Message)
go eh.Watch(eventChan)
go monitorContainerEvents(started, eventChan)
defer close(eventChan)
<-started
// Start a short-lived goroutine to retrieve the initial list of
// containers.
getContainerList()
} else {
// Artificially send creation events for the containers we were asked to
// monitor (same code path than we use when monitoring all containers).
for _, name := range opts.containers {
s := &containerStats{Name: name}
if cStats.add(s) {
waitFirst.Add(1)
go s.Collect(ctx, dockerCli.Client(), !opts.noStream, waitFirst)
}
}
// We don't expect any asynchronous errors: closeChan can be closed.
close(closeChan)
// Do a quick pause to detect any error with the provided list of
// container names.
time.Sleep(1500 * time.Millisecond)
var errs []string
cStats.mu.Lock()
for _, c := range cStats.cs {
c.mu.Lock()
if c.err != nil {
errs = append(errs, fmt.Sprintf("%s: %v", c.Name, c.err))
}
c.mu.Unlock()
}
cStats.mu.Unlock()
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, ", "))
}
}
// before print to screen, make sure each container get at least one valid stat data
waitFirst.Wait()
w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0)
printHeader := func() {
if !opts.noStream {
fmt.Fprint(dockerCli.Out(), "\033[2J")
fmt.Fprint(dockerCli.Out(), "\033[H")
}
io.WriteString(w, "CONTAINER\tCPU %\tMEM USAGE / LIMIT\tMEM %\tNET I/O\tBLOCK I/O\tPIDS\n")
}
for range time.Tick(500 * time.Millisecond) {
printHeader()
toRemove := []string{}
cStats.mu.Lock()
for _, s := range cStats.cs {
if err := s.Display(w); err != nil && !opts.noStream {
logrus.Debugf("stats: got error for %s: %v", s.Name, err)
if err == io.EOF {
toRemove = append(toRemove, s.Name)
}
}
}
cStats.mu.Unlock()
for _, name := range toRemove {
cStats.remove(name)
}
if len(cStats.cs) == 0 && !showAll {
return nil
}
w.Flush()
if opts.noStream {
break
}
select {
case err, ok := <-closeChan:
if ok {
if err != nil {
// this is suppressing "unexpected EOF" in the cli when the
// daemon restarts so it shutdowns cleanly
if err == io.ErrUnexpectedEOF {
return nil
}
return err
}
}
default:
// just skip
}
}
return nil
}

View File

@@ -1,238 +0,0 @@
package container
import (
"encoding/json"
"errors"
"fmt"
"io"
"strings"
"sync"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"github.com/docker/go-units"
"golang.org/x/net/context"
)
type containerStats struct {
Name string
CPUPercentage float64
Memory float64
MemoryLimit float64
MemoryPercentage float64
NetworkRx float64
NetworkTx float64
BlockRead float64
BlockWrite float64
PidsCurrent uint64
mu sync.Mutex
err error
}
type stats struct {
mu sync.Mutex
cs []*containerStats
}
func (s *stats) add(cs *containerStats) bool {
s.mu.Lock()
defer s.mu.Unlock()
if _, exists := s.isKnownContainer(cs.Name); !exists {
s.cs = append(s.cs, cs)
return true
}
return false
}
func (s *stats) remove(id string) {
s.mu.Lock()
if i, exists := s.isKnownContainer(id); exists {
s.cs = append(s.cs[:i], s.cs[i+1:]...)
}
s.mu.Unlock()
}
func (s *stats) isKnownContainer(cid string) (int, bool) {
for i, c := range s.cs {
if c.Name == cid {
return i, true
}
}
return -1, false
}
func (s *containerStats) Collect(ctx context.Context, cli client.APIClient, streamStats bool, waitFirst *sync.WaitGroup) {
logrus.Debugf("collecting stats for %s", s.Name)
var (
getFirst bool
previousCPU uint64
previousSystem uint64
u = make(chan error, 1)
)
defer func() {
// if error happens and we get nothing of stats, release wait group whatever
if !getFirst {
getFirst = true
waitFirst.Done()
}
}()
responseBody, err := cli.ContainerStats(ctx, s.Name, streamStats)
if err != nil {
s.mu.Lock()
s.err = err
s.mu.Unlock()
return
}
defer responseBody.Close()
dec := json.NewDecoder(responseBody)
go func() {
for {
var v *types.StatsJSON
if err := dec.Decode(&v); err != nil {
dec = json.NewDecoder(io.MultiReader(dec.Buffered(), responseBody))
u <- err
if err == io.EOF {
break
}
time.Sleep(100 * time.Millisecond)
continue
}
var memPercent = 0.0
var cpuPercent = 0.0
// MemoryStats.Limit will never be 0 unless the container is not running and we haven't
// got any data from cgroup
if v.MemoryStats.Limit != 0 {
memPercent = float64(v.MemoryStats.Usage) / float64(v.MemoryStats.Limit) * 100.0
}
previousCPU = v.PreCPUStats.CPUUsage.TotalUsage
previousSystem = v.PreCPUStats.SystemUsage
cpuPercent = calculateCPUPercent(previousCPU, previousSystem, v)
blkRead, blkWrite := calculateBlockIO(v.BlkioStats)
s.mu.Lock()
s.CPUPercentage = cpuPercent
s.Memory = float64(v.MemoryStats.Usage)
s.MemoryLimit = float64(v.MemoryStats.Limit)
s.MemoryPercentage = memPercent
s.NetworkRx, s.NetworkTx = calculateNetwork(v.Networks)
s.BlockRead = float64(blkRead)
s.BlockWrite = float64(blkWrite)
s.PidsCurrent = v.PidsStats.Current
s.mu.Unlock()
u <- nil
if !streamStats {
return
}
}
}()
for {
select {
case <-time.After(2 * time.Second):
// zero out the values if we have not received an update within
// the specified duration.
s.mu.Lock()
s.CPUPercentage = 0
s.Memory = 0
s.MemoryPercentage = 0
s.MemoryLimit = 0
s.NetworkRx = 0
s.NetworkTx = 0
s.BlockRead = 0
s.BlockWrite = 0
s.PidsCurrent = 0
s.err = errors.New("timeout waiting for stats")
s.mu.Unlock()
// if this is the first stat you get, release WaitGroup
if !getFirst {
getFirst = true
waitFirst.Done()
}
case err := <-u:
if err != nil {
s.mu.Lock()
s.err = err
s.mu.Unlock()
continue
}
s.err = nil
// if this is the first stat you get, release WaitGroup
if !getFirst {
getFirst = true
waitFirst.Done()
}
}
if !streamStats {
return
}
}
}
func (s *containerStats) Display(w io.Writer) error {
s.mu.Lock()
defer s.mu.Unlock()
// NOTE: if you change this format, you must also change the err format below!
format := "%s\t%.2f%%\t%s / %s\t%.2f%%\t%s / %s\t%s / %s\t%d\n"
if s.err != nil {
format = "%s\t%s\t%s / %s\t%s\t%s / %s\t%s / %s\t%s\n"
errStr := "--"
fmt.Fprintf(w, format,
s.Name, errStr, errStr, errStr, errStr, errStr, errStr, errStr, errStr, errStr,
)
err := s.err
return err
}
fmt.Fprintf(w, format,
s.Name,
s.CPUPercentage,
units.BytesSize(s.Memory), units.BytesSize(s.MemoryLimit),
s.MemoryPercentage,
units.HumanSize(s.NetworkRx), units.HumanSize(s.NetworkTx),
units.HumanSize(s.BlockRead), units.HumanSize(s.BlockWrite),
s.PidsCurrent)
return nil
}
func calculateCPUPercent(previousCPU, previousSystem uint64, v *types.StatsJSON) float64 {
var (
cpuPercent = 0.0
// calculate the change for the cpu usage of the container in between readings
cpuDelta = float64(v.CPUStats.CPUUsage.TotalUsage) - float64(previousCPU)
// calculate the change for the entire system between readings
systemDelta = float64(v.CPUStats.SystemUsage) - float64(previousSystem)
)
if systemDelta > 0.0 && cpuDelta > 0.0 {
cpuPercent = (cpuDelta / systemDelta) * float64(len(v.CPUStats.CPUUsage.PercpuUsage)) * 100.0
}
return cpuPercent
}
func calculateBlockIO(blkio types.BlkioStats) (blkRead uint64, blkWrite uint64) {
for _, bioEntry := range blkio.IoServiceBytesRecursive {
switch strings.ToLower(bioEntry.Op) {
case "read":
blkRead = blkRead + bioEntry.Value
case "write":
blkWrite = blkWrite + bioEntry.Value
}
}
return
}
func calculateNetwork(network map[string]types.NetworkStats) (float64, float64) {
var rx, tx float64
for _, v := range network {
rx += float64(v.RxBytes)
tx += float64(v.TxBytes)
}
return rx, tx
}

View File

@@ -1,45 +0,0 @@
package container
import (
"bytes"
"testing"
"github.com/docker/engine-api/types"
)
func TestDisplay(t *testing.T) {
c := &containerStats{
Name: "app",
CPUPercentage: 30.0,
Memory: 100 * 1024 * 1024.0,
MemoryLimit: 2048 * 1024 * 1024.0,
MemoryPercentage: 100.0 / 2048.0 * 100.0,
NetworkRx: 100 * 1024 * 1024,
NetworkTx: 800 * 1024 * 1024,
BlockRead: 100 * 1024 * 1024,
BlockWrite: 800 * 1024 * 1024,
PidsCurrent: 1,
}
var b bytes.Buffer
if err := c.Display(&b); err != nil {
t.Fatalf("c.Display() gave error: %s", err)
}
got := b.String()
want := "app\t30.00%\t100 MiB / 2 GiB\t4.88%\t104.9 MB / 838.9 MB\t104.9 MB / 838.9 MB\t1\n"
if got != want {
t.Fatalf("c.Display() = %q, want %q", got, want)
}
}
func TestCalculBlockIO(t *testing.T) {
blkio := types.BlkioStats{
IoServiceBytesRecursive: []types.BlkioStatEntry{{8, 0, "read", 1234}, {8, 1, "read", 4567}, {8, 0, "write", 123}, {8, 1, "write", 456}},
}
blkRead, blkWrite := calculateBlockIO(blkio)
if blkRead != 5801 {
t.Fatalf("blkRead = %d, want 5801", blkRead)
}
if blkWrite != 579 {
t.Fatalf("blkWrite = %d, want 579", blkWrite)
}
}

View File

@@ -1,56 +0,0 @@
package container
import (
"fmt"
"strings"
"time"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type stopOptions struct {
time int
containers []string
}
// NewStopCommand creats a new cobra.Command for `docker stop`
func NewStopCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts stopOptions
cmd := &cobra.Command{
Use: "stop [OPTIONS] CONTAINER [CONTAINER...]",
Short: "Stop one or more running containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runStop(dockerCli, &opts)
},
}
flags := cmd.Flags()
flags.IntVarP(&opts.time, "time", "t", 10, "Seconds to wait for stop before killing it")
return cmd
}
func runStop(dockerCli *client.DockerCli, opts *stopOptions) error {
ctx := context.Background()
var errs []string
for _, container := range opts.containers {
timeout := time.Duration(opts.time) * time.Second
if err := dockerCli.Client().ContainerStop(ctx, container, &timeout); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", container)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,50 +0,0 @@
package container
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type unpauseOptions struct {
containers []string
}
// NewUnpauseCommand creats a new cobra.Command for `docker unpause`
func NewUnpauseCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts unpauseOptions
cmd := &cobra.Command{
Use: "unpause CONTAINER [CONTAINER...]",
Short: "Unpause all processes within one or more containers",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runUnpause(dockerCli, &opts)
},
}
return cmd
}
func runUnpause(dockerCli *client.DockerCli, opts *unpauseOptions) error {
ctx := context.Background()
var errs []string
for _, container := range opts.containers {
if err := dockerCli.Client().ContainerUnpause(ctx, container); err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%s\n", container)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,22 +0,0 @@
package container
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
clientapi "github.com/docker/engine-api/client"
)
// getExitCode performs an inspect on the container. It returns
// the running state and the exit code.
func getExitCode(dockerCli *client.DockerCli, ctx context.Context, containerID string) (bool, int, error) {
c, err := dockerCli.Client().ContainerInspect(ctx, containerID)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != clientapi.ErrConnectionFailed {
return false, -1, err
}
return false, -1, nil
}
return c.State.Running, c.State.ExitCode, nil
}

View File

@@ -1,44 +0,0 @@
package client
import (
"github.com/docker/docker/cliconfig/configfile"
"github.com/docker/docker/cliconfig/credentials"
"github.com/docker/engine-api/types"
)
// GetCredentials loads the user credentials from a credentials store.
// The store is determined by the config file settings.
func GetCredentials(c *configfile.ConfigFile, serverAddress string) (types.AuthConfig, error) {
s := LoadCredentialsStore(c)
return s.Get(serverAddress)
}
// GetAllCredentials loads all credentials from a credentials store.
// The store is determined by the config file settings.
func GetAllCredentials(c *configfile.ConfigFile) (map[string]types.AuthConfig, error) {
s := LoadCredentialsStore(c)
return s.GetAll()
}
// StoreCredentials saves the user credentials in a credentials store.
// The store is determined by the config file settings.
func StoreCredentials(c *configfile.ConfigFile, auth types.AuthConfig) error {
s := LoadCredentialsStore(c)
return s.Store(auth)
}
// EraseCredentials removes the user credentials from a credentials store.
// The store is determined by the config file settings.
func EraseCredentials(c *configfile.ConfigFile, serverAddress string) error {
s := LoadCredentialsStore(c)
return s.Erase(serverAddress)
}
// LoadCredentialsStore initializes a new credentials store based
// in the settings provided in the configuration file.
func LoadCredentialsStore(c *configfile.ConfigFile) credentials.Store {
if c.CredentialsStore != "" {
return credentials.NewNativeStore(c)
}
return credentials.NewFileStore(c)
}

View File

@@ -1,160 +0,0 @@
package client
import (
"fmt"
"io"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/promise"
"github.com/docker/engine-api/types"
)
// CmdExec runs a command in a running container.
//
// Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
func (cli *DockerCli) CmdExec(args ...string) error {
cmd := Cli.Subcmd("exec", []string{"[OPTIONS] CONTAINER COMMAND [ARG...]"}, Cli.DockerCommands["exec"].Description, true)
detachKeys := cmd.String([]string{"-detach-keys"}, "", "Override the key sequence for detaching a container")
execConfig, err := ParseExec(cmd, args)
container := cmd.Arg(0)
// just in case the ParseExec does not exit
if container == "" || err != nil {
return Cli.StatusError{StatusCode: 1}
}
if *detachKeys != "" {
cli.configFile.DetachKeys = *detachKeys
}
// Send client escape keys
execConfig.DetachKeys = cli.configFile.DetachKeys
ctx := context.Background()
response, err := cli.client.ContainerExecCreate(ctx, container, *execConfig)
if err != nil {
return err
}
execID := response.ID
if execID == "" {
fmt.Fprintf(cli.out, "exec ID empty")
return nil
}
//Temp struct for execStart so that we don't need to transfer all the execConfig
if !execConfig.Detach {
if err := cli.CheckTtyInput(execConfig.AttachStdin, execConfig.Tty); err != nil {
return err
}
} else {
execStartCheck := types.ExecStartCheck{
Detach: execConfig.Detach,
Tty: execConfig.Tty,
}
if err := cli.client.ContainerExecStart(ctx, execID, execStartCheck); err != nil {
return err
}
// For now don't print this - wait for when we support exec wait()
// fmt.Fprintf(cli.out, "%s\n", execID)
return nil
}
// Interactive exec requested.
var (
out, stderr io.Writer
in io.ReadCloser
errCh chan error
)
if execConfig.AttachStdin {
in = cli.in
}
if execConfig.AttachStdout {
out = cli.out
}
if execConfig.AttachStderr {
if execConfig.Tty {
stderr = cli.out
} else {
stderr = cli.err
}
}
resp, err := cli.client.ContainerExecAttach(ctx, execID, *execConfig)
if err != nil {
return err
}
defer resp.Close()
errCh = promise.Go(func() error {
return cli.HoldHijackedConnection(ctx, execConfig.Tty, in, out, stderr, resp)
})
if execConfig.Tty && cli.isTerminalIn {
if err := cli.MonitorTtySize(ctx, execID, true); err != nil {
fmt.Fprintf(cli.err, "Error monitoring TTY size: %s\n", err)
}
}
if err := <-errCh; err != nil {
logrus.Debugf("Error hijack: %s", err)
return err
}
var status int
if _, status, err = cli.getExecExitCode(ctx, execID); err != nil {
return err
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
// ParseExec parses the specified args for the specified command and generates
// an ExecConfig from it.
// If the minimal number of specified args is not right or if specified args are
// not valid, it will return an error.
func ParseExec(cmd *flag.FlagSet, args []string) (*types.ExecConfig, error) {
var (
flStdin = cmd.Bool([]string{"i", "-interactive"}, false, "Keep STDIN open even if not attached")
flTty = cmd.Bool([]string{"t", "-tty"}, false, "Allocate a pseudo-TTY")
flDetach = cmd.Bool([]string{"d", "-detach"}, false, "Detached mode: run command in the background")
flUser = cmd.String([]string{"u", "-user"}, "", "Username or UID (format: <name|uid>[:<group|gid>])")
flPrivileged = cmd.Bool([]string{"-privileged"}, false, "Give extended privileges to the command")
execCmd []string
)
cmd.Require(flag.Min, 2)
if err := cmd.ParseFlags(args, true); err != nil {
return nil, err
}
parsedArgs := cmd.Args()
execCmd = parsedArgs[1:]
execConfig := &types.ExecConfig{
User: *flUser,
Privileged: *flPrivileged,
Tty: *flTty,
Cmd: execCmd,
Detach: *flDetach,
}
// If -d is not set, attach to everything by default
if !*flDetach {
execConfig.AttachStdout = true
execConfig.AttachStderr = true
if *flStdin {
execConfig.AttachStdin = true
}
}
return execConfig, nil
}

View File

@@ -1,122 +0,0 @@
package client
import (
"fmt"
"io/ioutil"
"testing"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/engine-api/types"
)
type arguments struct {
args []string
}
func TestParseExec(t *testing.T) {
invalids := map[*arguments]error{
&arguments{[]string{"-unknown"}}: fmt.Errorf("flag provided but not defined: -unknown"),
&arguments{[]string{"-u"}}: fmt.Errorf("flag needs an argument: -u"),
&arguments{[]string{"--user"}}: fmt.Errorf("flag needs an argument: --user"),
}
valids := map[*arguments]*types.ExecConfig{
&arguments{
[]string{"container", "command"},
}: {
Cmd: []string{"command"},
AttachStdout: true,
AttachStderr: true,
},
&arguments{
[]string{"container", "command1", "command2"},
}: {
Cmd: []string{"command1", "command2"},
AttachStdout: true,
AttachStderr: true,
},
&arguments{
[]string{"-i", "-t", "-u", "uid", "container", "command"},
}: {
User: "uid",
AttachStdin: true,
AttachStdout: true,
AttachStderr: true,
Tty: true,
Cmd: []string{"command"},
},
&arguments{
[]string{"-d", "container", "command"},
}: {
AttachStdin: false,
AttachStdout: false,
AttachStderr: false,
Detach: true,
Cmd: []string{"command"},
},
&arguments{
[]string{"-t", "-i", "-d", "container", "command"},
}: {
AttachStdin: false,
AttachStdout: false,
AttachStderr: false,
Detach: true,
Tty: true,
Cmd: []string{"command"},
},
}
for invalid, expectedError := range invalids {
cmd := flag.NewFlagSet("exec", flag.ContinueOnError)
cmd.ShortUsage = func() {}
cmd.SetOutput(ioutil.Discard)
_, err := ParseExec(cmd, invalid.args)
if err == nil || err.Error() != expectedError.Error() {
t.Fatalf("Expected an error [%v] for %v, got %v", expectedError, invalid, err)
}
}
for valid, expectedExecConfig := range valids {
cmd := flag.NewFlagSet("exec", flag.ContinueOnError)
cmd.ShortUsage = func() {}
cmd.SetOutput(ioutil.Discard)
execConfig, err := ParseExec(cmd, valid.args)
if err != nil {
t.Fatal(err)
}
if !compareExecConfig(expectedExecConfig, execConfig) {
t.Fatalf("Expected [%v] for %v, got [%v]", expectedExecConfig, valid, execConfig)
}
}
}
func compareExecConfig(config1 *types.ExecConfig, config2 *types.ExecConfig) bool {
if config1.AttachStderr != config2.AttachStderr {
return false
}
if config1.AttachStdin != config2.AttachStdin {
return false
}
if config1.AttachStdout != config2.AttachStdout {
return false
}
if config1.Detach != config2.Detach {
return false
}
if config1.Privileged != config2.Privileged {
return false
}
if config1.Tty != config2.Tty {
return false
}
if config1.User != config2.User {
return false
}
if len(config1.Cmd) != len(config2.Cmd) {
return false
}
for index, value := range config1.Cmd {
if value != config2.Cmd[index] {
return false
}
}
return true
}

View File

@@ -1,243 +0,0 @@
package formatter
import (
"fmt"
"strconv"
"strings"
"time"
"github.com/docker/docker/api"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/stringutils"
"github.com/docker/engine-api/types"
"github.com/docker/go-units"
)
const (
tableKey = "table"
containerIDHeader = "CONTAINER ID"
imageHeader = "IMAGE"
namesHeader = "NAMES"
commandHeader = "COMMAND"
createdSinceHeader = "CREATED"
createdAtHeader = "CREATED AT"
runningForHeader = "CREATED"
statusHeader = "STATUS"
portsHeader = "PORTS"
sizeHeader = "SIZE"
labelsHeader = "LABELS"
imageIDHeader = "IMAGE ID"
repositoryHeader = "REPOSITORY"
tagHeader = "TAG"
digestHeader = "DIGEST"
mountsHeader = "MOUNTS"
)
type containerContext struct {
baseSubContext
trunc bool
c types.Container
}
func (c *containerContext) ID() string {
c.addHeader(containerIDHeader)
if c.trunc {
return stringid.TruncateID(c.c.ID)
}
return c.c.ID
}
func (c *containerContext) Names() string {
c.addHeader(namesHeader)
names := stripNamePrefix(c.c.Names)
if c.trunc {
for _, name := range names {
if len(strings.Split(name, "/")) == 1 {
names = []string{name}
break
}
}
}
return strings.Join(names, ",")
}
func (c *containerContext) Image() string {
c.addHeader(imageHeader)
if c.c.Image == "" {
return "<no image>"
}
if c.trunc {
if trunc := stringid.TruncateID(c.c.ImageID); trunc == stringid.TruncateID(c.c.Image) {
return trunc
}
}
return c.c.Image
}
func (c *containerContext) Command() string {
c.addHeader(commandHeader)
command := c.c.Command
if c.trunc {
command = stringutils.Truncate(command, 20)
}
return strconv.Quote(command)
}
func (c *containerContext) CreatedAt() string {
c.addHeader(createdAtHeader)
return time.Unix(int64(c.c.Created), 0).String()
}
func (c *containerContext) RunningFor() string {
c.addHeader(runningForHeader)
createdAt := time.Unix(int64(c.c.Created), 0)
return units.HumanDuration(time.Now().UTC().Sub(createdAt))
}
func (c *containerContext) Ports() string {
c.addHeader(portsHeader)
return api.DisplayablePorts(c.c.Ports)
}
func (c *containerContext) Status() string {
c.addHeader(statusHeader)
return c.c.Status
}
func (c *containerContext) Size() string {
c.addHeader(sizeHeader)
srw := units.HumanSize(float64(c.c.SizeRw))
sv := units.HumanSize(float64(c.c.SizeRootFs))
sf := srw
if c.c.SizeRootFs > 0 {
sf = fmt.Sprintf("%s (virtual %s)", srw, sv)
}
return sf
}
func (c *containerContext) Labels() string {
c.addHeader(labelsHeader)
if c.c.Labels == nil {
return ""
}
var joinLabels []string
for k, v := range c.c.Labels {
joinLabels = append(joinLabels, fmt.Sprintf("%s=%s", k, v))
}
return strings.Join(joinLabels, ",")
}
func (c *containerContext) Label(name string) string {
n := strings.Split(name, ".")
r := strings.NewReplacer("-", " ", "_", " ")
h := r.Replace(n[len(n)-1])
c.addHeader(h)
if c.c.Labels == nil {
return ""
}
return c.c.Labels[name]
}
func (c *containerContext) Mounts() string {
c.addHeader(mountsHeader)
var name string
var mounts []string
for _, m := range c.c.Mounts {
if m.Name == "" {
name = m.Source
} else {
name = m.Name
}
if c.trunc {
name = stringutils.Truncate(name, 15)
}
mounts = append(mounts, name)
}
return strings.Join(mounts, ",")
}
type imageContext struct {
baseSubContext
trunc bool
i types.Image
repo string
tag string
digest string
}
func (c *imageContext) ID() string {
c.addHeader(imageIDHeader)
if c.trunc {
return stringid.TruncateID(c.i.ID)
}
return c.i.ID
}
func (c *imageContext) Repository() string {
c.addHeader(repositoryHeader)
return c.repo
}
func (c *imageContext) Tag() string {
c.addHeader(tagHeader)
return c.tag
}
func (c *imageContext) Digest() string {
c.addHeader(digestHeader)
return c.digest
}
func (c *imageContext) CreatedSince() string {
c.addHeader(createdSinceHeader)
createdAt := time.Unix(int64(c.i.Created), 0)
return units.HumanDuration(time.Now().UTC().Sub(createdAt))
}
func (c *imageContext) CreatedAt() string {
c.addHeader(createdAtHeader)
return time.Unix(int64(c.i.Created), 0).String()
}
func (c *imageContext) Size() string {
c.addHeader(sizeHeader)
return units.HumanSize(float64(c.i.Size))
}
type subContext interface {
fullHeader() string
addHeader(header string)
}
type baseSubContext struct {
header []string
}
func (c *baseSubContext) fullHeader() string {
if c.header == nil {
return ""
}
return strings.Join(c.header, "\t")
}
func (c *baseSubContext) addHeader(header string) {
if c.header == nil {
c.header = []string{}
}
c.header = append(c.header, strings.ToUpper(header))
}
func stripNamePrefix(ss []string) []string {
sss := make([]string, len(ss))
for i, s := range ss {
sss[i] = s[1:]
}
return sss
}

View File

@@ -1,192 +0,0 @@
package formatter
import (
"reflect"
"strings"
"testing"
"time"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/engine-api/types"
)
func TestContainerPsContext(t *testing.T) {
containerID := stringid.GenerateRandomID()
unix := time.Now().Add(-65 * time.Second).Unix()
var ctx containerContext
cases := []struct {
container types.Container
trunc bool
expValue string
expHeader string
call func() string
}{
{types.Container{ID: containerID}, true, stringid.TruncateID(containerID), containerIDHeader, ctx.ID},
{types.Container{ID: containerID}, false, containerID, containerIDHeader, ctx.ID},
{types.Container{Names: []string{"/foobar_baz"}}, true, "foobar_baz", namesHeader, ctx.Names},
{types.Container{Image: "ubuntu"}, true, "ubuntu", imageHeader, ctx.Image},
{types.Container{Image: "verylongimagename"}, true, "verylongimagename", imageHeader, ctx.Image},
{types.Container{Image: "verylongimagename"}, false, "verylongimagename", imageHeader, ctx.Image},
{types.Container{
Image: "a5a665ff33eced1e0803148700880edab4",
ImageID: "a5a665ff33eced1e0803148700880edab4269067ed77e27737a708d0d293fbf5",
},
true,
"a5a665ff33ec",
imageHeader,
ctx.Image,
},
{types.Container{
Image: "a5a665ff33eced1e0803148700880edab4",
ImageID: "a5a665ff33eced1e0803148700880edab4269067ed77e27737a708d0d293fbf5",
},
false,
"a5a665ff33eced1e0803148700880edab4",
imageHeader,
ctx.Image,
},
{types.Container{Image: ""}, true, "<no image>", imageHeader, ctx.Image},
{types.Container{Command: "sh -c 'ls -la'"}, true, `"sh -c 'ls -la'"`, commandHeader, ctx.Command},
{types.Container{Created: unix}, true, time.Unix(unix, 0).String(), createdAtHeader, ctx.CreatedAt},
{types.Container{Ports: []types.Port{{PrivatePort: 8080, PublicPort: 8080, Type: "tcp"}}}, true, "8080/tcp", portsHeader, ctx.Ports},
{types.Container{Status: "RUNNING"}, true, "RUNNING", statusHeader, ctx.Status},
{types.Container{SizeRw: 10}, true, "10 B", sizeHeader, ctx.Size},
{types.Container{SizeRw: 10, SizeRootFs: 20}, true, "10 B (virtual 20 B)", sizeHeader, ctx.Size},
{types.Container{}, true, "", labelsHeader, ctx.Labels},
{types.Container{Labels: map[string]string{"cpu": "6", "storage": "ssd"}}, true, "cpu=6,storage=ssd", labelsHeader, ctx.Labels},
{types.Container{Created: unix}, true, "About a minute", runningForHeader, ctx.RunningFor},
}
for _, c := range cases {
ctx = containerContext{c: c.container, trunc: c.trunc}
v := c.call()
if strings.Contains(v, ",") {
compareMultipleValues(t, v, c.expValue)
} else if v != c.expValue {
t.Fatalf("Expected %s, was %s\n", c.expValue, v)
}
h := ctx.fullHeader()
if h != c.expHeader {
t.Fatalf("Expected %s, was %s\n", c.expHeader, h)
}
}
c1 := types.Container{Labels: map[string]string{"com.docker.swarm.swarm-id": "33", "com.docker.swarm.node_name": "ubuntu"}}
ctx = containerContext{c: c1, trunc: true}
sid := ctx.Label("com.docker.swarm.swarm-id")
node := ctx.Label("com.docker.swarm.node_name")
if sid != "33" {
t.Fatalf("Expected 33, was %s\n", sid)
}
if node != "ubuntu" {
t.Fatalf("Expected ubuntu, was %s\n", node)
}
h := ctx.fullHeader()
if h != "SWARM ID\tNODE NAME" {
t.Fatalf("Expected %s, was %s\n", "SWARM ID\tNODE NAME", h)
}
c2 := types.Container{}
ctx = containerContext{c: c2, trunc: true}
label := ctx.Label("anything.really")
if label != "" {
t.Fatalf("Expected an empty string, was %s", label)
}
ctx = containerContext{c: c2, trunc: true}
fullHeader := ctx.fullHeader()
if fullHeader != "" {
t.Fatalf("Expected fullHeader to be empty, was %s", fullHeader)
}
}
func TestImagesContext(t *testing.T) {
imageID := stringid.GenerateRandomID()
unix := time.Now().Unix()
var ctx imageContext
cases := []struct {
imageCtx imageContext
expValue string
expHeader string
call func() string
}{
{imageContext{
i: types.Image{ID: imageID},
trunc: true,
}, stringid.TruncateID(imageID), imageIDHeader, ctx.ID},
{imageContext{
i: types.Image{ID: imageID},
trunc: false,
}, imageID, imageIDHeader, ctx.ID},
{imageContext{
i: types.Image{Size: 10},
trunc: true,
}, "10 B", sizeHeader, ctx.Size},
{imageContext{
i: types.Image{Created: unix},
trunc: true,
}, time.Unix(unix, 0).String(), createdAtHeader, ctx.CreatedAt},
// FIXME
// {imageContext{
// i: types.Image{Created: unix},
// trunc: true,
// }, units.HumanDuration(time.Unix(unix, 0)), createdSinceHeader, ctx.CreatedSince},
{imageContext{
i: types.Image{},
repo: "busybox",
}, "busybox", repositoryHeader, ctx.Repository},
{imageContext{
i: types.Image{},
tag: "latest",
}, "latest", tagHeader, ctx.Tag},
{imageContext{
i: types.Image{},
digest: "sha256:d149ab53f8718e987c3a3024bb8aa0e2caadf6c0328f1d9d850b2a2a67f2819a",
}, "sha256:d149ab53f8718e987c3a3024bb8aa0e2caadf6c0328f1d9d850b2a2a67f2819a", digestHeader, ctx.Digest},
}
for _, c := range cases {
ctx = c.imageCtx
v := c.call()
if strings.Contains(v, ",") {
compareMultipleValues(t, v, c.expValue)
} else if v != c.expValue {
t.Fatalf("Expected %s, was %s\n", c.expValue, v)
}
h := ctx.fullHeader()
if h != c.expHeader {
t.Fatalf("Expected %s, was %s\n", c.expHeader, h)
}
}
}
func compareMultipleValues(t *testing.T, value, expected string) {
// comma-separated values means probably a map input, which won't
// be guaranteed to have the same order as our expected value
// We'll create maps and use reflect.DeepEquals to check instead:
entriesMap := make(map[string]string)
expMap := make(map[string]string)
entries := strings.Split(value, ",")
expectedEntries := strings.Split(expected, ",")
for _, entry := range entries {
keyval := strings.Split(entry, "=")
entriesMap[keyval[0]] = keyval[1]
}
for _, expected := range expectedEntries {
keyval := strings.Split(expected, "=")
expMap[keyval[0]] = keyval[1]
}
if !reflect.DeepEqual(expMap, entriesMap) {
t.Fatalf("Expected entries: %v, got: %v", expected, value)
}
}

View File

@@ -1,307 +0,0 @@
package formatter
import (
"bytes"
"fmt"
"io"
"strings"
"text/tabwriter"
"text/template"
"github.com/docker/docker/reference"
"github.com/docker/docker/utils/templates"
"github.com/docker/engine-api/types"
)
const (
tableFormatKey = "table"
rawFormatKey = "raw"
defaultContainerTableFormat = "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.RunningFor}} ago\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
defaultImageTableFormat = "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedSince}} ago\t{{.Size}}"
defaultImageTableFormatWithDigest = "table {{.Repository}}\t{{.Tag}}\t{{.Digest}}\t{{.ID}}\t{{.CreatedSince}} ago\t{{.Size}}"
defaultQuietFormat = "{{.ID}}"
)
// Context contains information required by the formatter to print the output as desired.
type Context struct {
// Output is the output stream to which the formatted string is written.
Output io.Writer
// Format is used to choose raw, table or custom format for the output.
Format string
// Quiet when set to true will simply print minimal information.
Quiet bool
// Trunc when set to true will truncate the output of certain fields such as Container ID.
Trunc bool
// internal element
table bool
finalFormat string
header string
buffer *bytes.Buffer
}
func (c *Context) preformat() {
c.finalFormat = c.Format
if strings.HasPrefix(c.Format, tableKey) {
c.table = true
c.finalFormat = c.finalFormat[len(tableKey):]
}
c.finalFormat = strings.Trim(c.finalFormat, " ")
r := strings.NewReplacer(`\t`, "\t", `\n`, "\n")
c.finalFormat = r.Replace(c.finalFormat)
}
func (c *Context) parseFormat() (*template.Template, error) {
tmpl, err := templates.Parse(c.finalFormat)
if err != nil {
c.buffer.WriteString(fmt.Sprintf("Template parsing error: %v\n", err))
c.buffer.WriteTo(c.Output)
}
return tmpl, err
}
func (c *Context) postformat(tmpl *template.Template, subContext subContext) {
if c.table {
if len(c.header) == 0 {
// if we still don't have a header, we didn't have any containers so we need to fake it to get the right headers from the template
tmpl.Execute(bytes.NewBufferString(""), subContext)
c.header = subContext.fullHeader()
}
t := tabwriter.NewWriter(c.Output, 20, 1, 3, ' ', 0)
t.Write([]byte(c.header))
t.Write([]byte("\n"))
c.buffer.WriteTo(t)
t.Flush()
} else {
c.buffer.WriteTo(c.Output)
}
}
func (c *Context) contextFormat(tmpl *template.Template, subContext subContext) error {
if err := tmpl.Execute(c.buffer, subContext); err != nil {
c.buffer = bytes.NewBufferString(fmt.Sprintf("Template parsing error: %v\n", err))
c.buffer.WriteTo(c.Output)
return err
}
if c.table && len(c.header) == 0 {
c.header = subContext.fullHeader()
}
c.buffer.WriteString("\n")
return nil
}
// ContainerContext contains container specific information required by the formater, encapsulate a Context struct.
type ContainerContext struct {
Context
// Size when set to true will display the size of the output.
Size bool
// Containers
Containers []types.Container
}
// ImageContext contains image specific information required by the formater, encapsulate a Context struct.
type ImageContext struct {
Context
Digest bool
// Images
Images []types.Image
}
func (ctx ContainerContext) Write() {
switch ctx.Format {
case tableFormatKey:
if ctx.Quiet {
ctx.Format = defaultQuietFormat
} else {
ctx.Format = defaultContainerTableFormat
if ctx.Size {
ctx.Format += `\t{{.Size}}`
}
}
case rawFormatKey:
if ctx.Quiet {
ctx.Format = `container_id: {{.ID}}`
} else {
ctx.Format = `container_id: {{.ID}}\nimage: {{.Image}}\ncommand: {{.Command}}\ncreated_at: {{.CreatedAt}}\nstatus: {{.Status}}\nnames: {{.Names}}\nlabels: {{.Labels}}\nports: {{.Ports}}\n`
if ctx.Size {
ctx.Format += `size: {{.Size}}\n`
}
}
}
ctx.buffer = bytes.NewBufferString("")
ctx.preformat()
tmpl, err := ctx.parseFormat()
if err != nil {
return
}
for _, container := range ctx.Containers {
containerCtx := &containerContext{
trunc: ctx.Trunc,
c: container,
}
err = ctx.contextFormat(tmpl, containerCtx)
if err != nil {
return
}
}
ctx.postformat(tmpl, &containerContext{})
}
func isDangling(image types.Image) bool {
return len(image.RepoTags) == 1 && image.RepoTags[0] == "<none>:<none>" && len(image.RepoDigests) == 1 && image.RepoDigests[0] == "<none>@<none>"
}
func (ctx ImageContext) Write() {
switch ctx.Format {
case tableFormatKey:
ctx.Format = defaultImageTableFormat
if ctx.Digest {
ctx.Format = defaultImageTableFormatWithDigest
}
if ctx.Quiet {
ctx.Format = defaultQuietFormat
}
case rawFormatKey:
if ctx.Quiet {
ctx.Format = `image_id: {{.ID}}`
} else {
if ctx.Digest {
ctx.Format = `repository: {{ .Repository }}
tag: {{.Tag}}
digest: {{.Digest}}
image_id: {{.ID}}
created_at: {{.CreatedAt}}
virtual_size: {{.Size}}
`
} else {
ctx.Format = `repository: {{ .Repository }}
tag: {{.Tag}}
image_id: {{.ID}}
created_at: {{.CreatedAt}}
virtual_size: {{.Size}}
`
}
}
}
ctx.buffer = bytes.NewBufferString("")
ctx.preformat()
if ctx.table && ctx.Digest && !strings.Contains(ctx.Format, "{{.Digest}}") {
ctx.finalFormat += "\t{{.Digest}}"
}
tmpl, err := ctx.parseFormat()
if err != nil {
return
}
for _, image := range ctx.Images {
images := []*imageContext{}
if isDangling(image) {
images = append(images, &imageContext{
trunc: ctx.Trunc,
i: image,
repo: "<none>",
tag: "<none>",
digest: "<none>",
})
} else {
repoTags := map[string][]string{}
repoDigests := map[string][]string{}
for _, refString := range append(image.RepoTags) {
ref, err := reference.ParseNamed(refString)
if err != nil {
continue
}
if nt, ok := ref.(reference.NamedTagged); ok {
repoTags[ref.Name()] = append(repoTags[ref.Name()], nt.Tag())
}
}
for _, refString := range append(image.RepoDigests) {
ref, err := reference.ParseNamed(refString)
if err != nil {
continue
}
if c, ok := ref.(reference.Canonical); ok {
repoDigests[ref.Name()] = append(repoDigests[ref.Name()], c.Digest().String())
}
}
for repo, tags := range repoTags {
digests := repoDigests[repo]
// Do not display digests as their own row
delete(repoDigests, repo)
if !ctx.Digest {
// Ignore digest references, just show tag once
digests = nil
}
for _, tag := range tags {
if len(digests) == 0 {
images = append(images, &imageContext{
trunc: ctx.Trunc,
i: image,
repo: repo,
tag: tag,
digest: "<none>",
})
continue
}
// Display the digests for each tag
for _, dgst := range digests {
images = append(images, &imageContext{
trunc: ctx.Trunc,
i: image,
repo: repo,
tag: tag,
digest: dgst,
})
}
}
}
// Show rows for remaining digest only references
for repo, digests := range repoDigests {
// If digests are displayed, show row per digest
if ctx.Digest {
for _, dgst := range digests {
images = append(images, &imageContext{
trunc: ctx.Trunc,
i: image,
repo: repo,
tag: "<none>",
digest: dgst,
})
}
} else {
images = append(images, &imageContext{
trunc: ctx.Trunc,
i: image,
repo: repo,
tag: "<none>",
})
}
}
}
for _, imageCtx := range images {
err = ctx.contextFormat(tmpl, imageCtx)
if err != nil {
return
}
}
}
ctx.postformat(tmpl, &imageContext{})
}

View File

@@ -1,537 +0,0 @@
package formatter
import (
"bytes"
"fmt"
"testing"
"time"
"github.com/docker/engine-api/types"
)
func TestContainerContextWrite(t *testing.T) {
unixTime := time.Now().AddDate(0, 0, -1).Unix()
expectedTime := time.Unix(unixTime, 0).String()
contexts := []struct {
context ContainerContext
expected string
}{
// Errors
{
ContainerContext{
Context: Context{
Format: "{{InvalidFunction}}",
},
},
`Template parsing error: template: :1: function "InvalidFunction" not defined
`,
},
{
ContainerContext{
Context: Context{
Format: "{{nil}}",
},
},
`Template parsing error: template: :1:2: executing "" at <nil>: nil is not a command
`,
},
// Table Format
{
ContainerContext{
Context: Context{
Format: "table",
},
},
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
containerID1 ubuntu "" 24 hours ago foobar_baz
containerID2 ubuntu "" 24 hours ago foobar_bar
`,
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}",
},
},
"IMAGE\nubuntu\nubuntu\n",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}",
},
Size: true,
},
"IMAGE\nubuntu\nubuntu\n",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}",
Quiet: true,
},
},
"IMAGE\nubuntu\nubuntu\n",
},
{
ContainerContext{
Context: Context{
Format: "table",
Quiet: true,
},
},
"containerID1\ncontainerID2\n",
},
// Raw Format
{
ContainerContext{
Context: Context{
Format: "raw",
},
},
fmt.Sprintf(`container_id: containerID1
image: ubuntu
command: ""
created_at: %s
status:
names: foobar_baz
labels:
ports:
container_id: containerID2
image: ubuntu
command: ""
created_at: %s
status:
names: foobar_bar
labels:
ports:
`, expectedTime, expectedTime),
},
{
ContainerContext{
Context: Context{
Format: "raw",
},
Size: true,
},
fmt.Sprintf(`container_id: containerID1
image: ubuntu
command: ""
created_at: %s
status:
names: foobar_baz
labels:
ports:
size: 0 B
container_id: containerID2
image: ubuntu
command: ""
created_at: %s
status:
names: foobar_bar
labels:
ports:
size: 0 B
`, expectedTime, expectedTime),
},
{
ContainerContext{
Context: Context{
Format: "raw",
Quiet: true,
},
},
"container_id: containerID1\ncontainer_id: containerID2\n",
},
// Custom Format
{
ContainerContext{
Context: Context{
Format: "{{.Image}}",
},
},
"ubuntu\nubuntu\n",
},
{
ContainerContext{
Context: Context{
Format: "{{.Image}}",
},
Size: true,
},
"ubuntu\nubuntu\n",
},
}
for _, context := range contexts {
containers := []types.Container{
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu", Created: unixTime},
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu", Created: unixTime},
}
out := bytes.NewBufferString("")
context.context.Output = out
context.context.Containers = containers
context.context.Write()
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}
func TestContainerContextWriteWithNoContainers(t *testing.T) {
out := bytes.NewBufferString("")
containers := []types.Container{}
contexts := []struct {
context ContainerContext
expected string
}{
{
ContainerContext{
Context: Context{
Format: "{{.Image}}",
Output: out,
},
},
"",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}",
Output: out,
},
},
"IMAGE\n",
},
{
ContainerContext{
Context: Context{
Format: "{{.Image}}",
Output: out,
},
Size: true,
},
"",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}",
Output: out,
},
Size: true,
},
"IMAGE\n",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}\t{{.Size}}",
Output: out,
},
},
"IMAGE SIZE\n",
},
{
ContainerContext{
Context: Context{
Format: "table {{.Image}}\t{{.Size}}",
Output: out,
},
Size: true,
},
"IMAGE SIZE\n",
},
}
for _, context := range contexts {
context.context.Containers = containers
context.context.Write()
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}
func TestImageContextWrite(t *testing.T) {
unixTime := time.Now().AddDate(0, 0, -1).Unix()
expectedTime := time.Unix(unixTime, 0).String()
contexts := []struct {
context ImageContext
expected string
}{
// Errors
{
ImageContext{
Context: Context{
Format: "{{InvalidFunction}}",
},
},
`Template parsing error: template: :1: function "InvalidFunction" not defined
`,
},
{
ImageContext{
Context: Context{
Format: "{{nil}}",
},
},
`Template parsing error: template: :1:2: executing "" at <nil>: nil is not a command
`,
},
// Table Format
{
ImageContext{
Context: Context{
Format: "table",
},
},
`REPOSITORY TAG IMAGE ID CREATED SIZE
image tag1 imageID1 24 hours ago 0 B
image tag2 imageID2 24 hours ago 0 B
<none> <none> imageID3 24 hours ago 0 B
`,
},
{
ImageContext{
Context: Context{
Format: "table {{.Repository}}",
},
},
"REPOSITORY\nimage\nimage\n<none>\n",
},
{
ImageContext{
Context: Context{
Format: "table {{.Repository}}",
},
Digest: true,
},
`REPOSITORY DIGEST
image sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
image <none>
<none> <none>
`,
},
{
ImageContext{
Context: Context{
Format: "table {{.Repository}}",
Quiet: true,
},
},
"REPOSITORY\nimage\nimage\n<none>\n",
},
{
ImageContext{
Context: Context{
Format: "table",
Quiet: true,
},
},
"imageID1\nimageID2\nimageID3\n",
},
{
ImageContext{
Context: Context{
Format: "table",
Quiet: false,
},
Digest: true,
},
`REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
image tag1 sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf imageID1 24 hours ago 0 B
image tag2 <none> imageID2 24 hours ago 0 B
<none> <none> <none> imageID3 24 hours ago 0 B
`,
},
{
ImageContext{
Context: Context{
Format: "table",
Quiet: true,
},
Digest: true,
},
"imageID1\nimageID2\nimageID3\n",
},
// Raw Format
{
ImageContext{
Context: Context{
Format: "raw",
},
},
fmt.Sprintf(`repository: image
tag: tag1
image_id: imageID1
created_at: %s
virtual_size: 0 B
repository: image
tag: tag2
image_id: imageID2
created_at: %s
virtual_size: 0 B
repository: <none>
tag: <none>
image_id: imageID3
created_at: %s
virtual_size: 0 B
`, expectedTime, expectedTime, expectedTime),
},
{
ImageContext{
Context: Context{
Format: "raw",
},
Digest: true,
},
fmt.Sprintf(`repository: image
tag: tag1
digest: sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
image_id: imageID1
created_at: %s
virtual_size: 0 B
repository: image
tag: tag2
digest: <none>
image_id: imageID2
created_at: %s
virtual_size: 0 B
repository: <none>
tag: <none>
digest: <none>
image_id: imageID3
created_at: %s
virtual_size: 0 B
`, expectedTime, expectedTime, expectedTime),
},
{
ImageContext{
Context: Context{
Format: "raw",
Quiet: true,
},
},
`image_id: imageID1
image_id: imageID2
image_id: imageID3
`,
},
// Custom Format
{
ImageContext{
Context: Context{
Format: "{{.Repository}}",
},
},
"image\nimage\n<none>\n",
},
{
ImageContext{
Context: Context{
Format: "{{.Repository}}",
},
Digest: true,
},
"image\nimage\n<none>\n",
},
}
for _, context := range contexts {
images := []types.Image{
{ID: "imageID1", RepoTags: []string{"image:tag1"}, RepoDigests: []string{"image@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"}, Created: unixTime},
{ID: "imageID2", RepoTags: []string{"image:tag2"}, Created: unixTime},
{ID: "imageID3", RepoTags: []string{"<none>:<none>"}, RepoDigests: []string{"<none>@<none>"}, Created: unixTime},
}
out := bytes.NewBufferString("")
context.context.Output = out
context.context.Images = images
context.context.Write()
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}
func TestImageContextWriteWithNoImage(t *testing.T) {
out := bytes.NewBufferString("")
images := []types.Image{}
contexts := []struct {
context ImageContext
expected string
}{
{
ImageContext{
Context: Context{
Format: "{{.Repository}}",
Output: out,
},
},
"",
},
{
ImageContext{
Context: Context{
Format: "table {{.Repository}}",
Output: out,
},
},
"REPOSITORY\n",
},
{
ImageContext{
Context: Context{
Format: "{{.Repository}}",
Output: out,
},
Digest: true,
},
"",
},
{
ImageContext{
Context: Context{
Format: "table {{.Repository}}",
Output: out,
},
Digest: true,
},
"REPOSITORY DIGEST\n",
},
}
for _, context := range contexts {
context.context.Images = images
context.context.Write()
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}

View File

@@ -1,95 +0,0 @@
package client
import (
"io"
"sync"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/engine-api/types"
)
// HoldHijackedConnection handles copying input to and output from streams to the
// connection
func (cli *DockerCli) HoldHijackedConnection(ctx context.Context, tty bool, inputStream io.ReadCloser, outputStream, errorStream io.Writer, resp types.HijackedResponse) error {
var (
err error
restoreOnce sync.Once
)
if inputStream != nil && tty {
if err := cli.setRawTerminal(); err != nil {
return err
}
defer func() {
restoreOnce.Do(func() {
cli.restoreTerminal(inputStream)
})
}()
}
receiveStdout := make(chan error, 1)
if outputStream != nil || errorStream != nil {
go func() {
// When TTY is ON, use regular copy
if tty && outputStream != nil {
_, err = io.Copy(outputStream, resp.Reader)
// we should restore the terminal as soon as possible once connection end
// so any following print messages will be in normal type.
if inputStream != nil {
restoreOnce.Do(func() {
cli.restoreTerminal(inputStream)
})
}
} else {
_, err = stdcopy.StdCopy(outputStream, errorStream, resp.Reader)
}
logrus.Debug("[hijack] End of stdout")
receiveStdout <- err
}()
}
stdinDone := make(chan struct{})
go func() {
if inputStream != nil {
io.Copy(resp.Conn, inputStream)
// we should restore the terminal as soon as possible once connection end
// so any following print messages will be in normal type.
if tty {
restoreOnce.Do(func() {
cli.restoreTerminal(inputStream)
})
}
logrus.Debug("[hijack] End of stdin")
}
if err := resp.CloseWrite(); err != nil {
logrus.Debugf("Couldn't send EOF: %s", err)
}
close(stdinDone)
}()
select {
case err := <-receiveStdout:
if err != nil {
logrus.Debugf("Error receiveStdout: %s", err)
return err
}
case <-stdinDone:
if outputStream != nil || errorStream != nil {
select {
case err := <-receiveStdout:
if err != nil {
logrus.Debugf("Error receiveStdout: %s", err)
return err
}
case <-ctx.Done():
}
}
case <-ctx.Done():
}
return nil
}

View File

@@ -1,70 +0,0 @@
package idresolver
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types/swarm"
)
// IDResolver provides ID to Name resolution.
type IDResolver struct {
client client.APIClient
noResolve bool
cache map[string]string
}
// New creates a new IDResolver.
func New(client client.APIClient, noResolve bool) *IDResolver {
return &IDResolver{
client: client,
noResolve: noResolve,
cache: make(map[string]string),
}
}
func (r *IDResolver) get(ctx context.Context, t interface{}, id string) (string, error) {
switch t.(type) {
case swarm.Node:
node, _, err := r.client.NodeInspectWithRaw(ctx, id)
if err != nil {
return id, nil
}
if node.Spec.Annotations.Name != "" {
return node.Spec.Annotations.Name, nil
}
if node.Description.Hostname != "" {
return node.Description.Hostname, nil
}
return id, nil
case swarm.Service:
service, _, err := r.client.ServiceInspectWithRaw(ctx, id)
if err != nil {
return id, nil
}
return service.Spec.Annotations.Name, nil
default:
return "", fmt.Errorf("unsupported type")
}
}
// Resolve will attempt to resolve an ID to a Name by querying the manager.
// Results are stored into a cache.
// If the `-n` flag is used in the command-line, resolution is disabled.
func (r *IDResolver) Resolve(ctx context.Context, t interface{}, id string) (string, error) {
if r.noResolve {
return id, nil
}
if name, ok := r.cache[id]; ok {
return name, nil
}
name, err := r.get(ctx, t, id)
if err != nil {
return "", err
}
r.cache[id] = name
return name, nil
}

View File

@@ -1,433 +0,0 @@
package image
import (
"archive/tar"
"bufio"
"bytes"
"fmt"
"io"
"os"
"path/filepath"
"regexp"
"runtime"
"golang.org/x/net/context"
"github.com/docker/docker/api"
"github.com/docker/docker/api/client"
"github.com/docker/docker/builder"
"github.com/docker/docker/builder/dockerignore"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/pkg/progress"
"github.com/docker/docker/pkg/streamformatter"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/reference"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container"
"github.com/docker/go-units"
"github.com/spf13/cobra"
)
type buildOptions struct {
context string
dockerfileName string
tags opts.ListOpts
labels opts.ListOpts
buildArgs opts.ListOpts
ulimits *runconfigopts.UlimitOpt
memory string
memorySwap string
shmSize string
cpuShares int64
cpuPeriod int64
cpuQuota int64
cpuSetCpus string
cpuSetMems string
cgroupParent string
isolation string
quiet bool
noCache bool
rm bool
forceRm bool
pull bool
}
// NewBuildCommand creates a new `docker build` command
func NewBuildCommand(dockerCli *client.DockerCli) *cobra.Command {
ulimits := make(map[string]*units.Ulimit)
options := buildOptions{
tags: opts.NewListOpts(validateTag),
buildArgs: opts.NewListOpts(runconfigopts.ValidateEnv),
ulimits: runconfigopts.NewUlimitOpt(&ulimits),
labels: opts.NewListOpts(runconfigopts.ValidateEnv),
}
cmd := &cobra.Command{
Use: "build [OPTIONS] PATH | URL | -",
Short: "Build an image from a Dockerfile",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
options.context = args[0]
return runBuild(dockerCli, options)
},
}
flags := cmd.Flags()
flags.VarP(&options.tags, "tag", "t", "Name and optionally a tag in the 'name:tag' format")
flags.Var(&options.buildArgs, "build-arg", "Set build-time variables")
flags.Var(options.ulimits, "ulimit", "Ulimit options")
flags.StringVarP(&options.dockerfileName, "file", "f", "", "Name of the Dockerfile (Default is 'PATH/Dockerfile')")
flags.StringVarP(&options.memory, "memory", "m", "", "Memory limit")
flags.StringVar(&options.memorySwap, "memory-swap", "", "Swap limit equal to memory plus swap: '-1' to enable unlimited swap")
flags.StringVar(&options.shmSize, "shm-size", "", "Size of /dev/shm, default value is 64MB")
flags.Int64VarP(&options.cpuShares, "cpu-shares", "c", 0, "CPU shares (relative weight)")
flags.Int64Var(&options.cpuPeriod, "cpu-period", 0, "Limit the CPU CFS (Completely Fair Scheduler) period")
flags.Int64Var(&options.cpuQuota, "cpu-quota", 0, "Limit the CPU CFS (Completely Fair Scheduler) quota")
flags.StringVar(&options.cpuSetCpus, "cpuset-cpus", "", "CPUs in which to allow execution (0-3, 0,1)")
flags.StringVar(&options.cpuSetMems, "cpuset-mems", "", "MEMs in which to allow execution (0-3, 0,1)")
flags.StringVar(&options.cgroupParent, "cgroup-parent", "", "Optional parent cgroup for the container")
flags.StringVar(&options.isolation, "isolation", "", "Container isolation technology")
flags.Var(&options.labels, "label", "Set metadata for an image")
flags.BoolVar(&options.noCache, "no-cache", false, "Do not use cache when building the image")
flags.BoolVar(&options.rm, "rm", true, "Remove intermediate containers after a successful build")
flags.BoolVar(&options.forceRm, "force-rm", false, "Always remove intermediate containers")
flags.BoolVarP(&options.quiet, "quiet", "q", false, "Suppress the build output and print image ID on success")
flags.BoolVar(&options.pull, "pull", false, "Always attempt to pull a newer version of the image")
client.AddTrustedFlags(flags, true)
return cmd
}
func runBuild(dockerCli *client.DockerCli, options buildOptions) error {
var (
buildCtx io.ReadCloser
err error
)
specifiedContext := options.context
var (
contextDir string
tempDir string
relDockerfile string
progBuff io.Writer
buildBuff io.Writer
)
progBuff = dockerCli.Out()
buildBuff = dockerCli.Out()
if options.quiet {
progBuff = bytes.NewBuffer(nil)
buildBuff = bytes.NewBuffer(nil)
}
switch {
case specifiedContext == "-":
buildCtx, relDockerfile, err = builder.GetContextFromReader(dockerCli.In(), options.dockerfileName)
case urlutil.IsGitURL(specifiedContext):
tempDir, relDockerfile, err = builder.GetContextFromGitURL(specifiedContext, options.dockerfileName)
case urlutil.IsURL(specifiedContext):
buildCtx, relDockerfile, err = builder.GetContextFromURL(progBuff, specifiedContext, options.dockerfileName)
default:
contextDir, relDockerfile, err = builder.GetContextFromLocalDir(specifiedContext, options.dockerfileName)
}
if err != nil {
if options.quiet && urlutil.IsURL(specifiedContext) {
fmt.Fprintln(dockerCli.Err(), progBuff)
}
return fmt.Errorf("unable to prepare context: %s", err)
}
if tempDir != "" {
defer os.RemoveAll(tempDir)
contextDir = tempDir
}
if buildCtx == nil {
// And canonicalize dockerfile name to a platform-independent one
relDockerfile, err = archive.CanonicalTarNameForPath(relDockerfile)
if err != nil {
return fmt.Errorf("cannot canonicalize dockerfile path %s: %v", relDockerfile, err)
}
f, err := os.Open(filepath.Join(contextDir, ".dockerignore"))
if err != nil && !os.IsNotExist(err) {
return err
}
var excludes []string
if err == nil {
excludes, err = dockerignore.ReadAll(f)
if err != nil {
return err
}
}
if err := builder.ValidateContextDirectory(contextDir, excludes); err != nil {
return fmt.Errorf("Error checking context: '%s'.", err)
}
// If .dockerignore mentions .dockerignore or the Dockerfile
// then make sure we send both files over to the daemon
// because Dockerfile is, obviously, needed no matter what, and
// .dockerignore is needed to know if either one needs to be
// removed. The daemon will remove them for us, if needed, after it
// parses the Dockerfile. Ignore errors here, as they will have been
// caught by validateContextDirectory above.
var includes = []string{"."}
keepThem1, _ := fileutils.Matches(".dockerignore", excludes)
keepThem2, _ := fileutils.Matches(relDockerfile, excludes)
if keepThem1 || keepThem2 {
includes = append(includes, ".dockerignore", relDockerfile)
}
buildCtx, err = archive.TarWithOptions(contextDir, &archive.TarOptions{
Compression: archive.Uncompressed,
ExcludePatterns: excludes,
IncludeFiles: includes,
})
if err != nil {
return err
}
}
ctx := context.Background()
var resolvedTags []*resolvedTag
if client.IsTrusted() {
// Wrap the tar archive to replace the Dockerfile entry with the rewritten
// Dockerfile which uses trusted pulls.
buildCtx = replaceDockerfileTarWrapper(ctx, buildCtx, relDockerfile, dockerCli.TrustedReference, &resolvedTags)
}
// Setup an upload progress bar
progressOutput := streamformatter.NewStreamFormatter().NewProgressOutput(progBuff, true)
var body io.Reader = progress.NewProgressReader(buildCtx, progressOutput, 0, "", "Sending build context to Docker daemon")
var memory int64
if options.memory != "" {
parsedMemory, err := units.RAMInBytes(options.memory)
if err != nil {
return err
}
memory = parsedMemory
}
var memorySwap int64
if options.memorySwap != "" {
if options.memorySwap == "-1" {
memorySwap = -1
} else {
parsedMemorySwap, err := units.RAMInBytes(options.memorySwap)
if err != nil {
return err
}
memorySwap = parsedMemorySwap
}
}
var shmSize int64
if options.shmSize != "" {
shmSize, err = units.RAMInBytes(options.shmSize)
if err != nil {
return err
}
}
buildOptions := types.ImageBuildOptions{
Memory: memory,
MemorySwap: memorySwap,
Tags: options.tags.GetAll(),
SuppressOutput: options.quiet,
NoCache: options.noCache,
Remove: options.rm,
ForceRemove: options.forceRm,
PullParent: options.pull,
Isolation: container.Isolation(options.isolation),
CPUSetCPUs: options.cpuSetCpus,
CPUSetMems: options.cpuSetMems,
CPUShares: options.cpuShares,
CPUQuota: options.cpuQuota,
CPUPeriod: options.cpuPeriod,
CgroupParent: options.cgroupParent,
Dockerfile: relDockerfile,
ShmSize: shmSize,
Ulimits: options.ulimits.GetList(),
BuildArgs: runconfigopts.ConvertKVStringsToMap(options.buildArgs.GetAll()),
AuthConfigs: dockerCli.RetrieveAuthConfigs(),
Labels: runconfigopts.ConvertKVStringsToMap(options.labels.GetAll()),
}
response, err := dockerCli.Client().ImageBuild(ctx, body, buildOptions)
if err != nil {
return err
}
defer response.Body.Close()
err = jsonmessage.DisplayJSONMessagesStream(response.Body, buildBuff, dockerCli.OutFd(), dockerCli.IsTerminalOut(), nil)
if err != nil {
if jerr, ok := err.(*jsonmessage.JSONError); ok {
// If no error code is set, default to 1
if jerr.Code == 0 {
jerr.Code = 1
}
if options.quiet {
fmt.Fprintf(dockerCli.Err(), "%s%s", progBuff, buildBuff)
}
return cli.StatusError{Status: jerr.Message, StatusCode: jerr.Code}
}
}
// Windows: show error message about modified file permissions if the
// daemon isn't running Windows.
if response.OSType != "windows" && runtime.GOOS == "windows" {
fmt.Fprintln(dockerCli.Err(), `SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.`)
}
// Everything worked so if -q was provided the output from the daemon
// should be just the image ID and we'll print that to stdout.
if options.quiet {
fmt.Fprintf(dockerCli.Out(), "%s", buildBuff)
}
if client.IsTrusted() {
// Since the build was successful, now we must tag any of the resolved
// images from the above Dockerfile rewrite.
for _, resolved := range resolvedTags {
if err := dockerCli.TagTrusted(ctx, resolved.digestRef, resolved.tagRef); err != nil {
return err
}
}
}
return nil
}
type translatorFunc func(context.Context, reference.NamedTagged) (reference.Canonical, error)
// validateTag checks if the given image name can be resolved.
func validateTag(rawRepo string) (string, error) {
_, err := reference.ParseNamed(rawRepo)
if err != nil {
return "", err
}
return rawRepo, nil
}
var dockerfileFromLinePattern = regexp.MustCompile(`(?i)^[\s]*FROM[ \f\r\t\v]+(?P<image>[^ \f\r\t\v\n#]+)`)
// resolvedTag records the repository, tag, and resolved digest reference
// from a Dockerfile rewrite.
type resolvedTag struct {
digestRef reference.Canonical
tagRef reference.NamedTagged
}
// rewriteDockerfileFrom rewrites the given Dockerfile by resolving images in
// "FROM <image>" instructions to a digest reference. `translator` is a
// function that takes a repository name and tag reference and returns a
// trusted digest reference.
func rewriteDockerfileFrom(ctx context.Context, dockerfile io.Reader, translator translatorFunc) (newDockerfile []byte, resolvedTags []*resolvedTag, err error) {
scanner := bufio.NewScanner(dockerfile)
buf := bytes.NewBuffer(nil)
// Scan the lines of the Dockerfile, looking for a "FROM" line.
for scanner.Scan() {
line := scanner.Text()
matches := dockerfileFromLinePattern.FindStringSubmatch(line)
if matches != nil && matches[1] != api.NoBaseImageSpecifier {
// Replace the line with a resolved "FROM repo@digest"
ref, err := reference.ParseNamed(matches[1])
if err != nil {
return nil, nil, err
}
ref = reference.WithDefaultTag(ref)
if ref, ok := ref.(reference.NamedTagged); ok && client.IsTrusted() {
trustedRef, err := translator(ctx, ref)
if err != nil {
return nil, nil, err
}
line = dockerfileFromLinePattern.ReplaceAllLiteralString(line, fmt.Sprintf("FROM %s", trustedRef.String()))
resolvedTags = append(resolvedTags, &resolvedTag{
digestRef: trustedRef,
tagRef: ref,
})
}
}
_, err := fmt.Fprintln(buf, line)
if err != nil {
return nil, nil, err
}
}
return buf.Bytes(), resolvedTags, scanner.Err()
}
// replaceDockerfileTarWrapper wraps the given input tar archive stream and
// replaces the entry with the given Dockerfile name with the contents of the
// new Dockerfile. Returns a new tar archive stream with the replaced
// Dockerfile.
func replaceDockerfileTarWrapper(ctx context.Context, inputTarStream io.ReadCloser, dockerfileName string, translator translatorFunc, resolvedTags *[]*resolvedTag) io.ReadCloser {
pipeReader, pipeWriter := io.Pipe()
go func() {
tarReader := tar.NewReader(inputTarStream)
tarWriter := tar.NewWriter(pipeWriter)
defer inputTarStream.Close()
for {
hdr, err := tarReader.Next()
if err == io.EOF {
// Signals end of archive.
tarWriter.Close()
pipeWriter.Close()
return
}
if err != nil {
pipeWriter.CloseWithError(err)
return
}
var content io.Reader = tarReader
if hdr.Name == dockerfileName {
// This entry is the Dockerfile. Since the tar archive was
// generated from a directory on the local filesystem, the
// Dockerfile will only appear once in the archive.
var newDockerfile []byte
newDockerfile, *resolvedTags, err = rewriteDockerfileFrom(ctx, content, translator)
if err != nil {
pipeWriter.CloseWithError(err)
return
}
hdr.Size = int64(len(newDockerfile))
content = bytes.NewBuffer(newDockerfile)
}
if err := tarWriter.WriteHeader(hdr); err != nil {
pipeWriter.CloseWithError(err)
return
}
if _, err := io.Copy(tarWriter, content); err != nil {
pipeWriter.CloseWithError(err)
return
}
}
}()
return pipeReader
}

View File

@@ -1,103 +0,0 @@
package image
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/formatter"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
"github.com/spf13/cobra"
)
type imagesOptions struct {
matchName string
quiet bool
all bool
noTrunc bool
showDigests bool
format string
filter []string
}
// NewImagesCommand create a new `docker images` command
func NewImagesCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts imagesOptions
cmd := &cobra.Command{
Use: "images [OPTIONS] [REPOSITORY[:TAG]]",
Short: "List images",
Args: cli.RequiresMaxArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) > 0 {
opts.matchName = args[0]
}
return runImages(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only show numeric IDs")
flags.BoolVarP(&opts.all, "all", "a", false, "Show all images (default hides intermediate images)")
flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Don't truncate output")
flags.BoolVar(&opts.showDigests, "digests", false, "Show digests")
flags.StringVar(&opts.format, "format", "", "Pretty-print images using a Go template")
flags.StringSliceVarP(&opts.filter, "filter", "f", []string{}, "Filter output based on conditions provided")
return cmd
}
func runImages(dockerCli *client.DockerCli, opts imagesOptions) error {
ctx := context.Background()
// Consolidate all filter flags, and sanity check them early.
// They'll get process in the daemon/server.
imageFilterArgs := filters.NewArgs()
for _, f := range opts.filter {
var err error
imageFilterArgs, err = filters.ParseFlag(f, imageFilterArgs)
if err != nil {
return err
}
}
matchName := opts.matchName
options := types.ImageListOptions{
MatchName: matchName,
All: opts.all,
Filters: imageFilterArgs,
}
images, err := dockerCli.Client().ImageList(ctx, options)
if err != nil {
return err
}
f := opts.format
if len(f) == 0 {
if len(dockerCli.ImagesFormat()) > 0 && !opts.quiet {
f = dockerCli.ImagesFormat()
} else {
f = "table"
}
}
imagesCtx := formatter.ImageContext{
Context: formatter.Context{
Output: dockerCli.Out(),
Format: f,
Quiet: opts.quiet,
Trunc: !opts.noTrunc,
},
Digest: opts.showDigests,
Images: images,
}
imagesCtx.Write()
return nil
}

View File

@@ -1,86 +0,0 @@
package image
import (
"io"
"os"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type importOptions struct {
source string
reference string
changes []string
message string
}
// NewImportCommand creates a new `docker import` command
func NewImportCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts importOptions
cmd := &cobra.Command{
Use: "import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]",
Short: "Import the contents from a tarball to create a filesystem image",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.source = args[0]
if len(args) > 1 {
opts.reference = args[1]
}
return runImport(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringSliceVarP(&opts.changes, "change", "c", []string{}, "Apply Dockerfile instruction to the created image")
flags.StringVarP(&opts.message, "message", "m", "", "Set commit message for imported image")
return cmd
}
func runImport(dockerCli *client.DockerCli, opts importOptions) error {
var (
in io.Reader
srcName = opts.source
)
if opts.source == "-" {
in = dockerCli.In()
} else if !urlutil.IsURL(opts.source) {
srcName = "-"
file, err := os.Open(opts.source)
if err != nil {
return err
}
defer file.Close()
in = file
}
source := types.ImageImportSource{
Source: in,
SourceName: srcName,
}
options := types.ImageImportOptions{
Message: opts.message,
Changes: opts.changes,
}
clnt := dockerCli.Client()
responseBody, err := clnt.ImageImport(context.Background(), source, opts.reference, options)
if err != nil {
return err
}
defer responseBody.Close()
return jsonmessage.DisplayJSONMessagesStream(responseBody, dockerCli.Out(), dockerCli.OutFd(), dockerCli.IsTerminalOut(), nil)
}

View File

@@ -1,67 +0,0 @@
package image
import (
"io"
"os"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/spf13/cobra"
)
type loadOptions struct {
input string
quiet bool
}
// NewLoadCommand creates a new `docker load` command
func NewLoadCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts loadOptions
cmd := &cobra.Command{
Use: "load [OPTIONS]",
Short: "Load an image from a tar archive or STDIN",
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runLoad(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.input, "input", "i", "", "Read from tar archive file, instead of STDIN")
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Suppress the load output")
return cmd
}
func runLoad(dockerCli *client.DockerCli, opts loadOptions) error {
var input io.Reader = dockerCli.In()
if opts.input != "" {
file, err := os.Open(opts.input)
if err != nil {
return err
}
defer file.Close()
input = file
}
if !dockerCli.IsTerminalOut() {
opts.quiet = true
}
response, err := dockerCli.Client().ImageLoad(context.Background(), input, opts.quiet)
if err != nil {
return err
}
defer response.Body.Close()
if response.Body != nil && response.JSON {
return jsonmessage.DisplayJSONMessagesStream(response.Body, dockerCli.Out(), dockerCli.OutFd(), dockerCli.IsTerminalOut(), nil)
}
_, err = io.Copy(dockerCli.Out(), response.Body)
return err
}

View File

@@ -1,85 +0,0 @@
package image
import (
"errors"
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
"github.com/spf13/cobra"
)
type pullOptions struct {
remote string
all bool
}
// NewPullCommand creates a new `docker pull` command
func NewPullCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts pullOptions
cmd := &cobra.Command{
Use: "pull [OPTIONS] NAME[:TAG|@DIGEST]",
Short: "Pull an image or a repository from a registry",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.remote = args[0]
return runPull(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.all, "all-tags", "a", false, "Download all tagged images in the repository")
client.AddTrustedFlags(flags, true)
return cmd
}
func runPull(dockerCli *client.DockerCli, opts pullOptions) error {
distributionRef, err := reference.ParseNamed(opts.remote)
if err != nil {
return err
}
if opts.all && !reference.IsNameOnly(distributionRef) {
return errors.New("tag can't be used with --all-tags/-a")
}
if !opts.all && reference.IsNameOnly(distributionRef) {
distributionRef = reference.WithDefaultTag(distributionRef)
fmt.Fprintf(dockerCli.Out(), "Using default tag: %s\n", reference.DefaultTag)
}
var tag string
switch x := distributionRef.(type) {
case reference.Canonical:
tag = x.Digest().String()
case reference.NamedTagged:
tag = x.Tag()
}
registryRef := registry.ParseReference(tag)
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(distributionRef)
if err != nil {
return err
}
ctx := context.Background()
authConfig := dockerCli.ResolveAuthConfig(ctx, repoInfo.Index)
requestPrivilege := dockerCli.RegistryAuthenticationPrivilegedFunc(repoInfo.Index, "pull")
if client.IsTrusted() && !registryRef.HasDigest() {
// Check if tag is digest
return dockerCli.TrustedPull(ctx, repoInfo, registryRef, authConfig, requestPrivilege)
}
return dockerCli.ImagePullPrivileged(ctx, authConfig, distributionRef.String(), requestPrivilege, opts.all)
}

View File

@@ -1,62 +0,0 @@
package image
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
"github.com/spf13/cobra"
)
// NewPushCommand creates a new `docker push` command
func NewPushCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "push [OPTIONS] NAME[:TAG]",
Short: "Push an image or a repository to a registry",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runPush(dockerCli, args[0])
},
}
flags := cmd.Flags()
client.AddTrustedFlags(flags, true)
return cmd
}
func runPush(dockerCli *client.DockerCli, remote string) error {
ref, err := reference.ParseNamed(remote)
if err != nil {
return err
}
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(ref)
if err != nil {
return err
}
ctx := context.Background()
// Resolve the Auth config relevant for this server
authConfig := dockerCli.ResolveAuthConfig(ctx, repoInfo.Index)
requestPrivilege := dockerCli.RegistryAuthenticationPrivilegedFunc(repoInfo.Index, "push")
if client.IsTrusted() {
return dockerCli.TrustedPush(ctx, repoInfo, ref, authConfig, requestPrivilege)
}
responseBody, err := dockerCli.ImagePushPrivileged(ctx, authConfig, ref.String(), requestPrivilege)
if err != nil {
return err
}
defer responseBody.Close()
return jsonmessage.DisplayJSONMessagesStream(responseBody, dockerCli.Out(), dockerCli.OutFd(), dockerCli.IsTerminalOut(), nil)
}

View File

@@ -1,70 +0,0 @@
package image
import (
"fmt"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type removeOptions struct {
force bool
noPrune bool
}
// NewRemoveCommand create a new `docker remove` command
func NewRemoveCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts removeOptions
cmd := &cobra.Command{
Use: "rmi [OPTIONS] IMAGE [IMAGE...]",
Short: "Remove one or more images",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(dockerCli, opts, args)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.force, "force", "f", false, "Force removal of the image")
flags.BoolVar(&opts.noPrune, "no-prune", false, "Do not delete untagged parents")
return cmd
}
func runRemove(dockerCli *client.DockerCli, opts removeOptions, images []string) error {
client := dockerCli.Client()
ctx := context.Background()
options := types.ImageRemoveOptions{
Force: opts.force,
PruneChildren: !opts.noPrune,
}
var errs []string
for _, image := range images {
dels, err := client.ImageRemove(ctx, image, options)
if err != nil {
errs = append(errs, err.Error())
} else {
for _, del := range dels {
if del.Deleted != "" {
fmt.Fprintf(dockerCli.Out(), "Deleted: %s\n", del.Deleted)
} else {
fmt.Fprintf(dockerCli.Out(), "Untagged: %s\n", del.Untagged)
}
}
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,135 +0,0 @@
package image
import (
"fmt"
"sort"
"strings"
"text/tabwriter"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/stringutils"
"github.com/docker/docker/registry"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
registrytypes "github.com/docker/engine-api/types/registry"
"github.com/spf13/cobra"
)
type searchOptions struct {
term string
noTrunc bool
limit int
filter []string
// Deprecated
stars uint
automated bool
}
// NewSearchCommand create a new `docker search` command
func NewSearchCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts searchOptions
cmd := &cobra.Command{
Use: "search [OPTIONS] TERM",
Short: "Search the Docker Hub for images",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.term = args[0]
return runSearch(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Don't truncate output")
flags.StringSliceVarP(&opts.filter, "filter", "f", []string{}, "Filter output based on conditions provided")
flags.IntVar(&opts.limit, "limit", registry.DefaultSearchLimit, "Max number of search results")
flags.BoolVar(&opts.automated, "automated", false, "Only show automated builds")
flags.UintVarP(&opts.stars, "stars", "s", 0, "Only displays with at least x stars")
flags.MarkDeprecated("automated", "use --filter=automated=true instead")
flags.MarkDeprecated("stars", "use --filter=stars=3 instead")
return cmd
}
func runSearch(dockerCli *client.DockerCli, opts searchOptions) error {
indexInfo, err := registry.ParseSearchIndexInfo(opts.term)
if err != nil {
return err
}
ctx := context.Background()
authConfig := dockerCli.ResolveAuthConfig(ctx, indexInfo)
requestPrivilege := dockerCli.RegistryAuthenticationPrivilegedFunc(indexInfo, "search")
encodedAuth, err := client.EncodeAuthToBase64(authConfig)
if err != nil {
return err
}
searchFilters := filters.NewArgs()
for _, f := range opts.filter {
var err error
searchFilters, err = filters.ParseFlag(f, searchFilters)
if err != nil {
return err
}
}
options := types.ImageSearchOptions{
RegistryAuth: encodedAuth,
PrivilegeFunc: requestPrivilege,
Filters: searchFilters,
Limit: opts.limit,
}
clnt := dockerCli.Client()
unorderedResults, err := clnt.ImageSearch(ctx, opts.term, options)
if err != nil {
return err
}
results := searchResultsByStars(unorderedResults)
sort.Sort(results)
w := tabwriter.NewWriter(dockerCli.Out(), 10, 1, 3, ' ', 0)
fmt.Fprintf(w, "NAME\tDESCRIPTION\tSTARS\tOFFICIAL\tAUTOMATED\n")
for _, res := range results {
// --automated and -s, --stars are deprecated since Docker 1.12
if (opts.automated && !res.IsAutomated) || (int(opts.stars) > res.StarCount) {
continue
}
desc := strings.Replace(res.Description, "\n", " ", -1)
desc = strings.Replace(desc, "\r", " ", -1)
if !opts.noTrunc && len(desc) > 45 {
desc = stringutils.Truncate(desc, 42) + "..."
}
fmt.Fprintf(w, "%s\t%s\t%d\t", res.Name, desc, res.StarCount)
if res.IsOfficial {
fmt.Fprint(w, "[OK]")
}
fmt.Fprint(w, "\t")
if res.IsAutomated {
fmt.Fprint(w, "[OK]")
}
fmt.Fprint(w, "\n")
}
w.Flush()
return nil
}
// SearchResultsByStars sorts search results in descending order by number of stars.
type searchResultsByStars []registrytypes.SearchResult
func (r searchResultsByStars) Len() int { return len(r) }
func (r searchResultsByStars) Swap(i, j int) { r[i], r[j] = r[j], r[i] }
func (r searchResultsByStars) Less(i, j int) bool { return r[j].StarCount < r[i].StarCount }

View File

@@ -1,41 +0,0 @@
package image
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type tagOptions struct {
image string
name string
}
// NewTagCommand create a new `docker tag` command
func NewTagCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts tagOptions
cmd := &cobra.Command{
Use: "tag IMAGE[:TAG] IMAGE[:TAG]",
Short: "Tag an image into a repository",
Args: cli.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.image = args[0]
opts.name = args[1]
return runTag(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.SetInterspersed(false)
return cmd
}
func runTag(dockerCli *client.DockerCli, opts tagOptions) error {
ctx := context.Background()
return dockerCli.Client().ImageTag(ctx, opts.image, opts.name)
}

View File

@@ -1,215 +0,0 @@
package client
import (
"fmt"
"strings"
"time"
"golang.org/x/net/context"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/ioutils"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/utils"
"github.com/docker/engine-api/types/swarm"
"github.com/docker/go-units"
)
// CmdInfo displays system-wide information.
//
// Usage: docker info
func (cli *DockerCli) CmdInfo(args ...string) error {
cmd := Cli.Subcmd("info", nil, Cli.DockerCommands["info"].Description, true)
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
ctx := context.Background()
info, err := cli.client.Info(ctx)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "Containers: %d\n", info.Containers)
fmt.Fprintf(cli.out, " Running: %d\n", info.ContainersRunning)
fmt.Fprintf(cli.out, " Paused: %d\n", info.ContainersPaused)
fmt.Fprintf(cli.out, " Stopped: %d\n", info.ContainersStopped)
fmt.Fprintf(cli.out, "Images: %d\n", info.Images)
ioutils.FprintfIfNotEmpty(cli.out, "Server Version: %s\n", info.ServerVersion)
ioutils.FprintfIfNotEmpty(cli.out, "Storage Driver: %s\n", info.Driver)
if info.DriverStatus != nil {
for _, pair := range info.DriverStatus {
fmt.Fprintf(cli.out, " %s: %s\n", pair[0], pair[1])
// print a warning if devicemapper is using a loopback file
if pair[0] == "Data loop file" {
fmt.Fprintln(cli.err, " WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.")
}
}
}
if info.SystemStatus != nil {
for _, pair := range info.SystemStatus {
fmt.Fprintf(cli.out, "%s: %s\n", pair[0], pair[1])
}
}
ioutils.FprintfIfNotEmpty(cli.out, "Logging Driver: %s\n", info.LoggingDriver)
ioutils.FprintfIfNotEmpty(cli.out, "Cgroup Driver: %s\n", info.CgroupDriver)
fmt.Fprintf(cli.out, "Plugins:\n")
fmt.Fprintf(cli.out, " Volume:")
fmt.Fprintf(cli.out, " %s", strings.Join(info.Plugins.Volume, " "))
fmt.Fprintf(cli.out, "\n")
fmt.Fprintf(cli.out, " Network:")
fmt.Fprintf(cli.out, " %s", strings.Join(info.Plugins.Network, " "))
fmt.Fprintf(cli.out, "\n")
if len(info.Plugins.Authorization) != 0 {
fmt.Fprintf(cli.out, " Authorization:")
fmt.Fprintf(cli.out, " %s", strings.Join(info.Plugins.Authorization, " "))
fmt.Fprintf(cli.out, "\n")
}
fmt.Fprintf(cli.out, "Swarm: %v\n", info.Swarm.LocalNodeState)
if info.Swarm.LocalNodeState != swarm.LocalNodeStateInactive {
fmt.Fprintf(cli.out, " NodeID: %s\n", info.Swarm.NodeID)
if info.Swarm.Error != "" {
fmt.Fprintf(cli.out, " Error: %v\n", info.Swarm.Error)
}
fmt.Fprintf(cli.out, " Is Manager: %v\n", info.Swarm.ControlAvailable)
if info.Swarm.ControlAvailable {
fmt.Fprintf(cli.out, " ClusterID: %s\n", info.Swarm.Cluster.ID)
fmt.Fprintf(cli.out, " Managers: %d\n", info.Swarm.Managers)
fmt.Fprintf(cli.out, " Nodes: %d\n", info.Swarm.Nodes)
fmt.Fprintf(cli.out, " Orchestration:\n")
fmt.Fprintf(cli.out, " Task History Retention Limit: %d\n", info.Swarm.Cluster.Spec.Orchestration.TaskHistoryRetentionLimit)
fmt.Fprintf(cli.out, " Raft:\n")
fmt.Fprintf(cli.out, " Snapshot Interval: %d\n", info.Swarm.Cluster.Spec.Raft.SnapshotInterval)
fmt.Fprintf(cli.out, " Heartbeat Tick: %d\n", info.Swarm.Cluster.Spec.Raft.HeartbeatTick)
fmt.Fprintf(cli.out, " Election Tick: %d\n", info.Swarm.Cluster.Spec.Raft.ElectionTick)
fmt.Fprintf(cli.out, " Dispatcher:\n")
fmt.Fprintf(cli.out, " Heartbeat Period: %s\n", units.HumanDuration(time.Duration(info.Swarm.Cluster.Spec.Dispatcher.HeartbeatPeriod)))
fmt.Fprintf(cli.out, " CA Configuration:\n")
fmt.Fprintf(cli.out, " Expiry Duration: %s\n", units.HumanDuration(info.Swarm.Cluster.Spec.CAConfig.NodeCertExpiry))
if len(info.Swarm.Cluster.Spec.CAConfig.ExternalCAs) > 0 {
fmt.Fprintf(cli.out, " External CAs:\n")
for _, entry := range info.Swarm.Cluster.Spec.CAConfig.ExternalCAs {
fmt.Fprintf(cli.out, " %s: %s\n", entry.Protocol, entry.URL)
}
}
}
fmt.Fprintf(cli.out, " Node Address: %s\n", info.Swarm.NodeAddr)
}
if len(info.Runtimes) > 0 {
fmt.Fprintf(cli.out, "Runtimes:")
for name := range info.Runtimes {
fmt.Fprintf(cli.out, " %s", name)
}
fmt.Fprint(cli.out, "\n")
fmt.Fprintf(cli.out, "Default Runtime: %s\n", info.DefaultRuntime)
}
fmt.Fprintf(cli.out, "Security Options:")
ioutils.FprintfIfNotEmpty(cli.out, " %s", strings.Join(info.SecurityOptions, " "))
fmt.Fprintf(cli.out, "\n")
ioutils.FprintfIfNotEmpty(cli.out, "Kernel Version: %s\n", info.KernelVersion)
ioutils.FprintfIfNotEmpty(cli.out, "Operating System: %s\n", info.OperatingSystem)
ioutils.FprintfIfNotEmpty(cli.out, "OSType: %s\n", info.OSType)
ioutils.FprintfIfNotEmpty(cli.out, "Architecture: %s\n", info.Architecture)
fmt.Fprintf(cli.out, "CPUs: %d\n", info.NCPU)
fmt.Fprintf(cli.out, "Total Memory: %s\n", units.BytesSize(float64(info.MemTotal)))
ioutils.FprintfIfNotEmpty(cli.out, "Name: %s\n", info.Name)
ioutils.FprintfIfNotEmpty(cli.out, "ID: %s\n", info.ID)
fmt.Fprintf(cli.out, "Docker Root Dir: %s\n", info.DockerRootDir)
fmt.Fprintf(cli.out, "Debug Mode (client): %v\n", utils.IsDebugEnabled())
fmt.Fprintf(cli.out, "Debug Mode (server): %v\n", info.Debug)
if info.Debug {
fmt.Fprintf(cli.out, " File Descriptors: %d\n", info.NFd)
fmt.Fprintf(cli.out, " Goroutines: %d\n", info.NGoroutines)
fmt.Fprintf(cli.out, " System Time: %s\n", info.SystemTime)
fmt.Fprintf(cli.out, " EventsListeners: %d\n", info.NEventsListener)
}
ioutils.FprintfIfNotEmpty(cli.out, "Http Proxy: %s\n", info.HTTPProxy)
ioutils.FprintfIfNotEmpty(cli.out, "Https Proxy: %s\n", info.HTTPSProxy)
ioutils.FprintfIfNotEmpty(cli.out, "No Proxy: %s\n", info.NoProxy)
if info.IndexServerAddress != "" {
u := cli.configFile.AuthConfigs[info.IndexServerAddress].Username
if len(u) > 0 {
fmt.Fprintf(cli.out, "Username: %v\n", u)
}
fmt.Fprintf(cli.out, "Registry: %v\n", info.IndexServerAddress)
}
// Only output these warnings if the server does not support these features
if info.OSType != "windows" {
if !info.MemoryLimit {
fmt.Fprintln(cli.err, "WARNING: No memory limit support")
}
if !info.SwapLimit {
fmt.Fprintln(cli.err, "WARNING: No swap limit support")
}
if !info.KernelMemory {
fmt.Fprintln(cli.err, "WARNING: No kernel memory limit support")
}
if !info.OomKillDisable {
fmt.Fprintln(cli.err, "WARNING: No oom kill disable support")
}
if !info.CPUCfsQuota {
fmt.Fprintln(cli.err, "WARNING: No cpu cfs quota support")
}
if !info.CPUCfsPeriod {
fmt.Fprintln(cli.err, "WARNING: No cpu cfs period support")
}
if !info.CPUShares {
fmt.Fprintln(cli.err, "WARNING: No cpu shares support")
}
if !info.CPUSet {
fmt.Fprintln(cli.err, "WARNING: No cpuset support")
}
if !info.IPv4Forwarding {
fmt.Fprintln(cli.err, "WARNING: IPv4 forwarding is disabled")
}
if !info.BridgeNfIptables {
fmt.Fprintln(cli.err, "WARNING: bridge-nf-call-iptables is disabled")
}
if !info.BridgeNfIP6tables {
fmt.Fprintln(cli.err, "WARNING: bridge-nf-call-ip6tables is disabled")
}
}
if info.Labels != nil {
fmt.Fprintln(cli.out, "Labels:")
for _, attribute := range info.Labels {
fmt.Fprintf(cli.out, " %s\n", attribute)
}
}
ioutils.FprintfIfTrue(cli.out, "Experimental: %v\n", info.ExperimentalBuild)
if info.ClusterStore != "" {
fmt.Fprintf(cli.out, "Cluster Store: %s\n", info.ClusterStore)
}
if info.ClusterAdvertise != "" {
fmt.Fprintf(cli.out, "Cluster Advertise: %s\n", info.ClusterAdvertise)
}
if info.RegistryConfig != nil && (len(info.RegistryConfig.InsecureRegistryCIDRs) > 0 || len(info.RegistryConfig.IndexConfigs) > 0) {
fmt.Fprintln(cli.out, "Insecure Registries:")
for _, registry := range info.RegistryConfig.IndexConfigs {
if registry.Secure == false {
fmt.Fprintf(cli.out, " %s\n", registry.Name)
}
}
for _, registry := range info.RegistryConfig.InsecureRegistryCIDRs {
mask, _ := registry.Mask.Size()
fmt.Fprintf(cli.out, " %s/%d\n", registry.IP.String(), mask)
}
}
return nil
}

View File

@@ -1,95 +0,0 @@
package client
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client/inspect"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/engine-api/client"
)
// CmdInspect displays low-level information on one or more containers, images or tasks.
//
// Usage: docker inspect [OPTIONS] CONTAINER|IMAGE|TASK [CONTAINER|IMAGE|TASK...]
func (cli *DockerCli) CmdInspect(args ...string) error {
cmd := Cli.Subcmd("inspect", []string{"[OPTIONS] CONTAINER|IMAGE|TASK [CONTAINER|IMAGE|TASK...]"}, Cli.DockerCommands["inspect"].Description, true)
tmplStr := cmd.String([]string{"f", "-format"}, "", "Format the output using the given go template")
inspectType := cmd.String([]string{"-type"}, "", "Return JSON for specified type, (e.g image, container or task)")
size := cmd.Bool([]string{"s", "-size"}, false, "Display total file sizes if the type is container")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
if *inspectType != "" && *inspectType != "container" && *inspectType != "image" && *inspectType != "task" {
return fmt.Errorf("%q is not a valid value for --type", *inspectType)
}
ctx := context.Background()
var elementSearcher inspect.GetRefFunc
switch *inspectType {
case "container":
elementSearcher = cli.inspectContainers(ctx, *size)
case "image":
elementSearcher = cli.inspectImages(ctx, *size)
case "task":
if *size {
fmt.Fprintln(cli.err, "WARNING: --size ignored for tasks")
}
elementSearcher = cli.inspectTasks(ctx)
default:
elementSearcher = cli.inspectAll(ctx, *size)
}
return inspect.Inspect(cli.out, cmd.Args(), *tmplStr, elementSearcher)
}
func (cli *DockerCli) inspectContainers(ctx context.Context, getSize bool) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
return cli.client.ContainerInspectWithRaw(ctx, ref, getSize)
}
}
func (cli *DockerCli) inspectImages(ctx context.Context, getSize bool) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
return cli.client.ImageInspectWithRaw(ctx, ref, getSize)
}
}
func (cli *DockerCli) inspectTasks(ctx context.Context) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
return cli.client.TaskInspectWithRaw(ctx, ref)
}
}
func (cli *DockerCli) inspectAll(ctx context.Context, getSize bool) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
c, rawContainer, err := cli.client.ContainerInspectWithRaw(ctx, ref, getSize)
if err != nil {
// Search for image with that id if a container doesn't exist.
if client.IsErrContainerNotFound(err) {
i, rawImage, err := cli.client.ImageInspectWithRaw(ctx, ref, getSize)
if err != nil {
if client.IsErrImageNotFound(err) {
// Search for task with that id if an image doesn't exists.
t, rawTask, err := cli.client.TaskInspectWithRaw(ctx, ref)
if err != nil {
return nil, nil, fmt.Errorf("Error: No such image, container or task: %s", ref)
}
if getSize {
fmt.Fprintln(cli.err, "WARNING: --size ignored for tasks")
}
return t, rawTask, nil
}
return nil, nil, err
}
return i, rawImage, nil
}
return nil, nil, err
}
return c, rawContainer, nil
}
}

View File

@@ -1,31 +0,0 @@
package network
import (
"fmt"
"github.com/spf13/cobra"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
)
// NewNetworkCommand returns a cobra command for `network` subcommands
func NewNetworkCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "network",
Short: "Manage Docker networks",
Args: cli.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
},
}
cmd.AddCommand(
newConnectCommand(dockerCli),
newCreateCommand(dockerCli),
newDisconnectCommand(dockerCli),
newInspectCommand(dockerCli),
newListCommand(dockerCli),
newRemoveCommand(dockerCli),
)
return cmd
}

View File

@@ -1,222 +0,0 @@
package network
import (
"fmt"
"net"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/network"
"github.com/spf13/cobra"
)
type createOptions struct {
name string
driver string
driverOpts opts.MapOpts
labels []string
internal bool
ipv6 bool
ipamDriver string
ipamSubnet []string
ipamIPRange []string
ipamGateway []string
ipamAux opts.MapOpts
ipamOpt opts.MapOpts
}
func newCreateCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := createOptions{
driverOpts: *opts.NewMapOpts(nil, nil),
ipamAux: *opts.NewMapOpts(nil, nil),
ipamOpt: *opts.NewMapOpts(nil, nil),
}
cmd := &cobra.Command{
Use: "create [OPTIONS] NETWORK",
Short: "Create a network",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.name = args[0]
return runCreate(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.driver, "driver", "d", "bridge", "Driver to manage the Network")
flags.VarP(&opts.driverOpts, "opt", "o", "Set driver specific options")
flags.StringSliceVar(&opts.labels, "label", []string{}, "Set metadata on a network")
flags.BoolVar(&opts.internal, "internal", false, "Restrict external access to the network")
flags.BoolVar(&opts.ipv6, "ipv6", false, "Enable IPv6 networking")
flags.StringVar(&opts.ipamDriver, "ipam-driver", "default", "IP Address Management Driver")
flags.StringSliceVar(&opts.ipamSubnet, "subnet", []string{}, "Subnet in CIDR format that represents a network segment")
flags.StringSliceVar(&opts.ipamIPRange, "ip-range", []string{}, "Allocate container ip from a sub-range")
flags.StringSliceVar(&opts.ipamGateway, "gateway", []string{}, "IPv4 or IPv6 Gateway for the master subnet")
flags.Var(&opts.ipamAux, "aux-address", "Auxiliary IPv4 or IPv6 addresses used by Network driver")
flags.Var(&opts.ipamOpt, "ipam-opt", "Set IPAM driver specific options")
return cmd
}
func runCreate(dockerCli *client.DockerCli, opts createOptions) error {
client := dockerCli.Client()
ipamCfg, err := consolidateIpam(opts.ipamSubnet, opts.ipamIPRange, opts.ipamGateway, opts.ipamAux.GetAll())
if err != nil {
return err
}
// Construct network create request body
nc := types.NetworkCreate{
Driver: opts.driver,
Options: opts.driverOpts.GetAll(),
IPAM: network.IPAM{
Driver: opts.ipamDriver,
Config: ipamCfg,
Options: opts.ipamOpt.GetAll(),
},
CheckDuplicate: true,
Internal: opts.internal,
EnableIPv6: opts.ipv6,
Labels: runconfigopts.ConvertKVStringsToMap(opts.labels),
}
resp, err := client.NetworkCreate(context.Background(), opts.name, nc)
if err != nil {
return err
}
fmt.Fprintf(dockerCli.Out(), "%s\n", resp.ID)
return nil
}
// Consolidates the ipam configuration as a group from different related configurations
// user can configure network with multiple non-overlapping subnets and hence it is
// possible to correlate the various related parameters and consolidate them.
// consoidateIpam consolidates subnets, ip-ranges, gateways and auxiliary addresses into
// structured ipam data.
func consolidateIpam(subnets, ranges, gateways []string, auxaddrs map[string]string) ([]network.IPAMConfig, error) {
if len(subnets) < len(ranges) || len(subnets) < len(gateways) {
return nil, fmt.Errorf("every ip-range or gateway must have a corresponding subnet")
}
iData := map[string]*network.IPAMConfig{}
// Populate non-overlapping subnets into consolidation map
for _, s := range subnets {
for k := range iData {
ok1, err := subnetMatches(s, k)
if err != nil {
return nil, err
}
ok2, err := subnetMatches(k, s)
if err != nil {
return nil, err
}
if ok1 || ok2 {
return nil, fmt.Errorf("multiple overlapping subnet configuration is not supported")
}
}
iData[s] = &network.IPAMConfig{Subnet: s, AuxAddress: map[string]string{}}
}
// Validate and add valid ip ranges
for _, r := range ranges {
match := false
for _, s := range subnets {
ok, err := subnetMatches(s, r)
if err != nil {
return nil, err
}
if !ok {
continue
}
if iData[s].IPRange != "" {
return nil, fmt.Errorf("cannot configure multiple ranges (%s, %s) on the same subnet (%s)", r, iData[s].IPRange, s)
}
d := iData[s]
d.IPRange = r
match = true
}
if !match {
return nil, fmt.Errorf("no matching subnet for range %s", r)
}
}
// Validate and add valid gateways
for _, g := range gateways {
match := false
for _, s := range subnets {
ok, err := subnetMatches(s, g)
if err != nil {
return nil, err
}
if !ok {
continue
}
if iData[s].Gateway != "" {
return nil, fmt.Errorf("cannot configure multiple gateways (%s, %s) for the same subnet (%s)", g, iData[s].Gateway, s)
}
d := iData[s]
d.Gateway = g
match = true
}
if !match {
return nil, fmt.Errorf("no matching subnet for gateway %s", g)
}
}
// Validate and add aux-addresses
for key, aa := range auxaddrs {
match := false
for _, s := range subnets {
ok, err := subnetMatches(s, aa)
if err != nil {
return nil, err
}
if !ok {
continue
}
iData[s].AuxAddress[key] = aa
match = true
}
if !match {
return nil, fmt.Errorf("no matching subnet for aux-address %s", aa)
}
}
idl := []network.IPAMConfig{}
for _, v := range iData {
idl = append(idl, *v)
}
return idl, nil
}
func subnetMatches(subnet, data string) (bool, error) {
var (
ip net.IP
)
_, s, err := net.ParseCIDR(subnet)
if err != nil {
return false, fmt.Errorf("Invalid subnet %s : %v", s, err)
}
if strings.Contains(data, "/") {
ip, _, err = net.ParseCIDR(data)
if err != nil {
return false, fmt.Errorf("Invalid cidr %s : %v", data, err)
}
} else {
ip = net.ParseIP(data)
}
return s.Contains(ip), nil
}

View File

@@ -1,45 +0,0 @@
package network
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/inspect"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type inspectOptions struct {
format string
names []string
}
func newInspectCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts inspectOptions
cmd := &cobra.Command{
Use: "inspect [OPTIONS] NETWORK [NETWORK...]",
Short: "Display detailed information on one or more networks",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.names = args
return runInspect(dockerCli, opts)
},
}
cmd.Flags().StringVarP(&opts.format, "format", "f", "", "Format the output using the given go template")
return cmd
}
func runInspect(dockerCli *client.DockerCli, opts inspectOptions) error {
client := dockerCli.Client()
ctx := context.Background()
getNetFunc := func(name string) (interface{}, []byte, error) {
return client.NetworkInspectWithRaw(ctx, name)
}
return inspect.Inspect(dockerCli.Out(), opts.names, opts.format, getNetFunc)
}

View File

@@ -1,100 +0,0 @@
package network
import (
"fmt"
"sort"
"text/tabwriter"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
"github.com/spf13/cobra"
)
type byNetworkName []types.NetworkResource
func (r byNetworkName) Len() int { return len(r) }
func (r byNetworkName) Swap(i, j int) { r[i], r[j] = r[j], r[i] }
func (r byNetworkName) Less(i, j int) bool { return r[i].Name < r[j].Name }
type listOptions struct {
quiet bool
noTrunc bool
filter []string
}
func newListCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts listOptions
cmd := &cobra.Command{
Use: "ls [OPTIONS]",
Aliases: []string{"list"},
Short: "List networks",
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runList(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only display network IDs")
flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Do not truncate the output")
flags.StringSliceVarP(&opts.filter, "filter", "f", []string{}, "Provide filter values (i.e. 'dangling=true')")
return cmd
}
func runList(dockerCli *client.DockerCli, opts listOptions) error {
client := dockerCli.Client()
netFilterArgs := filters.NewArgs()
for _, f := range opts.filter {
var err error
netFilterArgs, err = filters.ParseFlag(f, netFilterArgs)
if err != nil {
return err
}
}
options := types.NetworkListOptions{
Filters: netFilterArgs,
}
networkResources, err := client.NetworkList(context.Background(), options)
if err != nil {
return err
}
w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0)
if !opts.quiet {
fmt.Fprintf(w, "NETWORK ID\tNAME\tDRIVER\tSCOPE")
fmt.Fprintf(w, "\n")
}
sort.Sort(byNetworkName(networkResources))
for _, networkResource := range networkResources {
ID := networkResource.ID
netName := networkResource.Name
driver := networkResource.Driver
scope := networkResource.Scope
if !opts.noTrunc {
ID = stringid.TruncateID(ID)
}
if opts.quiet {
fmt.Fprintln(w, ID)
continue
}
fmt.Fprintf(w, "%s\t%s\t%s\t%s\t",
ID,
netName,
driver,
scope)
fmt.Fprint(w, "\n")
}
w.Flush()
return nil
}

View File

@@ -1,43 +0,0 @@
package network
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
func newRemoveCommand(dockerCli *client.DockerCli) *cobra.Command {
return &cobra.Command{
Use: "rm NETWORK [NETWORK...]",
Aliases: []string{"remove"},
Short: "Remove one or more networks",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(dockerCli, args)
},
}
}
func runRemove(dockerCli *client.DockerCli, networks []string) error {
client := dockerCli.Client()
ctx := context.Background()
status := 0
for _, name := range networks {
if err := client.NetworkRemove(ctx, name); err != nil {
fmt.Fprintf(dockerCli.Err(), "%s\n", err)
status = 1
continue
}
fmt.Fprintf(dockerCli.Out(), "%s\n", name)
}
if status != 0 {
return cli.StatusError{StatusCode: status}
}
return nil
}

View File

@@ -1,49 +0,0 @@
package node
import (
"fmt"
"golang.org/x/net/context"
"github.com/spf13/cobra"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
apiclient "github.com/docker/engine-api/client"
)
// NewNodeCommand returns a cobra command for `node` subcommands
func NewNodeCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "node",
Short: "Manage Docker Swarm nodes",
Args: cli.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
},
}
cmd.AddCommand(
newDemoteCommand(dockerCli),
newInspectCommand(dockerCli),
newListCommand(dockerCli),
newPromoteCommand(dockerCli),
newRemoveCommand(dockerCli),
newPSCommand(dockerCli),
newUpdateCommand(dockerCli),
)
return cmd
}
// Reference returns the reference of a node. The special value "self" for a node
// reference is mapped to the current node, hence the node ID is retrieved using
// the `/info` endpoint.
func Reference(client apiclient.APIClient, ctx context.Context, ref string) (string, error) {
if ref == "self" {
info, err := client.Info(ctx)
if err != nil {
return "", err
}
return info.Swarm.NodeID, nil
}
return ref, nil
}

View File

@@ -1,32 +0,0 @@
package node
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types/swarm"
"github.com/spf13/cobra"
)
func newDemoteCommand(dockerCli *client.DockerCli) *cobra.Command {
return &cobra.Command{
Use: "demote NODE [NODE...]",
Short: "Demote one or more nodes from manager in the swarm",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runDemote(dockerCli, args)
},
}
}
func runDemote(dockerCli *client.DockerCli, nodes []string) error {
demote := func(node *swarm.Node) error {
node.Spec.Role = swarm.NodeRoleWorker
return nil
}
success := func(nodeID string) {
fmt.Fprintf(dockerCli.Out(), "Manager %s demoted in the swarm.\n", nodeID)
}
return updateNodes(dockerCli, nodes, demote, success)
}

View File

@@ -1,144 +0,0 @@
package node
import (
"fmt"
"io"
"sort"
"strings"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/inspect"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/engine-api/types/swarm"
"github.com/docker/go-units"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
type inspectOptions struct {
nodeIds []string
format string
pretty bool
}
func newInspectCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts inspectOptions
cmd := &cobra.Command{
Use: "inspect [OPTIONS] self|NODE [NODE...]",
Short: "Display detailed information on one or more nodes",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.nodeIds = args
return runInspect(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.format, "format", "f", "", "Format the output using the given go template")
flags.BoolVar(&opts.pretty, "pretty", false, "Print the information in a human friendly format.")
return cmd
}
func runInspect(dockerCli *client.DockerCli, opts inspectOptions) error {
client := dockerCli.Client()
ctx := context.Background()
getRef := func(ref string) (interface{}, []byte, error) {
nodeRef, err := Reference(client, ctx, ref)
if err != nil {
return nil, nil, err
}
node, _, err := client.NodeInspectWithRaw(ctx, nodeRef)
return node, nil, err
}
if !opts.pretty {
return inspect.Inspect(dockerCli.Out(), opts.nodeIds, opts.format, getRef)
}
return printHumanFriendly(dockerCli.Out(), opts.nodeIds, getRef)
}
func printHumanFriendly(out io.Writer, refs []string, getRef inspect.GetRefFunc) error {
for idx, ref := range refs {
obj, _, err := getRef(ref)
if err != nil {
return err
}
printNode(out, obj.(swarm.Node))
// TODO: better way to do this?
// print extra space between objects, but not after the last one
if idx+1 != len(refs) {
fmt.Fprintf(out, "\n\n")
} else {
fmt.Fprintf(out, "\n")
}
}
return nil
}
// TODO: use a template
func printNode(out io.Writer, node swarm.Node) {
fmt.Fprintf(out, "ID:\t\t\t%s\n", node.ID)
ioutils.FprintfIfNotEmpty(out, "Name:\t\t\t%s\n", node.Spec.Name)
if node.Spec.Labels != nil {
fmt.Fprintln(out, "Labels:")
for k, v := range node.Spec.Labels {
fmt.Fprintf(out, " - %s = %s\n", k, v)
}
}
ioutils.FprintfIfNotEmpty(out, "Hostname:\t\t%s\n", node.Description.Hostname)
fmt.Fprintf(out, "Joined at:\t\t%s\n", client.PrettyPrint(node.CreatedAt))
fmt.Fprintln(out, "Status:")
fmt.Fprintf(out, " State:\t\t\t%s\n", client.PrettyPrint(node.Status.State))
ioutils.FprintfIfNotEmpty(out, " Message:\t\t%s\n", client.PrettyPrint(node.Status.Message))
fmt.Fprintf(out, " Availability:\t\t%s\n", client.PrettyPrint(node.Spec.Availability))
if node.ManagerStatus != nil {
fmt.Fprintln(out, "Manager Status:")
fmt.Fprintf(out, " Address:\t\t%s\n", node.ManagerStatus.Addr)
fmt.Fprintf(out, " Raft Status:\t\t%s\n", client.PrettyPrint(node.ManagerStatus.Reachability))
leader := "No"
if node.ManagerStatus.Leader {
leader = "Yes"
}
fmt.Fprintf(out, " Leader:\t\t%s\n", leader)
}
fmt.Fprintln(out, "Platform:")
fmt.Fprintf(out, " Operating System:\t%s\n", node.Description.Platform.OS)
fmt.Fprintf(out, " Architecture:\t\t%s\n", node.Description.Platform.Architecture)
fmt.Fprintln(out, "Resources:")
fmt.Fprintf(out, " CPUs:\t\t\t%d\n", node.Description.Resources.NanoCPUs/1e9)
fmt.Fprintf(out, " Memory:\t\t%s\n", units.BytesSize(float64(node.Description.Resources.MemoryBytes)))
var pluginTypes []string
pluginNamesByType := map[string][]string{}
for _, p := range node.Description.Engine.Plugins {
// append to pluginTypes only if not done previously
if _, ok := pluginNamesByType[p.Type]; !ok {
pluginTypes = append(pluginTypes, p.Type)
}
pluginNamesByType[p.Type] = append(pluginNamesByType[p.Type], p.Name)
}
if len(pluginTypes) > 0 {
fmt.Fprintln(out, "Plugins:")
sort.Strings(pluginTypes) // ensure stable output
for _, pluginType := range pluginTypes {
fmt.Fprintf(out, " %s:\t\t%s\n", pluginType, strings.Join(pluginNamesByType[pluginType], ", "))
}
}
fmt.Fprintf(out, "Engine Version:\t\t%s\n", node.Description.Engine.EngineVersion)
if len(node.Description.Engine.Labels) != 0 {
fmt.Fprintln(out, "Engine Labels:")
for k, v := range node.Description.Engine.Labels {
fmt.Fprintf(out, " - %s = %s", k, v)
}
}
}

View File

@@ -1,111 +0,0 @@
package node
import (
"fmt"
"io"
"text/tabwriter"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/swarm"
"github.com/spf13/cobra"
)
const (
listItemFmt = "%s\t%s\t%s\t%s\t%s\n"
)
type listOptions struct {
quiet bool
filter opts.FilterOpt
}
func newListCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := listOptions{filter: opts.NewFilterOpt()}
cmd := &cobra.Command{
Use: "ls [OPTIONS]",
Aliases: []string{"list"},
Short: "List nodes in the swarm",
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runList(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only display IDs")
flags.VarP(&opts.filter, "filter", "f", "Filter output based on conditions provided")
return cmd
}
func runList(dockerCli *client.DockerCli, opts listOptions) error {
client := dockerCli.Client()
ctx := context.Background()
nodes, err := client.NodeList(
ctx,
types.NodeListOptions{Filter: opts.filter.Value()})
if err != nil {
return err
}
info, err := client.Info(ctx)
if err != nil {
return err
}
out := dockerCli.Out()
if opts.quiet {
printQuiet(out, nodes)
} else {
printTable(out, nodes, info)
}
return nil
}
func printTable(out io.Writer, nodes []swarm.Node, info types.Info) {
writer := tabwriter.NewWriter(out, 0, 4, 2, ' ', 0)
// Ignore flushing errors
defer writer.Flush()
fmt.Fprintf(writer, listItemFmt, "ID", "HOSTNAME", "STATUS", "AVAILABILITY", "MANAGER STATUS")
for _, node := range nodes {
name := node.Description.Hostname
availability := string(node.Spec.Availability)
reachability := ""
if node.ManagerStatus != nil {
if node.ManagerStatus.Leader {
reachability = "Leader"
} else {
reachability = string(node.ManagerStatus.Reachability)
}
}
ID := node.ID
if node.ID == info.Swarm.NodeID {
ID = ID + " *"
}
fmt.Fprintf(
writer,
listItemFmt,
ID,
name,
client.PrettyPrint(string(node.Status.State)),
client.PrettyPrint(availability),
client.PrettyPrint(reachability))
}
}
func printQuiet(out io.Writer, nodes []swarm.Node) {
for _, node := range nodes {
fmt.Fprintln(out, node.ID)
}
}

View File

@@ -1,60 +0,0 @@
package node
import (
"fmt"
"strings"
"github.com/docker/docker/opts"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types/swarm"
)
type nodeOptions struct {
annotations
role string
availability string
}
type annotations struct {
name string
labels opts.ListOpts
}
func newNodeOptions() *nodeOptions {
return &nodeOptions{
annotations: annotations{
labels: opts.NewListOpts(nil),
},
}
}
func (opts *nodeOptions) ToNodeSpec() (swarm.NodeSpec, error) {
var spec swarm.NodeSpec
spec.Annotations.Name = opts.annotations.name
spec.Annotations.Labels = runconfigopts.ConvertKVStringsToMap(opts.annotations.labels.GetAll())
switch swarm.NodeRole(strings.ToLower(opts.role)) {
case swarm.NodeRoleWorker:
spec.Role = swarm.NodeRoleWorker
case swarm.NodeRoleManager:
spec.Role = swarm.NodeRoleManager
case "":
default:
return swarm.NodeSpec{}, fmt.Errorf("invalid role %q, only worker and manager are supported", opts.role)
}
switch swarm.NodeAvailability(strings.ToLower(opts.availability)) {
case swarm.NodeAvailabilityActive:
spec.Availability = swarm.NodeAvailabilityActive
case swarm.NodeAvailabilityPause:
spec.Availability = swarm.NodeAvailabilityPause
case swarm.NodeAvailabilityDrain:
spec.Availability = swarm.NodeAvailabilityDrain
case "":
default:
return swarm.NodeSpec{}, fmt.Errorf("invalid availability %q, only active, pause and drain are supported", opts.availability)
}
return spec, nil
}

View File

@@ -1,32 +0,0 @@
package node
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types/swarm"
"github.com/spf13/cobra"
)
func newPromoteCommand(dockerCli *client.DockerCli) *cobra.Command {
return &cobra.Command{
Use: "promote NODE [NODE...]",
Short: "Promote one or more nodes to manager in the swarm",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runPromote(dockerCli, args)
},
}
}
func runPromote(dockerCli *client.DockerCli, nodes []string) error {
promote := func(node *swarm.Node) error {
node.Spec.Role = swarm.NodeRoleManager
return nil
}
success := func(nodeID string) {
fmt.Fprintf(dockerCli.Out(), "Node %s promoted to a manager in the swarm.\n", nodeID)
}
return updateNodes(dockerCli, nodes, promote, success)
}

View File

@@ -1,63 +0,0 @@
package node
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/idresolver"
"github.com/docker/docker/api/client/task"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type psOptions struct {
nodeID string
noResolve bool
filter opts.FilterOpt
}
func newPSCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := psOptions{filter: opts.NewFilterOpt()}
cmd := &cobra.Command{
Use: "ps [OPTIONS] self|NODE",
Short: "List tasks running on a node",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.nodeID = args[0]
return runPS(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVar(&opts.noResolve, "no-resolve", false, "Do not map IDs to Names")
flags.VarP(&opts.filter, "filter", "f", "Filter output based on conditions provided")
return cmd
}
func runPS(dockerCli *client.DockerCli, opts psOptions) error {
client := dockerCli.Client()
ctx := context.Background()
nodeRef, err := Reference(client, ctx, opts.nodeID)
if err != nil {
return nil
}
node, _, err := client.NodeInspectWithRaw(ctx, nodeRef)
if err != nil {
return err
}
filter := opts.filter.Value()
filter.Add("node", node.ID)
tasks, err := client.TaskList(
ctx,
types.TaskListOptions{Filter: filter})
if err != nil {
return err
}
return task.Print(dockerCli, ctx, tasks, idresolver.New(client, opts.noResolve))
}

View File

@@ -1,46 +0,0 @@
package node
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type removeOptions struct {
force bool
}
func newRemoveCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := removeOptions{}
cmd := &cobra.Command{
Use: "rm [OPTIONS] NODE [NODE...]",
Aliases: []string{"remove"},
Short: "Remove one or more nodes from the swarm",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(dockerCli, args, opts)
},
}
flags := cmd.Flags()
flags.BoolVar(&opts.force, "force", false, "Force remove an active node")
return cmd
}
func runRemove(dockerCli *client.DockerCli, args []string, opts removeOptions) error {
client := dockerCli.Client()
ctx := context.Background()
for _, nodeID := range args {
err := client.NodeRemove(ctx, nodeID, types.NodeRemoveOptions{Force: opts.force})
if err != nil {
return err
}
fmt.Fprintf(dockerCli.Out(), "%s\n", nodeID)
}
return nil
}

View File

@@ -1,113 +0,0 @@
package node
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types/swarm"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"golang.org/x/net/context"
)
func newUpdateCommand(dockerCli *client.DockerCli) *cobra.Command {
nodeOpts := newNodeOptions()
cmd := &cobra.Command{
Use: "update [OPTIONS] NODE",
Short: "Update a node",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runUpdate(dockerCli, cmd.Flags(), args[0])
},
}
flags := cmd.Flags()
flags.StringVar(&nodeOpts.role, flagRole, "", "Role of the node (worker/manager)")
flags.StringVar(&nodeOpts.availability, flagAvailability, "", "Availability of the node (active/pause/drain)")
flags.Var(&nodeOpts.annotations.labels, flagLabelAdd, "Add or update a node label (key=value)")
labelKeys := opts.NewListOpts(nil)
flags.Var(&labelKeys, flagLabelRemove, "Remove a node label if exists")
return cmd
}
func runUpdate(dockerCli *client.DockerCli, flags *pflag.FlagSet, nodeID string) error {
success := func(_ string) {
fmt.Fprintln(dockerCli.Out(), nodeID)
}
return updateNodes(dockerCli, []string{nodeID}, mergeNodeUpdate(flags), success)
}
func updateNodes(dockerCli *client.DockerCli, nodes []string, mergeNode func(node *swarm.Node) error, success func(nodeID string)) error {
client := dockerCli.Client()
ctx := context.Background()
for _, nodeID := range nodes {
node, _, err := client.NodeInspectWithRaw(ctx, nodeID)
if err != nil {
return err
}
err = mergeNode(&node)
if err != nil {
return err
}
err = client.NodeUpdate(ctx, node.ID, node.Version, node.Spec)
if err != nil {
return err
}
success(nodeID)
}
return nil
}
func mergeNodeUpdate(flags *pflag.FlagSet) func(*swarm.Node) error {
return func(node *swarm.Node) error {
spec := &node.Spec
if flags.Changed(flagRole) {
str, err := flags.GetString(flagRole)
if err != nil {
return err
}
spec.Role = swarm.NodeRole(str)
}
if flags.Changed(flagAvailability) {
str, err := flags.GetString(flagAvailability)
if err != nil {
return err
}
spec.Availability = swarm.NodeAvailability(str)
}
if spec.Annotations.Labels == nil {
spec.Annotations.Labels = make(map[string]string)
}
if flags.Changed(flagLabelAdd) {
labels := flags.Lookup(flagLabelAdd).Value.(*opts.ListOpts).GetAll()
for k, v := range runconfigopts.ConvertKVStringsToMap(labels) {
spec.Annotations.Labels[k] = v
}
}
if flags.Changed(flagLabelRemove) {
keys := flags.Lookup(flagLabelRemove).Value.(*opts.ListOpts).GetAll()
for _, k := range keys {
// if a key doesn't exist, fail the command explicitly
if _, exists := spec.Annotations.Labels[k]; !exists {
return fmt.Errorf("key %s doesn't exist in node's labels", k)
}
delete(spec.Annotations.Labels, k)
}
}
return nil
}
}
const (
flagRole = "role"
flagAvailability = "availability"
flagLabelAdd = "label-add"
flagLabelRemove = "label-rm"
)

View File

@@ -1,12 +0,0 @@
// +build !experimental
package plugin
import (
"github.com/docker/docker/api/client"
"github.com/spf13/cobra"
)
// NewPluginCommand returns a cobra command for `plugin` subcommands
func NewPluginCommand(cmd *cobra.Command, dockerCli *client.DockerCli) {
}

View File

@@ -1,36 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
// NewPluginCommand returns a cobra command for `plugin` subcommands
func NewPluginCommand(rootCmd *cobra.Command, dockerCli *client.DockerCli) {
cmd := &cobra.Command{
Use: "plugin",
Short: "Manage Docker plugins",
Args: cli.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
},
}
cmd.AddCommand(
newDisableCommand(dockerCli),
newEnableCommand(dockerCli),
newInspectCommand(dockerCli),
newInstallCommand(dockerCli),
newListCommand(dockerCli),
newRemoveCommand(dockerCli),
newSetCommand(dockerCli),
newPushCommand(dockerCli),
)
rootCmd.AddCommand(cmd)
}

View File

@@ -1,45 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newDisableCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "disable PLUGIN",
Short: "Disable a plugin",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runDisable(dockerCli, args[0])
},
}
return cmd
}
func runDisable(dockerCli *client.DockerCli, name string) error {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
if err := dockerCli.Client().PluginDisable(context.Background(), ref.String()); err != nil {
return err
}
fmt.Fprintln(dockerCli.Out(), name)
return nil
}

View File

@@ -1,45 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newEnableCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "enable PLUGIN",
Short: "Enable a plugin",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runEnable(dockerCli, args[0])
},
}
return cmd
}
func runEnable(dockerCli *client.DockerCli, name string) error {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
if err := dockerCli.Client().PluginEnable(context.Background(), ref.String()); err != nil {
return err
}
fmt.Fprintln(dockerCli.Out(), name)
return nil
}

View File

@@ -1,52 +0,0 @@
// +build experimental
package plugin
import (
"encoding/json"
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newInspectCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "inspect PLUGIN",
Short: "Inspect a plugin",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runInspect(dockerCli, args[0])
},
}
return cmd
}
func runInspect(dockerCli *client.DockerCli, name string) error {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
p, err := dockerCli.Client().PluginInspect(context.Background(), ref.String())
if err != nil {
return err
}
b, err := json.MarshalIndent(p, "", "\t")
if err != nil {
return err
}
_, err = dockerCli.Out().Write(b)
return err
}

View File

@@ -1,103 +0,0 @@
// +build experimental
package plugin
import (
"bufio"
"fmt"
"strings"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
type pluginOptions struct {
name string
grantPerms bool
disable bool
}
func newInstallCommand(dockerCli *client.DockerCli) *cobra.Command {
var options pluginOptions
cmd := &cobra.Command{
Use: "install [OPTIONS] PLUGIN",
Short: "Install a plugin",
Args: cli.ExactArgs(1), // TODO: allow for set args
RunE: func(cmd *cobra.Command, args []string) error {
options.name = args[0]
return runInstall(dockerCli, options)
},
}
flags := cmd.Flags()
flags.BoolVar(&options.grantPerms, "grant-all-permissions", false, "grant all permissions necessary to run the plugin")
flags.BoolVar(&options.disable, "disable", false, "do not enable the plugin on install")
return cmd
}
func runInstall(dockerCli *client.DockerCli, opts pluginOptions) error {
named, err := reference.ParseNamed(opts.name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
ctx := context.Background()
repoInfo, err := registry.ParseRepositoryInfo(named)
if err != nil {
return err
}
authConfig := dockerCli.ResolveAuthConfig(ctx, repoInfo.Index)
encodedAuth, err := client.EncodeAuthToBase64(authConfig)
if err != nil {
return err
}
registryAuthFunc := dockerCli.RegistryAuthenticationPrivilegedFunc(repoInfo.Index, "plugin install")
options := types.PluginInstallOptions{
RegistryAuth: encodedAuth,
Disabled: opts.disable,
AcceptAllPermissions: opts.grantPerms,
AcceptPermissionsFunc: acceptPrivileges(dockerCli, opts.name),
// TODO: Rename PrivilegeFunc, it has nothing to do with privileges
PrivilegeFunc: registryAuthFunc,
}
if err := dockerCli.Client().PluginInstall(ctx, ref.String(), options); err != nil {
return err
}
fmt.Fprintln(dockerCli.Out(), opts.name)
return nil
}
func acceptPrivileges(dockerCli *client.DockerCli, name string) func(privileges types.PluginPrivileges) (bool, error) {
return func(privileges types.PluginPrivileges) (bool, error) {
fmt.Fprintf(dockerCli.Out(), "Plugin %q is requesting the following privileges:\n", name)
for _, privilege := range privileges {
fmt.Fprintf(dockerCli.Out(), " - %s: %v\n", privilege.Name, privilege.Value)
}
fmt.Fprint(dockerCli.Out(), "Do you grant the above permissions? [y/N] ")
reader := bufio.NewReader(dockerCli.In())
line, _, err := reader.ReadLine()
if err != nil {
return false, err
}
return strings.ToLower(string(line)) == "y", nil
}
}

View File

@@ -1,44 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"text/tabwriter"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newListCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "ls",
Short: "List plugins",
Aliases: []string{"list"},
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runList(dockerCli)
},
}
return cmd
}
func runList(dockerCli *client.DockerCli) error {
plugins, err := dockerCli.Client().PluginList(context.Background())
if err != nil {
return err
}
w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0)
fmt.Fprintf(w, "NAME \tTAG \tACTIVE")
fmt.Fprintf(w, "\n")
for _, p := range plugins {
fmt.Fprintf(w, "%s\t%s\t%v\n", p.Name, p.Tag, p.Active)
}
w.Flush()
return nil
}

View File

@@ -1,55 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
"github.com/spf13/cobra"
)
func newPushCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "push PLUGIN",
Short: "Push a plugin",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runPush(dockerCli, args[0])
},
}
return cmd
}
func runPush(dockerCli *client.DockerCli, name string) error {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
ctx := context.Background()
repoInfo, err := registry.ParseRepositoryInfo(named)
if err != nil {
return err
}
authConfig := dockerCli.ResolveAuthConfig(ctx, repoInfo.Index)
encodedAuth, err := client.EncodeAuthToBase64(authConfig)
if err != nil {
return err
}
return dockerCli.Client().PluginPush(ctx, ref.String(), encodedAuth)
}

View File

@@ -1,55 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newRemoveCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "rm PLUGIN",
Short: "Remove a plugin",
Aliases: []string{"remove"},
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(dockerCli, args)
},
}
return cmd
}
func runRemove(dockerCli *client.DockerCli, names []string) error {
var errs cli.Errors
for _, name := range names {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
// TODO: pass names to api instead of making multiple api calls
if err := dockerCli.Client().PluginRemove(context.Background(), ref.String()); err != nil {
errs = append(errs, err)
continue
}
fmt.Fprintln(dockerCli.Out(), name)
}
// Do not simplify to `return errs` because even if errs == nil, it is not a nil-error interface value.
if errs != nil {
return errs
}
return nil
}

View File

@@ -1,42 +0,0 @@
// +build experimental
package plugin
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/reference"
"github.com/spf13/cobra"
)
func newSetCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "set PLUGIN key1=value1 [key2=value2...]",
Short: "Change settings for a plugin",
Args: cli.RequiresMinArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
return runSet(dockerCli, args[0], args[1:])
},
}
return cmd
}
func runSet(dockerCli *client.DockerCli, name string, args []string) error {
named, err := reference.ParseNamed(name) // FIXME: validate
if err != nil {
return err
}
if reference.IsNameOnly(named) {
named = reference.WithDefaultTag(named)
}
ref, ok := named.(reference.NamedTagged)
if !ok {
return fmt.Errorf("invalid name: %s", named.String())
}
return dockerCli.Client().PluginSet(context.Background(), ref.String(), args)
}

View File

@@ -1,188 +0,0 @@
package client
import (
"bufio"
"encoding/base64"
"encoding/json"
"fmt"
"io"
"os"
"runtime"
"strings"
"golang.org/x/net/context"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
"github.com/docker/engine-api/types"
registrytypes "github.com/docker/engine-api/types/registry"
)
// ElectAuthServer returns the default registry to use (by asking the daemon)
func (cli *DockerCli) ElectAuthServer(ctx context.Context) string {
// The daemon `/info` endpoint informs us of the default registry being
// used. This is essential in cross-platforms environment, where for
// example a Linux client might be interacting with a Windows daemon, hence
// the default registry URL might be Windows specific.
serverAddress := registry.IndexServer
if info, err := cli.client.Info(ctx); err != nil {
fmt.Fprintf(cli.out, "Warning: failed to get default registry endpoint from daemon (%v). Using system default: %s\n", err, serverAddress)
} else {
serverAddress = info.IndexServerAddress
}
return serverAddress
}
// EncodeAuthToBase64 serializes the auth configuration as JSON base64 payload
func EncodeAuthToBase64(authConfig types.AuthConfig) (string, error) {
buf, err := json.Marshal(authConfig)
if err != nil {
return "", err
}
return base64.URLEncoding.EncodeToString(buf), nil
}
// RegistryAuthenticationPrivilegedFunc returns a RequestPrivilegeFunc from the specified registry index info
// for the given command.
func (cli *DockerCli) RegistryAuthenticationPrivilegedFunc(index *registrytypes.IndexInfo, cmdName string) types.RequestPrivilegeFunc {
return func() (string, error) {
fmt.Fprintf(cli.out, "\nPlease login prior to %s:\n", cmdName)
indexServer := registry.GetAuthConfigKey(index)
authConfig, err := cli.ConfigureAuth("", "", indexServer, false)
if err != nil {
return "", err
}
return EncodeAuthToBase64(authConfig)
}
}
func (cli *DockerCli) promptWithDefault(prompt string, configDefault string) {
if configDefault == "" {
fmt.Fprintf(cli.out, "%s: ", prompt)
} else {
fmt.Fprintf(cli.out, "%s (%s): ", prompt, configDefault)
}
}
// ResolveAuthConfig is like registry.ResolveAuthConfig, but if using the
// default index, it uses the default index name for the daemon's platform,
// not the client's platform.
func (cli *DockerCli) ResolveAuthConfig(ctx context.Context, index *registrytypes.IndexInfo) types.AuthConfig {
configKey := index.Name
if index.Official {
configKey = cli.ElectAuthServer(ctx)
}
a, _ := GetCredentials(cli.configFile, configKey)
return a
}
// RetrieveAuthConfigs return all credentials.
func (cli *DockerCli) RetrieveAuthConfigs() map[string]types.AuthConfig {
acs, _ := GetAllCredentials(cli.configFile)
return acs
}
// ConfigureAuth returns an AuthConfig from the specified user, password and server.
func (cli *DockerCli) ConfigureAuth(flUser, flPassword, serverAddress string, isDefaultRegistry bool) (types.AuthConfig, error) {
// On Windows, force the use of the regular OS stdin stream. Fixes #14336/#14210
if runtime.GOOS == "windows" {
cli.in = os.Stdin
}
authconfig, err := GetCredentials(cli.configFile, serverAddress)
if err != nil {
return authconfig, err
}
// Some links documenting this:
// - https://code.google.com/archive/p/mintty/issues/56
// - https://github.com/docker/docker/issues/15272
// - https://mintty.github.io/ (compatibility)
// Linux will hit this if you attempt `cat | docker login`, and Windows
// will hit this if you attempt docker login from mintty where stdin
// is a pipe, not a character based console.
if flPassword == "" && !cli.isTerminalIn {
return authconfig, fmt.Errorf("Error: Cannot perform an interactive login from a non TTY device")
}
authconfig.Username = strings.TrimSpace(authconfig.Username)
if flUser = strings.TrimSpace(flUser); flUser == "" {
if isDefaultRegistry {
// if this is a default registry (docker hub), then display the following message.
fmt.Fprintln(cli.out, "Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.")
}
cli.promptWithDefault("Username", authconfig.Username)
flUser = readInput(cli.in, cli.out)
flUser = strings.TrimSpace(flUser)
if flUser == "" {
flUser = authconfig.Username
}
}
if flUser == "" {
return authconfig, fmt.Errorf("Error: Non-null Username Required")
}
if flPassword == "" {
oldState, err := term.SaveState(cli.inFd)
if err != nil {
return authconfig, err
}
fmt.Fprintf(cli.out, "Password: ")
term.DisableEcho(cli.inFd, oldState)
flPassword = readInput(cli.in, cli.out)
fmt.Fprint(cli.out, "\n")
term.RestoreTerminal(cli.inFd, oldState)
if flPassword == "" {
return authconfig, fmt.Errorf("Error: Password Required")
}
}
authconfig.Username = flUser
authconfig.Password = flPassword
authconfig.ServerAddress = serverAddress
authconfig.IdentityToken = ""
return authconfig, nil
}
// resolveAuthConfigFromImage retrieves that AuthConfig using the image string
func (cli *DockerCli) resolveAuthConfigFromImage(ctx context.Context, image string) (types.AuthConfig, error) {
registryRef, err := reference.ParseNamed(image)
if err != nil {
return types.AuthConfig{}, err
}
repoInfo, err := registry.ParseRepositoryInfo(registryRef)
if err != nil {
return types.AuthConfig{}, err
}
authConfig := cli.ResolveAuthConfig(ctx, repoInfo.Index)
return authConfig, nil
}
// RetrieveAuthTokenFromImage retrieves an encoded auth token given a complete image
func (cli *DockerCli) RetrieveAuthTokenFromImage(ctx context.Context, image string) (string, error) {
// Retrieve encoded auth token from the image reference
authConfig, err := cli.resolveAuthConfigFromImage(ctx, image)
if err != nil {
return "", err
}
encodedAuth, err := EncodeAuthToBase64(authConfig)
if err != nil {
return "", err
}
return encodedAuth, nil
}
func readInput(in io.Reader, out io.Writer) string {
reader := bufio.NewReader(in)
line, _, err := reader.ReadLine()
if err != nil {
fmt.Fprintln(out, err.Error())
os.Exit(1)
}
return string(line)
}

View File

@@ -1,81 +0,0 @@
package registry
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type loginOptions struct {
serverAddress string
user string
password string
email string
}
// NewLoginCommand creates a new `docker login` command
func NewLoginCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts loginOptions
cmd := &cobra.Command{
Use: "login [OPTIONS] [SERVER]",
Short: "Log in to a Docker registry.",
Long: "Log in to a Docker registry.\nIf no server is specified, the default is defined by the daemon.",
Args: cli.RequiresMaxArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) > 0 {
opts.serverAddress = args[0]
}
return runLogin(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.user, "username", "u", "", "Username")
flags.StringVarP(&opts.password, "password", "p", "", "Password")
// Deprecated in 1.11: Should be removed in docker 1.13
flags.StringVarP(&opts.email, "email", "e", "", "Email")
flags.MarkDeprecated("email", "will be removed in 1.13.")
return cmd
}
func runLogin(dockerCli *client.DockerCli, opts loginOptions) error {
ctx := context.Background()
clnt := dockerCli.Client()
var serverAddress string
var isDefaultRegistry bool
if opts.serverAddress != "" {
serverAddress = opts.serverAddress
} else {
serverAddress = dockerCli.ElectAuthServer(ctx)
isDefaultRegistry = true
}
authConfig, err := dockerCli.ConfigureAuth(opts.user, opts.password, serverAddress, isDefaultRegistry)
if err != nil {
return err
}
response, err := clnt.RegistryLogin(ctx, authConfig)
if err != nil {
return err
}
if response.IdentityToken != "" {
authConfig.Password = ""
authConfig.IdentityToken = response.IdentityToken
}
if err := client.StoreCredentials(dockerCli.ConfigFile(), authConfig); err != nil {
return fmt.Errorf("Error saving credentials: %v", err)
}
if response.Status != "" {
fmt.Fprintln(dockerCli.Out(), response.Status)
}
return nil
}

View File

@@ -1,52 +0,0 @@
package registry
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
// NewLogoutCommand creates a new `docker login` command
func NewLogoutCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "logout [SERVER]",
Short: "Log out from a Docker registry.",
Long: "Log out from a Docker registry.\nIf no server is specified, the default is defined by the daemon.",
Args: cli.RequiresMaxArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
var serverAddress string
if len(args) > 0 {
serverAddress = args[0]
}
return runLogout(dockerCli, serverAddress)
},
}
return cmd
}
func runLogout(dockerCli *client.DockerCli, serverAddress string) error {
ctx := context.Background()
if serverAddress == "" {
serverAddress = dockerCli.ElectAuthServer(ctx)
}
// check if we're logged in based on the records in the config file
// which means it couldn't have user/pass cause they may be in the creds store
if _, ok := dockerCli.ConfigFile().AuthConfigs[serverAddress]; !ok {
fmt.Fprintf(dockerCli.Out(), "Not logged in to %s\n", serverAddress)
return nil
}
fmt.Fprintf(dockerCli.Out(), "Remove login credentials for %s\n", serverAddress)
if err := client.EraseCredentials(dockerCli.ConfigFile(), serverAddress); err != nil {
fmt.Fprintf(dockerCli.Err(), "WARNING: could not erase credentials: %v\n", err)
}
return nil
}

View File

@@ -1,32 +0,0 @@
package service
import (
"fmt"
"github.com/spf13/cobra"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
)
// NewServiceCommand returns a cobra command for `service` subcommands
func NewServiceCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "service",
Short: "Manage Docker services",
Args: cli.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
},
}
cmd.AddCommand(
newCreateCommand(dockerCli),
newInspectCommand(dockerCli),
newPSCommand(dockerCli),
newListCommand(dockerCli),
newRemoveCommand(dockerCli),
newScaleCommand(dockerCli),
newUpdateCommand(dockerCli),
)
return cmd
}

View File

@@ -1,72 +0,0 @@
package service
import (
"fmt"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newCreateCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := newServiceOptions()
cmd := &cobra.Command{
Use: "create [OPTIONS] IMAGE [COMMAND] [ARG...]",
Short: "Create a new service",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.image = args[0]
if len(args) > 1 {
opts.args = args[1:]
}
return runCreate(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVar(&opts.mode, flagMode, "replicated", "Service mode (replicated or global)")
addServiceFlags(cmd, opts)
flags.VarP(&opts.labels, flagLabel, "l", "Service labels")
flags.Var(&opts.containerLabels, flagContainerLabel, "Container labels")
flags.VarP(&opts.env, flagEnv, "e", "Set environment variables")
flags.Var(&opts.mounts, flagMount, "Attach a mount to the service")
flags.StringSliceVar(&opts.constraints, flagConstraint, []string{}, "Placement constraints")
flags.StringSliceVar(&opts.networks, flagNetwork, []string{}, "Network attachments")
flags.VarP(&opts.endpoint.ports, flagPublish, "p", "Publish a port as a node port")
flags.SetInterspersed(false)
return cmd
}
func runCreate(dockerCli *client.DockerCli, opts *serviceOptions) error {
apiClient := dockerCli.Client()
createOpts := types.ServiceCreateOptions{}
service, err := opts.ToService()
if err != nil {
return err
}
ctx := context.Background()
// only send auth if flag was set
if opts.registryAuth {
// Retrieve encoded auth token from the image reference
encodedAuth, err := dockerCli.RetrieveAuthTokenFromImage(ctx, opts.image)
if err != nil {
return err
}
createOpts.EncodedRegistryAuth = encodedAuth
}
response, err := apiClient.ServiceCreate(ctx, service, createOpts)
if err != nil {
return err
}
fmt.Fprintf(dockerCli.Out(), "%s\n", response.ID)
return nil
}

View File

@@ -1,188 +0,0 @@
package service
import (
"fmt"
"io"
"strings"
"time"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/inspect"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/ioutils"
apiclient "github.com/docker/engine-api/client"
"github.com/docker/engine-api/types/swarm"
"github.com/docker/go-units"
"github.com/spf13/cobra"
)
type inspectOptions struct {
refs []string
format string
pretty bool
}
func newInspectCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts inspectOptions
cmd := &cobra.Command{
Use: "inspect [OPTIONS] SERVICE [SERVICE...]",
Short: "Display detailed information on one or more services",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.refs = args
if opts.pretty && len(opts.format) > 0 {
return fmt.Errorf("--format is incompatible with human friendly format")
}
return runInspect(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.format, "format", "f", "", "Format the output using the given go template")
flags.BoolVar(&opts.pretty, "pretty", false, "Print the information in a human friendly format.")
return cmd
}
func runInspect(dockerCli *client.DockerCli, opts inspectOptions) error {
client := dockerCli.Client()
ctx := context.Background()
getRef := func(ref string) (interface{}, []byte, error) {
service, _, err := client.ServiceInspectWithRaw(ctx, ref)
if err == nil || !apiclient.IsErrServiceNotFound(err) {
return service, nil, err
}
return nil, nil, fmt.Errorf("Error: no such service: %s", ref)
}
if !opts.pretty {
return inspect.Inspect(dockerCli.Out(), opts.refs, opts.format, getRef)
}
return printHumanFriendly(dockerCli.Out(), opts.refs, getRef)
}
func printHumanFriendly(out io.Writer, refs []string, getRef inspect.GetRefFunc) error {
for idx, ref := range refs {
obj, _, err := getRef(ref)
if err != nil {
return err
}
printService(out, obj.(swarm.Service))
// TODO: better way to do this?
// print extra space between objects, but not after the last one
if idx+1 != len(refs) {
fmt.Fprintf(out, "\n\n")
}
}
return nil
}
// TODO: use a template
func printService(out io.Writer, service swarm.Service) {
fmt.Fprintf(out, "ID:\t\t%s\n", service.ID)
fmt.Fprintf(out, "Name:\t\t%s\n", service.Spec.Name)
if service.Spec.Labels != nil {
fmt.Fprintln(out, "Labels:")
for k, v := range service.Spec.Labels {
fmt.Fprintf(out, " - %s=%s\n", k, v)
}
}
if service.Spec.Mode.Global != nil {
fmt.Fprintln(out, "Mode:\t\tGlobal")
} else {
fmt.Fprintln(out, "Mode:\t\tReplicated")
if service.Spec.Mode.Replicated.Replicas != nil {
fmt.Fprintf(out, " Replicas:\t%d\n", *service.Spec.Mode.Replicated.Replicas)
}
}
if service.UpdateStatus.State != "" {
fmt.Fprintln(out, "Update status:")
fmt.Fprintf(out, " State:\t\t%s\n", service.UpdateStatus.State)
fmt.Fprintf(out, " Started:\t%s ago\n", strings.ToLower(units.HumanDuration(time.Since(service.UpdateStatus.StartedAt))))
if service.UpdateStatus.State == swarm.UpdateStateCompleted {
fmt.Fprintf(out, " Completed:\t%s ago\n", strings.ToLower(units.HumanDuration(time.Since(service.UpdateStatus.CompletedAt))))
}
fmt.Fprintf(out, " Message:\t%s\n", service.UpdateStatus.Message)
}
fmt.Fprintln(out, "Placement:")
if service.Spec.TaskTemplate.Placement != nil && len(service.Spec.TaskTemplate.Placement.Constraints) > 0 {
ioutils.FprintfIfNotEmpty(out, " Constraints\t: %s\n", strings.Join(service.Spec.TaskTemplate.Placement.Constraints, ", "))
}
if service.Spec.UpdateConfig != nil {
fmt.Fprintf(out, "UpdateConfig:\n")
fmt.Fprintf(out, " Parallelism:\t%d\n", service.Spec.UpdateConfig.Parallelism)
if service.Spec.UpdateConfig.Delay.Nanoseconds() > 0 {
fmt.Fprintf(out, " Delay:\t\t%s\n", service.Spec.UpdateConfig.Delay)
}
fmt.Fprintf(out, " On failure:\t%s\n", service.Spec.UpdateConfig.FailureAction)
}
fmt.Fprintf(out, "ContainerSpec:\n")
printContainerSpec(out, service.Spec.TaskTemplate.ContainerSpec)
resources := service.Spec.TaskTemplate.Resources
if resources != nil {
fmt.Fprintln(out, "Resources:")
printResources := func(out io.Writer, requirement string, r *swarm.Resources) {
if r == nil || (r.MemoryBytes == 0 && r.NanoCPUs == 0) {
return
}
fmt.Fprintf(out, " %s:\n", requirement)
if r.NanoCPUs != 0 {
fmt.Fprintf(out, " CPU:\t\t%g\n", float64(r.NanoCPUs)/1e9)
}
if r.MemoryBytes != 0 {
fmt.Fprintf(out, " Memory:\t%s\n", units.BytesSize(float64(r.MemoryBytes)))
}
}
printResources(out, "Reservations", resources.Reservations)
printResources(out, "Limits", resources.Limits)
}
if len(service.Spec.Networks) > 0 {
fmt.Fprintf(out, "Networks:")
for _, n := range service.Spec.Networks {
fmt.Fprintf(out, " %s", n.Target)
}
fmt.Fprintln(out, "")
}
if len(service.Endpoint.Ports) > 0 {
fmt.Fprintln(out, "Ports:")
for _, port := range service.Endpoint.Ports {
ioutils.FprintfIfNotEmpty(out, " Name = %s\n", port.Name)
fmt.Fprintf(out, " Protocol = %s\n", port.Protocol)
fmt.Fprintf(out, " TargetPort = %d\n", port.TargetPort)
fmt.Fprintf(out, " PublishedPort = %d\n", port.PublishedPort)
}
}
}
func printContainerSpec(out io.Writer, containerSpec swarm.ContainerSpec) {
fmt.Fprintf(out, " Image:\t\t%s\n", containerSpec.Image)
if len(containerSpec.Args) > 0 {
fmt.Fprintf(out, " Args:\t\t%s\n", strings.Join(containerSpec.Args, " "))
}
if len(containerSpec.Env) > 0 {
fmt.Fprintf(out, " Env:\t\t%s\n", strings.Join(containerSpec.Env, " "))
}
ioutils.FprintfIfNotEmpty(out, " Dir\t\t%s\n", containerSpec.Dir)
ioutils.FprintfIfNotEmpty(out, " User\t\t%s\n", containerSpec.User)
if len(containerSpec.Mounts) > 0 {
fmt.Fprintln(out, " Mounts:")
for _, v := range containerSpec.Mounts {
fmt.Fprintf(out, " Target = %s\n", v.Target)
fmt.Fprintf(out, " Source = %s\n", v.Source)
fmt.Fprintf(out, " ReadOnly = %v\n", v.ReadOnly)
fmt.Fprintf(out, " Type = %v\n", v.Type)
}
}
}

View File

@@ -1,84 +0,0 @@
package service
import (
"bytes"
"strings"
"testing"
"time"
"github.com/docker/engine-api/types/swarm"
)
func TestPrettyPrintWithNoUpdateConfig(t *testing.T) {
b := new(bytes.Buffer)
endpointSpec := &swarm.EndpointSpec{
Mode: "vip",
Ports: []swarm.PortConfig{
{
Protocol: swarm.PortConfigProtocolTCP,
TargetPort: 5000,
},
},
}
two := uint64(2)
s := swarm.Service{
ID: "de179gar9d0o7ltdybungplod",
Meta: swarm.Meta{
Version: swarm.Version{Index: 315},
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
},
Spec: swarm.ServiceSpec{
Annotations: swarm.Annotations{
Name: "my_service",
Labels: map[string]string{"com.label": "foo"},
},
TaskTemplate: swarm.TaskSpec{
ContainerSpec: swarm.ContainerSpec{
Image: "foo/bar@sha256:this_is_a_test",
},
},
Mode: swarm.ServiceMode{
Replicated: &swarm.ReplicatedService{
Replicas: &two,
},
},
UpdateConfig: nil,
Networks: []swarm.NetworkAttachmentConfig{
{
Target: "5vpyomhb6ievnk0i0o60gcnei",
Aliases: []string{"web"},
},
},
EndpointSpec: endpointSpec,
},
Endpoint: swarm.Endpoint{
Spec: *endpointSpec,
Ports: []swarm.PortConfig{
{
Protocol: swarm.PortConfigProtocolTCP,
TargetPort: 5000,
PublishedPort: 30000,
},
},
VirtualIPs: []swarm.EndpointVirtualIP{
{
NetworkID: "6o4107cj2jx9tihgb0jyts6pj",
Addr: "10.255.0.4/16",
},
},
},
UpdateStatus: swarm.UpdateStatus{
StartedAt: time.Now(),
CompletedAt: time.Now(),
},
}
printService(b, s)
if strings.Contains(b.String(), "UpdateStatus") {
t.Fatal("Pretty print failed before parsing UpdateStatus")
}
}

View File

@@ -1,124 +0,0 @@
package service
import (
"fmt"
"io"
"strings"
"text/tabwriter"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
"github.com/docker/engine-api/types/swarm"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
const (
listItemFmt = "%s\t%s\t%s\t%s\t%s\n"
)
type listOptions struct {
quiet bool
filter opts.FilterOpt
}
func newListCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := listOptions{filter: opts.NewFilterOpt()}
cmd := &cobra.Command{
Use: "ls [OPTIONS]",
Aliases: []string{"list"},
Short: "List services",
Args: cli.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
return runList(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only display IDs")
flags.VarP(&opts.filter, "filter", "f", "Filter output based on conditions provided")
return cmd
}
func runList(dockerCli *client.DockerCli, opts listOptions) error {
ctx := context.Background()
client := dockerCli.Client()
services, err := client.ServiceList(ctx, types.ServiceListOptions{Filter: opts.filter.Value()})
if err != nil {
return err
}
out := dockerCli.Out()
if opts.quiet {
printQuiet(out, services)
} else {
taskFilter := filters.NewArgs()
for _, service := range services {
taskFilter.Add("service", service.ID)
}
tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: taskFilter})
if err != nil {
return err
}
nodes, err := client.NodeList(ctx, types.NodeListOptions{})
if err != nil {
return err
}
activeNodes := make(map[string]struct{})
for _, n := range nodes {
if n.Status.State == swarm.NodeStateReady {
activeNodes[n.ID] = struct{}{}
}
}
running := map[string]int{}
for _, task := range tasks {
if _, nodeActive := activeNodes[task.NodeID]; nodeActive && task.Status.State == "running" {
running[task.ServiceID]++
}
}
printTable(out, services, running)
}
return nil
}
func printTable(out io.Writer, services []swarm.Service, running map[string]int) {
writer := tabwriter.NewWriter(out, 0, 4, 2, ' ', 0)
// Ignore flushing errors
defer writer.Flush()
fmt.Fprintf(writer, listItemFmt, "ID", "NAME", "REPLICAS", "IMAGE", "COMMAND")
for _, service := range services {
replicas := ""
if service.Spec.Mode.Replicated != nil && service.Spec.Mode.Replicated.Replicas != nil {
replicas = fmt.Sprintf("%d/%d", running[service.ID], *service.Spec.Mode.Replicated.Replicas)
} else if service.Spec.Mode.Global != nil {
replicas = "global"
}
fmt.Fprintf(
writer,
listItemFmt,
stringid.TruncateID(service.ID),
service.Spec.Name,
replicas,
service.Spec.TaskTemplate.ContainerSpec.Image,
strings.Join(service.Spec.TaskTemplate.ContainerSpec.Args, " "))
}
}
func printQuiet(out io.Writer, services []swarm.Service) {
for _, service := range services {
fmt.Fprintln(out, service.ID)
}
}

View File

@@ -1,559 +0,0 @@
package service
import (
"encoding/csv"
"fmt"
"math/big"
"strconv"
"strings"
"time"
"github.com/docker/docker/opts"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types/swarm"
"github.com/docker/go-connections/nat"
units "github.com/docker/go-units"
"github.com/spf13/cobra"
)
type int64Value interface {
Value() int64
}
type memBytes int64
func (m *memBytes) String() string {
return units.BytesSize(float64(m.Value()))
}
func (m *memBytes) Set(value string) error {
val, err := units.RAMInBytes(value)
*m = memBytes(val)
return err
}
func (m *memBytes) Type() string {
return "MemoryBytes"
}
func (m *memBytes) Value() int64 {
return int64(*m)
}
type nanoCPUs int64
func (c *nanoCPUs) String() string {
return big.NewRat(c.Value(), 1e9).FloatString(3)
}
func (c *nanoCPUs) Set(value string) error {
cpu, ok := new(big.Rat).SetString(value)
if !ok {
return fmt.Errorf("Failed to parse %v as a rational number", value)
}
nano := cpu.Mul(cpu, big.NewRat(1e9, 1))
if !nano.IsInt() {
return fmt.Errorf("value is too precise")
}
*c = nanoCPUs(nano.Num().Int64())
return nil
}
func (c *nanoCPUs) Type() string {
return "NanoCPUs"
}
func (c *nanoCPUs) Value() int64 {
return int64(*c)
}
// DurationOpt is an option type for time.Duration that uses a pointer. This
// allows us to get nil values outside, instead of defaulting to 0
type DurationOpt struct {
value *time.Duration
}
// Set a new value on the option
func (d *DurationOpt) Set(s string) error {
v, err := time.ParseDuration(s)
d.value = &v
return err
}
// Type returns the type of this option
func (d *DurationOpt) Type() string {
return "duration-ptr"
}
// String returns a string repr of this option
func (d *DurationOpt) String() string {
if d.value != nil {
return d.value.String()
}
return "none"
}
// Value returns the time.Duration
func (d *DurationOpt) Value() *time.Duration {
return d.value
}
// Uint64Opt represents a uint64.
type Uint64Opt struct {
value *uint64
}
// Set a new value on the option
func (i *Uint64Opt) Set(s string) error {
v, err := strconv.ParseUint(s, 0, 64)
i.value = &v
return err
}
// Type returns the type of this option
func (i *Uint64Opt) Type() string {
return "uint64-ptr"
}
// String returns a string repr of this option
func (i *Uint64Opt) String() string {
if i.value != nil {
return fmt.Sprintf("%v", *i.value)
}
return "none"
}
// Value returns the uint64
func (i *Uint64Opt) Value() *uint64 {
return i.value
}
// MountOpt is a Value type for parsing mounts
type MountOpt struct {
values []swarm.Mount
}
// Set a new mount value
func (m *MountOpt) Set(value string) error {
csvReader := csv.NewReader(strings.NewReader(value))
fields, err := csvReader.Read()
if err != nil {
return err
}
mount := swarm.Mount{}
volumeOptions := func() *swarm.VolumeOptions {
if mount.VolumeOptions == nil {
mount.VolumeOptions = &swarm.VolumeOptions{
Labels: make(map[string]string),
}
}
if mount.VolumeOptions.DriverConfig == nil {
mount.VolumeOptions.DriverConfig = &swarm.Driver{}
}
return mount.VolumeOptions
}
bindOptions := func() *swarm.BindOptions {
if mount.BindOptions == nil {
mount.BindOptions = new(swarm.BindOptions)
}
return mount.BindOptions
}
setValueOnMap := func(target map[string]string, value string) {
parts := strings.SplitN(value, "=", 2)
if len(parts) == 1 {
target[value] = ""
} else {
target[parts[0]] = parts[1]
}
}
mount.Type = swarm.MountTypeVolume // default to volume mounts
// Set writable as the default
for _, field := range fields {
parts := strings.SplitN(field, "=", 2)
key := strings.ToLower(parts[0])
if len(parts) == 1 {
switch key {
case "readonly", "ro":
mount.ReadOnly = true
continue
case "volume-nocopy":
volumeOptions().NoCopy = true
continue
}
}
if len(parts) != 2 {
return fmt.Errorf("invalid field '%s' must be a key=value pair", field)
}
value := parts[1]
switch key {
case "type":
mount.Type = swarm.MountType(strings.ToLower(value))
case "source", "src":
mount.Source = value
case "target", "dst", "destination":
mount.Target = value
case "readonly", "ro":
mount.ReadOnly, err = strconv.ParseBool(value)
if err != nil {
return fmt.Errorf("invalid value for %s: %s", key, value)
}
case "bind-propagation":
bindOptions().Propagation = swarm.MountPropagation(strings.ToLower(value))
case "volume-nocopy":
volumeOptions().NoCopy, err = strconv.ParseBool(value)
if err != nil {
return fmt.Errorf("invalid value for populate: %s", value)
}
case "volume-label":
setValueOnMap(volumeOptions().Labels, value)
case "volume-driver":
volumeOptions().DriverConfig.Name = value
case "volume-opt":
if volumeOptions().DriverConfig.Options == nil {
volumeOptions().DriverConfig.Options = make(map[string]string)
}
setValueOnMap(volumeOptions().DriverConfig.Options, value)
default:
return fmt.Errorf("unexpected key '%s' in '%s'", key, field)
}
}
if mount.Type == "" {
return fmt.Errorf("type is required")
}
if mount.Target == "" {
return fmt.Errorf("target is required")
}
if mount.VolumeOptions != nil && mount.Source == "" {
return fmt.Errorf("source is required when specifying volume-* options")
}
if mount.Type == swarm.MountTypeBind && mount.VolumeOptions != nil {
return fmt.Errorf("cannot mix 'volume-*' options with mount type '%s'", swarm.MountTypeBind)
}
if mount.Type == swarm.MountTypeVolume && mount.BindOptions != nil {
return fmt.Errorf("cannot mix 'bind-*' options with mount type '%s'", swarm.MountTypeVolume)
}
m.values = append(m.values, mount)
return nil
}
// Type returns the type of this option
func (m *MountOpt) Type() string {
return "mount"
}
// String returns a string repr of this option
func (m *MountOpt) String() string {
mounts := []string{}
for _, mount := range m.values {
repr := fmt.Sprintf("%s %s %s", mount.Type, mount.Source, mount.Target)
mounts = append(mounts, repr)
}
return strings.Join(mounts, ", ")
}
// Value returns the mounts
func (m *MountOpt) Value() []swarm.Mount {
return m.values
}
type updateOptions struct {
parallelism uint64
delay time.Duration
onFailure string
}
type resourceOptions struct {
limitCPU nanoCPUs
limitMemBytes memBytes
resCPU nanoCPUs
resMemBytes memBytes
}
func (r *resourceOptions) ToResourceRequirements() *swarm.ResourceRequirements {
return &swarm.ResourceRequirements{
Limits: &swarm.Resources{
NanoCPUs: r.limitCPU.Value(),
MemoryBytes: r.limitMemBytes.Value(),
},
Reservations: &swarm.Resources{
NanoCPUs: r.resCPU.Value(),
MemoryBytes: r.resMemBytes.Value(),
},
}
}
type restartPolicyOptions struct {
condition string
delay DurationOpt
maxAttempts Uint64Opt
window DurationOpt
}
func (r *restartPolicyOptions) ToRestartPolicy() *swarm.RestartPolicy {
return &swarm.RestartPolicy{
Condition: swarm.RestartPolicyCondition(r.condition),
Delay: r.delay.Value(),
MaxAttempts: r.maxAttempts.Value(),
Window: r.window.Value(),
}
}
func convertNetworks(networks []string) []swarm.NetworkAttachmentConfig {
nets := []swarm.NetworkAttachmentConfig{}
for _, network := range networks {
nets = append(nets, swarm.NetworkAttachmentConfig{Target: network})
}
return nets
}
type endpointOptions struct {
mode string
ports opts.ListOpts
}
func (e *endpointOptions) ToEndpointSpec() *swarm.EndpointSpec {
portConfigs := []swarm.PortConfig{}
// We can ignore errors because the format was already validated by ValidatePort
ports, portBindings, _ := nat.ParsePortSpecs(e.ports.GetAll())
for port := range ports {
portConfigs = append(portConfigs, convertPortToPortConfig(port, portBindings)...)
}
return &swarm.EndpointSpec{
Mode: swarm.ResolutionMode(strings.ToLower(e.mode)),
Ports: portConfigs,
}
}
func convertPortToPortConfig(
port nat.Port,
portBindings map[nat.Port][]nat.PortBinding,
) []swarm.PortConfig {
ports := []swarm.PortConfig{}
for _, binding := range portBindings[port] {
hostPort, _ := strconv.ParseUint(binding.HostPort, 10, 16)
ports = append(ports, swarm.PortConfig{
//TODO Name: ?
Protocol: swarm.PortConfigProtocol(strings.ToLower(port.Proto())),
TargetPort: uint32(port.Int()),
PublishedPort: uint32(hostPort),
})
}
return ports
}
type logDriverOptions struct {
name string
opts opts.ListOpts
}
func newLogDriverOptions() logDriverOptions {
return logDriverOptions{opts: opts.NewListOpts(runconfigopts.ValidateEnv)}
}
func (ldo *logDriverOptions) toLogDriver() *swarm.Driver {
if ldo.name == "" {
return nil
}
// set the log driver only if specified.
return &swarm.Driver{
Name: ldo.name,
Options: runconfigopts.ConvertKVStringsToMap(ldo.opts.GetAll()),
}
}
// ValidatePort validates a string is in the expected format for a port definition
func ValidatePort(value string) (string, error) {
portMappings, err := nat.ParsePortSpec(value)
for _, portMapping := range portMappings {
if portMapping.Binding.HostIP != "" {
return "", fmt.Errorf("HostIP is not supported by a service.")
}
}
return value, err
}
type serviceOptions struct {
name string
labels opts.ListOpts
containerLabels opts.ListOpts
image string
args []string
env opts.ListOpts
workdir string
user string
mounts MountOpt
resources resourceOptions
stopGrace DurationOpt
replicas Uint64Opt
mode string
restartPolicy restartPolicyOptions
constraints []string
update updateOptions
networks []string
endpoint endpointOptions
registryAuth bool
logDriver logDriverOptions
}
func newServiceOptions() *serviceOptions {
return &serviceOptions{
labels: opts.NewListOpts(runconfigopts.ValidateEnv),
containerLabels: opts.NewListOpts(runconfigopts.ValidateEnv),
env: opts.NewListOpts(runconfigopts.ValidateEnv),
endpoint: endpointOptions{
ports: opts.NewListOpts(ValidatePort),
},
logDriver: newLogDriverOptions(),
}
}
func (opts *serviceOptions) ToService() (swarm.ServiceSpec, error) {
var service swarm.ServiceSpec
service = swarm.ServiceSpec{
Annotations: swarm.Annotations{
Name: opts.name,
Labels: runconfigopts.ConvertKVStringsToMap(opts.labels.GetAll()),
},
TaskTemplate: swarm.TaskSpec{
ContainerSpec: swarm.ContainerSpec{
Image: opts.image,
Args: opts.args,
Env: opts.env.GetAll(),
Labels: runconfigopts.ConvertKVStringsToMap(opts.containerLabels.GetAll()),
Dir: opts.workdir,
User: opts.user,
Mounts: opts.mounts.Value(),
StopGracePeriod: opts.stopGrace.Value(),
},
Resources: opts.resources.ToResourceRequirements(),
RestartPolicy: opts.restartPolicy.ToRestartPolicy(),
Placement: &swarm.Placement{
Constraints: opts.constraints,
},
LogDriver: opts.logDriver.toLogDriver(),
},
Mode: swarm.ServiceMode{},
UpdateConfig: &swarm.UpdateConfig{
Parallelism: opts.update.parallelism,
Delay: opts.update.delay,
FailureAction: opts.update.onFailure,
},
Networks: convertNetworks(opts.networks),
EndpointSpec: opts.endpoint.ToEndpointSpec(),
}
switch opts.mode {
case "global":
if opts.replicas.Value() != nil {
return service, fmt.Errorf("replicas can only be used with replicated mode")
}
service.Mode.Global = &swarm.GlobalService{}
case "replicated":
service.Mode.Replicated = &swarm.ReplicatedService{
Replicas: opts.replicas.Value(),
}
default:
return service, fmt.Errorf("Unknown mode: %s", opts.mode)
}
return service, nil
}
// addServiceFlags adds all flags that are common to both `create` and `update`.
// Any flags that are not common are added separately in the individual command
func addServiceFlags(cmd *cobra.Command, opts *serviceOptions) {
flags := cmd.Flags()
flags.StringVar(&opts.name, flagName, "", "Service name")
flags.StringVarP(&opts.workdir, "workdir", "w", "", "Working directory inside the container")
flags.StringVarP(&opts.user, flagUser, "u", "", "Username or UID")
flags.Var(&opts.resources.limitCPU, flagLimitCPU, "Limit CPUs")
flags.Var(&opts.resources.limitMemBytes, flagLimitMemory, "Limit Memory")
flags.Var(&opts.resources.resCPU, flagReserveCPU, "Reserve CPUs")
flags.Var(&opts.resources.resMemBytes, flagReserveMemory, "Reserve Memory")
flags.Var(&opts.stopGrace, flagStopGracePeriod, "Time to wait before force killing a container")
flags.Var(&opts.replicas, flagReplicas, "Number of tasks")
flags.StringVar(&opts.restartPolicy.condition, flagRestartCondition, "", "Restart when condition is met (none, on-failure, or any)")
flags.Var(&opts.restartPolicy.delay, flagRestartDelay, "Delay between restart attempts")
flags.Var(&opts.restartPolicy.maxAttempts, flagRestartMaxAttempts, "Maximum number of restarts before giving up")
flags.Var(&opts.restartPolicy.window, flagRestartWindow, "Window used to evaluate the restart policy")
flags.Uint64Var(&opts.update.parallelism, flagUpdateParallelism, 1, "Maximum number of tasks updated simultaneously (0 to update all at once)")
flags.DurationVar(&opts.update.delay, flagUpdateDelay, time.Duration(0), "Delay between updates")
flags.StringVar(&opts.update.onFailure, flagUpdateFailureAction, "pause", "Action on update failure (pause|continue)")
flags.StringVar(&opts.endpoint.mode, flagEndpointMode, "", "Endpoint mode (vip or dnsrr)")
flags.BoolVar(&opts.registryAuth, flagRegistryAuth, false, "Send registry authentication details to swarm agents")
flags.StringVar(&opts.logDriver.name, flagLogDriver, "", "Logging driver for service")
flags.Var(&opts.logDriver.opts, flagLogOpt, "Logging driver options")
}
const (
flagConstraint = "constraint"
flagConstraintRemove = "constraint-rm"
flagConstraintAdd = "constraint-add"
flagContainerLabel = "container-label"
flagContainerLabelRemove = "container-label-rm"
flagContainerLabelAdd = "container-label-add"
flagEndpointMode = "endpoint-mode"
flagEnv = "env"
flagEnvRemove = "env-rm"
flagEnvAdd = "env-add"
flagLabel = "label"
flagLabelRemove = "label-rm"
flagLabelAdd = "label-add"
flagLimitCPU = "limit-cpu"
flagLimitMemory = "limit-memory"
flagMode = "mode"
flagMount = "mount"
flagMountRemove = "mount-rm"
flagMountAdd = "mount-add"
flagName = "name"
flagNetwork = "network"
flagPublish = "publish"
flagPublishRemove = "publish-rm"
flagPublishAdd = "publish-add"
flagReplicas = "replicas"
flagReserveCPU = "reserve-cpu"
flagReserveMemory = "reserve-memory"
flagRestartCondition = "restart-condition"
flagRestartDelay = "restart-delay"
flagRestartMaxAttempts = "restart-max-attempts"
flagRestartWindow = "restart-window"
flagStopGracePeriod = "stop-grace-period"
flagUpdateDelay = "update-delay"
flagUpdateFailureAction = "update-failure-action"
flagUpdateParallelism = "update-parallelism"
flagUser = "user"
flagRegistryAuth = "with-registry-auth"
flagLogDriver = "log-driver"
flagLogOpt = "log-opt"
)

View File

@@ -1,176 +0,0 @@
package service
import (
"testing"
"time"
"github.com/docker/docker/pkg/testutil/assert"
"github.com/docker/engine-api/types/swarm"
)
func TestMemBytesString(t *testing.T) {
var mem memBytes = 1048576
assert.Equal(t, mem.String(), "1 MiB")
}
func TestMemBytesSetAndValue(t *testing.T) {
var mem memBytes
assert.NilError(t, mem.Set("5kb"))
assert.Equal(t, mem.Value(), int64(5120))
}
func TestNanoCPUsString(t *testing.T) {
var cpus nanoCPUs = 6100000000
assert.Equal(t, cpus.String(), "6.100")
}
func TestNanoCPUsSetAndValue(t *testing.T) {
var cpus nanoCPUs
assert.NilError(t, cpus.Set("0.35"))
assert.Equal(t, cpus.Value(), int64(350000000))
}
func TestDurationOptString(t *testing.T) {
dur := time.Duration(300 * 10e8)
duration := DurationOpt{value: &dur}
assert.Equal(t, duration.String(), "5m0s")
}
func TestDurationOptSetAndValue(t *testing.T) {
var duration DurationOpt
assert.NilError(t, duration.Set("300s"))
assert.Equal(t, *duration.Value(), time.Duration(300*10e8))
}
func TestUint64OptString(t *testing.T) {
value := uint64(2345678)
opt := Uint64Opt{value: &value}
assert.Equal(t, opt.String(), "2345678")
opt = Uint64Opt{}
assert.Equal(t, opt.String(), "none")
}
func TestUint64OptSetAndValue(t *testing.T) {
var opt Uint64Opt
assert.NilError(t, opt.Set("14445"))
assert.Equal(t, *opt.Value(), uint64(14445))
}
func TestMountOptString(t *testing.T) {
mount := MountOpt{
values: []swarm.Mount{
{
Type: swarm.MountTypeBind,
Source: "/home/path",
Target: "/target",
},
{
Type: swarm.MountTypeVolume,
Source: "foo",
Target: "/target/foo",
},
},
}
expected := "bind /home/path /target, volume foo /target/foo"
assert.Equal(t, mount.String(), expected)
}
func TestMountOptSetNoError(t *testing.T) {
for _, testcase := range []string{
// tests several aliases that should have same result.
"type=bind,target=/target,source=/source",
"type=bind,src=/source,dst=/target",
"type=bind,source=/source,dst=/target",
"type=bind,src=/source,target=/target",
} {
var mount MountOpt
assert.NilError(t, mount.Set(testcase))
mounts := mount.Value()
assert.Equal(t, len(mounts), 1)
assert.Equal(t, mounts[0], swarm.Mount{
Type: swarm.MountTypeBind,
Source: "/source",
Target: "/target",
})
}
}
// TestMountOptDefaultType ensures that a mount without the type defaults to a
// volume mount.
func TestMountOptDefaultType(t *testing.T) {
var mount MountOpt
assert.NilError(t, mount.Set("target=/target,source=/foo"))
assert.Equal(t, mount.values[0].Type, swarm.MountTypeVolume)
}
func TestMountOptSetErrorNoTarget(t *testing.T) {
var mount MountOpt
assert.Error(t, mount.Set("type=volume,source=/foo"), "target is required")
}
func TestMountOptSetErrorInvalidKey(t *testing.T) {
var mount MountOpt
assert.Error(t, mount.Set("type=volume,bogus=foo"), "unexpected key 'bogus'")
}
func TestMountOptSetErrorInvalidField(t *testing.T) {
var mount MountOpt
assert.Error(t, mount.Set("type=volume,bogus"), "invalid field 'bogus'")
}
func TestMountOptSetErrorInvalidReadOnly(t *testing.T) {
var mount MountOpt
assert.Error(t, mount.Set("type=volume,readonly=no"), "invalid value for readonly: no")
assert.Error(t, mount.Set("type=volume,readonly=invalid"), "invalid value for readonly: invalid")
}
func TestMountOptDefaultEnableReadOnly(t *testing.T) {
var m MountOpt
assert.NilError(t, m.Set("type=bind,target=/foo,source=/foo"))
assert.Equal(t, m.values[0].ReadOnly, false)
m = MountOpt{}
assert.NilError(t, m.Set("type=bind,target=/foo,source=/foo,readonly"))
assert.Equal(t, m.values[0].ReadOnly, true)
m = MountOpt{}
assert.NilError(t, m.Set("type=bind,target=/foo,source=/foo,readonly=1"))
assert.Equal(t, m.values[0].ReadOnly, true)
m = MountOpt{}
assert.NilError(t, m.Set("type=bind,target=/foo,source=/foo,readonly=0"))
assert.Equal(t, m.values[0].ReadOnly, false)
}
func TestMountOptVolumeNoCopy(t *testing.T) {
var m MountOpt
assert.Error(t, m.Set("type=volume,target=/foo,volume-nocopy"), "source is required")
m = MountOpt{}
assert.NilError(t, m.Set("type=volume,target=/foo,source=foo"))
assert.Equal(t, m.values[0].VolumeOptions == nil, true)
m = MountOpt{}
assert.NilError(t, m.Set("type=volume,target=/foo,source=foo,volume-nocopy=true"))
assert.Equal(t, m.values[0].VolumeOptions != nil, true)
assert.Equal(t, m.values[0].VolumeOptions.NoCopy, true)
m = MountOpt{}
assert.NilError(t, m.Set("type=volume,target=/foo,source=foo,volume-nocopy"))
assert.Equal(t, m.values[0].VolumeOptions != nil, true)
assert.Equal(t, m.values[0].VolumeOptions.NoCopy, true)
m = MountOpt{}
assert.NilError(t, m.Set("type=volume,target=/foo,source=foo,volume-nocopy=1"))
assert.Equal(t, m.values[0].VolumeOptions != nil, true)
assert.Equal(t, m.values[0].VolumeOptions.NoCopy, true)
}
func TestMountOptTypeConflict(t *testing.T) {
var m MountOpt
assert.Error(t, m.Set("type=bind,target=/foo,source=/foo,volume-nocopy=true"), "cannot mix")
assert.Error(t, m.Set("type=volume,target=/foo,source=/foo,bind-propagation=rprivate"), "cannot mix")
}

View File

@@ -1,70 +0,0 @@
package service
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/api/client/idresolver"
"github.com/docker/docker/api/client/node"
"github.com/docker/docker/api/client/task"
"github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type psOptions struct {
serviceID string
noResolve bool
filter opts.FilterOpt
}
func newPSCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := psOptions{filter: opts.NewFilterOpt()}
cmd := &cobra.Command{
Use: "ps [OPTIONS] SERVICE",
Short: "List the tasks of a service",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.serviceID = args[0]
return runPS(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVar(&opts.noResolve, "no-resolve", false, "Do not map IDs to Names")
flags.VarP(&opts.filter, "filter", "f", "Filter output based on conditions provided")
return cmd
}
func runPS(dockerCli *client.DockerCli, opts psOptions) error {
client := dockerCli.Client()
ctx := context.Background()
service, _, err := client.ServiceInspectWithRaw(ctx, opts.serviceID)
if err != nil {
return err
}
filter := opts.filter.Value()
filter.Add("service", service.ID)
if filter.Include("node") {
nodeFilters := filter.Get("node")
for _, nodeFilter := range nodeFilters {
nodeReference, err := node.Reference(client, ctx, nodeFilter)
if err != nil {
return err
}
filter.Del("node", nodeFilter)
filter.Add("node", nodeReference)
}
}
tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: filter})
if err != nil {
return err
}
return task.Print(dockerCli, ctx, tasks, idresolver.New(client, opts.noResolve))
}

View File

@@ -1,47 +0,0 @@
package service
import (
"fmt"
"strings"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
"golang.org/x/net/context"
)
func newRemoveCommand(dockerCli *client.DockerCli) *cobra.Command {
cmd := &cobra.Command{
Use: "rm [OPTIONS] SERVICE [SERVICE...]",
Aliases: []string{"remove"},
Short: "Remove one or more services",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(dockerCli, args)
},
}
cmd.Flags()
return cmd
}
func runRemove(dockerCli *client.DockerCli, sids []string) error {
client := dockerCli.Client()
ctx := context.Background()
var errs []string
for _, sid := range sids {
err := client.ServiceRemove(ctx, sid)
if err != nil {
errs = append(errs, err.Error())
continue
}
fmt.Fprintf(dockerCli.Out(), "%s\n", sid)
}
if len(errs) > 0 {
return fmt.Errorf(strings.Join(errs, "\n"))
}
return nil
}

Some files were not shown because too many files have changed in this diff Show More