Compare commits

...

4131 Commits

Author SHA1 Message Date
Tibor Vass
a3f206372f Bump VERSION to v1.12.0-rc5
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 06:04:00 -07:00
Tibor Vass
626b152944 Merge pull request #25063 from thaJeztah/man-page-cherry
cherry-pick manpages fix
2016-07-26 05:58:54 -07:00
Daniel Nephin
5b667c7c55 Require manpages for packages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 1ea9c19ffe)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-26 14:43:35 +02:00
Daniel Nephin
c5531b033a Make manpages in a conatiner.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 7004f219f5)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-07-26 14:43:11 +02:00
Tibor Vass
4ed7f63f0d Merge pull request #25058 from tiborvass/additional-cherrypicks-for-1.12.0-rc5
[bump_v1.12.0] Additional cherrypicks for 1.12.0 rc5
2016-07-26 05:01:51 -07:00
Aaron Lehmann
e16a20d11a 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>
(cherry picked from commit f9c920a126)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 04:37:31 -07:00
Tibor Vass
0e2d7c996c Address some displaying issues in docker info
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8ad9438ede)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 04:37:31 -07:00
Vincent Demeester
a91bc28e62 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>
(cherry picked from commit e6923f6d75)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 04:37:31 -07:00
Tibor Vass
0ffa19daa8 vendor engine-api to a52656d77f09d394104c1639824eada038bfdb89
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit e3c150bd47)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 04:37:31 -07:00
Stephen J Day
c3574dd1ec 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>
(cherry picked from commit d8d71ad5b9)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 04:37:26 -07:00
Madhu Venugopal
fe1d39cc96 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>
(cherry picked from commit 6a754a4eef)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 03:51:44 -07:00
Tibor Vass
45c8a3ddd5 Prevent panic on update --container-label-add
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit e462b4507a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 03:51:43 -07:00
Vincent Demeester
8fe03baa41 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>
(cherry picked from commit 4031d70d1b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 03:51:43 -07:00
Tibor Vass
05444a56af Merge pull request #25045 from tiborvass/cherry-picks-1.12.0-rc5
Cherry picks for 1.12.0 rc5
2016-07-26 03:29:52 -07:00
Derek McGowan
86670cced9 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)
(cherry picked from commit 1f7a9b1ab3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 01:53:17 -07:00
Aaron Lehmann
4b986851f7 Vendor swarmkit for 1.12.0-rc5
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 60496af711)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 01:52:07 -07:00
Derek McGowan
e111f0c7b2 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)
(cherry picked from commit 5487881e12)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 01:49:29 -07:00
Nishant Totla
25cf7999fa Using map to list plugins in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit feedb7ab5a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-26 01:49:29 -07:00
Madhu Venugopal
678a19ef6b improve error message when using ineligible network with service create
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 40c88b8c54)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:27:41 -07:00
Stephen J Day
027de801a8 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>
(cherry picked from commit d99c6b837f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:26:42 -07:00
Brian Goff
07735b4f0c fix panic on --label-add
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 85bc3194aa)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:47 -07:00
runshenzhu
84eae5d69f extend health check to start service
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
Signed-off-by: Runshen Zhu <runshen.zhu@gmail.com>
(cherry picked from commit a99db84b4a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:47 -07:00
Tibor Vass
0df31ff193 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>
(cherry picked from commit 91e9f38313)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:47 -07:00
Nishant Totla
bf024205b7 Sort plugin names in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit 227c7e4e8d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:47 -07:00
Alexandre Beslic
365d16ed6d 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>
(cherry picked from commit 24f87f26e7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:46 -07:00
Charles Smith
bd31863ba7 add run swarm mode guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit c406711cc0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:46 -07:00
Aaron Lehmann
a3639e6ac6 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>
(cherry picked from commit 57ae29aa74)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:43 -07:00
Aaron Lehmann
92cbdfece9 Revendor engine-api
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 3585026c3a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:37 -07:00
Josh Horwitz
c166b2c9da Treat HEALTHCHECK NONE the same as not setting a healthcheck
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
(cherry picked from commit 4016038bd3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:37 -07:00
Aanand Prasad
a688a0ae9d Add note about --entrypoint overriding default command
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
(cherry picked from commit 2b7548f972)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:37 -07:00
Anusha Ragunathan
52b078fb37 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>
(cherry picked from commit 4a44cf1d4c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:37 -07:00
Kenfe-Mickael Laventure
47b7cf5ceb 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>
(cherry picked from commit ac068a1f9d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:24:37 -07:00
Kenfe-Mickael Laventure
6142557cba 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>
(cherry picked from commit 5231c55346)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:21:14 -07:00
Andrea Luzzardi
42e97d23e2 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>
(cherry picked from commit edd67fd4ad)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:29 -07:00
Sebastiaan van Stijn
ec241bfeaf 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>
(cherry picked from commit 3fa9d77bf3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:28 -07:00
Zhang Wei
861fa09131 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>
(cherry picked from commit af8359562c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:28 -07:00
Sebastiaan van Stijn
e9190e0764 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>
(cherry picked from commit b0089e4827)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:23 -07:00
Tianyi Wang
14038215d3 Fix high cpu usage caused by docker stats.
Signed-off-by: Tianyi Wang <capkurmagati@gmail.com>
(cherry picked from commit 54e8beec9b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:16 -07:00
Tadej Janež
82219c7727 Expand instructions on using systemd to manage containers
Signed-off-by: Tadej Janež <tadej.j@nez.si>
(cherry picked from commit c8a99a5054)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:16 -07:00
Madhu Venugopal
c6ff464d43 Vendoring libnetwork for rc5
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 56b78ab2f2)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:15 -07:00
Madhu Venugopal
71d54a4bd3 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>
(cherry picked from commit 8f9066c468)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:15 -07:00
Everett Toews
beffc3e8c0 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>
(cherry picked from commit c42fbc6b09)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:15 -07:00
John Starks
43193233f8 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>
(cherry picked from commit 83c186fdd4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:15 -07:00
allencloud
4cd455a8d9 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 4e959ef2f7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:15 -07:00
Steve Durrheimer
5aef7cc12d Add zsh completion for 'docker swarm join-token' command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit a04bba8b89)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:14 -07:00
Madhu Venugopal
1cc85c1726 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>
(cherry picked from commit d3af5e3d4b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:14 -07:00
Aaron Lehmann
a0d1201e02 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>
(cherry picked from commit fca0b18dcb)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:12 -07:00
Aaron Lehmann
762a73bf7f 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>
(cherry picked from commit a0ccd0d42f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:18:03 -07:00
Aaron Lehmann
38beb3d9ab Vendor libnetwork and github.com/vishvananda/netlink
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 24d2d53f5d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:35 -07:00
Aaron Lehmann
ea9d74b755 Revendor swarmkit
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit d626875a94)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:34 -07:00
Vincent Demeester
6db1c73da7 Update swarm init task-history-limit docs
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 180f8c61bb)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:34 -07:00
Andrea Luzzardi
e6464aa5ab CLI: Change default Swarm task history retention limit.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
(cherry picked from commit d97c0a1f25)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:34 -07:00
Sebastiaan van Stijn
723073bccb bump engine-api to ebb728a1346926edc2ad9418f9b6045901810b20
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 9a3e47511a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:34 -07:00
Sebastiaan van Stijn
b7a38b19b3 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>
(cherry picked from commit bd81df1278)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:26 -07:00
Stephen J Day
986a968044 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>
(cherry picked from commit 634f54a047)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:08 -07:00
Alessandro Boch
9e006577f4 Fix regression on --link on bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 3a3f800ff4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:08 -07:00
Aaron Lehmann
1bb38f1a2b 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>
(cherry picked from commit 933ba8d7f7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:08 -07:00
Stephen J Day
16744cb970 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>
(cherry picked from commit 67246afd3d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:08 -07:00
Sebastiaan van Stijn
98f1c30e8c 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>
(cherry picked from commit 987511712f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:06 -07:00
Harald Albers
ac6d5a01c1 bash completion for docker swarm join-token
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 42b4d6ebe4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:02 -07:00
Charles Smith
fa89f32b13 updates get started with swarm to use join-token
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 9ac145d736)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Vincent Demeester
9ec67fd8d1 Append --registry-auth with with
`--with-registry-auth` is more explicit.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 8426f72107)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Aaron Lehmann
7836221015 Reorder swarm commands
This way "join-token" appears next to "join" in the help output.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 58ba4c313b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Sebastiaan van Stijn
83e40c5025 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>
(cherry picked from commit c4ab20c5f8)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Yong Tang
c6cd4b37c7 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>
(cherry picked from commit 3d30155735)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Justin Cormack
adeba99c7f Make README less scabious
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit b2ad59e7bd)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:01 -07:00
Aaron Lehmann
b738f3f3e5 Revendor swarmkit
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit aaa0f0b246)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:00 -07:00
Aaron Lehmann
05b1803b13 Revendor engine-api
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 852091ad41)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:17:00 -07:00
Aaron Lehmann
5d7a3f7b5f 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>
(cherry picked from commit 2cc5bd33ee)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:59 -07:00
Sebastiaan van Stijn
4d7d354cff 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>
(cherry picked from commit 8f93128cd6)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:28 -07:00
Kenfe-Mickael Laventure
33a8310bc8 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>
(cherry picked from commit d5cbc57eff)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:17 -07:00
Yong Tang
acfbf72906 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>
(cherry picked from commit 9414955c60)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
Alexandre Beslic
51b749e659 update libkv, fix wrong error check on zookeeper list
Signed-off-by: Alexandre Beslic <alexandre.beslic@gmail.com>
(cherry picked from commit 5189e3d50d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
Sebastiaan van Stijn
f001601c09 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>
(cherry picked from commit 07ef0a37f8)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
Nishant Totla
5d56800537 Send registry auth token for service deploy
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit a26bdd8607)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
fonglh
9f5465d4e6 Clarify API behavior when older versions are called.
Signed-off-by: fonglh <fonglh@gmail.com>
(cherry picked from commit f62e24f697)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
Stephen J Day
6a06d8d94c 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>
(cherry picked from commit a40b5820c9)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:16 -07:00
Harald Albers
8e0e7644d8 Add manual support for macvlan networks to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 6c98d5bfac)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:15 -07:00
Sebastiaan van Stijn
7876fa1c2d 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>
(cherry picked from commit 83b12c0c11)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:15 -07:00
Drew Erny
fd231567dc Added leader election test
Signed-off-by: Drew Erny <drew.erny@docker.com>
(cherry picked from commit 3489e76513)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:16:14 -07:00
Sebastiaan van Stijn
178b6874a1 docs: add code-hints to builder page
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit b5503ef0a5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:52 -07:00
Sebastiaan van Stijn
84e78fe955 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>
(cherry picked from commit 5ece2a6e0d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:50 -07:00
Sebastiaan van Stijn
8f0ec20157 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>
(cherry picked from commit 9d532b5e2d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:46 -07:00
Charles Smith
6dfb916abf add how nodes work to how swarm works guide
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 137261f97c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Harald Albers
2d5716544d Update completions for syslog log driver options
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 492fdf1f57)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Yong Tang
9ce976f4f6 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>
(cherry picked from commit 467107cd40)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Yong Tang
06f8cd5f31 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>
(cherry picked from commit e734fa58ea)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Yong Tang
7ebba69c43 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>
(cherry picked from commit 1d600ebcb5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Charles Smith
14835b6834 clarify update-delay and rolling update behavior
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 68a9224bd4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:45 -07:00
Sebastiaan van Stijn
ece06aee06 docs: add initial reference for "stack services"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f49dc528ed)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Sebastiaan van Stijn
33ff331ad7 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>
(cherry picked from commit 06f35262c4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Harry Zhang
fd7cabed36 Fix nits in deprecated
Signed-off-by: Harry Zhang <harryz@hyper.sh>
(cherry picked from commit 78a5480dfd)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Sebastiaan van Stijn
c3a114d4d4 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>
(cherry picked from commit effbd2b76d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Yi EungJun
a3d9a99c0e Fix the usage for service rm command
Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
(cherry picked from commit cf61cd3a92)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Steve Durrheimer
80463d8000 Add zsh completion for 'docker node update --label-{add,rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit cdb8383d7f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:44 -07:00
Steve Durrheimer
b29a9fdc4b Add zsh completion for 'docker service {create,update} --log-{driver,opt}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 45484f5458)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Charles Smith
05e6d5f5db add ref docs for node label
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 9594ac97ce)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Dong Chen
61936227d0 Test rolling update.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit d327765a62)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Anusha Ragunathan
05b7fe4170 Remove extra map lookup for volume drivers.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 5d4627331e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Vincent Demeester
1b131678da 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>
(cherry picked from commit 10919e8909)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Kenfe-Mickael Laventure
afc64c2d71 Update libcontainerd.AddProcess to accept a context
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit c02f82756e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:43 -07:00
Kenfe-Mickael Laventure
b7687cc673 Do not rely on "live" event anymore
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 64483c3bda)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Kenfe-Mickael Laventure
6c717a5744 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>
(cherry picked from commit 29b2714580)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Daniel Nephin
0649299908 Dont run man generation as part of test-unit.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 47cca88c8c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Daniel Nephin
3430f2e756 Set Long text for volume commands so they can be used to generate man pages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 25e9b06ac0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Daniel Nephin
ea0d7e5271 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>
(cherry picked from commit 00a8a40398)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Michael Crosby
14aee340f8 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>
(cherry picked from commit 04104c3a1e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Anusha Ragunathan
fee68def8f 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>
(cherry picked from commit 8fd779dc28)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:42 -07:00
Sebastiaan van Stijn
45920009cc 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>
(cherry picked from commit 4f0b510552)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:41 -07:00
Harald Albers
6c3019702e bash completion for docker node update --label-{add,rm}
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit bc6e3c0b5e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:41 -07:00
Harald Albers
4845b686b2 bash completion for docker service {create,update} --log-{driver,opt}
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 823e161de7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:41 -07:00
Damian Smyth
f370132a42 Create zfs directory if it doesn't exist at startup.
Signed-off-by: Damian Smyth <damian@dsau.co>
(cherry picked from commit 205bc6fc99)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:41 -07:00
Sebastiaan van Stijn
47a16dbe31 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>
(cherry picked from commit 589bafddf3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:39 -07:00
Tonis Tiigi
2456150a52 Update docker load security docs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit f17469e890)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:26 -07:00
Dong Chen
f3fea0ea88 Support node label update.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit e1165cdfd1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:26 -07:00
Stephen J Day
71a8ee2f49 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>
(cherry picked from commit e778ba2d5b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
John Starks
4d0f6041ad 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>
(cherry picked from commit 4acc2c7499)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
Anusha Ragunathan
da773af885 Print plugin name on successful install, enable and disable.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 6dca1e6d3f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
Aaron Lehmann
3b20018dd0 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>
(cherry picked from commit db9bc51cbe)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
Justyn Temme
fc22510aef suggested improvements for Debian install doc issue #23884
Signed-off-by: Justyn Temme <justyntemme@gmail.com>
(cherry picked from commit b74b46b26a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
Anusha Ragunathan
c04c127ce3 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>
(cherry picked from commit 21ecd5a93d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:25 -07:00
Tonis Tiigi
abf9cfe22f Increase timeout for swarm requests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 85b1fdf15c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:24 -07:00
Sebastiaan van Stijn
4118e0c9ee 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>
(cherry picked from commit 64a8317a5a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:24 -07:00
allencloud
5fcac2cdfd better command docker network create -h output
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit d0081a0f47)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:24 -07:00
Yanqiang Miao
de2498db0b 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>
(cherry picked from commit f9ef10f853)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:22 -07:00
Yong Tang
ebb3cca216 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>
(cherry picked from commit 0159ee1f5d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:17 -07:00
Sebastiaan van Stijn
da699d3207 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>
(cherry picked from commit c15144c4ec)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Justin Cormack
91432080bf 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>
(cherry picked from commit 6ba6265d1a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Vincent Demeester
285bfa04ac Small zsh completion fix on --pretty & --no-resolve
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 698bd5ab65)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Daniel Nephin
cf2b19a72e Only show port name if set.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 909c596fa5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Victoria Bialas
2b7c285ddc fixed cut-and-paste error on description of Docker Toolbox
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
(cherry picked from commit 6f9e310831)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Charles Smith
f0c76fb8d5 update create swarm and add nodes to use the auto-generated join command
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit fec803f779)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:13 -07:00
Lei Jitang
3d0cd8442e Fix daemon panic use wrong graphdriver with --live-restore flag
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit d9e8cea1b6)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Tonis Tiigi
09b01499b7 Wait for the reader fifo opening to block
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 0b2023130e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Yanqiang Miao
63084741f0 Delete redundant content of 'docs/extend/plugins.md'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

Update plugins.md

Update plugins.md

(cherry picked from commit cfe9d2ff1e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Steve Durrheimer
e4d263c99b Update zsh completion for 'docker service {create,update} {--endpoint-mode,--mode}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 2e6922a6d3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Steve Durrheimer
f6dfc0394f Add zsh completion for 'dockerd --oom-score-adjust'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 5d29732bdf)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Qiang Huang
cf83ab8e6d Fix aufs docs
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
(cherry picked from commit 92dfbc1e2d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:12 -07:00
Tonis Tiigi
211f871092 Fix panic in stats test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit f5fb3c69fd)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Steve Durrheimer
5f8d7aa0f4 Add zsh completion for 'docker service {create,update} --registry-auth'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 64f08906a2)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Steve Durrheimer
e204600ee1 Rename zsh completion for 'docker {create,run} --net --net-alias' to '--network --network-alias'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit ba5d9f63a3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Paul Furtado
25caee39a7 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>
(cherry picked from commit acb41ddc9d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Michael Crosby
4516769d50 State that docker supports fedora 24
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit 6780bdcbad)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Michael Crosby
c8dec6c2dd 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>
(cherry picked from commit 7a93a87c1a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Anil Madhavapeddy
12e32363e9 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>
(cherry picked from commit c37da1792d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:11 -07:00
Derek McGowan
e678d9fb7c 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>
(cherry picked from commit 19d48f0b8b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:10 -07:00
Derek McGowan
9deaa5cc1d Vendor distribution changes
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit 1e0b7538fa)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:10 -07:00
Kenfe-Mickael Laventure
ec03307eb2 Fix data race in libcontainerd
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 8e9fbc8f5f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:10 -07:00
Eivin Giske Skaaren
5bb9640ab8 Status code 409 received when conflicting name when creating container
Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
(cherry picked from commit 5bf46cc436)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:08 -07:00
Vincent Demeester
07bc1eecab 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>
(cherry picked from commit cc651bc642)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:15:00 -07:00
Vincent Demeester
e04733a67e Update service update commandline reference docs
Update with the new remove flags

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit dbe310eff0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Justin Cormack
a5584f5f41 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>
(cherry picked from commit 3050d9af9b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Daniel Nephin
fc3d339109 Fix multi-remove during service update.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 3249c1d0e7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Daniel Nephin
fad55b0ea1 Change the add/update flags to include 'add'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 4c6faa4340)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Daniel Nephin
1cf4bd4df7 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>
(cherry picked from commit ead1f62aba)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Daniel Nephin
b5f1b77a23 Add remove flags for service update
with unit tests

Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit dc33fc1ff4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Aaron Lehmann
32b12ed57a 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>
(cherry picked from commit 6de8fcb2f2)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:59 -07:00
Dong Chen
a769e22b70 Fix service inspect --pretty.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit 08ae4e544d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Sebastiaan van Stijn
a89bd71433 Remove dead code for "inspect --pretty"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 4d87f9083b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Harald Albers
3bd6c0b8dd bash completion for docker daemon --oom-score-adjust
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e1e310ea1f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Daniel Nephin
9f86a9712d Merge service command and args as a string.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 674d227445)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Daniel Nephin
d8e9dbf628 Vendor go-shlex.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 3464589c2a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Sebastiaan van Stijn
7491ebe00a Remove shorthand flags for "mount", "pretty", and "no-resolve"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7bf0faf423)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:58 -07:00
Michael Crosby
89986cbff4 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>
(cherry picked from commit a894aec8d8)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:57 -07:00
Sebastiaan van Stijn
0ce4630533 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>
(cherry picked from commit 477a5f8fb0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:57 -07:00
Vincent Demeester
cda05164ba Remove --command flag for service update
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit e4a024d590)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:57 -07:00
Alessandro Boch
dc5f28f4b5 Handle ingress sbox creation gracefully
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit ed6641ad61)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:57 -07:00
Alessandro Boch
8d7223d991 Vendoring libnetwork 905d374
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit cabc5b27c0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:57 -07:00
Sebastiaan van Stijn
ca9805f78d Make labels human readable
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit ea365e4cb3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:55 -07:00
Akihiro Suda
eb8bbea3d1 Remove "Yes"/"No" and use "true"/"false" consistently in docker info
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit c6b7bd1aa6)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:14:21 -07:00
Harald Albers
8a810acb1e 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>
(cherry picked from commit c4846f6972)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:49 -07:00
Lei Jitang
96247f4277 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>
(cherry picked from commit f5940ef725)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Harald Albers
9b0ebd26e8 Update bash completion for docker service {create,update} {--mode,--endpoint-mode}
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a394490d38)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Harald Albers
fc4c8d927a bash completion for docker service {create,update} --registry-auth
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit a44e71c427)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Sebastiaan van Stijn
ccffaddb55 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>
(cherry picked from commit 3c6ef4c29d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Mei ChunTao
b2334cc79d fix the docker run --readonly example. rename '/icanwrite here' to '/icanwrite/here'
Signed-off-by: Mei ChunTao <mei.chuntao@zte.com.cn>
(cherry picked from commit acbe38a3cc)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Alexander Morozov
926d66b50f all: fix usage of some variables
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit 57e14714ee)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:48 -07:00
Neil Peterson
de6b73a1a8 Added daemon.json Windows example
Signed-off-by: Neil Peterson <neilpeterson@outlook.com>
(cherry picked from commit 8352089e8c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-25 23:13:47 -07:00
Tibor Vass
e4a0dbc472 Bump VERSION to v1.12.0-rc4
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 20:27:22 -07:00
Tibor Vass
8ab73b58e7 Merge pull request #24571 from tiborvass/buildid-docker-proxy-cherrypick
[bump_v1.12.0] docker-proxy: Force external linking to add BuildID information to pl…
2016-07-12 20:23:40 -07:00
Tibor Vass
3cad13f679 docker-proxy: Force external linking to add BuildID information to please rpm
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 9a690d3544)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 20:01:51 -07:00
Tibor Vass
e4c35bd74c Merge pull request #24467 from tiborvass/cherry-picks-1.12.0-rc4
[WIP] Cherry picks 1.12.0 rc4
2016-07-12 17:47:32 -07:00
Tibor Vass
ff7c84b867 Merge pull request #24567 from tiborvass/bump_v1.12.0
Bump VERSION to v1.12.0-rc3
2016-07-12 17:46:52 -07:00
Christy Perez
f00c098bf7 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>
(cherry picked from commit dab287819a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 16:09:58 -07:00
Arnaud Porterie (icecrime)
c61fa33c23 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>
(cherry picked from commit c0c7d5e715)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:38 -07:00
Arnaud Porterie (icecrime)
e3ed7f8c7b 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>
(cherry picked from commit 5b21c8a408)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:38 -07:00
Brian Goff
31d24fa6a9 Fix panic while merging log configs to nil map
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 7dff310648)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:38 -07:00
Brian Goff
98b155379b Fix panic when meminfo couldn't be read
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 5f7b1b604c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:38 -07:00
Madhu Venugopal
9a0e0cccfe Fixing a stale endpoint issue that blocks ingress network cleanup
fixes #24400

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit a4926a4d92)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:38 -07:00
Madhu Venugopal
6ce4e9b50c Vendoring libnetwork
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 92c40f9bc0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Sebastiaan van Stijn
bc5eb28299 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>
(cherry picked from commit 0e7a1079be)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Sebastiaan van Stijn
156495f3a6 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>
(cherry picked from commit 06517753c1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Alexander Morozov
eaa8821a23 integration-cli: add test for restarting entire swarm cluster
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit ae4137ae3c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Charles Smith
85bb54b988 add caveat for network plugins in swarm mode
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 9ae64de614)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Ralf Sippl
909e7a2ca5 Add API test for empty services list
Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
(cherry picked from commit 65e72133a1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:37 -07:00
Ralf Sippl
18f1fc8349 Return an empty services list if no services are running
Signed-off-by: Ralf Sippl <ralf.sippl@gmail.com>
(cherry picked from commit c8e4e95db9)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:36 -07:00
Derek McGowan
adfeccf06f 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)
(cherry picked from commit ff98da0607)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:36 -07:00
Aaron Lehmann
72274de26e 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>
(cherry picked from commit a12ab28e0a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:36 -07:00
johnharris85
c0a787db2b Add support for comma-separated --auto-accept syntax.
Signed-off-by: John Harris <john@johnharris.io>

(cherry picked from commit 8e14882773)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:36 -07:00
Yong Tang
209f6e27e0 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>
(cherry picked from commit 93fa7e7555)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:36 -07:00
Sebastiaan van Stijn
d16f04942f 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>
(cherry picked from commit 2c9b5addc5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:33 -07:00
Dave Henderson
5dafcf2170 Clarify warning against using build-time variables for secrets
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
(cherry picked from commit 9af24ba3ac)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:21 -07:00
Tonis Tiigi
56ab840f37 Use waitAndAssert to test node state changes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit f02ec39e99)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:21 -07:00
Anusha Ragunathan
db94be5084 Shutdown plugins during daemon shutdown.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 863ab9ab13)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:21 -07:00
Qiang Huang
88d82eee4b 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>
(cherry picked from commit 1fb1136fec)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:50:18 -07:00
Mansi Nahar
c164011a4e Change content-trust doc to not point to images that don't exist #22730
Signed-off-by: Mansi Nahar <mmn4185@rit.edu>
(cherry picked from commit 82d70f4409)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:40 -07:00
Madhu Venugopal
e7dd82fab0 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>
(cherry picked from commit b32cfb32a3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
allencloud
25b235a1b1 return err when stack name does not exist
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 416613f2e5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
Joao Fernandes
e07a1af84b Fixes broken link in docs.
Fixes #24428

Signed-off-by: Joao Fernandes <joao.fernandes@docker.com>
(cherry picked from commit 6c9b5da5a1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
Kara Alexandra
e0960bd8e7 Add blanks lines in docs for clarity
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
(cherry picked from commit d0737e9ac0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
Lucas Chi
f17d02c992 Fix grammar in docker volumes tutorial
Signed-off-by: Lucas Chi <lucas@teacherspayteachers.com>
(cherry picked from commit 7b3ac47fa4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
runshenzhu
2e37061278 add health check in docker cluster
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
(cherry picked from commit 1ded1f26e1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:39 -07:00
Antonio Murdaca
e76138c35f 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>
(cherry picked from commit 9fadb8fd6a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Yong Tang
adbb169463 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>
(cherry picked from commit a3b9dd89a1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Tonis Tiigi
b008283a7f Add more complicated demotion testcases
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit a3f1577365)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Tonis Tiigi
82603c3abe Add logdrivers to executor from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 8a50315f3c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Tonis Tiigi
df6581abab Update executor volumes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 6586f4f071)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Tonis Tiigi
0450069179 vendor: update swarmkit to 6478bc19
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 4d12e64cd4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:38 -07:00
Yong Tang
9b5d507804 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>
(cherry picked from commit bc20354b09)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-12 15:43:37 -07:00
Justin Cormack
92b4422572 Add ltdl dependencies for aarch64
Fixes `make test` and fix #24380 on aarch64

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit d37a7394ac)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 16:04:34 -07:00
Harald Albers
d8d1573b0d bash completion for default port on docker swarm {init,join}
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 009d50e2d8)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:30 -07:00
Harald Albers
00a988c2ad bash completion can be configured to show node and service IDs
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 715754ee61)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:30 -07:00
Harald Albers
89bb424ce2 bash completion for docker {service,node} filters
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 2b34fa0511)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:30 -07:00
Akihiro Suda
1a45978a2d Validate arguments for ps in docker top
Fix #24357

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 2539332209)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:30 -07:00
Brian Goff
2bb603aafd 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>
(cherry picked from commit 2d5dc94b9b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:30 -07:00
Madhu Venugopal
b74b71ecb3 fixes #23983
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 6a4b21bd86)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Madhu Venugopal
65a256f7a8 Revert "Fixed a few network UI issues in swarm-mode"
This reverts commit 0ce5158a2a.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 4623276886)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Justin Cormack
b1819cb61b 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>
(cherry picked from commit 47ace5cd98)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Antonio Murdaca
52ca6cb63a daemon: ensure we set default options to stock runtime
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 59162641cc)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Justin Cormack
234861710f 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>
(cherry picked from commit 7102e09f29)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Charles Smith
e90025aa76 add constraint to service create ref
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 093817031a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:29 -07:00
Sebastiaan van Stijn
7a09cd2772 add iptables=false to docs for multiple daemons
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 1255e53e28)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
Justin Cormack
a654ab1e89 Fix test case for docker_api_swarm_test.go
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit 6dfba780cc)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
Justin Cormack
3c338c7d8a Update swarmkit vendoring
Needed for libnetwork vendoring

Update Secret API name change correspondingly

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit d428a7a425)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
Justin Cormack
bf2efa3332 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>
(cherry picked from commit 3ae0c66450)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
Justin Cormack
d28a8673b5 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>
(cherry picked from commit 0682468431)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
John Howard
0a861141fa Windows: Ensure VolumePath is not set for Hyper-V containers
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit fd4f5c2365)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:28 -07:00
Vincent Demeester
f831be849b 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>
(cherry picked from commit f4cfc6b983)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:27 -07:00
Aaron Lehmann
a00d12a8dd 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>
(cherry picked from commit 7342e42fce)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:27 -07:00
Vincent Demeester
23be238414 Use "on-failure" for both containers and services
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit a859a33647)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:33:21 -07:00
Vincent Demeester
3b8f724a96 Vendor engine-api 1d247454d4307fb1ddf10d09fd2996394b085904
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 6ec4a640de)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:34 -07:00
Anusha Ragunathan
61dc82f423 Detect non-plugin content during install and error out.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit d32df6d934)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:34 -07:00
Brian Goff
843b4a93fe 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>
(cherry picked from commit 56f3422468)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:30 -07:00
Brian Goff
272e75f9a0 re-vendor swarmkit
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit db271b8833)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:23 -07:00
Brian Goff
f331f05f9a re-vendor engine-api
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 140ec59db6)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:23 -07:00
Anil Madhavapeddy
0a21d2b8d0 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>
(cherry picked from commit 2de9585f5e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:23 -07:00
Yong Tang
ee1fa5b464 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>
(cherry picked from commit 668b8a998f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Jonathan Lomas
6b30370210 Remove unmatched bracket from _docker for zsh
Signed-off-by: Jonathan Lomas <jonathan@floatinglomas.ca>
(cherry picked from commit 7631dc80a6)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Brian Goff
85aefec45a 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>
(cherry picked from commit e5ec575b32)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Antonio Murdaca
3bf23479cf integration-cli: ensure digest is the same after cross-repo push
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit a0c8970df1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Antonio Murdaca
f7a8a315e7 vendor docker/distribution 4e17ab5d319ac5b70b2769442947567a83386fbc
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 8aa37bdbb7)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Anil Madhavapeddy
b18cea6d0f Improve the warning messages when leaving a Swarm cluster
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
(cherry picked from commit 22a3d1fa20)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:22 -07:00
Vincent Demeester
6966df5de7 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>
(cherry picked from commit 6daf3d2a78)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:19 -07:00
allencloud
e8c136169d fix severe fd leak in stack
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 0af04b6132)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
Aaron Lehmann
da2ad48b92 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>
(cherry picked from commit 2f19e910bd)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
Madhu Venugopal
b6349ac163 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>
(cherry picked from commit 0ce5158a2a)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
Aleksa Sarai
65c03f1013 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>
(cherry picked from commit 8db61095a3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
Derek McGowan
fcdaa2d6b3 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)
(cherry picked from commit 9836162446)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
Vincent Demeester
bbc85af0bd 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>
(cherry picked from commit b0fc5a21f1)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:15 -07:00
allencloud
58eb74778b fix stdout and stderr in api client
Signed-off-by: allencloud <allen.sun@daocloud.io>

(cherry picked from commit 533bd82e41)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
Derek McGowan
dd7fe47136 Treat digest only images as dangling
Add test for dangling digest images

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit 8906f8307c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
Derek McGowan
d81ed3eb4c 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)
(cherry picked from commit 33984f256b)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
Tonis Tiigi
ef62360342 Mask swarm secrets from daemon logs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 8b8f86aec9)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
allencloud
3eb83b5b2d fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit edc307cb92)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
Francis Chuang
e54d291989 Fix a grammatical error in errClusterNetworkOnRun()'s error message.
Signed-off-by: Francis Chuang <francis.chuang@boostport.com>
(cherry picked from commit 1205a55846)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:14 -07:00
Lei Jitang
9d4117ae18 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>
(cherry picked from commit 9c1566a1df)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:13 -07:00
skaasten
aa89297297 Fix typo - stacks being managed, not tasks?
(cherry picked from commit 88da491cd9)

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:13 -07:00
Steve Durrheimer
4cedd8fc23 Add zsh completion for 'docker service' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit f5d768e2c5)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:32:09 -07:00
Steve Durrheimer
65e339bed1 Add zsh completion for 'docker daemon --runtimes' and 'docker run --runtime'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit a5c7eb607e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:45 -07:00
Lei Jitang
a8bd5c65cc Add fchmod and fchmodat to TestRunSeccompProfileDenyChmod
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 8c179348c3)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:44 -07:00
allencloud
8b72a21977 add a whitespace in plugin's logging
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 97c77b7e0d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:44 -07:00
Steve Durrheimer
dbdd38e421 Add zsh completion for 'docker swarm' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 2086663abd)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:44 -07:00
Steve Durrheimer
46a866ece9 Add zsh completion for 'docker node' commands
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 024698718f)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:44 -07:00
Otto Kekäläinen
664c75ebba Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
(cherry picked from commit 644a7426cc)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:42 -07:00
Sebastiaan van Stijn
be2bec4ead remove incorrect L3 recommendation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit a26852223e)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:24 -07:00
Shoubhik Bose
0e1d691b7f 23837 Added long flag to docker ps for checking latest n containers. Updated to "--last"
Signed-off-by: Shoubhik Bose <sbose78@gmail.com>
(cherry picked from commit 256edc24fc)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:24 -07:00
Antonio Murdaca
18d85f7db1 man: add missing --add-runtime
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 585332dfe0)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:24 -07:00
Adolfo Ochagavía
98e4b0035a Fix typo
Signed-off-by: Adolfo Ochagavía <aochagavia92@gmail.com>
(cherry picked from commit 76b09be696)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:24 -07:00
Bilal Amarni
7dc8b036e1 [doc] add missing whitespace
Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com>
(cherry picked from commit 0244174296)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Sebastiaan van Stijn
a4bc0cfecb fix typo in "readonly" flag in documentation
the flag is named '--read-only', not '--readonly'

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit ac12696ff4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Alan Thompson
5c9db19be0 Update network_create.md
minor typos and punctuation.

Signed-off-by: Alan Thompson <cloojure@gmail.com>
(cherry picked from commit 68b8cc9735)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Sebastiaan van Stijn
15dee375d2 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>
(cherry picked from commit 04c94a013c)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Aaron Lehmann
7e086db901 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>
(cherry picked from commit 9aed7d1a3d)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Brian Goff
855dc5ba79 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>
(cherry picked from commit 2bc2165cbf)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:23 -07:00
Charles Smith
bb41792de2 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>
(cherry picked from commit f98f596c19)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:22 -07:00
Sebastiaan van Stijn
67f4f5d2c4 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>
(cherry picked from commit d761719eb4)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:22 -07:00
Vincent Demeester
76aed24192 Improve systemd service unit in *Automatically start containers*
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 48744e03e9)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:22 -07:00
Nicola Kabar
6387822594 [Docs] clarified local volume driver docs
Signed-off-by: Nico <nicolaka@gmail.com>
(cherry picked from commit 841f985994)
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-08 15:31:22 -07:00
Vincent Demeester
84aa074d18 Merge pull request #24325 from Anvil/plugins_volume.md-unqiue
Fixed typo: s/unqiue/unique/g
2016-07-05 11:27:42 +02:00
Damien Nadé
777c387f1e Fixed typo: s/unqiue/unique/g
Signed-off-by: Damien Nadé <github@livna.org>
2016-07-05 11:16:24 +02:00
Tibor Vass
91e29e815d Bump VERSION to v1.12.0-rc3
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-07-01 16:56:08 -07:00
Tibor Vass
da6da096b8 Merge pull request #24247 from tiborvass/fix-rpm-for-fedora24
fix F24 rpm build
2016-07-01 16:52:57 -07:00
Antonio Murdaca
0500446b36 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>
(cherry picked from commit 0c07e55e4c)
2016-07-01 16:51:47 -07:00
Tibor Vass
ac499dc4bb Merge pull request #24231 from tiborvass/cherry-pick-containerd-race-fix
Vendor containerd 1b3a81545ca79456086dc2aa424357be98b962ee
2016-07-01 13:30:13 -07:00
Kenfe-Mickael Laventure
5199e3960e Vendor containerd 1b3a81545ca79456086dc2aa424357be98b962ee
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 2685c82c2e)
2016-07-01 12:01:28 -07:00
Tibor Vass
39bc769113 Merge pull request #23724 from tiborvass/cherry-picks-for-1.12.0-rc3
[WIP] Cherry picks for 1.12.0 rc3
2016-07-01 03:59:35 -07:00
Aaron Lehmann
8a18eac752 Add documentation for external CA features in API/CLI
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit fa147591ed)
2016-07-01 00:40:48 -07:00
Tonis Tiigi
f9f7abfffe Add support for external CAs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 11085b2260)
2016-07-01 00:40:37 -07:00
Tonis Tiigi
4905c858db Update to new swarmkit/engine-api
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 9b65273836)
2016-07-01 00:40:37 -07:00
Tonis Tiigi
7d835ed934 Vendor updated swarmkit, libnetwork, engine-api
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 54255f53d8)
2016-07-01 00:40:36 -07:00
Nishant Totla
ae47b00c6c Adding a flag to specify sending of registry auth
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit 538bac39d7)
2016-07-01 00:40:31 -07:00
Nishant Totla
d199f78d18 Updating header name and executor
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit af5df117a8)
2016-07-01 00:39:51 -07:00
Nishant Totla
25c6d432ac Update engine-api vendored version
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit e13a14340d)
2016-07-01 00:39:51 -07:00
Nishant Totla
c5ddd5bb7f Passing registry auth token for service create and update
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
(cherry picked from commit 93ec5cda55)
2016-07-01 00:39:51 -07:00
Tonis Tiigi
88cb79d400 Fix duplicate layers in exported tar
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 41bf7de73b)
2016-07-01 00:39:50 -07:00
Wen Cheng Ma
72a4697cda Fix docker stack link
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
(cherry picked from commit 93ed4b35fa)
2016-07-01 00:39:50 -07:00
Keith Hudgins
17939a3159 Added HPE volume plugin listing
Signed-off-by: Keith Hudgins <greenman@greenman.org>
(cherry picked from commit 87ef5b4254)
2016-07-01 00:39:50 -07:00
John Howard
ddae91f21a Windows: Skip RunCidFileCleanupIfEmpty on RS1
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 20424fccdd)
2016-07-01 00:39:50 -07:00
John Howard
9185a0a681 Windows: Skip TestBuildEmptyCmd on RS1
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 45da127442)
2016-07-01 00:39:50 -07:00
Derek McGowan
6234af6680 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)
(cherry picked from commit 1cd7490281)
2016-07-01 00:39:50 -07:00
Vincent Demeester
1e30b67b4d 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>
(cherry picked from commit 3c194bd2a4)
2016-06-30 17:12:46 -07:00
Stefan Scherer
06cbb86a29 Revert tasksmax workaround to avoid unsupported bins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
(cherry picked from commit 6509cc4e63)
2016-06-30 17:12:46 -07:00
Akihiro Suda
4d4848ab68 zfs: call mount.MakePrivate
Fix #24008

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 5ec8441bb5)
2016-06-30 17:12:45 -07:00
allencloud
acc31b4448 fix comments and handle err
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit cc054f3195)
2016-06-30 17:12:45 -07:00
Yong Tang
b34706b152 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>
(cherry picked from commit 4bc91ceeb7)
2016-06-30 17:12:45 -07:00
Antonio Murdaca
b375ccfee7 fix warn message typos
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit a4143e6756)
2016-06-30 17:12:37 -07:00
allencloud
49981f8327 make cmd short short consistency and change docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 184afb92bf)
2016-06-30 17:11:29 -07:00
Alexander Morozov
90c272a4f2 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>
(cherry picked from commit 378f0657f9)
2016-06-30 17:11:13 -07:00
Lei Jitang
bb09b3e5f1 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>
(cherry picked from commit 2aa01e0fbc)
2016-06-30 16:58:15 -07:00
Madhu Venugopal
3657275ca0 Added missing flags for swarm-mode networks
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit cf78863e9d)
2016-06-30 16:57:32 -07:00
Sebastiaan van Stijn
99cfbbc287 docs: add note that we no longer send container-id for exec
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 82876c0f5b)
2016-06-30 16:57:32 -07:00
Daniel Nephin
0d061f680a Fix mount opts error message.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c8659d3cc5)
2016-06-30 16:57:31 -07:00
Tonis Tiigi
f492978638 Add test for force-new-cluster
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 1acb8ef825)
2016-06-30 16:57:31 -07:00
Tonis Tiigi
1f4e2f33ef 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>
(cherry picked from commit 1a8a473017)
2016-06-30 16:57:31 -07:00
Tonis Tiigi
7b70250d07 Switch node management tests to api types
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 22b34d6449)
2016-06-30 16:57:31 -07:00
Daniel Nephin
cd0ffa9359 Fix service update of Args
add a unit test

Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 07b59ef210)
2016-06-30 16:57:31 -07:00
Vincent Demeester
ea03b75b20 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>
(cherry picked from commit a7043ac5c4)
2016-06-30 16:57:31 -07:00
Adam Kunk
d83a27471b 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>
(cherry picked from commit 485c27e186)
2016-06-30 16:57:31 -07:00
Vincent Demeester
5c04eab617 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>
(cherry picked from commit 97c9491b0d)
2016-06-30 16:57:28 -07:00
Wonjun Kim
9ce196dc3c Add integration tests for swarm incompatible
Signed-off-by: Wonjun Kim <wonjun.kim@navercorp.com>
(cherry picked from commit d71789828f)
2016-06-30 16:57:21 -07:00
Wonjun Kim
bd572fcd8f Fix check code for --cluster-store and --cluster-advertise in config_unix.go
Signed-off-by: Wonjun Kim <wonjun.kim@navercorp.com>
(cherry picked from commit 4f671ae85e)
2016-06-30 16:57:21 -07:00
Anton Tiurin
712cbdbe1f Remove extra comma in Image Pull API examples
Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
(cherry picked from commit 307c39c187)
2016-06-30 16:57:08 -07:00
Harald Albers
4476697867 add documentation for desired_state filter
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 36f57f7d02)
2016-06-30 16:47:53 -07:00
Anusha Ragunathan
43186c4304 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>
(cherry picked from commit 6d36431e23)
2016-06-30 16:47:53 -07:00
Charles Smith
79b488d5c4 remove margin from bottom of swarm mode docs
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 0d6f59e85a)
2016-06-30 16:47:53 -07:00
Derek McGowan
07bd7b0128 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)
(cherry picked from commit ad4b3e11fe)
2016-06-30 16:47:53 -07:00
Brian Goff
0f1439a065 Add ip_vs to check-config script
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 9e14002ced)
2016-06-30 16:47:52 -07:00
Akihiro Suda
cab4e108c8 update storagedriver/zfs-driver.md for Ubuntu 16.04 LTS
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit ddf9b6f666)
2016-06-30 16:47:52 -07:00
danf
a55b4462d4 Fix Malformed history layer - missing Sprintf in append of shell in Builder run config
Signed-off-by: Dan Feldman <danf@jfrog.com>
(cherry picked from commit 29b6a69660)
2016-06-30 16:47:52 -07:00
Victoria Bialas
246d503dea added another alias for getting started stuff
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
(cherry picked from commit 4060eb02ef)
2016-06-30 16:47:52 -07:00
Michael Crosby
795390b033 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>
(cherry picked from commit ca3e4545aa)
2016-06-30 16:47:52 -07:00
Michael Crosby
4dc392b213 Update containerd to b93a33be39bc4ef0fb00bfcb79147
This updates containerd to b93a33be39bc4ef0fb00bfcb79147a28c33d9d43
fixing the start sync issues.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit 7db7e04631)
2016-06-30 16:47:52 -07:00
Anusha Ragunathan
8ac21ed2d4 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>
(cherry picked from commit 006d58d7e6)
2016-06-30 16:47:51 -07:00
Sebastiaan van Stijn
6ed3aaf3b6 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>
(cherry picked from commit 6add695084)
2016-06-30 16:47:51 -07:00
allencloud
db9b930abc add err handling, close fd
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 2281ce7e98)
2016-06-30 16:47:51 -07:00
Sebastiaan van Stijn
63ce6b60d5 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>
(cherry picked from commit 73d5f0648e)
2016-06-30 16:47:51 -07:00
Kenfe-Mickael Laventure
7a5e247d01 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>
(cherry picked from commit 69af7d0d13)
2016-06-30 16:47:51 -07:00
Harald Albers
795560dba2 bash completion enhancements for docker {swarm,node,service}
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e3339a75d3)
2016-06-30 16:47:51 -07:00
Dong Chen
6661a20564 Block service mode change.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
(cherry picked from commit 72f7cebfb0)
2016-06-30 16:47:50 -07:00
allencloud
a3b8c1a80e uppercase output in node inspect to keep consistency
Signed-off-by: allencloud <allen.sun@daocloud.io>
(cherry picked from commit 89582e1a34)
2016-06-30 16:47:50 -07:00
Alex Coventry
460418f035 Clarify role of dockerhost variable
Signed-off-by: Alex Coventry <alx@empirical.com>
(cherry picked from commit 8aba9fd3ec)
2016-06-30 16:47:50 -07:00
Tadej Janež
ea4d01f22f 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>
(cherry picked from commit 0a8c46d5e5)
2016-06-30 16:47:50 -07:00
Tonis Tiigi
e5fb8b1fb6 Disable iptables in swarm test daemons
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit caaf92f7b4)
2016-06-30 16:47:50 -07:00
Vincent Demeester
0762cce09a Update experimental docs dsb -> dab
Fixing bundle extension in experimental documentation.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 8af760c910)
2016-06-30 16:47:50 -07:00
Aanand Prasad
b84206157a Update bundle extension
It's now .dab, for Distributed Application Bundle

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
(cherry picked from commit 61e2d4240b)
2016-06-30 16:47:49 -07:00
Vincent Demeester
8084f80259 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>
(cherry picked from commit 7e1ec8d2bd)
2016-06-30 16:47:49 -07:00
Aaron Lehmann
77e3708bf7 Fix "sanbox" typos
Correcting "sanbox" to "sandbox".

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit fa04558ac1)
2016-06-30 16:47:49 -07:00
Brian Goff
5ff054ef51 Fix panic due to nil bind options
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 4c2e1a9cb0)
2016-06-30 16:47:49 -07:00
allencloud
f463560ead fix error message and typos in swarm cluster
Signed-off-by: allencloud <allen.sun@daocloud.io>

(cherry picked from commit 39bc10c36d)
2016-06-30 16:47:49 -07:00
Alexander Morozov
d985acae68 cli: fix network create usage
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit 159e7341ad)
2016-06-30 16:47:49 -07:00
Aaron Lehmann
72bb109a68 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>
(cherry picked from commit 39c93cfb47)
2016-06-30 16:47:48 -07:00
Tonis Tiigi
1fdce39622 Add better error messages for unavailable swarm commands
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 803733120a)
2016-06-30 16:47:48 -07:00
Adam Avilla
5c1a76f8da Fixing typo on service log output.
Signed-off-by: Adam Avilla <aavilla@yp.com>
(cherry picked from commit 7cc6fe5758)
2016-06-30 16:47:48 -07:00
Charles Smith
b6b262d8bb correct output description - only one task is running on manager
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 5f219806fc)
2016-06-30 16:47:48 -07:00
Sainath Grandhi
eebd6ac4df docker rename fix to address the issue of renaming with the same name issue #23319
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
(cherry picked from commit 3e8c16ef6d)
2016-06-30 16:47:48 -07:00
Alexander Morozov
0ec119e727 pkg/pools: avoid copy of sync.Pool
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit ba3af336eb)
2016-06-30 16:47:48 -07:00
Tonis Tiigi
de5fd9d641 Increase test timeouts for node state changes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 2e5da44341)
2016-06-30 16:47:47 -07:00
Tonis Tiigi
e546ffb37a Fix error reporting on executor wait
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit c895a76f10)
2016-06-30 16:47:47 -07:00
Alvaro Saurin
c2b195d3c2 Make sure we are trying to unmount a mounted /etc/resolv.conf
Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
(cherry picked from commit 41cc7c4d9d)
2016-06-30 16:47:47 -07:00
Alvaro Saurin
3e6c39e2ee Make sure we compare strings with the same capitalization
Signed-off-by: Alvaro Saurin <alvaro.saurin@gmail.com>
(cherry picked from commit ded347e744)
2016-06-30 16:47:47 -07:00
Akihiro Suda
71dbab2235 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>
(cherry picked from commit cfe16e0d5b)
2016-06-30 16:47:47 -07:00
Tonis Tiigi
80405bef73 Do not show tasks from down nodes as active in ls
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 5d4401d6d7)
2016-06-30 16:47:47 -07:00
John Howard
f3da720d8b Windows: Ensure frozen cope with prefix
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit b820ead426)
2016-06-30 16:47:46 -07:00
Kenfe-Mickael Laventure
1641f5e308 Fix the value of the Components value in apt {In,}Release files
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 63b0713014)
2016-06-30 16:47:46 -07:00
Derek McGowan
d99f4cc83d 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)
(cherry picked from commit bd13c53f8d)
2016-06-30 16:47:46 -07:00
Serhat Gülçiçek
f4de46d2ac 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>
(cherry picked from commit 7a30fa7af6)
2016-06-30 16:47:46 -07:00
Sven Dowideit
eaf5b17592 Removing some url links that can be resolved using src markdown links
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit 01f9cbc366)
2016-06-30 16:47:46 -07:00
David M. Karr (fullname at gmail.com)
6de8049ab5 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>
(cherry picked from commit a54c3fbb8a)
2016-06-30 16:47:46 -07:00
Alessandro Boch
f312883f39 Add modules for secure overlay network to check-config.sh
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit c355e059cc)
2016-06-30 16:47:45 -07:00
Alessandro Boch
ada93c7182 Vendoring libnetwork ed311d0
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit e26c513fa8)
2016-06-30 16:47:45 -07:00
Alessandro Boch
e928358dfb Vendoring vishvananda/netlink 734d02c
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 58b8b8fa15)
2016-06-30 16:47:45 -07:00
Antonio Murdaca
ae0648fca8 contrib: builder: rpm: add Fedora 24
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 0b83f27328)
2016-06-30 16:47:45 -07:00
orkaa
d4cdc5172c For the lulz! (evalulate -> evaluate)
Signed-off-by: orkaa <orkica@gmail.com>
(cherry picked from commit 1bdbfa5770)
2016-06-30 16:47:45 -07:00
Steve Durrheimer
790501e51f Add zsh completion for 'load' and 'save' image events
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit e2f1f699b3)
2016-06-30 16:47:45 -07:00
Steve Durrheimer
7b643a09d5 Add zsh completion for 'docker {create,run,network connect} --link-local-ip'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 704d9b6864)
2016-06-30 16:47:44 -07:00
Steve Durrheimer
c6721ada67 Add zsh completion for 'docker run --storage-opt size='
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 857e7d6ae4)
2016-06-30 16:47:44 -07:00
Steve Durrheimer
3714e9b393 Re-Add zsh completion for '-c' alias to '--cpu-shares'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 4c23ac0ae5)
2016-06-30 16:47:44 -07:00
Steve Durrheimer
27d64ec8ad Add zsh completion for 'docker daemon --storage-driver (overlay2|vfs)'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 8e582a2573)
2016-06-30 16:47:44 -07:00
Tonis Tiigi
43014ea54b 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>
(cherry picked from commit 0a4a0d9800)
2016-06-30 16:47:44 -07:00
Tonis Tiigi
3d06cd4910 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>
(cherry picked from commit fb3eb1c27e)
2016-06-30 16:47:44 -07:00
Stefan J. Wernli
8691607ade 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>
(cherry picked from commit 54f11b84d2)
2016-06-30 16:47:44 -07:00
Kai Qiang Wu(Kennan)
db4153cc90 Fix the missing 'ls'
Signed-off-by: Kai Qiang Wu(Kennan) <wkq5325@gmail.com>
(cherry picked from commit cbd240581f)
2016-06-30 16:47:43 -07:00
Shishir Mahajan
c984a6cdc8 Man page fix: Mention supported drivers for --storage-opt size option in docker create/run
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
(cherry picked from commit dc3fdfbe5b)
2016-06-30 16:47:43 -07:00
Eric Barch
060b6c4363 Add missing words in the swarm docs
Signed-off-by: Eric Barch <barch@tomesoftware.com>
(cherry picked from commit db158e9182)
2016-06-30 16:47:43 -07:00
bin liu
6a5a150722 fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
(cherry picked from commit 950073aabb)
2016-06-30 16:47:43 -07:00
nick
62d50a3f13 Fix misspell typos
Signed-off-by: nick <nicholasrusso@icloud.com>
(cherry picked from commit 7135afa79b)
2016-06-30 16:47:43 -07:00
Aaron Lehmann
56d53adab1 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>
(cherry picked from commit 1333ef3ca3)
2016-06-30 16:47:43 -07:00
Ken Cochrane
8f677417d1 Fixed issue #23787 install script not working for RHEL7 host
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
(cherry picked from commit 0e84474672)
2016-06-30 16:47:42 -07:00
Sven Dowideit
3d5903a45f Now that the Docker4 links are online, we can use them
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit 587d2f9d81)
2016-06-30 16:47:42 -07:00
Akihiro Suda
ba77356d98 Add overlay2 description to overlayfs-driver.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 8625adbd67)
2016-06-30 16:47:42 -07:00
Harald Albers
5604fb2362 bash completion for -c alias to --cpu-shares
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 79296b2770)
2016-06-30 16:47:42 -07:00
Harald Albers
b23562ea20 bash completion for docker daemon --storage-opt btrfs.min_space
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit f693b99870)
2016-06-30 16:47:42 -07:00
Harald Albers
0afeae16de bash completion for docker {run,create} --storage-opt
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 7d2ffa00c0)
2016-06-30 16:47:42 -07:00
Harald Albers
749f94e885 bash completion for load and save image events
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 5334520bf0)
2016-06-30 16:47:41 -07:00
Harald Albers
5188629256 bash completion for docker daemon --storage-driver olverlay2
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit d96eeff194)
2016-06-30 16:47:41 -07:00
Harald Albers
9117c0dd41 bash completion for docker {run,create,network connect} --link-local-ip
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 98483f57ed)
2016-06-30 16:47:41 -07:00
Steve Durrheimer
7d72ca329c Add zsh completion for 'docker daemon --live-restore'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 8036fc794a)
2016-06-30 16:47:41 -07:00
Kenfe-Mickael Laventure
df987c84de Fix missing container runtime on upgrade
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit d7ceda4e37)
2016-06-30 16:47:41 -07:00
Shishir Mahajan
16274ba940 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>
(cherry picked from commit fe6416d04f)
2016-06-30 16:47:41 -07:00
Kevin Jing Qiu
c7d35daad8 Fix some doc typos and spacings
Signed-off-by: Kevin Jing Qiu <kevin@idempotent.ca>
(cherry picked from commit 3b2ee9a704)
2016-06-30 16:47:40 -07:00
Sebastiaan van Stijn
1b053efb5a 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>
(cherry picked from commit 93095b1699)
2016-06-30 16:47:40 -07:00
Charles Smith
803b4d30a6 clarify swarm concept
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit e029631713)
2016-06-30 16:47:40 -07:00
Lei Jitang
c51fced060 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>
(cherry picked from commit 57c0a653e3)
2016-06-30 16:47:40 -07:00
Derek McGowan
aa123b73d1 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)
(cherry picked from commit 5cff374b14)
2016-06-30 16:47:39 -07:00
Derek McGowan
611bbed2df 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)
(cherry picked from commit a281be1c11)
2016-06-30 16:47:39 -07:00
Daniel Nephin
8a93ff1ffb 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>
(cherry picked from commit cacaeab9db)
2016-06-30 16:47:39 -07:00
Daniel Nephin
0641b8ba9c Use flag constants for swarm flag.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c08a50dbd1)
2016-06-30 16:47:39 -07:00
Daniel Nephin
7b0bb3f92c add more flag constants to service update.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 9d1f3373b3)
2016-06-30 16:47:39 -07:00
Charles Smith
3f276b58a5 update docker swarm cli
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 78ebfaff1a)
2016-06-30 16:47:39 -07:00
Harald Albers
75193e58ce fix bash completion for docker {swarm,node} subcommands
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e65f036e13)
2016-06-30 16:47:38 -07:00
Harald Albers
a4e3415235 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>
(cherry picked from commit 19753ec84d)
2016-06-30 16:47:38 -07:00
Mike Goelzer
b8b938c61c Add bash completion for docker service scale
Signed-off-by: Mike Goelzer <mike.goelzer@docker.com>

Conflicts:
	contrib/completion/bash/docker

(cherry picked from commit 5cf73a47f5)
2016-06-30 16:47:38 -07:00
Sebastiaan van Stijn
2899866c63 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>
(cherry picked from commit a92f6551c9)
2016-06-30 16:47:38 -07:00
Michael Friis
9157831d16 bring dab into title and intro
Signed-off-by: Michael Friis <friism@gmail.com>
(cherry picked from commit 6defef5619)
2016-06-30 16:47:38 -07:00
Michael Friis
cabc0df64d expand stack doc
Signed-off-by: Michael Friis <friism@gmail.com>
(cherry picked from commit cd2237c2bc)
2016-06-30 16:47:38 -07:00
Zhang Wei
c40debc362 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>
(cherry picked from commit 0e53976336)
2016-06-30 16:47:37 -07:00
Charles Smith
1784366694 add links to swarm and service commands to swarm mode overview
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit c13c560196)
2016-06-30 16:47:37 -07:00
Tonis Tiigi
8a994d4724 Don’t try to restore swarm from incomplete state
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit ded1d9af38)
2016-06-30 16:47:37 -07:00
Yong Tang
abb6e38208 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>
(cherry picked from commit 1cb7fb4d2e)
2016-06-30 16:47:37 -07:00
Yong Tang
92ffbd2b52 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>
(cherry picked from commit 6e86733b47)
2016-06-30 16:47:37 -07:00
Jana Radhakrishnan
2b45db42b2 Vendoring @ab62dd6bf06bf0
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 663159e9ac)
2016-06-30 16:47:37 -07:00
Charles Chan
fe2a9bea38 Update help output to match Docker 1.11.
* Also touch up headings.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
(cherry picked from commit 17ae6539f6)
2016-06-18 20:58:25 -07:00
Charles Smith
dd39dbe79c update cli commands output for rc1, revise key concepts
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 9499d5fd52)
2016-06-18 20:58:25 -07:00
Sven Dowideit
e8e1fbb72f bad url
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit c2495dbe6d)
2016-06-18 20:58:25 -07:00
Sven Dowideit
d546db33ff href links are not converted from file.md by hugo
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit ad1819ca1d)
2016-06-18 20:58:24 -07:00
Daniel Nephin
3c35da6029 Add tests for AutoAcceptOption
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c544649874)
2016-06-18 20:58:24 -07:00
Daniel Nephin
e090e2dbd4 Support a listen addr without a port, and add tests.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 595e79b805)
2016-06-18 20:58:24 -07:00
Victor Vieux
6b2cd6e843 accept uppercase endpoint mode
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 8a0c5f1578)
2016-06-18 20:58:24 -07:00
Jana Radhakrishnan
0728f28cbe Vendoring swarmkit @3f135f206179e
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 64a567d24c)
2016-06-18 20:58:24 -07:00
tomwbarlow@gmail.com
9e1d592de3 Change log.printf service creation msg to debug
Signed-off-by: tomwbarlow@gmail.com <tomwbarlow@gmail.com>
(cherry picked from commit eed8d14ed1)
2016-06-18 20:58:24 -07:00
Arnaud Porterie (icecrime)
f1f2461e09 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>
(cherry picked from commit 1f8ab93b44)
2016-06-18 20:58:23 -07:00
Harald Albers
ffb4daf0fb fix bash completion for docker service subcommands
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 42f3b1f4ad)
2016-06-18 20:58:23 -07:00
Sebastiaan van Stijn
d5c89ec65e Add initial "service" docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f565bc7ec9)
2016-06-18 20:58:23 -07:00
Victoria Bialas
d1c91b41e1 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>
(cherry picked from commit 5bc730eda7)
2016-06-18 20:58:23 -07:00
Tibor Vass
906eacd586 Bump VERSION to v1.12.0-rc2
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 16:28:45 -04:00
Tibor Vass
02772750e1 Merge pull request #23594 from tiborvass/changelog-fix
v1.12.0: some fixes to CHANGELOG
2016-06-17 13:25:47 -07:00
Tibor Vass
2ba4108c95 Merge pull request #23661 from tiborvass/cherry-picks-for-1.12.0-rc2
Cherry picks for 1.12.0 rc2
2016-06-17 13:20:10 -07:00
Tibor Vass
11daa3e417 v1.12.0: some fixes to CHANGELOG
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-17 13:18:49 -07:00
Arnaud Porterie (icecrime)
944a8f16c7 Improve docker service inspect --pretty
Remove capitalization in placement, and remove spurious `\t`.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
(cherry picked from commit 3c60b7b984)
2016-06-17 13:09:13 -07:00
Tibor Vass
70bd46293a plugins: fix name handling for legacy plugins
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8ba17b4823)
2016-06-17 13:09:13 -07:00
Vincent Demeester
6eaac7be89 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>
(cherry picked from commit cb321e82db)
2016-06-17 13:09:13 -07:00
Tibor Vass
2ae7330140 plugins: fix usage for plugin commands
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 65ed9daf70)
2016-06-17 13:09:12 -07:00
Tibor Vass
1cfd620124 plugins: remove automatic mounting of a state dir
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 15ff9de658)
2016-06-17 13:09:12 -07:00
Tibor Vass
f24e5d79bc plugins: install should not automatically accept all permissions
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 4b70d4561e)
2016-06-17 13:09:12 -07:00
Jana Radhakrishnan
a7c925cba4 Vendoring libnetwork @13be89d1cf79
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 70e2585d54)
2016-06-17 13:09:12 -07:00
Tonis Tiigi
bbc214fa9b Add newline to promote/demote message
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 3386e3570a)
2016-06-17 13:09:12 -07:00
Jana Radhakrishnan
8fdc925338 Check if DriverState is valid before using in convert
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 4fea81154b)
2016-06-17 13:09:12 -07:00
Anil Madhavapeddy
4b2883fac6 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>
(cherry picked from commit 0ec78739ac)
2016-06-17 13:09:12 -07:00
Ke Xu
05c32e7f08 fix #23017, add zsh completion for dockerd
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
(cherry picked from commit bd1fc1e5c2)
2016-06-17 13:09:11 -07:00
Anusha Ragunathan
82608cd4ce Add disable flag for plugin Install.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 22e781e8e3)
2016-06-17 13:09:11 -07:00
Harald Albers
fcdd4d4a52 bash completion for docker swarm update --cert-expiry
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit dc2fc75d42)
2016-06-17 13:09:11 -07:00
Justin Cormack
445f4f2f3e 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>
(cherry picked from commit c34d752419)
2016-06-17 13:09:11 -07:00
Justin Cormack
b7a1f1a2d1 fix invalid typo in error message
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
(cherry picked from commit 2322ccb8ff)
2016-06-17 13:09:11 -07:00
Charles Smith
aa1f241894 update output for node commands, minor edits
Signed-off-by: Charles Smith <charles.smith@docker.com>
(cherry picked from commit 3b2132c2c7)
2016-06-16 23:36:59 -07:00
Daniel Nephin
fb364d86fa Add some tests for bundlefile and improve the error messages for LoadFile
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c0ea589c1b)
2016-06-16 23:36:59 -07:00
Victor Vieux
d747fbc95c improve some messages in the node subcmds
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit eb962235fb)
2016-06-16 23:36:58 -07:00
Tonis Tiigi
0efe76c62b Add integration test for parsing swarm update options
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit a933ac3c27)
2016-06-16 23:36:58 -07:00
Tonis Tiigi
ab6abb799b Add cert-expiry to swarm update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 7d8d51aa9d)
2016-06-16 23:36:58 -07:00
Brian Goff
9647e4d6cc 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>
(cherry picked from commit dfd9187305)
2016-06-16 23:36:58 -07:00
Brian Goff
be82ff5c7f Fix removing plugins
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 5e156fd3d4)
2016-06-16 23:36:58 -07:00
Tonis Tiigi
efc10a92ef Fix removing containers on leaving from pending state
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 826f6f0703)
2016-06-16 23:36:58 -07:00
Victor Vieux
3635938b00 add some more fields in docker service inspect -p
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 4c9e21b674)
2016-06-16 23:36:58 -07:00
Tonis Tiigi
0cac3c4c23 Return membership status on join without timeout
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 1973cee0cd)
2016-06-16 23:36:57 -07:00
Tonis Tiigi
01c5b208e8 Update daemon to new swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit a83bba467a)
2016-06-16 23:36:57 -07:00
Tonis Tiigi
528f3ab668 Update swarmkit to 310f1119
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 2783568284)
2016-06-16 23:36:57 -07:00
Derek McGowan
56b253fb3c 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)
(cherry picked from commit 79eada3814)
2016-06-16 23:36:57 -07:00
Sebastiaan van Stijn
b3387e96ed fix "overlay" -> "overlay2" in error message
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2d4b285a75)
2016-06-16 23:36:57 -07:00
Vincent Demeester
42f445565d Update ServiceInspectWithRaw
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 4a70cb5571)
2016-06-16 23:36:57 -07:00
Vincent Demeester
d9d24b6605 Update docker plugin install code…
… for more consistency (api side).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 2c82337b04)
2016-06-16 23:36:57 -07:00
Vincent Demeester
7444bb2c25 Bump engine-api to c57d0447ea1ae71f6dad83c8d8a1215a89869a0c
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 58529a1553)
2016-06-16 23:36:56 -07:00
Sebastiaan van Stijn
fdb5324595 Update docker info output example
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 07e1c62bf4)
2016-06-16 23:36:56 -07:00
Madhu Venugopal
ed01cfc6db 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>
(cherry picked from commit 7f2f6ed0d6)
2016-06-16 23:36:56 -07:00
Justin Cormack
213adac2ea 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>
(cherry picked from commit f8d970169a)
2016-06-16 23:36:56 -07:00
Lei Jitang
83fbaa3cb4 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>
(cherry picked from commit 78f3094518)
2016-06-16 23:36:56 -07:00
Yong Tang
1ad7b517fa 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>
(cherry picked from commit eee20b564f)
2016-06-16 23:36:56 -07:00
Stephen J Day
6c3d080e83 api/client/service: fix minor spelling error in service inspect
Signed-off-by: Stephen J Day <stephen.day@docker.com>
(cherry picked from commit 920e65ccbc)
2016-06-16 23:36:55 -07:00
Kai Qiang Wu(Kennan)
82453c84ba 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>
(cherry picked from commit 136323b043)
2016-06-16 23:36:55 -07:00
Sebastiaan van Stijn
c73e56fd7f docs: move "advisory" to general metadata
the advisory option should not be
below "menu"

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit aadd88c306)
2016-06-16 23:36:55 -07:00
Sainath Grandhi
1e5ee1dd37 Fixes #23596-returns empty string for NetworkID in response to /containers/json
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
(cherry picked from commit ad85d29906)
2016-06-16 23:36:55 -07:00
Stephen J Day
c3015a22cb 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>
(cherry picked from commit b86cb293ec)
2016-06-16 23:36:55 -07:00
Tonis Tiigi
01d26abd5c Add api tests for secret update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit aed7667bee)
2016-06-16 23:36:55 -07:00
Victor Vieux
7f4bca0f90 use same hash for same secret
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit a579ce8ed3)
2016-06-16 23:36:55 -07:00
Victor Vieux
7cc76facba fix docker swarm init/update --secret
Signed-off-by: Victor Vieux <vieux@docker.com>
(cherry picked from commit 085895342c)
2016-06-16 23:36:54 -07:00
Michael Crosby
e491dbb38a 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>
(cherry picked from commit db435f526a)
2016-06-16 23:36:54 -07:00
Sebastiaan van Stijn
dd5573bc60 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>
(cherry picked from commit e233c8dd72)
2016-06-16 23:36:54 -07:00
Daniel Nephin
bb8996d62b Fix String() for some option types
and add unit tests for them.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit c26e7d8c91)
2016-06-16 23:36:54 -07:00
Adrian Moisey
2401c0223d Fix URL to issue
Signed-off-by: Adrian Moisey <adrian@changeover.za.net>
(cherry picked from commit 88d4da7f42)
2016-06-16 23:36:54 -07:00
Sven Dowideit
af3b1c7370 advisory can't be in the [menu] section
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit bc033cb706)
2016-06-16 23:36:54 -07:00
Thomas Leonard
979ad07925 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>
(cherry picked from commit 18a59bb869)
2016-06-16 23:36:53 -07:00
Anusha Ragunathan
3e44703cae Add basic integration tests for plugins.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit a2d48c9e4e)
2016-06-16 23:36:53 -07:00
Anusha Ragunathan
c82f23095a Add accept-permissions flag for install.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit ec4857da48)
2016-06-16 23:36:53 -07:00
Arnaud Porterie (icecrime)
187b6607a4 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>
(cherry picked from commit f22d0174f3)
2016-06-16 23:36:53 -07:00
Tom Barlow
5e41ec703d Change 'invald' to 'invalid' in volume opts errors
Signed-off-by: Tom Barlow <tomwbarlow@gmail.com>
(cherry picked from commit bf988fc6ff)
2016-06-16 23:36:53 -07:00
Justin Cormack
ad28216987 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>
(cherry picked from commit bdf01cf5de)
2016-06-16 23:36:53 -07:00
Anusha Ragunathan
d2a9560e71 Avoid back and forth conversion between strings and bytes.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit d6d448aab8)
2016-06-16 23:36:53 -07:00
Daniel Nephin
41d72e28c3 Change SCALE to REPLICAS.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
(cherry picked from commit 4df0349948)
2016-06-16 23:36:52 -07:00
Kenfe-Mickael Laventure
e324ec639b Fix TestRunWithRuntime* on arm
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit bd6317031b)
2016-06-16 23:36:52 -07:00
Michael Crosby
cdb04519e2 Update libnetwork to 96d45528599c32354230480a1ebc0
This fixes an issue with hanging tests due to store.

Fixes #23560

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit e927df7b4b)
2016-06-16 23:36:52 -07:00
Victoria Bialas
38305cb676 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>
(cherry picked from commit 1d80f8ca19)
2016-06-16 23:36:52 -07:00
Shoubhik Bose
2b36087597 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>
(cherry picked from commit d3fad80cc7)
2016-06-16 23:36:52 -07:00
Sven Dowideit
7af9b80f23 fix links for #23505
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
(cherry picked from commit fa94eb4604)
2016-06-16 23:36:52 -07:00
Madhu Venugopal
60a86590aa Use service alias and configure container's --net-alias
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 07e39e9e72)
2016-06-16 23:36:51 -07:00
Madhu Venugopal
588b76c2a1 Vendoring swarmkit 682e0b69be208176d6055cba855a5e9cf15c7cb4
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 5af8e2a9c0)
2016-06-16 23:36:51 -07:00
Madhu Venugopal
f1d5c3374c Vendoring libnetwork 0d517a9e4e5cbdb889b3257eebd2351addcd46d4
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit f2f97f768e)
2016-06-16 23:36:51 -07:00
Tonis Tiigi
ca16a4c81d Fix hanging integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 22f827abab)
2016-06-16 23:36:51 -07:00
Antonio Murdaca
034d555d30 daemon: allow tmpfs to trump over VOLUME(s)
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 756f6cef4a)
2016-06-16 23:36:51 -07:00
Akihiro Suda
ce6211d252 Update experimental/README.md
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit fec98ecca1)
2016-06-16 23:36:51 -07:00
Victoria Bialas
92ff142da2 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>
(cherry picked from commit 0254c12e1e)
2016-06-16 23:36:50 -07:00
Drew Erny
c816f2c905 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>
(cherry picked from commit 4104c1dc13)
2016-06-16 23:36:50 -07:00
Michael Crosby
be67aae778 Merge pull request #23627 from mlaventure/update-runc-on-1.12
Update runc on 1.12
2016-06-16 14:30:54 -07:00
Kenfe-Mickael Laventure
301f3d776f Revert build-{deb,rpm} to cloning from opencontainers repository
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-16 09:06:53 -07:00
Kenfe-Mickael Laventure
9eb6e049bd Vendor in runc cc29e3dded8e27ba8f65738f40d251c885030a28
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit b675124cf5)
2016-06-16 08:46:23 -07:00
Tibor Vass
1f136c1f85 bump VERSION to v1.12.0-rc1
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-15 00:36:32 -04:00
Michael Crosby
c293f64dc0 Merge pull request #23564 from tiborvass/fix-changelog
v1.12.0: fixed date in CHANGELOG to be in YYYY-MM-DD form
2016-06-14 21:35:39 -07:00
Tibor Vass
adbf43fe10 v1.12.0: fixed date in CHANGELOG to be in YYYY-MM-DD form
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-14 21:33:17 -07:00
Arnaud Porterie
aab402731f Merge pull request #23563 from icecrime/i_trust_crosbymichael
Use runc from crosbymichael's fork
2016-06-15 04:14:13 +00:00
Arnaud Porterie (icecrime)
e2b7f648f4 Use runc from crosbymichael's fork
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-14 21:10:38 -07:00
Tibor Vass
427738d81f v1.12.0: first draft of CHANGELOG additions
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-14 20:12:57 -07:00
Arnaud Porterie
9ba0504923 Merge pull request #23554 from vieux/node_update_name
fix docker node update via name
2016-06-15 02:36:42 +00:00
Arnaud Porterie
2e9aac59e2 Merge pull request #23553 from icecrime/heartbeat_as_duration
Make `--dispatcher-heartbeat-period` a duration
2016-06-15 02:36:17 +00:00
Arnaud Porterie
bd92dd29b9 Merge pull request #23531 from tonistiigi/rm-race
Fix race on force deleting container created by task
2016-06-15 02:33:56 +00:00
Arnaud Porterie
91197953d0 Merge pull request #23524 from aboch/restore
Daemon to support network restore
2016-06-15 02:33:16 +00:00
Arnaud Porterie
574f7d2149 Merge pull request #23551 from tonistiigi/update-swarmkit
Update swarmkit to 25572005f
2016-06-15 02:25:31 +00:00
Arnaud Porterie
c0677565dc Merge pull request #23522 from docker/swarm-stack
Add experimental Docker Stack CLI commands
2016-06-15 02:22:01 +00:00
Tõnis Tiigi
aa1b507af6 Merge pull request #23552 from vieux/prevent_panics
prevent some panics in 'service update'
2016-06-14 19:08:46 -07:00
Arnaud Porterie (icecrime)
e6e1fd5d06 Make --dispatcher-heartbeat-period a duration
Make `--dispatcher-heartbeat-period` a duration in `docker swarm
update`, allowing to express the value as "5s", "1h", etc.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-14 18:10:49 -07:00
Arnaud Porterie
e087ba4633 Merge pull request #23548 from vieux/no_more_reject
no more 'docker node reject' in docs
2016-06-15 00:43:58 +00:00
Michael Crosby
cd03a68d31 Merge pull request #23530 from crosbymichael/exp-tests
Kill containers after restart tests
2016-06-14 17:43:52 -07:00
Brian Goff
6ed921dc38 Merge pull request #23446 from tiborvass/plugins-experimental
Plugins: experimental support for new plugin management
2016-06-14 20:32:14 -04:00
Tonis Tiigi
b38408fd02 Update drain test
With the rolling update there can be a possibility
that the container count matches the update has
completely finished yet.

The actual bug for the flakiness was fixed with the
swarmkit update.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 17:25:17 -07:00
Tonis Tiigi
25a89d73e5 Update daemon to new swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 17:23:35 -07:00
Tonis Tiigi
cdf279d74d Update swarmkit to 25572005f
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 17:07:14 -07:00
Tibor Vass
93daa10e3e Merge pull request #23546 from sfsmithcha/formatting_updates_and_revisions
update formatting for variables, clarify text in certain topics
2016-06-14 17:04:59 -07:00
Tibor Vass
381a152793 Merge pull request #23547 from icecrime/update_api_reference
Update API reference
2016-06-14 17:04:34 -07:00
Tonis Tiigi
dcfe99278d Fix race on force deleting container created by task
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 16:49:04 -07:00
Lei Jitang
7d0689a8d3 Add test case for network restore
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-14 16:45:30 -07:00
Lei Jitang
ecffb6d58c Daemon to support network restore
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-14 16:45:25 -07:00
Arnaud Porterie (icecrime)
98880d8b39 Update API reference
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-14 16:41:10 -07:00
Charles Smith
7b0c3066e3 update formatting for variables, clarify text in certain topics
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-14 16:35:40 -07:00
Michael Crosby
e07d78d247 Kill containers after restart tests
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-14 16:17:36 -07:00
Michael Crosby
8a6cb9c19f Merge pull request #23535 from dmcgowan/cleanup-symlinks-overlay2
Remove symlinks on layer removal for overlay2
2016-06-14 16:08:34 -07:00
Sebastiaan van Stijn
93ef595eb5 Merge pull request #23476 from mgoelzer/docker112_bash_completions
Bash tab completions for subcommands swarm, service and node
2016-06-15 00:55:40 +02:00
Victor Vieux
78a48af37b fix docker node update via name
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-14 15:55:34 -07:00
Sebastiaan van Stijn
e79873c27c docker plugin commandline reference
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-14 15:50:00 -07:00
Michael Crosby
c97fdbe3c5 Merge pull request #23415 from aboch/ll
Allow user to specify container's link-local addresses
2016-06-14 15:47:54 -07:00
Arnaud Porterie
a0e992eff7 Merge pull request #23525 from dnephin/fix_service_update_repliacs
Fix service update replicas
2016-06-14 22:41:08 +00:00
Victor Vieux
1d380243fc prevent some panics in 'service update'
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-14 15:37:27 -07:00
Michael Crosby
3f0dbc89b8 Merge pull request #23540 from cpuguy83/fix_test_cleanup_mounts
TestCleanupMountsAfterGracefulShutdown wait for daemon exit
2016-06-14 15:34:21 -07:00
Arnaud Porterie (icecrime)
ae816baa3c Add experimental documentation for stacks
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-14 15:31:45 -07:00
Sebastiaan van Stijn
067b510dfc Merge pull request #23543 from LK4D4/move_sysctls_docs
docs: move sysctls docs to current API version
2016-06-15 00:28:09 +02:00
Alexander Morozov
de22669377 docs: move sysctls docs to current API version
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-14 15:14:16 -07:00
Victor Vieux
c21f861327 no more 'docker node reject' in docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-14 14:55:25 -07:00
Alessandro Boch
1c4efb6aa0 Allow user to specify container's link-local addresses
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-14 14:28:33 -07:00
Tibor Vass
f37117045c plugins: experimental support for new plugin management
This patch introduces a new experimental engine-level plugin management
with a new API and command line. Plugins can be distributed via a Docker
registry, and their lifecycle is managed by the engine.
This makes plugins a first-class construct.

For more background, have a look at issue #20363.

Documentation is in a separate commit. If you want to understand how the
new plugin system works, you can start by reading the documentation.

Note: backwards compatibility with existing plugins is maintained,
albeit they won't benefit from the advantages of the new system.

Signed-off-by: Tibor Vass <tibor@docker.com>
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-06-14 14:20:27 -07:00
Tibor Vass
e5b7d36e99 plugins: vendor engine-api to import new plugin types
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-14 14:20:27 -07:00
Brian Goff
9c52b11e2a TestCleanupMountsAfterGracefulShutdown wait for daemon exit
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-14 17:14:53 -04:00
Alessandro Boch
5b79122146 Vendoring libnetwork 452dff1
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-06-14 13:45:24 -07:00
Daniel Nephin
1b2c59bf86 Use constants for flag names.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-14 16:43:56 -04:00
Arnaud Porterie
1704914d7c Merge pull request #23533 from dnephin/remove_old_cmd_tag
Remove CmdTag
2016-06-14 20:42:05 +00:00
Mike Goelzer
35e2970b98 Update bash completion for Docker 1.12 CLI commands
Signed-off-by: Mike Goelzer <mike.goelzer@docker.com>
2016-06-14 12:57:40 -07:00
Derek McGowan
e6f2e7646c Remove symlinks on layer removal for overlay2
Symlinks are currently not getting cleaned up when removing layers since only the root directory is removed.
On remove, read the link file and remove the associated link from the link directory.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-14 12:40:35 -07:00
Daniel Nephin
19d6960b5b Remove CmdTag.
This file was accidentally re-added as part of a rebase.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-14 15:09:38 -04:00
Michael Crosby
6381ed14d1 Merge pull request #22983 from mlaventure/multiple-runtimes
Add support for multiple runtimes
2016-06-14 11:59:34 -07:00
Daniel Nephin
71104bb592 Add experimental docker stack commands
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-14 14:56:35 -04:00
Brian Goff
87f31e379d Merge pull request #23523 from vieux/fix_mounts_swarm
fix 2 potential panics with mounts in swarm
2016-06-14 14:44:19 -04:00
Tibor Vass
f0e8952669 Merge pull request #23526 from tonistiigi/skip-drain-test
Temporarily skip flaky part of the drain test
2016-06-14 10:56:03 -07:00
Alexander Morozov
81a85cf448 Merge pull request #23348 from vdemeester/migrate-cp-to-cobra
Migrate cp command to cobra
2016-06-14 10:49:22 -07:00
Tonis Tiigi
499e3a45b1 Increase the join connect timeout
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 10:20:47 -07:00
Tonis Tiigi
32f18616c7 Temporarily skip flaky part of the drain test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 10:20:40 -07:00
Victor Vieux
ffeb9fcb2a fix 2 potential panics with mounts in swarm
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-14 09:25:39 -07:00
Vincent Demeester
2e6db51de7 Migrate cp command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-14 17:16:59 +02:00
Kenfe-Mickael Laventure
77efe6dffc Skip TestRunResolvconfUpdate as it is unstable
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
1aec3bacfd Vendor in new runc binary with userns fix
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
1f266d40f3 Fix race in DockerExternalGraphdriverSuite.TestExternalGraphDriver
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
6e9bf4d316 Add bash completion support for --runtime and --add-runtime
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
1a6ed50e1f Add missing completion for --config-file
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
7b2e5216b8 Add support for multiples runtimes
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Kenfe-Mickael Laventure
2e9ea5c194 Update containerd and runc vendoring
containerd: 860f3a94940894ac0a106eff4bd1616a67407ee2
runc: 85873d917e86676e44ccb80719fcb47a794676a1
runtime-specs: v1.0.0-rc1

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-14 07:47:31 -07:00
Sven Dowideit
c913dd5f57 Merge pull request #23489 from thaJeztah/fix-indentation
API docs cleanup
2016-06-14 21:49:48 +10:00
Sven Dowideit
2a96ac66ea Merge pull request #23492 from londoncalling/docs-surface-tutorials-v1.12
surfacing Learn by example topics to top level of Docker Engine docs
2016-06-14 21:10:17 +10:00
Lei Jitang
74873f192a Merge pull request #23506 from albers/completion-daemon---live-restore
bash completion for `docker daemon --live-restore`
2016-06-14 17:24:00 +08:00
Sebastiaan van Stijn
31e48e85ef Merge pull request #23501 from dmcgowan/fix-overlay-diff-test
Remove failing overlay test
2016-06-14 10:49:42 +02:00
Sebastiaan van Stijn
1cb16a1b41 Merge pull request #23484 from onlyjob/bash-completion
Fix syntax errors in bash-completion (Closes: #23483)
2016-06-14 10:13:29 +02:00
Tibor Vass
a1e319e847 Merge pull request #23361 from docker/swarm
Add dependency to docker/swarmkit
2016-06-14 00:55:55 -07:00
Harald Albers
73882e8f83 bash completion for docker daemon --live-restore
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-14 09:14:25 +02:00
Vincent Demeester
c69614deae Merge pull request #23490 from shishir-a412ed/dm_options_modularized
Modularize dm.use_deferred_removal and dm.use_deferred_deletion logic.
2016-06-14 08:47:43 +02:00
Vincent Demeester
7d988a7aa6 Merge pull request #23093 from tkopczynski/20784-builder-dockerfile-outside-context
Builder integration tests for Dockerfile outside context as a unit test
2016-06-14 08:44:24 +02:00
Derek McGowan
0e74aabbb9 Remove failing overlay test
Diff apply is sometimes producing a different change list causing the tests to fail.
Overlay has a known issue calculating diffs of files which occur within the same second they were created.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-13 22:34:57 -07:00
Charles Smith
ea4fef2d87 add tutorial
Signed-off-by: Charles Smith <charles.smith@docker.com>
2016-06-13 22:17:15 -07:00
Amit Shukla
9acf97b72a CLI docs
Signed-off-by: Amit Shukla <amit.shukla@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-13 22:17:15 -07:00
Daniel Nephin
12a00e6017 Add Swarm management CLI commands
As described in our ROADMAP.md, introduce new Swarm management commands
to call to the corresponding API endpoints.

This PR is fully backward compatible (joining a Swarm is an optional
feature of the Engine, and existing commands are not impacted).

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-13 22:17:15 -07:00
Tibor Vass
4940985340 Merge pull request #23224 from mlaventure/dont-overwrite-existing-deb
Do not overwrite already published deb files when releasing
2016-06-13 22:16:53 -07:00
Arnaud Porterie (icecrime)
d4abe1d84a Add swarm api reference docs
Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-13 22:16:18 -07:00
Tonis Tiigi
0d88d5b64b Swarm integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-13 22:16:18 -07:00
Tonis Tiigi
534a90a993 Add Swarm management backend
As described in our ROADMAP.md, introduce new Swarm management API
endpoints relying on swarmkit to deploy services. It currently vendors
docker/engine-api changes.

This PR is fully backward compatible (joining a Swarm is an optional
feature of the Engine, and existing commands are not impacted).

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-13 22:16:18 -07:00
Tonis Tiigi
44793049ce Add dependency to docker/swarmkit
Add a dependency to `docker/swarmkit` in preparation for adding
first-class Swarm-wide service management inside the Docker Engine as
described in our ROADMAP.md.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-13 22:16:18 -07:00
Alexander Morozov
c81c131a40 Merge pull request #23373 from capkurmagati/23211-spf13-cobra-ps
Migrate ps command to cobra
2016-06-13 22:12:20 -07:00
Michael Crosby
3020081e94 Merge pull request #23213 from crosbymichael/restore-option
Add --live-restore flag
2016-06-13 20:57:19 -07:00
Tianyi Wang
5a0b53b5a3 Migrate ps command to cobra
Signed-off-by: Tianyi Wang <capkurmagati@gmail.com>
2016-06-14 11:59:37 +09:00
Michael Crosby
d705dab1b1 Add --live-restore flag
This flags enables full support of daemonless containers in docker.  It
ensures that docker does not stop containers on shutdown or restore and
properly reconnects to the container when restarted.

This is not the default because of backwards compat but should be the
desired outcome for people running containers in prod.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-13 19:16:26 -07:00
John Howard
bfed05be0b Merge pull request #23447 from Microsoft/RemoveQosValidation
Removed QoS validation on Windows
2016-06-13 14:47:06 -07:00
Vincent Demeester
5338ae7133 Merge pull request #23425 from runcom/authz-race
pkg: authorization: lock when lazy loading
2016-06-13 23:20:37 +02:00
Alexander Morozov
f0193e278c Merge pull request #23256 from vdemeester/migrate-pull-push-to-cobra
Use spf13/cobra for docker push and docker pull
2016-06-13 14:16:42 -07:00
Alexander Morozov
a502158d8a Merge pull request #23265 from vdemeester/migrate-login-logout-to-cobra
Use spf13/cobra for docker login and docker logout
2016-06-13 14:15:46 -07:00
Alexander Morozov
e6c49bf71b Merge pull request #23309 from yongtang/23211-spf13-cobra-commit
Use spf13/cobra for docker commit
2016-06-13 14:13:37 -07:00
Victoria Bialas
8eca8089fa 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

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-13 13:32:30 -07:00
Michael Crosby
8a2f9a249c Merge pull request #22126 from dmcgowan/overlay-native-diff
Overlay multiple lower directory support
2016-06-13 13:15:39 -07:00
Sebastiaan van Stijn
1842077541 Merge pull request #23195 from cyli/update-content-trust-docs
Update content trust docs to reflect latest notary compose file changes
2016-06-13 22:11:32 +02:00
cyli
ba115b0a91 Update content trust docs to reflect latest notary compose file changes, and to simplify
the instructions by providing a single compose file that runs the notary server, registry,
and a docker-in-docker trust sandbox.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-06-13 12:57:06 -07:00
Sebastiaan van Stijn
f7600fc641 Merge pull request #23261 from dimrozakis/23260
Escape brackets in hack/install.sh
2016-06-13 20:19:26 +02:00
Vincent Demeester
d169f057d9 Merge pull request #23473 from coolljt0725/fix_stop_crash
Fix shutdown daemon during daemon staring casue crash
2016-06-13 20:08:12 +02:00
Sebastiaan van Stijn
3bb42723ac Merge pull request #23485 from sbose78/22514-run-image-using-digest
Fixes #22514 - Added example for using image digest in the docker run command
2016-06-13 20:07:17 +02:00
Derek McGowan
a546042b91 Add documentation for using overlay2
Add mention in dockerd command line and storage driver selection documentation.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-13 11:06:47 -07:00
Shoubhik Bose
e6e8c4d700 Added example for using image digest in the docker run command
Signed-off-by: Shoubhik Bose <sbose78@gmail.com>

Added explanation for the example with image's digest ( as per @thaJeztah 's comment

Signed-off-by: Shoubhik Bose <sbose78@gmail.com>

Wrapped to ~80 chars

Signed-off-by: Shoubhik Bose <sbose78@gmail.com>
2016-06-13 18:00:41 +00:00
Sebastiaan van Stijn
50c7bcac1e Merge pull request #23443 from swernli/servicing-async
Updating call sequence for servicing Windows containers
2016-06-13 19:49:23 +02:00
Alexander Morozov
8eb1d89c17 Merge pull request #22631 from runcom/fix-leak-mount
pkg: chrootarchive: chroot_linux: fix mount leak
2016-06-13 09:29:46 -07:00
Shishir Mahajan
cac6658da0 Modularize dm.use_deferred_removal and dm.use_deferred_deletion logic.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-06-13 12:05:46 -04:00
Sebastiaan van Stijn
a4438ca606 API docs cleanup
fix some formatting issues and consistency;

- Change capitalization (Query Parameters -> Query parameters, Json -> JSON)
- Make Query/JSON parameters and Status codes headings bold
- Fix indentation of some code blocks
- Fix headings (H2 -> H1), although all headings should be shifted the other way
  round ;-)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-13 16:37:24 +02:00
Vincent Demeester
0b879b993d Merge pull request #23416 from dnephin/fix-daemon-help
Support running 'docker help daemon' with split binaries
2016-06-13 15:46:12 +02:00
Sebastiaan van Stijn
6ba3d63a8c Merge pull request #22575 from mountkin/fix-22536
fix LogConfig for containers created before docker 1.12 on daemon start
2016-06-13 15:11:01 +02:00
Dmitry Smirnov
546594eaaa Fix syntax errors in bash-completion (Closes: #23483)
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2016-06-13 19:12:31 +10:00
Lei Jitang
3c25656efa Fix shutdown daemon during starting causes daemon crash
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-13 02:10:37 -04:00
Sven Dowideit
9a8affb0ff Merge pull request #23478 from cpuguy83/22833_optional_mountpoint_docs
Clarify volume plugin `Mountpoint` is optional
2016-06-13 14:22:48 +10:00
Vincent Demeester
0d744de9ab Merge pull request #23479 from thaJeztah/fix-typo
Fix typo in error message
2016-06-13 00:49:44 +02:00
Sebastiaan van Stijn
bf0e2cb1b6 Merge pull request #23444 from Microsoft/RevendorHcsshim
Update vendored hcsshim to v0.3.4
2016-06-13 00:41:09 +02:00
Sebastiaan van Stijn
4ace1811b4 Fix typo in error message
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-12 23:22:26 +02:00
Brian Goff
edd80498d5 Note about mountpoint being optional
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-12 16:34:09 -04:00
Brian Goff
aaef5297bf Merge pull request #22152 from flixr/armhf-ubuntu-trusty-deb
build armhf deb for ubuntu-trusty
2016-06-12 16:27:54 -04:00
Antonio Murdaca
d1b7e8373b authz: cleanups
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-12 17:23:19 +02:00
Antonio Murdaca
ceb9c5a88b pkg: authorization: lock when lazy loading
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-12 17:19:43 +02:00
Sebastiaan van Stijn
0f7c5f92c5 Merge pull request #23472 from sdurrheimer/zsh-completion-run-healthcheck
Add zsh completion for 'docker run' healthcheck options
2016-06-12 16:21:41 +02:00
Vincent Demeester
4dafd107ad Merge pull request #22777 from WeiZhang555/wait-restarting
Bug fix: `docker run -i --restart always` hangs
2016-06-12 13:01:20 +02:00
Steve Durrheimer
734260886c Add zsh completion for 'docker run' healthcheck options
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-12 13:00:05 +02:00
Vincent Demeester
434a46e652 Merge pull request #23466 from yongtang/23459-logrus-formatting-2
Fix incorrect usage of logrus when formatting string is present
2016-06-12 10:21:04 +02:00
Alexander Morozov
576c9fa200 Merge pull request #23442 from thaJeztah/remove-defaultExitOnUnhealthy
remove unused defaultExitOnUnhealthy constant
2016-06-11 16:37:39 -07:00
Yong Tang
d917723331 Fix incorrect usage of logrus when formatting string is present
This fix tries to fix logrus formatting by adding `f` to the end of
`logrus.[Error|Warn|Debug|Fatal|Panic|Info](` when formatting string
is present but the function `logrus.[Error|Warn|Debug|Fatal|Panic|Info](`
is used (incorrectly).

This fix is related to #23459, and is a follow up of #23461.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-11 15:37:36 -07:00
Vincent Demeester
96110f3cd2 Merge pull request #23461 from yongtang/23459-logrus-formatting
Fix logrus formatting
2016-06-12 00:19:05 +02:00
Vincent Demeester
c9b1ec5424 Merge pull request #23464 from charleswhchan/update-pull-commandline-doc
Add link to Docker Hub.
2016-06-12 00:18:44 +02:00
Charles Chan
0c3a4a1fcd Add link to Docker Hub.
* To make it consistent with similar references in other parts of document.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2016-06-11 14:31:53 -07:00
Yong Tang
a72b45dbec 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.

This fix fixes #23459.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-11 13:16:55 -07:00
Vincent Demeester
ec1790d7f1 Merge pull request #23458 from runcom/warnf
*: fix logrus.Warn[f]
2016-06-11 21:42:12 +02:00
Vincent Demeester
dcc65376ba Merge pull request #23460 from kevinburke/fix-typo
typo in builder.md: its => it's
2016-06-11 21:41:33 +02:00
Kevin Burke
c9a68ffb2a typo in builder.md: its => it's
Signed-off-by: Kevin Burke <kev@inburke.com>
2016-06-11 12:33:58 -07:00
Antonio Murdaca
44ccbb317c *: fix logrus.Warn[f]
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-11 19:42:38 +02:00
Vincent Demeester
a29376dfd0 Merge pull request #23456 from sdurrheimer/zsh-completion-ps-filter-network
Add zsh completion for 'docker ps --filter=network'
2016-06-11 18:52:48 +02:00
Sebastiaan van Stijn
befada2ca7 Merge pull request #23453 from runcom/fix-typo-pkg-proxy
pkg: proxy: fix TCPEchoServer.Close() in unit test
2016-06-11 18:32:22 +02:00
Sebastiaan van Stijn
b133737cb7 Merge pull request #23455 from sdurrheimer/zsh-completion-events-filter-values
Add zsh completion for 'docker events --filter' values
2016-06-11 18:29:17 +02:00
Sebastiaan van Stijn
b3ce532762 Merge pull request #23454 from sdurrheimer/zsh-completion-create-run-pid-values
Add zsh completion for 'docker {create,run} --pid' values
2016-06-11 18:28:01 +02:00
Steve Durrheimer
b5498a8b0b Add zsh completion for 'docker events --filter' values
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-11 17:02:26 +02:00
Steve Durrheimer
60c435e7d0 Add zsh completion for 'docker ps --filter=network'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-11 16:53:26 +02:00
Steve Durrheimer
654aaa055e Add zsh completion for 'docker {create,run} --pid' values
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-11 15:30:27 +02:00
Antonio Murdaca
809207fc74 pkg: proxy: fix TCPEchoServer.Close() in unit test
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-11 15:27:56 +02:00
Sebastiaan van Stijn
2a6abf1011 Merge pull request #23441 from thaJeztah/update-packagers
Update Golang requirements in PACKAGERS.md
2016-06-11 15:26:45 +02:00
Sebastiaan van Stijn
edadc2f4d7 Update Golang requirements in PACKAGERS.md
Docker 1.12 now requires Go 1.6, so update
the packagers.md accordingly

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-11 01:47:51 +02:00
Darren Stahl
ea3a7899f5 Removed QoS validation on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-10 16:30:54 -07:00
Alexander Morozov
ee8c512dc3 Merge pull request #23403 from WeiZhang555/split-utils
Move GetExitCode to package container and unexport it
2016-06-10 15:38:06 -07:00
Darren Stahl
d4d8cc9c0a Update vendored hcsshim to v0.3.4
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-10 15:27:05 -07:00
Stefan J. Wernli
f2ad7be2c4 Updating call sequence for servicing Windows containers
This change adjusts the calling pattern for servcing containers to use waiting on the process instead of expecting start to block.  This is safer, as it avoids timeouts in the start code path for the potentially expensive update operation.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-06-10 15:19:10 -07:00
Antonio Murdaca
7d22887b2c pkg: chrootarchive: chroot_linux: fix mount leak
When pivot_root fails we need to unmount the bind mounted path we
previously mounted in preparation for pivot_root.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-11 00:07:41 +02:00
Sebastiaan van Stijn
1dd28788f1 remove unused defaultExitOnUnhealthy constant
the '--exit-on-unhealty' option was removed,
but we forgot to remove this constant.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-11 00:04:05 +02:00
Michael Crosby
3d0595f1d5 Merge pull request #23439 from michael-holzheu/PR-s390x-seccomp-remove-again
Dockerfile.s390x: Remove 'seccomp' again from DOCKER_BUILDTAGS
2016-06-10 14:45:44 -07:00
Sebastiaan van Stijn
29283143be Merge pull request #23435 from thaJeztah/carry-23352-peaceful-zen
[carry 23352] update peaceful zen
2016-06-10 23:23:16 +02:00
Sebastiaan van Stijn
a1f60b9db3 Merge pull request #23434 from thaJeztah/cherry-pick-increase-containerd-start-timeout
(cherry-pick) Increase containerd start-timeout to 2 minutes on master
2016-06-10 23:21:52 +02:00
Michael Holzheu
e6e51d37f7 Dockerfile.s390x: Remove 'seccomp' again from DOCKER_BUILDTAGS
We have to wait until runc version (RUNC_COMMIT) is bumped.
Otherwise we get the following error:

 oci runtime error: string SCMP_ARCH_S390 is not a valid
 arch for seccomp

Fixes: bf2a577c13 ("Enable seccomp for s390x")
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-06-10 15:18:58 -04:00
Alexander Morozov
12970bef34 Merge pull request #23351 from thaJeztah/remove-go-1.4-fix
remove fallback for Go 1.4
2016-06-10 09:16:46 -07:00
fortinux
cd7ca2a1c7 update peaceful zen
Signed-off-by: fortinux <info@fortinux.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-10 16:39:05 +02:00
Vincent Demeester
73169da9db Merge pull request #23433 from thaJeztah/changelog-cherry-pick
Cherry-pick 1.11.2 CHANGELOG into master
2016-06-10 16:28:19 +02:00
Kenfe-Mickael Laventure
64a91ee74e Increase containerd start-timeout to 2 minutes
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 4251e1e99e)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-10 16:22:19 +02:00
Kenfe-Mickael Laventure
302a1e6101 Update CHANGELOG for 1.11.2
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit c9dd46ca5c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-10 16:16:10 +02:00
Sebastiaan van Stijn
4a3b9a606b Merge pull request #23410 from cyphar/fix-xattr-ignore
pkg: archive: only ignore ENOTSUP when xattr fails
2016-06-10 15:58:25 +02:00
Vincent Demeester
ad4e20cd92 Moving Image{Push,Pull}Privileged to trust.go
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-10 12:07:32 +02:00
Vincent Demeester
9640e3a451 Migrate push command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-10 12:07:28 +02:00
Vincent Demeester
fa67b984f8 Migrate pull command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-10 12:07:23 +02:00
Vincent Demeester
baf467722b Migrate login & logout command to cobra
Also moves some common stuff around :
- `api/client/registry.go` for registry related
method (`ElectAuthServer`, …)
- `api/client/credentials.go` to interact with credentials

Migrate logout command to cobra

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-10 12:04:29 +02:00
Antonio Murdaca
a05536ff42 Merge pull request #23412 from vdemeester/migrate-load-and-save-to-cobra
Use spf13/cobra for docker load and save
2016-06-10 12:02:18 +02:00
Vincent Demeester
51f0def774 Merge pull request #23400 from runcom/fix-digest-test
integration-cli: use distribution/reference.DigestRegexp
2016-06-10 11:56:14 +02:00
Sebastiaan van Stijn
04f5ce5152 Merge pull request #23421 from tiffanyfj/typos
Fixed spelling error in builder/dockerfile/parser/parser.go
2016-06-10 08:31:19 +02:00
Sebastiaan van Stijn
949f8d0d11 Merge pull request #23419 from ahmetalpbalkan/docs/azure-vol-plugin
docs: Add Azure File Storage Volume Driver plugin
2016-06-10 00:36:13 +02:00
Ahmet Alp Balkan
b91269c5ed docs: Add Azure File Storage Volume Driver plugin
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2016-06-09 15:28:38 -07:00
Sebastiaan van Stijn
a4ff707e99 Merge pull request #23406 from thaJeztah/update-deb-script
release-deb: create "dists" directory if missing
2016-06-10 00:05:43 +02:00
Sebastiaan van Stijn
1164f917fa Merge pull request #23359 from londoncalling/docker-engine-overview
re-doing Docker Engine overview topics for v.1.12
2016-06-10 00:02:56 +02:00
Tiffany Jernigan
a07c57f656 Fixed spelling error in builder/dockerfile/parser/parser.go
Signed-off-by: Tiffany Jernigan <tiffany.f.j@gmail.com>
2016-06-09 14:49:59 -07:00
John Howard
30bbf184e9 Merge pull request #23392 from Microsoft/RevendorHcsshim
Revendor hcsshim to v0.3.2
2016-06-09 11:39:39 -07:00
Daniel Nephin
2777f884f6 Support running 'docker help daemon'
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-09 13:22:03 -04:00
Alexander Morozov
5bdc833e44 Merge pull request #23413 from vdemeester/client-fix-context-sharing
Fix some api/client context sharing/plumbing
2016-06-09 10:15:10 -07:00
Vincent Demeester
075b75fa14 Fix some context sharing/plumbing
With cobra switch (and maybe before), some context weren't *plumbed* the
right way, fixing that.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-09 17:58:10 +02:00
Vincent Demeester
6632fd2788 Migrate save command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-09 17:38:20 +02:00
Vincent Demeester
8b1d40271f Migrate load command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-09 17:28:33 +02:00
Aleksa Sarai
e6d856df43 pkg: archive: only ignore ENOTSUP when xattr fails
There might be other (valid) reasons for setxattr(2) to fail, so only
ignore it when it's a not supported error (ENOTSUP). Otherwise, bail.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-06-10 00:56:40 +10:00
Vincent Demeester
63a7a59c92 Merge pull request #23408 from absourdnoise/fix-docs-readme-link
Fixing man page link in docs/README.md
2016-06-09 15:59:48 +02:00
Andrew Po
55e9976316 Fixing man page link
Signed-off-by: Andrew Po <absourd.noise@gmail.com>
2016-06-09 16:39:50 +03:00
Sebastiaan van Stijn
94ac03cdf5 release-deb: create "dists" directory if missing
The script failed if an empty volume is used
to generate the repo. This adds the directory
if missing.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-09 15:22:49 +02:00
Sebastiaan van Stijn
b8f3cdfaec Merge pull request #23402 from michael-holzheu/PR-bump-libseccomp-golang
Bump seccomp version to enable ppc/s390x seccomp support
2016-06-09 14:15:03 +02:00
Sebastiaan van Stijn
266c40087c Merge pull request #23398 from jfrazelle/23394-butts
fix default tmpfs size to prevent breakage
2016-06-09 14:08:58 +02:00
Felix Ruess
a229e1f4b7 build armhf deb for ubuntu-trusty
Signed-off-by: Felix Ruess <felix.ruess@roboception.de>
2016-06-09 14:06:19 +02:00
Zhang Wei
c111b7eb3d Move GetExitCode to package container and unexport it
GetExitCode is used only by container package, so move it to package
container and unexport it

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-09 18:04:53 +08:00
Michael Holzheu
758f9a8ceb Bump seccomp version to enable ppc/s390x seccomp support
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-06-09 05:48:06 -04:00
Antonio Murdaca
0bc88d5b0a integration-cli: use distribution/reference.DigestRegexp
from a docker push output digest.DigestRegexp.FindString(output) does
not retrive the sha256: prefixed digest but just a string - in many
cases it's the registry host. The checks in the code are completely
wrong then. Fix this by using the DigestRegexp from the
distribution/reference package which correctly retrieves the digest
from the output.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-09 11:11:08 +02:00
Jess Frazelle
982c5f199f fix default tmpfs size to prevent breakage
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-06-09 00:58:06 -07:00
Vincent Demeester
456551a672 Merge pull request #23380 from Microsoft/jjh/refreshwin2lin
Update win2lin scripts to match production
2016-06-09 08:14:14 +02:00
Yong Tang
939a142c8d Use spf13/cobra for docker commit
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker commit` to use spf13/cobra

NOTE: `RequiresMinMaxArgs()` has been renamed to `RequiresRangeArgs()`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-08 19:00:58 -07:00
Victoria Bialas
8bd33b430b re-doing Docker Engine overview topics for v.1.12
fixed broken links created from Engine Overview update by adding missing topic to daemon reference page and updating the hrefs in the api pages

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-06-08 17:35:28 -07:00
Darren Stahl
bb1c54bc1f Revendor hcsshim to v0.3.2
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-06-08 17:32:22 -07:00
Sebastiaan van Stijn
6717b35503 Merge pull request #23385 from thaJeztah/fix-rpm-manpages
fix RPM spec for man8
2016-06-09 01:04:02 +02:00
Sebastiaan van Stijn
b47bf3dc69 Merge pull request #23387 from thaJeztah/fix-TestEventsContainerWithMultiNetwork
fix TestEventsContainerWithMultiNetwork
2016-06-09 01:03:17 +02:00
Sebastiaan van Stijn
5b1060c775 Merge pull request #23354 from riyazdf/notary-delegation-env
Add link to notary environment vars from docker trust automation section
2016-06-09 00:09:28 +02:00
Vincent Demeester
e884a515e9 Merge pull request #23334 from WeiZhang555/cobra-stats
Migrate stats and events command to cobra
2016-06-08 23:50:46 +02:00
Vincent Demeester
8a22c4166b Merge pull request #23384 from jannickfahlbusch/fix-typos
Fix some typos
2016-06-08 23:46:47 +02:00
Sebastiaan van Stijn
7d22eb072c fix TestEventsContainerWithMultiNetwork
the order in which disconnect takes place is undetermined,
so don't check for the full name

this test was passing due to a previous bug, that
always returned the same network-name.

this bug was recently fixed in 148bcda329
(pull request 23375), exposing this test to be
flaky.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-08 23:09:20 +02:00
Brian Goff
6fd8c96f61 Merge pull request #23344 from pdalpra/timeout-as-time.Duration
Timeout as time.duration
2016-06-08 16:37:08 -04:00
Sebastiaan van Stijn
70a03951a0 fix RPM spec for man8
installation for man-8 was added in 1514b499f0
(pull-request 23236), but had a typo in a path,
causing generation of the RPM's to fail.

This fixes the path

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-08 22:21:21 +02:00
Jannick Fahlbusch
e3490cdcc0 Fix some typos
Signed-off-by: Jannick Fahlbusch <git@jf-projects.de>
2016-06-08 21:59:34 +02:00
Alexander Morozov
3b08711bb7 Merge pull request #23343 from vdemeester/migrate-build-to-cobra
Use spf13/cobra for docker build
2016-06-08 11:59:48 -07:00
Sebastiaan van Stijn
f8a8222126 Merge pull request #23381 from kolyshkin/docs-add-ploop-plugin
docs/extend/plugins.md: add docker-volume-ploop
2016-06-08 20:39:37 +02:00
Kirill Kolyshkin
e3d31d794b docs/extend/plugins.md: add docker-volume-ploop
Added docker-volume-ploop driver to the list of available volume plugins.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2016-06-08 11:24:56 -07:00
Michael Crosby
393e97e435 Merge pull request #23002 from Microsoft/jjh/readonly
Windows: Support RO volumes 14350+
2016-06-08 11:18:48 -07:00
John Howard
9ea3f2aca2 Update win2lin scripts to match production
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-08 11:08:23 -07:00
Brian Goff
9db33b7646 Merge pull request #23377 from vdemeester/carry-pr-23007
Carry #23007 :  Say something useful during docker load
2016-06-08 13:42:22 -04:00
Vincent Demeester
148bcda329 Merge pull request #23375 from HackToday/fixnetworkmap
Fix wrong map usage
2016-06-08 18:19:08 +02:00
Vincent Demeester
9b5e0ea7de Update docker-load documentation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-08 17:40:37 +02:00
Vincent Demeester
430950e2d1 Merge pull request #23305 from thaJeztah/fix-network-examples
network docs cleanup
2016-06-08 17:32:00 +02:00
Doug Davis
6986a3220f Say something useful during docker load
During a `docker load` there are times when nothing is printed
to the screen, leaving the user with no idea whether something happened.
When something *is* printed, often its just something like:
```
1834950e52ce: Loading layer 1.311 MB/1.311 MB
5f70bf18a086: Loading layer 1.024 kB/1.024 kB
```
which isn't necessarily the same as the image IDs.

This PR will either show:
- all of the tags for the image, or
- all of the image IDs if there are no tags

Sample output:
```
$ docker load -i busybox.tar
Loaded image: busybox:latest

$ docker load -i a.tar
Loaded image ID: sha256:47bcc53f74dc94b1920f0b34f6036096526296767650f223433fe65c35f149eb
```

IOW, show the human-friendly stuff first and then only if there are no tags
default back to the image IDs, so they have something to work with.

For me this this is needed because I have lots of images and after a
recent `docker load` I had no idea what image I just imported and had a
hard time figuring it out.  This should fix that by telling the user
which images they just imported.

I'll add tests once there's agreement that we want this change.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-06-08 17:17:05 +02:00
Vincent Demeester
a63e95423a Merge pull request #23372 from GaretJax/23369-unicode-parse-words
Support unicode characters in parseWords
2016-06-08 17:05:02 +02:00
Kai Qiang Wu(Kennan)
1cac7e6cbd Fix wrong map usage
As map reference, if all networks use same, it could cause strange
results.
Closes: #23304
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-06-08 14:36:47 +00:00
Jonathan Stoppani
6284f04a6b Support unicode characters in parseWords
Signed-off-by: Jonathan Stoppani <jonathan.stoppani@divio.com>
2016-06-08 14:05:08 +02:00
Vincent Demeester
a4422e6ebc Merge pull request #22880 from bfirsh/remote-api-json-errors
Return remote API errors as JSON
2016-06-08 11:16:00 +02:00
Derek McGowan
23e5c94cfb Add separate overlay2 driver
Adds a new overlay driver which uses multiple lower directories to create the union fs.
Additionally it uses symlinks and relative mount paths to allow a depth of 128 and stay within the mount page size limit.
Diffs and done directly over a single directory allowing diffs to be done efficiently and without the need fo the naive diff driver.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-08 00:16:01 -07:00
Derek McGowan
246e993031 Add more overlay tests and benchmarks
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-08 00:16:01 -07:00
Derek McGowan
8b0441d42c Expand graphtest package
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-08 00:16:01 -07:00
Derek McGowan
8222c86360 Update archive package to support overlay whiteouts
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-08 00:10:16 -07:00
Viktor Stanchev
b03d3232d1 aufs compatibility
Signed-off-by: Viktor Stanchev <me@viktorstanchev.com>
2016-06-08 00:10:16 -07:00
Pierre Dal-Pra
b29e8ea412 Use time.Duration for container restart/stop timeouts
Signed-off-by: Pierre Dal-Pra <dalpra.pierre@gmail.com>
2016-06-08 08:05:18 +02:00
Zhang Wei
04cdb8e602 Migrate stats and events command to cobra.
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-08 10:39:53 +08:00
Brian Goff
d85491ff4b Merge pull request #21946 from chosenken/add_disk_quota_to_zfs
Add support for setting storage size on ZFS containers
2016-06-07 22:18:25 -04:00
Arnaud Porterie
88e9fcf65a Merge pull request #23355 from crosbymichael/bump-containerd-jun7
Update containerd to cf554d59dd96e459544748290eb91
2016-06-08 02:14:05 +00:00
Ben Firshman
322e2a7d05 Return remote API errors as JSON
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-06-07 18:45:27 -07:00
Michael Crosby
d17b9f3da0 Update containerd to cf554d59dd96e459544748290eb91
This bumps containerd to cf554d59dd96e459544748290eb9167f4bcde509 and
includes various fixes and updates the grpc package and types generated
for use.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-06-07 15:27:23 -07:00
Antonio Murdaca
f6ff9acc63 Merge pull request #23327 from dmcgowan/refactor-foreign-layer
Refactor foreign sources to describable interfaces
2016-06-08 00:02:23 +02:00
John Howard
8d174a43ba Windows: Support RO volumes 14350+
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-07 14:55:36 -07:00
Vincent Demeester
13d101d53c Merge pull request #23333 from yongtang/23211-spf13-cobra-version
Use spf13/cobra for docker version
2016-06-07 23:46:01 +02:00
Brian Goff
ce96ce9e05 Merge pull request #23311 from WeiZhang555/cobra-rm
Migrate rm command to cobra
2016-06-07 17:05:21 -04:00
Riyaz Faizullabhoy
8d72ff3f5e Add link to notary environment vars from docker trust automation section
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-06-07 14:03:56 -07:00
Sebastiaan van Stijn
6b46a56865 remove fallback for Go 1.4
Windows is now built using Go 1.6, so we no longer
need to have a fallback for Go 1.4.

This removes the fallback that was introduced in
6df3fc5175 /
https://github.com/docker/docker/pull/18553

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-07 22:38:02 +02:00
Sebastiaan van Stijn
08419313ec Merge pull request #23292 from yongtang/23211-spf13-cobra-images
Use spf13/cobra for docker images
2016-06-07 21:56:42 +02:00
Sebastiaan van Stijn
55a8bfa0e8 Merge pull request #23278 from yongtang/23211-spf13-cobra-tag
Use spf13/cobra for docker tag
2016-06-07 21:55:29 +02:00
Sebastiaan van Stijn
9d139e50bc Merge pull request #23349 from albers/completion-ps-filter-network
bash completion for `docker ps --filter network`
2016-06-07 21:54:58 +02:00
Harald Albers
337eaab5d1 bash completion for docker ps --filter network
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-07 12:44:17 -07:00
Alexander Morozov
8cd6977f98 Merge pull request #23338 from vdemeester/23253-fix-create-run
Fix create command flags
2016-06-07 10:46:45 -07:00
Sebastiaan van Stijn
06a204c314 Merge pull request #23300 from thaJeztah/carry-22894-ps_filter_network
[carry 22894] Adding network filter to docker ps command
2016-06-07 19:18:51 +02:00
Alexander Morozov
cc03a422aa Merge pull request #23328 from swernli/servicingFix
Fix postRunProcessing behavior during docker build
2016-06-07 09:49:28 -07:00
Pierre Dal-Pra
66234eaf9b Bump engine-api to 8c2141e14bb9e7540938d155976b3ef0661e4814
Signed-off-by: Pierre Dal-Pra <dalpra.pierre@gmail.com>
2016-06-07 18:18:37 +02:00
Vincent Demeester
60f447b655 Migrate docker build to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-07 18:15:44 +02:00
Yong Tang
ba7324ffcb Use spf13/cobra for docker tag
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker tag` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-07 08:12:49 -07:00
Yong Tang
bc82e51d77 Use spf13/cobra for docker version
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker version` to use spf13/cobra

NOTE: Most of the commands like `run`, `images` etc. goes to packages of
`container`, `image`, `network`, etc. Didn't find a good place for
`docker version` so just use the package `client` for now.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-07 08:11:34 -07:00
Yong Tang
65a0034c67 Use spf13/cobra for docker images
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker images` to use spf13/cobra

NOTE: As part of this fix, a new function `RequiresMaxArgs()`
has been defined in `cli/required.go`. This func returns an
error if there is not at most max args

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-07 08:10:49 -07:00
Sebastiaan van Stijn
7c46ba02e6 add support for filtering by network ID
This adds support for filtering by network ID, to be
consistent with other filter options.

Note that only *full* matches are returned; this is
consistent with other filters (e.g. volume), that
also return full matches only.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-07 16:50:31 +02:00
Sainath Grandhi
912af1ae8f Adding network filter to docker ps command
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
2016-06-07 16:43:11 +02:00
Sebastiaan van Stijn
a01ae049f9 Merge pull request #23340 from thaJeztah/fix-TestRenameInvalidName
Fix TestRenameInvalidName
2016-06-07 16:40:14 +02:00
Zhang Wei
7702f39fe8 Migrate rm command to cobra
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-07 22:19:16 +08:00
Sebastiaan van Stijn
085f41b6a5 Fix TestRenameInvalidName
Change the test back to what it was before
e83dad090a

And added an extra test-case to check the
output if an incorrect number of arguments
is passed.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-07 15:42:48 +02:00
Sebastiaan van Stijn
88323c861a Merge pull request #23307 from WeiZhang555/cobra-restart
Migrate restart command to cobra
2016-06-07 15:28:35 +02:00
Vincent Demeester
aa00520fc8 Fix create command flags
Any command that expects extra flags after positional args needs to set flags.SetInterspersed(false).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-07 14:11:11 +02:00
Sebastiaan van Stijn
4f9e2f9fb4 Merge pull request #23297 from WeiZhang555/cobra-kill
Migrate kill command to cobra
2016-06-07 13:44:22 +02:00
Sebastiaan van Stijn
f061f556f2 Merge pull request #23269 from vdemeester/migrate-import-to-cobra
Use spf13/cobra for docker import
2016-06-07 13:07:30 +02:00
Vincent Demeester
8e63de1f63 Merge pull request #23236 from runcom/fix-spec
Fix spec and man
2016-06-07 12:54:42 +02:00
Vincent Demeester
148d2b8e4a Merge pull request #22149 from vdemeester/deprecated-copy-endpoint
Deprecate /containers/(id or name)/copy endpoint
2016-06-07 12:50:04 +02:00
Sebastiaan van Stijn
eb6b5a6448 Merge pull request #23172 from michael-holzheu/PR-s390x-seccomp
Enable seccomp for s390x and ppc: s390x part
2016-06-07 12:04:13 +02:00
Zhang Wei
732f08a822 Migrate kill command to cobra
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-07 17:20:33 +08:00
Zhang Wei
264462d601 Migrate restart command to cobra
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-07 17:13:53 +08:00
Vincent Demeester
f9021838b6 Merge pull request #23226 from HackToday/fixnetinspectId
Fix the network inspect id
2016-06-07 10:02:17 +02:00
Vincent Demeester
6d4a7213e6 Merge pull request #23285 from yongtang/23211-spf13-cobra-pause
Use spf13/cobra for docker pause
2016-06-07 10:01:42 +02:00
Vincent Demeester
804536df25 Merge pull request #23291 from yongtang/23211-spf13-cobra-history
Use spf13/cobra for docker history
2016-06-07 10:00:39 +02:00
Vincent Demeester
e83dad090a Merge pull request #23290 from yongtang/23211-spf13-cobra-rename
Use spf13/cobra for docker rename
2016-06-07 08:28:27 +02:00
Brian Goff
3d8fdbb626 Merge pull request #23331 from yongtang/06062016-docs-typo
Fix a couple of typos in the docs of `docker attach`
2016-06-06 22:39:33 -04:00
Yong Tang
2e506039ff Fix a couple of typos in the docs of docker attach
This fix fixed a couple of typos in the docs of `docker attach`:
docs/reference/commandline/attach.md
man/docker-attach.1.md

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 19:06:50 -07:00
Brian Goff
c077d4cc1e Merge pull request #23316 from dnephin/error_on_invalid_docker_host
Fix a panic when the DOCKER_HOST was invalid using cobra commands
2016-06-06 21:17:47 -04:00
Brian Goff
ab821f9f9b Merge pull request #23274 from WeiZhang555/cobra-attach
Move attach command to cobra
2016-06-06 21:16:45 -04:00
Stefan J. Wernli
2266e7f234 Fix postRunProcessing behavior during docker build
If Windows updates are being applied via a RUN command in a docker build, the build will not stop if there was a failure in postRunProcessing.  To enable this behavior, we explicitly set the exit code of the container to a failure if postRunProcessing fails during servicing container step.  For completeness, also avoid running servicing operation if the original exit code of the container is non-zero so that original failure exit code does not get overwritten.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-06-06 18:07:01 -07:00
Brian Goff
afc3cb03f4 Merge pull request #23323 from tiborvass/debug-ci
Cleanup
2016-06-06 21:03:30 -04:00
Derek McGowan
2c60430a3d Use describable interfaces
Replace use of foreign sources with descriptors and describable

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-06-06 17:49:34 -07:00
Arnaud Porterie
7d08f3a5ad Merge pull request #22866 from jstarks/foreign_layers
Support layers from external URLs
2016-06-07 00:27:40 +00:00
Tibor Vass
ccaea227e0 Cleanup
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-06-06 15:57:51 -07:00
Yong Tang
70f7ccb304 Use spf13/cobra for docker rename
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker rename` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 12:39:11 -07:00
Yong Tang
91731706c2 Use spf13/cobra for docker pause
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker pause` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 12:37:18 -07:00
Antonio Murdaca
3d80884f3d Merge pull request #23317 from LK4D4/fix_bytepipe_race
ioutils: fix race in access closeErr in bytespipe
2016-06-06 20:46:01 +02:00
Alexander Morozov
b32478488c ioutils: fix race in access closeErr in bytespipe
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-06 11:29:47 -07:00
Daniel Nephin
90244abc5b Fix a panic when the DOCKER_HOST was invalid using cobra commands.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-06 14:17:04 -04:00
Alexander Morozov
5ce2f14f9b Merge pull request #23306 from yongtang/23211-spf13-cobra-top
Use spf13/cobra for docker top
2016-06-06 10:14:10 -07:00
Alexander Morozov
4f1c5772a8 Merge pull request #23217 from clnperez/speedup-pushfail-tests
test trusted push: use a nonexistant hostname
2016-06-06 10:12:42 -07:00
Vincent Demeester
52da20b839 Merge pull request #23286 from yongtang/23211-spf13-cobra-port
Use spf13/cobra for docker port
2016-06-06 18:55:37 +02:00
Kai Qiang Wu(Kennan)
864e362aa0 Fix the network inspect id
This fixes #22231

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-06-06 15:26:07 +00:00
Yong Tang
a76d387cda Use spf13/cobra for docker history
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker history` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 08:03:07 -07:00
Zhang Wei
eceb8625a9 Move attach command to cobra.
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-06 22:28:57 +08:00
Vincent Demeester
7a0628e01d Merge pull request #23287 from yongtang/23211-spf13-cobra-wait
Use spf13/cobra for docker wait
2016-06-06 16:08:40 +02:00
Yong Tang
0f38669267 Use spf13/cobra for docker top
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker top` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 06:38:43 -07:00
Yong Tang
d5971c230d Use spf13/cobra for docker port
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker port` to use spf13/cobra

Note: As part of this fix, a new function `RequiresMinMaxArgs(min int, max int)`
has been added in cli/required.go. This function restrict the args
to be at least min and at most max.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 05:32:34 -07:00
Sebastiaan van Stijn
feabf71dc1 network docs cleanup
This fixes some Markup and formatting
issues in the network documentation;

- wrap text to 80 chars
- add missing language hints for code examples
- add missing line continuations (\)
- update USAGE output for Cobra

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-06 14:20:41 +02:00
Michael Holzheu
bf2a577c13 Enable seccomp for s390x
To implement seccomp for s390x the following changes are required:

1) seccomp_default: Add s390 compat mode

   On s390x (64 bit) we can run s390 (32 bit) programs in 32 bit
   compat mode. Therefore add this information to arches().

2) seccomp_default: Use correct flags parameter for sys_clone on s390x

   On s390x the second parameter for the clone system call is the flags
   parameter. On all other architectures it is the first one.

   See kernel code kernel/fork.c:

   #elif defined(CONFIG_CLONE_BACKWARDS2)
   SYSCALL_DEFINE5(clone, unsigned long, newsp, unsigned long, clone_flags,
                   int __user *, parent_tidptr,

   So fix the docker default seccomp rule and check for the second
   parameter on s390/s390x.

3) seccomp_default: Add s390 specific syscalls

  For s390 we currently have three additional system calls that should
  be added to the seccomp whitelist:

  - Other architectures can read/write unprivileged from/to PCI MMIO memory.
    On s390 the instructions are privileged and therefore we need system
    calls for that purpose:

    * s390_pci_mmio_write()
    * s390_pci_mmio_read()

  - Runtime instrumentation:

    * s390_runtime_instr()

4) test_integration: Do not run seccomp default profile test on s390x

   The generated profile that we check in is for amd64 and i386
   architectures and does not work correctly on s390x.

   See also: 75385dc216 ("Do not run the seccomp tests that use
   default.json on non x86 architectures")

5) Dockerfile.s390x: Add "seccomp" to DOCKER_BUILDTAGS

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-06-06 08:13:22 -04:00
Yong Tang
82f84a67d6 Use spf13/cobra for docker wait
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker wait` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-06 05:09:41 -07:00
Vincent Demeester
7878705dcc Fix TestDiffEmptyArgClientError O:)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-06 13:58:29 +02:00
Vincent Demeester
9d2e8abd30 Migrate import command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-06 13:58:23 +02:00
Vincent Demeester
ca01e57d55 Update cobra to 75205f23b3ea70dc7ae5e900d074e010c23c37e9
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-06 13:58:18 +02:00
Sebastiaan van Stijn
07a7c0632f Merge pull request #23210 from vdemeester/migrate-network-command-to-cobra
Use spf13/cobra for docker network and subcommands
2016-06-06 13:51:57 +02:00
Vincent Demeester
9d449d89f7 Merge pull request #23129 from WeiZhang555/print-detailed-error
Print original error for `start`
2016-06-06 13:43:52 +02:00
Vincent Demeester
4b2b5214a4 Merge pull request #23299 from albers/completion-dockerd-path
fix bash completion for dockerd invoked with path
2016-06-06 13:40:15 +02:00
Sebastiaan van Stijn
ac14aa11b6 Merge pull request #23293 from mountkin/network-docs
docs: correct network create command
2016-06-06 12:07:23 +02:00
Sebastiaan van Stijn
ab0c683f5d Merge pull request #23295 from sdurrheimer/zsh-completion-search-limit
Add zsh completion for 'docker search --limit'
2016-06-06 11:46:57 +02:00
Vincent Demeester
4bd202b00f Migrate network command to cobra
- Migrates network command and subcommands (connect, create, disconnect,
  inspect, list and remove) to spf13/cobra
- Create a RequiredExactArgs helper function for command that require an
  exact number of arguments.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-06 10:28:52 +02:00
Vincent Demeester
28dde09cdf Merge pull request #22077 from cpuguy83/remote_volplugin_caps
Add support for volume scopes
2016-06-06 10:15:43 +02:00
Harald Albers
e8c67e8d8d fix bash completion for dockerd with path
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-06 10:01:15 +02:00
Vincent Demeester
3ac1787b7e Merge pull request #23098 from capkurmagati/23097-fix-zsh-completion-docker-rm-f
fixes #23097 zsh completion on `docker rm -f`
2016-06-06 09:20:16 +02:00
Vincent Demeester
731bae6749 Merge pull request #23284 from yongtang/23211-spf13-cobra-logs
Use spf13/cobra for docker logs
2016-06-06 09:06:51 +02:00
Steve Durrheimer
41f2183f8a Add zsh completion for 'docker search --limit'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-06-06 09:05:22 +02:00
Vincent Demeester
2becfab55f Merge pull request #23283 from yongtang/23211-spf13-cobra-diff
Use spf13/cobra for docker diff
2016-06-06 09:05:18 +02:00
Vincent Demeester
c35d9f2611 Merge pull request #23268 from WeiZhang555/cobra-start
Migrate start command to cobra
2016-06-06 08:59:42 +02:00
Shijiang Wei
041aad6d72 docs: correct network create command
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-06-06 13:50:29 +08:00
Vincent Demeester
b70dd0e04c Merge pull request #23279 from yongtang/23211-spf13-cobra-unpause
Use spf13/cobra for docker unpause
2016-06-06 05:17:59 +02:00
Zhang Wei
c498d4700d Bug fix: docker run -i --restart always hangs.
e.g.
```
$ docker run -i --restart always busybox sh
pwd
/
exit 11

<...hang...>
```

This is because Attach(daemon side) and Run(client side) both hangs on
WaitStop, if container is restarted too quickly, wait won't have chance
to get exit signal.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-06 10:16:07 +08:00
Zhang Wei
b4740e3021 Log and print original error for start
Currently `start` will hide some errors and throw a consolidated error,
which will make it hard to debug because developer can't find the
original error.

This commit allow daemon to log original errors first.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-06 10:13:49 +08:00
Zhang Wei
4f3625a288 Migrate start command to cobra
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-06 09:53:18 +08:00
Yong Tang
8ea7733a63 Use spf13/cobra for docker unpause
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker unpause` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-05 17:29:52 -07:00
Yong Tang
4f4b59cc43 Use spf13/cobra for docker logs
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker logs` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-05 15:51:35 -07:00
Alexander Morozov
e94be2f639 Merge pull request #23242 from vdemeester/migrate-rmi-to-cobra
Use spf13/cobra for docker rmi
2016-06-05 15:29:01 -07:00
Yong Tang
5899afae52 Use spf13/cobra for docker diff
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker diff` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-05 15:13:55 -07:00
Sebastiaan van Stijn
951702a567 Merge pull request #23280 from icecrime/remove_num_commands_test
Remove unnecessary check for number of commands
2016-06-05 23:25:48 +02:00
Sebastiaan van Stijn
cfcb470aad Merge pull request #23282 from yongtang/06052016-docs-typo
Fix a couple of typos in docker attach docs.
2016-06-05 23:12:25 +02:00
Yong Tang
5667365ed1 Fix a couple of typos in docker attach docs.
This fix fixes a couple of typos in docker attach docs:
docs/reference/commandline/attach.md
man/docker-attach.1.md

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-05 14:03:23 -07:00
Vincent Demeester
60e48bd6bd Use spf13/cobra for docker rmi
Moves image command rmi to `api/client/image/remove.go` and use cobra :)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-05 22:40:35 +02:00
Brian Goff
1a1083ae75 Merge pull request #23247 from thaJeztah/carry-22033-docker-ps-format-output
[Carry 22033] Add a check for size field in custom format string
2016-06-05 16:39:22 -04:00
Vincent Demeester
b259558336 Merge pull request #23276 from yongtang/23211-spf13-cobra-stop
Use spf13/cobra for docker stop
2016-06-05 22:37:15 +02:00
Brian Goff
3f970819bb Merge pull request #23063 from yongtang/22961-aws-sdk-go
Update aws-sdk-go to v1.1.30
2016-06-05 16:01:52 -04:00
Brian Goff
282067e83a Merge pull request #23272 from thaJeztah/update-syntax
Update Dockerfile highlight/syntax definitions
2016-06-05 15:38:16 -04:00
Brian Goff
2f40b1b281 Add support for volume scopes
This is similar to network scopes where a volume can either be `local`
or `global`. A `global` volume is one that exists across the entire
cluster where as a `local` volume exists on a single engine.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-05 15:37:15 -04:00
Brian Goff
79ff6eaf21 Enhance pluginrpc-gen parser
Now handles `package.Type` and `*package.Type`
Fixes parsing issues with slice and map types.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-05 15:37:15 -04:00
Arnaud Porterie (icecrime)
dd7e59a40a Remove unnecessary check for number of commands
Testing for the number of commands in `help` output doesn't seem to
contribute much to the quality of the project, and adds additional
burden for the developer to update.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
2016-06-05 11:44:50 -07:00
Sebastiaan van Stijn
c764234c3b Merge pull request #23267 from vdemeester/migrate-export-to-cobra
Use spf13/cobra for docker export
2016-06-05 20:05:51 +02:00
Sebastiaan van Stijn
3cec900271 Merge pull request #23273 from vdemeester/deprecated-import-3-args
Deprecated the old 3-args form of `docker import`
2016-06-05 20:02:33 +02:00
Yong Tang
63d66d2796 Use spf13/cobra for docker stop
This fix is part of the effort to convert commands to spf13/cobra #23211.

Thif fix coverted command `docker stop` to use spf13/cobra

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-05 10:25:21 -07:00
Brian Goff
506e8eda40 Merge pull request #23258 from allencloud/return-err-when-volume-list-fails
return err when volume list fails
2016-06-05 13:24:25 -04:00
Vincent Demeester
372063ce1b Deprecated the old 3-args form of docker import
It's been deprecated since November 2013 and v0.6.7. Removing the cli
side of it.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-05 18:07:34 +02:00
Brian Goff
a15bc261de Merge pull request #23271 from albers/completion-events-detach
bash completion for detach events
2016-06-05 11:53:01 -04:00
Sebastiaan van Stijn
4cb71f8082 Update Dockerfile highlight definitions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-05 17:45:21 +02:00
Vincent Demeester
df1dd1322d Merge pull request #22489 from Microsoft/jjh/shell
Builder shell configuration
2016-06-05 17:43:12 +02:00
Harald Albers
9c9cbd2c0f bash completion for detach events
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-05 08:41:58 -07:00
Vincent Demeester
b25e64183c Migrate export command to cobra
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-05 16:42:19 +02:00
Vincent Demeester
0f13b69fe2 Merge pull request #22988 from calavera/use_client_credentials_library
Move native credentials lookup to the client library.
2016-06-05 16:27:15 +02:00
Dimitris Rozakis
c088321ea8 Escape brackets in hack/install.sh
Fixes #23260

Signed-off-by: Dimitris Rozakis <dimrozakis@gmail.com>
2016-06-05 13:01:44 +03:00
Tomasz Kopczynski
fb175bb367 Reimplementing builder tests for Dockerfile outside context as a unit test
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-06-05 08:39:06 +02:00
David Calavera
ff3e187cc7 Use docker-credential-helpers client to talk with native creds stores.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-06-04 10:08:22 -07:00
David Calavera
feab8db60d Vendor docker-credential-helpers v0.3.0
Fix a bug in the vendor helpers that took packages
that started with github.com/docker/docker like if
they were from within the project.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-06-04 10:06:07 -07:00
Sebastiaan van Stijn
6b4a46f282 Merge pull request #23253 from vdemeester/carry-pr-23159
Carry #23159 : Use spf13/cobra for `docker run` and `docker create`
2016-06-04 18:55:23 +02:00
Sebastiaan van Stijn
e556d6b667 Merge pull request #23257 from vdemeester/cobra-see-help
Cobra - display "See 'docker cmd --help'." in error cases
2016-06-04 18:37:14 +02:00
allencloud
ed2d300ed0 return err when volume list fails
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-04 23:24:14 +08:00
Vincent Demeester
6180c5c12e Display "See 'docker cmd --help'." in error cases
This brings back this message in case missing arguments.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-04 16:19:54 +02:00
Vincent Demeester
e975dadaa0 Merge pull request #23254 from thaJeztah/prepare-for-go-1.7
Bump engine-api 772250a752e34cacaeef7c92b8e0ddf43450b629, prepare for go 1.7
2016-06-04 16:07:27 +02:00
Sebastiaan van Stijn
496adadcec Update TestHttpsInfoRogueCert for Go 1.7
The error message changed from

  remote error: bad certificate

To

  remote error: tls: bad certificate

In Go 1.7, so just checking for "bad certificate"
to make this test work on both Go 1.6 and 1.7

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-04 14:17:24 +02:00
Sebastiaan van Stijn
ed87071632 bump engine-api to 772250a752e34cacaeef7c92b8e0ddf43450b629
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-04 14:16:36 +02:00
Sebastiaan van Stijn
843720257b Merge pull request #23248 from Microsoft/jjh/flakeytest
Windows: Turn off TestBuildDockerignoreComment
2016-06-04 14:07:52 +02:00
Daniel Nephin
5ab2434225 Convert 'docker create' to use cobra and pflag
Return the correct status code on flag parsins errors.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-04 13:57:30 +02:00
Daniel Nephin
a77f2450c7 Convert 'docker run' to a cobra command and to use pflags
Move container options into a struct so that tests should pass.
Remove unused FlagSet arg from Parse
Disable interspersed args on docker run

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-06-04 13:55:35 +02:00
Vincent Demeester
3db23a4eaf Merge pull request #23232 from thaJeztah/update-default-retries
Healthcheck: set default retries to 3
2016-06-04 07:50:04 +02:00
Brian Goff
521f79bf0e Merge pull request #23241 from vdemeester/migrate-search-to-cobra
Use spf13/cobra for docker search
2016-06-03 22:07:08 -04:00
Brian Goff
ad8d0c9a8b Merge pull request #23244 from LK4D4/no_interface
attach: replace interface with simple type
2016-06-03 22:03:11 -04:00
Alexander Morozov
3accde6dee attach: replace interface with simple type
Also add docs to detach events

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-03 16:40:43 -07:00
Antonio Murdaca
e6637f8d9e Merge pull request #23124 from kencochrane/fix_redhat_install_script
Fix issues with get.docker.com install script with redhat
2016-06-04 00:04:09 +02:00
Sebastiaan van Stijn
da703f026e Merge pull request #23251 from SvenDowideit/more-validation-fixes
docs validation fixes
2016-06-03 23:46:21 +02:00
Sven Dowideit
0cddc783cf docs validation fixes
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-06-03 21:43:45 +00:00
John Howard
b18ae8c9cc Builder default shell
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-03 13:54:31 -07:00
Sebastiaan van Stijn
2d40e36af8 Merge pull request #23234 from yongtang/23221-utf8-bom
Skip UTF-8 BOM bytes from Dockerfile and .dockerignore if exist
2016-06-03 22:28:48 +02:00
John Howard
d75aaa2ca0 Windows: Turn off TestBuildDockerignoreComment
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-03 13:23:35 -07:00
Paulo Ribeiro
55cdb6dcd0 Add a check for size field in custom format string
This fix addresses an issue where including the `{{.Size}}` format
field in conjunction with `docker ps --format`, without the `--size`
flag, would not correctly display the size of containers.

This is done by doing a check on the custom format string, and setting
the size flag on the options struct if the field is found. This struct
gets passed to the engine API which then generates the correct query.

An integration test is included which runs `docker ps --format "table
{{.Size}}"` without `--size`, and checks that the returned output is
not `0 B`.

Fixes #21991

As suggested by @cpuguy83, a parser is implemented to process the format
string as a template, and then traverses the template tree to determine
if `.Size` was called.

This was then reworked by making use of template execution with a
pre-processor struct that will set the `--size` option if the template
calls for the field.

The pre-processor now also sets a boolean in the context passed to the
writer. There is an integration test for this that calls `docker ps
--size --format "{{.Size}}"` and then checks that `size: {{.Size}}` is
not appended, as it would with previous behavior.

Finally, a change was made to the formatter to not automatically
add a `{{.Size}}` if a custom format is provided.

Signed-off-by: Paulo Ribeiro <paigr.io@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 21:59:10 +02:00
Vincent Demeester
a11ef10631 Use spf13/cobra for docker search
- Move image command search to `api/client/image/search.go`
- Use cobra :)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-03 19:50:01 +02:00
Vincent Demeester
428328908d Deprecate /containers/(id or name)/copy endpoint
This endpoint has been deprecated since 1.8. Return an error starting
from this API version (1.24) in order to make sure it's not used for the
next API version and so that we can remove it some times later.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-03 19:38:03 +02:00
Alexander Morozov
c80a2f2937 Merge pull request #22898 from WeiZhang555/add-detach-event
Add detach event
2016-06-03 09:49:48 -07:00
Vincent Demeester
5429f4ef61 Merge pull request #23239 from albers/completion-run-healthcheck
bash completion for `docker run` healthcheck options
2016-06-03 18:17:15 +02:00
Brian Goff
b0a949e3c9 Merge pull request #23238 from albers/completion-search--limit
bash completion for `docker search --limit`
2016-06-03 12:13:27 -04:00
Harald Albers
f738e6a732 bash completion for docker run healthcheck options
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-03 17:04:04 +02:00
Harald Albers
4b5ccd7342 bash completion for docker search --limit
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-03 16:32:37 +02:00
Yong Tang
ea86320fcc Skip UTF-8 BOM bytes from Dockerignore if exist
This fix tries to address issues related to #23221 where Dockerignore
may consists of UTF-8 BOM. This likely happens when Notepad
tries to save a file as UTF-8 in Windows.

This fix skips the UTF-8 BOM bytes from the beginning of the
Dockerignore if exists.

Additional tests has been added to cover the changes in this fix.

This fix is related to #23221 (UTF-8 BOM in Dockerfile).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 07:26:36 -07:00
Christy Perez
431e7b6573 trusted push test: Use a nonexistant hostname
Before, the TCP handshake had to time out (approx 30s) before
this test completed. If you use a hostname that doesn't resolve,
then it fails faster.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-06-03 08:41:58 -05:00
Antonio Murdaca
a596d3d1cf man: mv config-json.5 to docker-config-json.5
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-03 15:28:19 +02:00
Antonio Murdaca
1514b499f0 docker-engine.spec: install man8
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-03 15:27:24 +02:00
Yong Tang
678c80f925 Skip UTF-8 BOM bytes from Dockerfile if exists
This fix tries to address issues in #23221 where Dockerfile
may consists of UTF-8 BOM. This likely happens when Notepad
tries to save a file as UTF-8 in Windows.

This fix skips the UTF-8 BOM bytes from the beginning of the
Dockerfile if exists.

Additional tests has been added to cover the changes in this
fix.

This fix fixes #23221.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 06:16:50 -07:00
Vincent Demeester
147c8b7495 Merge pull request #23222 from yongtang/06022016-add-missing-links-in-deprecated-docs
Add missing links in deprecated.md
2016-06-03 15:16:11 +02:00
Sebastiaan van Stijn
726ef47d5c Merge pull request #23215 from BlackYoup/pkg-config
make.sh: use PKG_CONFIG environment variable if it exists
2016-06-03 15:04:37 +02:00
Sebastiaan van Stijn
020a86b3d9 Merge pull request #23107 from yongtang/23055-docker-search-limit
Add `--limit` option to `docker search`
2016-06-03 14:25:42 +02:00
Vincent Demeester
9c1278b279 Merge pull request #23111 from yongtang/20083-dockerignore-comment
Add support for comments in .dockerignore
2016-06-03 14:23:09 +02:00
Sebastiaan van Stijn
f1755b2560 Merge pull request #23227 from yongtang/06032016-engine-api
Vendor engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6
2016-06-03 14:15:31 +02:00
Sebastiaan van Stijn
613286859f Merge pull request #23230 from thaJeztah/carry_make_install_binary
[carry 22927] Add `make install` task
2016-06-03 13:53:42 +02:00
Sebastiaan van Stijn
50e470fab4 Healthcheck: set default retries to 3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 13:28:08 +02:00
Sebastiaan van Stijn
766550385d Merge pull request #22715 from allencloud/add-trace-http-pprof
add trace in docker engine's pprof to show execution trace in binary form
2016-06-03 13:22:13 +02:00
Vincent Demeester
d349f45dcc Merge pull request #23231 from thaJeztah/minor-mailmap-update
Fix double entry in authors
2016-06-03 12:44:05 +02:00
Sebastiaan van Stijn
0829581d7e Fix double entry in authors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 12:40:36 +02:00
Brian Goff
9bb54f89ad Add make install task
This installs docker and dockerd to `$DOCKER_MAKE_INSTALL_PREFIX/bin`, which
defaults to `/usr/local/bin`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 12:08:33 +02:00
Yong Tang
10c35196b1 Vendor engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6
This fix tries to update engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6

This fix brings engine-api up to date, which includes changes from:
https://github.com/docker/engine-api/pull/256
https://github.com/docker/engine-api/pull/254

This fix is related to

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 02:27:17 -07:00
Sebastiaan van Stijn
a11d40af9b Merge pull request #23173 from thaJeztah/update-authors
Update mailmap and re-generate Authors
2016-06-03 10:20:33 +02:00
Arnaud Porterie
b16f735e90 Merge pull request #23220 from icecrime/bump_etcd_2.3.2
Bump etcd to 2.3.2
2016-06-02 22:04:35 -07:00
Kenfe-Mickael Laventure
acd67e25a9 Do not overwrite already published deb files when releasing
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-02 21:01:57 -07:00
Zhang Wei
83ad006d47 Add detach event
If we attach to a running container and stream is closed afterwards, we
can never be sure if the container is stopped or detached. Adding a new
type of `detach` event can explicitly notify client that container is
detached, so client will know that there's no need to wait for its exit
code and it can move forward to next step now.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-03 11:59:11 +08:00
Yong Tang
7bc9e0aebb Add missing links in deprecated.md doc.
This fix tries to address several issues in deprecated.md:
1. For deprecated and removal versions, some include link reference
to the release tag but some does not point to the release tag. This
fix adds the missing links as long as the version is <= 1.12.
2. Technically, 1.12 is not released yet so the link to 1.12 does
not exist yet. However, at the time 1.12 is released this
deprecated.md doc should have been part of the release as well.
There is a circular dependency. This fix adds 1.12 for now.
3. `HostConfig at API container start` has already been removed
by #22570 so this fix changes `Target For Removal In Release: v1.12`
to `Removed In Release: v1.12`.
4. `Docker search 'automated' and 'stars' options` has not been removed
yet so this fix changes `Removed In Release: v1.14` to
`Target For Removal In Release: v1.14`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:54:35 -07:00
Yong Tang
92f10fe228 Add --limit option to docker search
This fix tries to address the issue raised in #23055.
Currently `docker search` result caps at 25 and there is
no way to allow getting more results (if exist).

This fix adds the flag `--limit` so that it is possible
to return more results from the `docker search`.

Related documentation has been updated.

Additional tests have been added to cover the changes.

This fix fixes #23055.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:12:20 -07:00
Yong Tang
8913dace34 Add support for comment in .dockerignore
This fix tries to address the issue raised in #20083 where
comment is not supported in `.dockerignore`.

This fix updated the processing of `.dockerignore` so that any
lines starting with `#` are ignored, which is similiar to the
behavior of `.gitignore`.

Related documentation has been updated.

Additional tests have been added to cover the changes.

This fix fixes #20083.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:06:52 -07:00
Sven Dowideit
98c245c9e6 Merge pull request #23193 from allencloud/fix-typos
use grep to find all a/an typos
2016-06-02 18:45:08 -07:00
Arnaud Porterie
f02ffd9e19 Bump etcd to 2.3.2
Bump etcd to 2.3.2 and `github.com/ugorji/go` accordingly.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-06-02 18:35:45 -07:00
Sven Dowideit
e2528712db Merge pull request #23192 from orsenthil/docfixes/ubuntu_install
Fix the docker daemon restart command for ubuntu.
2016-06-02 18:05:49 -07:00
Sven Dowideit
9be8f04950 Merge pull request #22763 from zreigz/doc-multiple-daemons
Add documentation for running multiple daemons
2016-06-02 18:01:02 -07:00
Brian Goff
850031c581 Merge pull request #23026 from rhatdan/mkdir
Need to create bind mount volume if it does not exist.
2016-06-02 20:45:33 -04:00
Brian Goff
94b2d3554c Merge pull request #23136 from nalind/logscmd_read_journald_attrs
Add support for reading journal extras details, and setting timestamps to UTC
2016-06-02 20:42:24 -04:00
Michael Crosby
ce255f76c7 Add User defined Healthchecks for Containers
Carry of #22719
2016-06-02 16:58:34 -07:00
Sebastiaan van Stijn
76d8b0dab7 Bump engine-api to fa04f66c7871183dd53a5ec666479f49b452743d
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 00:14:55 +02:00
Thomas Leonard
b6c7becbfe Add support for user-defined healthchecks
This PR adds support for user-defined health-check probes for Docker
containers. It adds a `HEALTHCHECK` instruction to the Dockerfile syntax plus
some corresponding "docker run" options. It can be used with a restart policy
to automatically restart a container if the check fails.

The `HEALTHCHECK` instruction has two forms:

* `HEALTHCHECK [OPTIONS] CMD command` (check container health by running a command inside the container)
* `HEALTHCHECK NONE` (disable any healthcheck inherited from the base image)

The `HEALTHCHECK` instruction tells Docker how to test a container to check that
it is still working. This can detect cases such as a web server that is stuck in
an infinite loop and unable to handle new connections, even though the server
process is still running.

When a container has a healthcheck specified, it has a _health status_ in
addition to its normal status. This status is initially `starting`. Whenever a
health check passes, it becomes `healthy` (whatever state it was previously in).
After a certain number of consecutive failures, it becomes `unhealthy`.

The options that can appear before `CMD` are:

* `--interval=DURATION` (default: `30s`)
* `--timeout=DURATION` (default: `30s`)
* `--retries=N` (default: `1`)

The health check will first run **interval** seconds after the container is
started, and then again **interval** seconds after each previous check completes.

If a single run of the check takes longer than **timeout** seconds then the check
is considered to have failed.

It takes **retries** consecutive failures of the health check for the container
to be considered `unhealthy`.

There can only be one `HEALTHCHECK` instruction in a Dockerfile. If you list
more than one then only the last `HEALTHCHECK` will take effect.

The command after the `CMD` keyword can be either a shell command (e.g. `HEALTHCHECK
CMD /bin/check-running`) or an _exec_ array (as with other Dockerfile commands;
see e.g. `ENTRYPOINT` for details).

The command's exit status indicates the health status of the container.
The possible values are:

- 0: success - the container is healthy and ready for use
- 1: unhealthy - the container is not working correctly
- 2: starting - the container is not ready for use yet, but is working correctly

If the probe returns 2 ("starting") when the container has already moved out of the
"starting" state then it is treated as "unhealthy" instead.

For example, to check every five minutes or so that a web-server is able to
serve the site's main page within three seconds:

    HEALTHCHECK --interval=5m --timeout=3s \
      CMD curl -f http://localhost/ || exit 1

To help debug failing probes, any output text (UTF-8 encoded) that the command writes
on stdout or stderr will be stored in the health status and can be queried with
`docker inspect`. Such output should be kept short (only the first 4096 bytes
are stored currently).

When the health status of a container changes, a `health_status` event is
generated with the new status. The health status is also displayed in the
`docker ps` output.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-02 23:58:34 +02:00
Brian Goff
d1b1b6a98e Merge pull request #23212 from LK4D4/remove_unused_var
pkg/parser/kernel: remove unused var block
2016-06-02 16:30:05 -04:00
Vincent Demeester
eb9274844e Merge pull request #23140 from Microsoft/HcsshimRevendor
Revendor hcsshim
2016-06-02 22:09:19 +02:00
Arnaud Lefebvre
20bf00dfa5 Use PKG_CONFIG environment variable if it exists
pkg-config is not always available in the path
so let people choose where it's located

Signed-off-by: Arnaud Lefebvre <a.lefebvre@outlook.fr>
2016-06-02 21:53:28 +02:00
Sebastiaan van Stijn
4399d3b309 Merge pull request #23206 from mlaventure/fix-release-deb
Fix release-deb script
2016-06-02 21:22:49 +02:00
Sebastiaan van Stijn
791f98290e Merge pull request #22806 from errordeveloper/master
Remove MountFlags in systemd unit to allow shared mount propagation
2016-06-02 20:04:08 +02:00
Alexander Morozov
6e5894b551 pkg/parser/kernel: remove unused var block
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-02 10:50:36 -07:00
Alexander Morozov
34f54b3a11 Merge pull request #22549 from allencloud/make-pkg-parsers-support-darwin
add darwin support in package docker/pkg/parsers
2016-06-02 10:48:19 -07:00
Alexander Morozov
cb8e7470be Merge pull request #23208 from vdemeester/update-engine-api
Bump engine api to 009ba16
2016-06-02 09:30:57 -07:00
Kenfe-Mickael Laventure
afc2579d1a Fix release-deb script
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-02 08:53:33 -07:00
Vincent Demeester
f69353a364 Merge pull request #23153 from AkihiroSuda/fix23152PkgGitutils
Fix gitconfig dependency in pkg/gitutils.TestCheckoutGit
2016-06-02 17:21:38 +02:00
Vincent Demeester
09033b8df2 Merge pull request #23179 from kerneltime/master
Add VMware Docker Volume Plugin.
2016-06-02 17:05:32 +02:00
Vincent Demeester
6b7f12650d Update ContainerStart calls to use options now
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-02 16:56:13 +02:00
Vincent Demeester
8ea051f012 Update engine-api to 009ba1641d669613b38818f6f6385b0e74c5728f
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-02 16:55:49 +02:00
Nalin Dahyabhai
0da0a8f9da Add support for reading journal extras and in UTC
When told to read additional attributes from logs that we've sent to the
journal, pull out all of the non-trusted, non-user fields that we didn't
hard-code ourselves.  More of PR#20726 and PR#21889.

When reading entries in the journald log reader, set the time zone on
timestamps that we read to UTC, so that we send UTC values to the client
instead of values that are local to whatever timezone dockerd happens to
be running in.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-06-02 10:17:07 -04:00
Sebastiaan van Stijn
80b3e9e810 Merge pull request #23183 from caarlos0/permissions
Removed exec permissions from Dockerfile.windows
2016-06-02 16:10:37 +02:00
Sebastiaan van Stijn
171af54931 Merge pull request #22460 from jwhonce/wip/sigpipe
Ignore SIGPIPE events
2016-06-02 16:05:22 +02:00
Sebastiaan van Stijn
0aeac288a3 Merge pull request #23161 from AkihiroSuda/rename-misleading-function-name
daemon: Rename copy to copyFunc
2016-06-02 15:31:08 +02:00
Dan Walsh
322cc99c69 Need to create bind mount volume if it does not exist.
In order to be consistent on creation of volumes for bind mounts
we need to create the source directory if it does not exist and the
user specified he wants it relabeled.

Can not do this lower down the stack, since we are not passing in the
mode fields.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-06-02 07:14:17 -04:00
Vincent Demeester
22aca92ee3 Merge pull request #23121 from unclejack/disallow_ecryptfs_aufs
aufs,overlay: disable on eCryptfs
2016-06-02 12:54:43 +02:00
Vincent Demeester
69545fe19d Merge pull request #23190 from AkihiroSuda/addendum23141
Fix the comment for daemon/logger.Copier
2016-06-02 12:21:52 +02:00
allencloud
c1be45fa38 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-02 17:17:22 +08:00
Akihiro Suda
efc250bc6b Fix gitconfig dependency in pkg/gitutils.TestCheckoutGit
Fix #23152

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-02 17:44:09 +09:00
Vincent Demeester
b02acfcbe0 Merge pull request #23197 from coolljt0725/cleanup_comment
cleanup: clean up commented code in daemon/stats.go
2016-06-02 10:12:10 +02:00
Lei Jitang
2d9c022946 cleanup: clean up commented code in daemon/stats.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-06-02 14:39:12 +08:00
Senthil Kumaran
53a1de2b16 Fix the docker daemon restart command for ubuntu.
Signed-off-by: Senthil Kumaran <senthil@uthcode.com>
2016-06-01 22:32:35 -07:00
Akihiro Suda
8bce6265fc daemon: Rename copy to copyFunc
"copy" can be misleading for humans because Go has its own builtin "copy" function

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-02 13:30:20 +09:00
Akihiro Suda
518709a87e Fix the comment for daemon/logger.Copier
Now daemon/logger.Copier does not use ContainerID

Addendum to #23141

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-02 13:10:51 +09:00
allencloud
a7f551359a make pkg/parsers support darwin and solaris
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-06-02 11:47:27 +08:00
Brian Goff
287b0a6348 Merge pull request #23141 from nalind/logger-remove-cid
Remove the logger.Message ContainerID field
2016-06-01 23:13:38 -04:00
Brian Goff
7e5561a438 Merge pull request #23151 from AkihiroSuda/fix23012PkgAuth
Fix racy tests in pkg/authorization
2016-06-01 20:45:54 -04:00
Brian Goff
273ab8591e Merge pull request #22867 from justincormack/checklimits
Begin a section in the check-config script to check limits
2016-06-01 20:42:54 -04:00
Carlos Alexandro Becker
db3351ae37 Removed exec permissions from Dockerfile.windows
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2016-06-01 21:41:19 -03:00
Ritesh H Shukla
f5df49b3dc Add VMware Docker Volume Plugin.
Add reference to https://github.com/vmware/docker-volume-vsphere to Docker's list of plugins.
This is an officially supported plugin from VMware.

Signed-off-by: Ritesh H Shukla <sritesh@vmware.com>
2016-06-01 15:29:15 -07:00
Alexander Morozov
2ca25302fe Merge pull request #23120 from AkihiroSuda/fixStreamFormatter
Fix pkg/streamformatter.TestJSONFormatProgress
2016-06-01 14:37:35 -07:00
Alexander Morozov
28676fc04b Merge pull request #22769 from dnephin/integrate_cobra
Use spf13/cobra for the cli
2016-06-01 14:18:23 -07:00
Vincent Demeester
cbccb19212 Merge pull request #23090 from yongtang/05292016-remove-deprecated-docker-tag-f
Remove deprecated -f flag on docker tag
2016-06-01 21:29:33 +02:00
Martin Redmond
b9676643c8 Update mailmap and re-generate Authors
Signed-off-by: Martin Redmond <redmond.martin@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-01 20:19:46 +02:00
unclejack
5e85ec82af aufs,overlay: disable on eCryptfs
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-06-01 21:00:35 +03:00
Alexander Morozov
cb36dddad1 Merge pull request #23148 from mlaventure/wait-for-containerd-before-restarting-it
Wait for containerd to die before restarting it
2016-06-01 10:35:31 -07:00
Yong Tang
7b08941882 Update remote API docs for the removal of deprecated force in docker tag.
This fix updates remote API docs for the removal of deprecated `force` in `docker tag`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-01 09:45:10 -07:00
Yong Tang
4455ec14b8 Remove deprecated -f flag on docker tag
The -f flag on docker tag has been deprecated in docker 1.10 and
is expected to be removed in docker 1.12.

This fix removed the -f flag on docker tag and also updated
deprecated.md.

NOTE: A separate pull request for engine-api has been opened to
cover the related changes.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-01 09:44:25 -07:00
Yong Tang
1dab9af5d5 Vendor engine-api to 6facb3f3c38717b8f618dcedc4c8ce20d1bfc61e
This fix updates engine-api to 6facb3f3c38717b8f618dcedc4c8ce20d1bfc61e.

This fix is related to #23090.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-01 09:44:25 -07:00
Vincent Demeester
4b86651053 Merge pull request #22570 from mountkin/rm-deprecated-feature
remove deprecated feature of passing HostConfig at API container start
2016-06-01 18:24:28 +02:00
Vincent Demeester
09be7d9ee4 Merge pull request #23085 from icecrime/gitdm.config
Add gitdm configuration
2016-06-01 18:12:59 +02:00
Sebastiaan van Stijn
8d75709f90 Merge pull request #23165 from thaJeztah/update-logging-code-hints
cleanup logging driver documentation
2016-06-01 17:55:24 +02:00
Brian Goff
bcf0c8ca28 Merge pull request #23142 from Microsoft/ExtraCleanup
Windows: Remove a double free on hcs container handle
2016-06-01 11:09:06 -04:00
Vincent Demeester
466eb1bab7 Merge pull request #23084 from estesp/ps-fastpath
Optimize `docker ps` when name/id filters in use
2016-06-01 16:52:35 +02:00
Kenfe-Mickael Laventure
ce160b37e1 Wait for containerd to die before restarting it
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-01 07:45:03 -07:00
Shijiang Wei
0a8386c8be remove deprecated feature of passing HostConfig at API container start
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-06-01 22:25:17 +08:00
Vincent Demeester
c7aba69cc1 Merge pull request #22989 from Microsoft/StartCleanup
Windows: Adding missing cleanup call when container start fails
2016-06-01 15:42:47 +02:00
Sebastiaan van Stijn
1ba9aadbcb Merge pull request #23072 from dnephin/set_state_dir_of_containerd
Set --state-dir on containerd
2016-06-01 14:56:32 +02:00
Brian Goff
cdf61152bb Merge pull request #23133 from runcom/graphtests-fix
graphtest: fix cleanup logic
2016-06-01 08:42:19 -04:00
Vincent Demeester
74c7363965 Merge pull request #23143 from bfirsh/remove-status-column-from-clinet-libraries-page
Remove status column from client libraries page
2016-06-01 13:45:28 +02:00
Sebastiaan van Stijn
a9f6d93099 cleanup logging driver documentation
This does a minor cleanup of the logging driver
documentation;

- Add a table-header to the driver-options
  table.
- Add language hints to code-blocks to
  prevent incorrect highlighting
- Wrap some code examples so that they
  fit in the default layout
- Wrap text to 80-chars
- Fix ordering in menu
- Some minor rewording

We should still create separate pages
for all available drivers (for example,
json-file, syslog, and GELF don't have
their own configuration page)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-01 13:18:25 +02:00
Lukasz Zajaczkowski
3152a706c9 Add documentation for running multiple daemons
Signed-off-by: Lukasz Zajaczkowski <lukasz.zajaczkowski@ts.fujitsu.com>
2016-06-01 08:38:53 +02:00
Akihiro Suda
f437e2d148 Fix racy tests in pkg/authorization
Fix #23012

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-06-01 03:25:56 +00:00
Tõnis Tiigi
41232e4b36 Merge pull request #23145 from crosbymichael/clang
Use clang 3.5 over 3.8
2016-05-31 19:18:02 -07:00
Michael Crosby
f8dacaf0ab Use clang 3.5 over 3.8
the llvm apt repo was removed and finding the exact rev of the llvm
toolchain that worked perfecting in our dockerfile is a problem.

We looked at the reasons why we were using this version of clang and it
appears to be this compiler warning.

`was built for newer OSX version (10.11) than being linked
(10.6)`

When you look at the dockerfile this makes sense.

```
ENV OSX_SDK MacOSX10.11.sdk
ENV OSX_CROSS_COMMIT 8aa9b71a394905e6c5f4b59e2b97b87a004658a4
RUN set -x \
	&& export OSXCROSS_PATH="/osxcross" \
	&& git clone https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \
	&& ( cd $OSXCROSS_PATH && git checkout -q $OSX_CROSS_COMMIT) \
	&& curl -sSL https://s3.dockerproject.org/darwin/v2/${OSX_SDK}.tar.xz -o "${OSXCROSS_PATH}/tarballs/${OSX_SDK}.tar.xz" \
	&& UNATTENDED=yes OSX_VERSION_MIN=10.6 ${OSXCROSS_PATH}/build.sh
ENV PATH /osxcross/target/bin:$PATH
```

We are basically using the 10.11 sdk but linking to 10.6 as the
min version so this warning should be expected.

Also the docs on the osxcross project require clan 3.2+, not 3.8.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-31 16:45:42 -07:00
Ben Firshman
896fbb470a Remove status column from client libraries page
They are all "active". If they are not active, we should probably
remove them.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-05-31 16:12:14 -07:00
Ben Firshman
2fea5b6e28 Update client libraries introduction text
Explain what they actually are.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-05-31 16:11:36 -07:00
Daniel Nephin
9b2bb64a38 Make the -h flag deprecated.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 15:43:16 -07:00
Daniel Nephin
fc5a4514fb Use Args in cobra.Command to validate args.
Also re-use context.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 15:43:16 -07:00
Daniel Nephin
54b5cce7e4 Support usage messages on bad flags.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 15:43:16 -07:00
Daniel Nephin
3d624ed5d6 Update cobra vendor
- adds support for usage strings on flag errors
- adds support for arg validation

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 15:43:13 -07:00
Darren Stahl
d96e36cbbf Revendor hcsshim
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-05-31 14:42:01 -07:00
Daniel Nephin
667dcb0e8e Update usage and help to (almost) match the existing docker behaviour
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 14:41:37 -07:00
Daniel Nephin
69264beb40 Migrate volume commands to cobra.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 14:41:37 -07:00
Daniel Nephin
6bc3e23f65 Refactor cli inspector to support new inspects.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 14:41:37 -07:00
Daniel Nephin
8c77c73e7b Vendor spf13/cobra and spf13/pflag
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 14:41:37 -07:00
Nalin Dahyabhai
7772d270c0 Remove the logger.Message ContainerID field
Log drivers are instantiated on a per-container basis, and passed the
container ID (along with other information) when they're initialized.
Drivers that care about that value are caching the value that they're
passed when they're initialized and using it in favor of the value
contained in Message structures that are passed to them, so the field in
Messages is unused, so we remove it.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2016-05-31 16:41:29 -04:00
Vincent Demeester
4a7715c978 Merge pull request #23130 from justincormack/seccomperror
Error out if user tries to specify a custom seccomp profile on system that does not support it
2016-05-31 22:40:58 +02:00
Daniel Nephin
8b5e5c6195 Set --state-dir on containerd.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-31 11:48:05 -07:00
Antonio Murdaca
b18062122d graphtest: fix cleanup logic
device Base should not exists on failure:

--- FAIL: TestDevmapperCreateBase (0.06s)
    graphtest_unix.go:122: stat
/tmp/docker-graphtest-079240530/devicemapper/mnt/Base/rootfs/a subdir:
no such file or directory
--- FAIL: TestDevmapperCreateSnap (0.00s)
    graphtest_unix.go:219: devmapper: device Base already
exists.

it should be:

--- FAIL: TestDevmapperCreateBase (0.25s)
	graphtest_unix.go:122: stat
/tmp/docker-graphtest-828994195/devicemapper/mnt/Base/rootfs/a subdir:
no such file or directory
--- FAIL: TestDevmapperCreateSnap (0.13s)
	graphtest_unix.go:122: stat
/tmp/docker-graphtest-828994195/devicemapper/mnt/Snap/rootfs/a subdir:
no such file or directory

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-31 20:08:57 +02:00
Darren Stahl
c8454394f7 Windows: Remove a double free on hcs container handle
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-05-31 10:25:38 -07:00
Darren Stahl
054992e291 Windows: Adding missing cleanup call when container start fails
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-05-31 10:19:05 -07:00
Justin Cormack
6bd797b43f Error out if user tries to specify a custom seccomp profile on system that does not support it
Fixes #23031

If a profile is explicitly passed but the system is not built with seccomp support,
error out rather than just running without a profile at all as we would previously.
Behaviour is unchanged if no profile is specified or unconfined is specified.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-31 17:52:40 +01:00
Alexander Morozov
0b5e84cc8d Merge pull request #23046 from mountkin/fix-23045
fix flaky test TestImportFileWithMessage
2016-05-31 09:39:38 -07:00
Alexander Morozov
d1e9e86122 Merge pull request #23108 from michael-holzheu/s390x-dockerfile-gcc-6.1
Dockerfile.s390x: Move to gcc 6.1 (go 1.6.1)
2016-05-31 09:14:41 -07:00
Ken Cochrane
dcc407a820 Fix issues with get.docker.com install script with redhat fixes #23101
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-05-31 08:44:40 -04:00
Akihiro Suda
da7edb5f3c Fix pkg/streamformatter.TestJSONFormatProgress
The test was failing if the terminal column width is <= 110.

Addendum to #23113

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-31 09:09:06 +00:00
Michael Holzheu
b5490d4897 Dockerfile.s390x: Move to gcc 6.1 (go 1.6.1)
Pull request #22840 and commit 40b21745cc ("Upgrade to golang 1.6.2")
introduces gcc 6.1 for Dockerfile.gccgo and Dockerfile.ppc64le.
So do this also for s390x and use "s390x/gcc:6.1" as base image.

In addition to this use "GO15VENDOREXPERIMENT=0" for notary build
as a workaround for:

 * golang/go#15814
 * golang/go#15628

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-05-31 04:39:20 -04:00
Lei Jitang
ba372df79c Merge pull request #23113 from AkihiroSuda/fixTIOCGWINSZ23112
Fix pkg/jsonmessage.TestProgress panic
2016-05-31 14:58:55 +08:00
Alexander Morozov
a1f1e9c6d9 Merge pull request #23038 from AkihiroSuda/fixPkgDirectoryFilepathWalk
Fix filepath.Walk misusage in pkg/directory
2016-05-30 22:18:56 -07:00
Akihiro Suda
709478c8a3 Fix pkg/jsonmessage.TestProgress panic
Fix #23112

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-31 04:19:00 +00:00
Phil Estes
8e4a451448 Optimize docker ps when name/id filters in use
When a partial ID or name is used in `docker ps` filters, today the
entire list of containers is walked even though there are shorter paths
to acquiring the subset of containers that match the ID or name. Also,
container's locks are used during this walk, causing increased lock
contention on a busy daemon.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-05-30 17:43:55 -04:00
Vincent Demeester
ef42e2f214 Merge pull request #23106 from LINBIT/master
Add the DRBD Docker Volume Plugin to the documentation
2016-05-30 18:21:26 +02:00
Roland Kammerer
ef238db508 Add the DRBD Docker Volume Plugin to the documentation
Signed-off-by: Roland Kammerer <roland.kammerer@linbit.com>
2016-05-30 17:46:53 +02:00
Vincent Demeester
edcc9577bf Merge pull request #22103 from coolljt0725/fix_22093
Fix docker create with duplicate volume failed to remove
2016-05-30 15:57:13 +02:00
Sebastiaan van Stijn
f3a7abee81 Merge pull request #22384 from yongtang/22358-log-tag-prefix
Remove `docker/` prefix from log messages tag.
2016-05-30 14:48:31 +02:00
Vincent Demeester
34e0a01de2 Merge pull request #23091 from allencloud/print-network-name-when-rm
print network name when rm successfully
2016-05-30 13:33:29 +02:00
Tianyi Wang
2d4bced30c Fix zsh completion
- List all containers on `docker rm -f`

Signed-off-by: Tianyi Wang <capkurmagati@gmail.com>
2016-05-30 18:58:36 +09:00
Akihiro Suda
cd53ec5244 Fix filepath.Walk misusage in pkg/directory
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-30 07:40:46 +00:00
Antonio Murdaca
d305b0385c Merge pull request #23092 from albers/completion-dockerd
bash completion for dockerd
2016-05-29 18:23:33 +02:00
allencloud
27ebd79222 print network name when rm successfully
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-29 23:42:45 +08:00
Harald Albers
5f1c5b28a7 bash completion for dockerd
Signed-off-by: Harald Albers <github@albersweb.de>
2016-05-29 07:09:05 -07:00
Sebastiaan van Stijn
6184518fe3 Merge pull request #23081 from ibuildthecloud/not-insane
Change insane to infallible
2016-05-29 11:21:51 +02:00
Alexander Morozov
c050102536 Merge pull request #23019 from vdemeester/more-daemon-horn-moving
Moving some more methods away from daemon.go
2016-05-28 22:07:31 -07:00
Arnaud Porterie
bf6d52bba1 Add gitdm configuration
Update .mailmap and add gitdm configuration.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-05-28 21:08:20 -07:00
Yong Tang
46ea8ff75d Fix build errors caused by update aws-sdk-go to v1.1.30
This fix tries to fix build errors caused by updating
aws-sdk-go to v1.1.30.

This fix fixes #22961.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-28 18:49:17 -07:00
Yong Tang
51f0a04223 Update aws-sdk-go to v1.1.30
This fix tries to update aws-sdk-go to v1.1.30.

The following dependencies has been added:
github.com/go-ini/ini 060d7da055ba6ec5ea7a31f116332fe5efa04ce0
github.com/jmespath/go-jmespath 0b12d6b521d83fc7f755e7cfc1b1fbdd35a01a74
Note: the commits matches v1.1.30 of aws-sdk-go.

The following dependency has been removed
github.com/vaughan0/go-ini a98ad7ee00ec53921f08832bc06ecf7fd600e6a1

This fix fixes #22961.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-28 18:49:17 -07:00
Darren Shepherd
cc5024225a Change insane to infallible
Signed-off-by: Darren Shepherd <darren@rancher.com>
2016-05-28 09:49:34 -07:00
Sebastiaan van Stijn
02caa73df4 Merge pull request #21895 from hypriot/add-raspbian-jessie-deb
Build deb package for all Raspberry Pi's / raspbian-jessie
2016-05-28 12:48:36 +02:00
Vincent Demeester
da39e9a4f9 Merge pull request #23054 from mountkin/test-comments
make the error message in TestRunSeccompDefaultProfile more precise
2016-05-28 10:11:04 +02:00
Brian Goff
e0ee0ac789 Merge pull request #23074 from jstarks/fix_windows_graph_name
Windows: fix Windows graph driver name
2016-05-27 22:23:51 -04:00
Brian Goff
9369457603 Merge pull request #23041 from AkihiroSuda/fixPkgDiscoveryKvTestTooShortSleep
Fix too short time.Sleep() in pkg/discovery/kv/kv_test.go
2016-05-27 21:11:33 -04:00
Shijiang Wei
f80bfdf85c make the error message in TestRunSeccompDefaultProfile more precise
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-28 09:06:25 +08:00
Michael Crosby
8a26b1dd61 Merge pull request #23073 from justincormack/splitseccomptest
Split the Seccomp tests into two
2016-05-27 17:27:08 -07:00
Michael Crosby
58b4164feb Merge pull request #23061 from thaJeztah/remove-GO15VENDOREXPERIMENT
Remove GO15VENDOREXPERIMENT
2016-05-27 16:54:19 -07:00
John Starks
f182748b9b Windows: fix Windows graph driver name
Reverting "Windows filter storage driver" to "windowsfilter".

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-27 16:24:02 -07:00
Michael Crosby
d94daf624a Merge pull request #23057 from clnperez/seccomp-bump
Bump the seccomp versions to pull in fixes and new commits
2016-05-27 16:02:00 -07:00
Justin Cormack
cfca3255a8 Split the Seccomp tests into two
The Seccomp tests ran 11 tests in parallel and this appears to be
hitting some sort of bug on CI. Splitting into two tests means that
I can no longer repeoduce the failure on the slow laptop where I could
reproduce the failures before.

Obviously this does not fix the underlying issue, which I will
continue to investigate, but not having the tests failing a lot
before the freeze for 1.12 would be rather helpful.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-27 15:38:29 -07:00
Michael Crosby
b1f8b45b8f Merge pull request #23067 from shishir-a412ed/fix_commit_issue
Fixes Issue # 22992: docker commit failing
2016-05-27 15:06:29 -07:00
Sebastiaan van Stijn
4441a6c4c6 Merge pull request #22716 from jmzwcn/issue22466-patches
Embedded DNS problem after renaming container. Step2:change in docker…
2016-05-27 23:27:42 +02:00
Sebastiaan van Stijn
4a031f1f80 Merge pull request #22621 from yongtang/05092016-remove-deprecated-command-line-short-variant-options
Un-deprecated command line short variant options of `-c`
2016-05-27 23:12:08 +02:00
Arnaud Porterie
fd7ec4b9e5 Merge pull request #22912 from duglin/FixImportTest
Fix docker import test
2016-05-27 14:03:44 -07:00
Stefan Scherer
d59458c12d Update golang 1.6.2
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-05-27 23:00:05 +02:00
Stefan Scherer
46c61497a0 Build deb for raspbian-jessie
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-05-27 22:54:50 +02:00
Brian Goff
ec3ccde18b Merge pull request #22438 from yongtang/22420-inconsistent-tmpfs-behavior
Inconsistent --tmpfs behavior
2016-05-27 15:54:37 -04:00
Sebastiaan van Stijn
068d466cc7 Merge pull request #23060 from friism/add-power-shell-example
Add power shell example
2016-05-27 21:21:32 +02:00
Michael Friis
ab391c9ab5 Add powershell example and make linux build example consistent with other examples
Signed-off-by: Michael Friis <friism@gmail.com>
2016-05-27 11:49:09 -07:00
Shishir Mahajan
09d0720e2f Fixes Issue # 22992: docker commit failing.
1) docker create / run / start: this would create a snapshot device and mounts it onto the filesystem.
So the first time GET operation is called. it will create the rootfs directory and return the path to rootfs
2) Now when I do docker commit. It will call the GET operation second time. This time the refcount will check
that the count > 1 (count=2). so the rootfs already exists, it will just return the path to rootfs.

Earlier it was just returning the mp: /var/lib/docker/devicemapper/mnt/{ID} and hence the inconsistent paths error.

Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-05-27 14:35:46 -04:00
Alexander Morozov
01409bf069 Merge pull request #22376 from vdemeester/use-dockerd-in-integration-cli
Use dockerd instead of docker daemon in integration-cli
2016-05-27 10:09:43 -07:00
Vincent Demeester
f1276cd3aa Merge pull request #23039 from yongtang/05262016-docs-cluster-store-opts
Fix error in dockerd.md for incorrect cluster-store-opts example.
2016-05-27 18:55:48 +02:00
Sebastiaan van Stijn
b4708e2754 Remove GO15VENDOREXPERIMENT
This environment variable is no longer
needed in Go 1.6 (as it's not the default).

Removed this environment variable from
all Dockerfiles except the Dockerfile.s390x,
which is still using gcc 5.3 (Go 1.5)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-27 18:15:01 +02:00
Brian Goff
1d87f788b1 Merge pull request #23030 from Microsoft/jjh/xenonworkdir
Windows: Default isolation and workdir
2016-05-27 11:31:36 -04:00
Brian Goff
6e721f6432 Merge pull request #23032 from tonistiigi/walk-err-fix
Fix directory walker error checking
2016-05-27 11:20:45 -04:00
Shijiang Wei
9d6989bbb6 fix flaky test TestImportFileWithMessage
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-27 23:19:29 +08:00
Christy Perez
d864a14620 Bump the seccomp versions to pull in fixes and new commits
enabling s390 and ppc64le function

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-05-27 11:12:47 -04:00
Vincent Demeester
24d2ee8c48 Merge pull request #22984 from Microsoft/jjh/ttymessage
Better error on attach no tty
2016-05-27 16:57:36 +02:00
Brian Goff
ab9204c826 Merge pull request #23049 from vdemeester/search-validate-before-call
Validate filter values before calling registry.
2016-05-27 10:21:40 -04:00
Alexander Morozov
9b0d385975 Merge pull request #22840 from runcom/go1.6
Upgrade to golang 1.6.2
2016-05-27 06:54:57 -07:00
Vincent Demeester
bfa0885c37 Moving some more methods away from daemon.go
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-27 11:32:26 +02:00
Vincent Demeester
cd012efa2e Validate filter values before calling registry.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-27 11:13:12 +02:00
Sebastiaan van Stijn
bd5c9f59ea Merge pull request #23035 from SvenDowideit/fix-links
Fix up stale links
2016-05-27 08:41:11 +02:00
Akihiro Suda
937851580c Fix too short time.Sleep() in pkg/discovery/kv/kv_test.go
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-27 04:08:55 +00:00
Yong Tang
32b234885e Fix error in dockerd.md for incorrect cluster-store-opts example.
This fix fixes an error in documentation (dockerd.md). In the
example given by dockerd.md, the option `cluster-store-opts`
is assigned with an array but this option can only be assigned
as a map.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-26 20:04:48 -07:00
Brian Goff
3f6fa8af45 Merge pull request #22993 from rhatdan/relabel
Multiple fixes for SELinux labels.
2016-05-26 22:51:17 -04:00
Yong Tang
397a6fefad Inconsistent --tmpfs behavior
This fix tries to address the issue raised in #22420. When
`--tmpfs` is specified with `/tmp`, the default value is
`rw,nosuid,nodev,noexec,relatime,size=65536k`. When `--tmpfs`
is specified with `/tmp:rw`, then the value changed to
`rw,nosuid,nodev,noexec,relatime`.

The reason for such an inconsistency is because docker tries
to add `size=65536k` option only when user provides no option.

This fix tries to address this issue by always pre-progating
`size=65536k` along with `rw,nosuid,nodev,noexec,relatime`.
If user provides a different value (e.g., `size=8192k`), it
will override the `size=65536k` anyway since the combined
options will be parsed and merged to remove any duplicates.

Additional test cases have been added to cover the changes
in this fix.

This fix fixes #22420.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-26 19:28:18 -07:00
Sven Dowideit
ee76963125 Fix up stale links
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-05-27 00:28:46 +00:00
Tonis Tiigi
81d24e754d Fix directory walker error checking
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-05-26 14:59:38 -07:00
Alexander Morozov
ef89891855 Merge pull request #22888 from ibuildthecloud/host-compat
Remove DOCKER_HTTP_HOST_COMPAT env var
2016-05-26 14:41:22 -07:00
Alexander Morozov
11ddfa4b2b Merge pull request #23009 from Microsoft/WindowsLeakedHandle
Fix a leaked process handle of the first container to start on Windows
2016-05-26 14:39:57 -07:00
Phil Estes
67767dba6c Merge pull request #22918 from tonistiigi/image-delete-deadlock
Release memoryStore locks before filter/apply
2016-05-26 16:00:39 -05:00
John Howard
6952135fc8 Windows: Default isolation and workdir
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-26 13:24:22 -07:00
Arnaud Porterie
8e924153e2 Merge pull request #22268 from Microsoft/jjh/continuationescape
Support platform semantic file paths through ESCAPE
2016-05-26 10:00:56 -07:00
Yong Tang
fea7acf0e9 Un-deprecated command line short variant options of -c.
Since 1.9, the following short variant options have been
deprecated in favor of their long variants:
`docker run -c (--cpu-shares)`
`docker build -c (--cpu-shares)`
`docker create -c (--cpu-shares)`
`docker update -c (--cpu-shares)`

However, `-c` is still widely used and is considered as
a convenient option for swarm (see #16271).

This fix undeprecated the command line short
variant options of `-c` and updated the deprecated.md.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-26 08:22:27 -07:00
Sebastiaan van Stijn
56359cccbc Merge pull request #22976 from vdemeester/22091-condition-followup
Invert CgroupDevicesEnabled condition
2016-05-26 15:42:42 +02:00
Vincent Demeester
215324251a Merge pull request #22999 from deed02392/master
Update debian.md
2016-05-26 15:37:55 +02:00
deed02392
6c5f724560 Update debian.md
Updated documents markdown file on Debian installation.
Added details on the fact that backports are necessary on Wheezy as discussed in issue #16878

Signed-off-by: George Hafiz <george@hafiz.uk>
2016-05-26 13:47:19 +01:00
Vincent Demeester
e901195634 Merge pull request #22474 from allencloud/make-pkg-platform-support-darwin
add architecture_darwin.go in  package docker/pkg/platform to support darwin
2016-05-26 14:05:43 +02:00
Vincent Demeester
f87053b9c3 Use dockerd instead of docker daemon in integration-cli
Updating `integration-cli/daemon.go` to use `dockerd` instead of `docker
daemon` to start up the daemon.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-26 13:14:35 +02:00
Vincent Demeester
72fefc0441 Invert CgroupDevicesEnabled condition
It feels better to test where it's required than listing everywhere it
is not required.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-26 13:09:11 +02:00
Sebastiaan van Stijn
75109b32db Merge pull request #22861 from vdemeester/daemon-images-search-refactoring
Daemon images search refactoring
2016-05-26 12:34:31 +02:00
Vincent Demeester
ecdf75dca6 Merge pull request #22997 from aboch/ports
Update port info on network connect/disconnect
2016-05-26 12:18:00 +02:00
Sebastiaan van Stijn
214ab22582 Merge pull request #22991 from justincormack/seccompchown
Do not restrict chown via seccomp, just let capabilities control access
2016-05-26 11:19:10 +02:00
Daniel Zhang
be072a8954 Embedded DNS problem after renaming container. Step2:change in docker/daemon side and add integration test
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>
2016-05-26 12:59:44 +08:00
Darren Stahl
717209c9ff Fix a leaked process handle of the first container to start on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-05-25 21:33:50 -07:00
allencloud
e18296f4f0 make package docker/pkg/platform support darwin
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-26 11:10:29 +08:00
John Starks
05bd04350b Support layers from external URLs
This is used to support downloading Windows base images from Microsoft
servers.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-25 19:23:02 -07:00
Alexander Morozov
089166ebe2 Merge pull request #23000 from jstarks/use_image_version_for_console_check
Windows: Use image version, not OS version for TTY fixup
2016-05-25 17:40:56 -07:00
Alessandro Boch
f198dfd856 Update port info on network connect/disconnect
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-05-25 17:02:50 -07:00
Alexander Morozov
e010610828 Merge pull request #22951 from Microsoft/jjh/ise2
Windows: run -it not crash in PowerShell ISE
2016-05-25 16:50:06 -07:00
Sebastiaan van Stijn
8863d6dc5f Merge pull request #23001 from Djelibeybi/fix-oracle-docs
Fix URLs for official Oracle installation guide.
2016-05-25 23:59:31 +02:00
Avi Miller
7711c842be Fix URLs for official Oracle installation guide.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2016-05-26 07:40:01 +10:00
Sebastiaan van Stijn
64c444b109 Merge pull request #22996 from thaJeztah/update-hub-pricing-link
update link to hub plans
2016-05-25 23:23:48 +02:00
Sebastiaan van Stijn
3d782cdbff update link to hub plans
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-25 23:01:13 +02:00
Brian Goff
ff3dc48966 Merge pull request #22956 from Microsoft/jjh/nonttylogin
Fix bad error doing docker login in from non TTY
2016-05-25 16:45:48 -04:00
Alexander Morozov
d9db8960fd Merge pull request #22949 from vdemeester/move-daemon-container-horn
Move some container related methods and structs to smaller files
2016-05-25 13:42:07 -07:00
John Howard
f7541b00b0 Better error on attach no tty
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-25 13:32:48 -07:00
Dan Walsh
c3dd6074b0 Multiple fixes for SELinux labels.
SELinux labeling should be disabled when using --privileged mode

/etc/hosts, /etc/resolv.conf, /etc/hostname should not be relabeled if they
are volume mounted into the container.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-05-25 16:11:02 -04:00
Michael Crosby
dca92044be Merge pull request #22985 from samuelkarp/awslogs-logging-driver
awslogs: Fix a race in mockcwlogsclient
2016-05-25 13:08:00 -07:00
Justin Cormack
9ed6e39cdd Do not restrict chown via seccomp, just let capabilities control access
In #22554 I aligned seccomp and capabilities, however the case of
the chown calls and CAP_CHOWN was less clearcut, as these are
simple calls that the capabilities will block if they are not
allowed. They are needed when no new privileges is not set in
order to allow docker to call chown before the container is
started, so there was a workaround but this did not include
all the chown syscalls, and Arm was failing on some seccomp
tests because it was using a different syscall from just the
fchown that was allowed in this case. It is simpler to just
allow all the chown calls in the default seccomp profile and
let the capabilities subsystem block them.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-25 12:49:30 -07:00
John Starks
6508c015fe Windows: Use image version, not OS version for TTY fixup
A previous change added a TTY fixup for stdin on older Windows versions to
work around a Windows issue with backspace/delete behavior. This change
used the OS version to determine whether to activate the behavior.
However, the Windows bug is actually in the image, not the OS, so it
should have used the image's OS version.

This ensures that a Server TP5 container running on Windows 10 will have
reasonable console behavior.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-25 12:22:52 -07:00
Sebastiaan van Stijn
4746864c2b Merge pull request #22986 from SvenDowideit/add-make-test
Add make test and other small cleanups
2016-05-25 21:03:59 +02:00
Sebastiaan van Stijn
bb80563a81 Merge pull request #22987 from Microsoft/jjh/labeldocs
Docs: Label clarification
2016-05-25 20:56:54 +02:00
Samuel Karp
c1ad02ccc8 awslogs: Fix a race in mockcwlogsclient
Signed-off-by: Samuel Karp <skarp@amazon.com>
2016-05-25 11:50:22 -07:00
Sebastiaan van Stijn
a5e4aaaf71 Merge pull request #22661 from SvenDowideit/update-compatibility-matrix
docs: update graphdriver compatibility matrix
2016-05-25 20:48:39 +02:00
John Howard
b2643b6953 Docs: Label clarification
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-25 11:48:07 -07:00
Sven Dowideit
a7bf4e4832 docs: update graphdriver compatibility matrix
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-05-25 18:33:45 +00:00
Sven Dowideit
ad538f6465 Add make test and other small cleanups
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-05-25 18:30:01 +00:00
Sebastiaan van Stijn
0fe4417a3b Merge pull request #22908 from vdemeester/7967-since-before-image-filters
Add before and since filter to images
2016-05-25 20:15:23 +02:00
David Calavera
60abc96acf Merge pull request #22943 from vdemeester/21769-fix-detach-keys
Fix escape-keys by preserving input if invalid
2016-05-25 09:53:53 -07:00
Vincent Demeester
004ce6b571 Merge pull request #22916 from duglin/FixNetTest
Fix flaky TestApiStatsNetworkStats test
2016-05-25 18:51:47 +02:00
John Howard
486a1a03d8 Windows: run -it not crash in ISE
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-25 09:50:18 -07:00
John Howard
541fba13fc Error login from non TTY
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-25 09:29:50 -07:00
John Howard
c7ee503082 Merge pull request #22958 from Microsoft/hcs_rpc
Windows: Use the new HCS RPC API
2016-05-25 09:25:22 -07:00
Sebastiaan van Stijn
8c70ab803c Merge pull request #22953 from Microsoft/jjh/TestRunWorkingDirectory
Windows: Fix TestRunWorkingDirectory
2016-05-25 17:54:39 +02:00
Brian Goff
53e2deb159 Merge pull request #22973 from AkihiroSuda/fix22965IntegrationRace
Fix a race in pkg/integration.TestChannelBufferTimeout
2016-05-25 11:35:23 -04:00
Sebastiaan van Stijn
4d376e9cc2 Merge pull request #22960 from justincormack/seccompdefnotarm
Do not run the seccomp tests that use default.json on non x86 architectures
2016-05-25 17:20:16 +02:00
Brian Goff
a41e823c1b Merge pull request #22969 from AkihiroSuda/fix22963LogRace
Fix a race in daemon/logger.TestCopier
2016-05-25 11:09:51 -04:00
Brian Goff
cef4ea0b97 Merge pull request #22966 from AkihiroSuda/fix22964MemRace
Fix a race in pkg/discovery/memory
2016-05-25 10:58:31 -04:00
Vincent Demeester
5bd6067b85 Merge pull request #22968 from mbentley/fix-dm-docs
Fixed lost thin pool devicemapper docs
2016-05-25 16:40:52 +02:00
Matt Bentley
0b8ea4387a Re-apply changes made in 24ec73f
Signed-off-by: Matt Bentley <matt.bentley@docker.com>
2016-05-25 08:46:39 -04:00
Matt Bentley
79205c3f06 Fix thin pool devicemapper docs overwritten
Signed-off-by: Matt Bentley <matt.bentley@docker.com>
2016-05-25 08:45:51 -04:00
Vincent Demeester
750e16f57c Add before and since filter to images
Add support for two now filter on the `images` command : `before` and
`since`. They work the same as the one on the `ps` command but for
images.

        $ docker images --filter before=myimage
        # display all images older than myimage
        $ docker images --filter since=myimage
        # display all images younger than myimage

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-25 13:49:10 +02:00
Vincent Demeester
2a4b4a8133 Merge pull request #22962 from normalfaults/b
fixed spelling error in windows.go
2016-05-25 12:21:08 +02:00
John Starks
fa82c0aa10 Windows: work around Go 1.6.2/Nano Server TP5 issue
This works around golang/go#15286 by explicitly loading shell32.dll at
load time, ensuring that syscall can load it dynamically during process
startup.

Signed-off-by: John Starks <jostarks@microsoft.com>
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-25 11:59:28 +02:00
Stefan Scherer
f32ccb080a Update golang 1.6.2 for ARM
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-25 11:58:48 +02:00
Antonio Murdaca
40b21745cc Upgrade to golang 1.6.2
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-25 11:58:48 +02:00
Sebastiaan van Stijn
cd159fba85 Merge pull request #22952 from tophj-ibm/multiarch_daemon_test_fix
Multi-arch: fix TestBuildOnDisabledBridgeNetworkDaemon
2016-05-25 10:19:41 +02:00
Lei Jitang
5383824e08 Merge pull request #22974 from albers/completion-ps-filters
bash completion for `docker ps -f {before,since}`
2016-05-25 16:05:04 +08:00
Vincent Demeester
522698dd43 Merge pull request #22967 from srinsriv/master
Update dind
2016-05-25 09:55:10 +02:00
Harald Albers
c49d327406 bash completion for docker ps -f {before,since}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-05-25 09:35:33 +02:00
Vincent Demeester
9f5a2c6e33 Merge pull request #22408 from yongtang/21976-allow-dns-and-net-host
The option --dns and --net=host should not be mutually exclusive.
2016-05-25 09:11:26 +02:00
Akihiro Suda
d0d828e292 Fix a race in pkg/integration.TestChannelBufferTimeout
Update #22965

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-25 07:09:38 +00:00
Akihiro Suda
ab533f0651 Fix a race in daemon/logger.TestCopier
Update #22963

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-25 05:07:24 +00:00
Akihiro Suda
1f8fbbc0d8 Fix a race in pkg/discovery/memory
Fix #22964

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-25 04:01:43 +00:00
srinsriv
27afaf3774 Update dind
Typo

Signed-off-by: Srinivasan Srivatsan <srinivasan.srivatsan@hpe.com>
2016-05-24 20:42:28 -07:00
Yong Tang
90bd41a74d The option --add-host and --net=host should not be mutually exclusive.
This fix tries to address the issue raised in #21976 and allows
the options of `--add-host` and `--net=host` to work at the same time.

The documentation has been updated and additional tests have been
added to cover this change.

This fix fixes #21976.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-24 18:49:11 -07:00
Nirmal Mehta
59bb86a964 Merge branch 'master' into b 2016-05-24 21:43:45 -04:00
Nirmal Mehta
f91acbaee4 fixed spelling error in docker cli run test
Signed-off-by: Nirmal Mehta <nirmalkmehta@gmail.com>
2016-05-24 21:43:22 -04:00
Nirmal Mehta
36a9151b27 fixed spelling error in windows.go
Signed-off-by: Nirmal Mehta <nirmalkmehta@gmail.com>
2016-05-24 21:40:08 -04:00
Justin Cormack
75385dc216 Do not run the seccomp tests that use default.json on non x86 architectures
The generated profile that we check in is for amd64 and i386 architectures
and does not work correctly on arm as it is missing required syscalls,
and also specifies the architectures that are supported. It works on
ppc64le at the moment but better to skip the test as it is likely to
break in future.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-24 17:47:30 -07:00
Darren Stahl
959c1a52bf Change Docker to use the new HCS RPC API
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-05-24 16:36:51 -07:00
Yong Tang
23821fe586 The option --dns, --dns-search, --dns-opt and --net=host should not be mutually exclusive.
This fix tries to address the issue raised in #21976 and allows
the options of `--dns`, `--dns-search`, `--dns-opt` and `--net=host`
to work at the same time.

The documentation has been updated and additional tests have been
added to cover this change.

This fix fixes #21976.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-24 16:03:26 -07:00
John Howard
257494bd0a Windows: Fix TestRunWorkingDirectory
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-24 15:13:06 -07:00
Brian Goff
29dbcbad87 Merge pull request #22925 from jstarks/fix_integration_test
pkg/integration: Port tests to Windows
2016-05-24 17:31:43 -04:00
Christopher Jones
7832e2ae82 Multi-arch: fix TestBuildOnDisabledBridgeNetworkDaemon
Fixes the test by loading in the architecture specific busybox
image when the test daemon starts.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-05-24 16:33:49 -04:00
Phil Estes
bdc06cf8f8 Merge pull request #22922 from justincormack/ppc64le-seccomp
Enable seccomp on ppc64le
2016-05-24 16:08:50 -04:00
Michael Crosby
0802401d22 Merge pull request #22948 from dmcgowan/remove-unused-overlay-mounted
Remove unused mounted function in overlay
2016-05-24 13:08:06 -07:00
Vincent Demeester
86a7632d63 Merge pull request #22091 from amitkris/build_solaris
Get the Docker Engine to build clean on Solaris
2016-05-24 21:41:36 +02:00
Vincent Demeester
fb48bf518b Move some container related methods and structs to smaller files
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-24 21:31:15 +02:00
John Starks
8fc825364a pkg/integration: Port tests to Windows
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-24 12:12:48 -07:00
Sebastiaan van Stijn
48a53d2e8c Merge pull request #22935 from thaJeztah/add-justin-to-maintainers
Add Justin Cormack to maintainers
2016-05-24 20:23:52 +02:00
Derek McGowan
5cc0824730 Remove unused mounted function in overlay
The mount check is now done by the FSChecker. This function is no longer needed and shouldn't be called.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-05-24 11:02:07 -07:00
Alexander Morozov
38217d4353 Merge pull request #22932 from chenchun/fix_build
Fix building image  error if bridge network is disabled
2016-05-24 10:33:34 -07:00
Vincent Demeester
f0d6fd93a2 Merge pull request #22756 from wangxing1517/fix_docs_dockerd.md
Fix incorrectly named "ip-mask" and "api-cors-headers" options
2016-05-24 18:21:52 +02:00
Sebastiaan van Stijn
f10a222de1 Merge pull request #22941 from AkihiroSuda/fix22940
Fix a race in cmd/dockerd/hack.TestHeaderOverrideHack
2016-05-24 18:13:44 +02:00
Sebastiaan van Stijn
7faa2a40bc Merge pull request #22264 from aaronlehmann/updated-image-spec
Update image specification for content-addressability changes
2016-05-24 18:06:52 +02:00
Vincent Demeester
1dc87a6f9f Merge pull request #22945 from albers/completion-daemon-events
bash completion for daemon events
2016-05-24 17:30:18 +02:00
Harald Albers
cc6a1b8bb3 bash completion for daemon events
Signed-off-by: Harald Albers <github@albersweb.de>
2016-05-24 17:19:03 +02:00
Vincent Demeester
0fb6190243 Fix escape-keys by preserving input if invalid
Currently, using a custom detach key with an invalid sequence, eats a
part of the sequence, making it weird and difficult to enter some key
sequence.

This fixes by keeping the input read when trying to see if it's the key
sequence or not, and "writing" then is the key sequence is not the right
one, preserving the initial input.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-24 17:14:48 +02:00
Vincent Demeester
ce07eac570 Merge pull request #22906 from nshalman/patch-1
Clarification about 'docker build --build-arg'
2016-05-24 15:33:27 +02:00
Nahum Shalman
fd7d99ed28 Clarification about 'docker build --build-arg'
See #22860

Signed-off-by: Nahum Shalman <nshalman@omniti.com>
2016-05-24 09:25:11 -04:00
Vincent Demeester
6a385a0022 Merge pull request #22900 from AkihiroSuda/fix22020
update docs/reference/commandline/cp.md
2016-05-24 14:06:02 +02:00
Ilya Dmitrichenko
2aee081cad Remove MountFlags in systemd unit to allow shared mount propagation
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2016-05-24 12:51:31 +01:00
Akihiro Suda
1670914b8a Fix a race in cmd/dockerd/hack.TestHeaderOverrideHack
Fix #22940

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-24 11:29:55 +00:00
Akihiro Suda
cb1635c9cf update docs/reference/commandline/cp.md
Close #22020

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-05-24 11:09:38 +00:00
Sebastiaan van Stijn
e427e4b108 Add Justin Cormack to maintainers
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-24 11:09:39 +02:00
Vincent Demeester
636c276f67 Add Unit test to daemon.SearchRegistryForImages…
… and refactor a little bit some daemon on the way.

- Move `SearchRegistryForImages` to a new file (`daemon/search.go`) as
  `daemon.go` is getting pretty big.
- `registry.Service` is now an interface (allowing us to decouple it a
  little bit and thus unit test easily).
- Add some unit test for `SearchRegistryForImages`.
- Use UniqueExactMatch for search filters
- And use empty restore id for now in client.ContainerStart.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-24 11:07:11 +02:00
Vincent Demeester
d76d38c7d0 Merge pull request #22590 from yongtang/22463-docker-daemon-events
Emit events for docker daemon
2016-05-24 11:05:39 +02:00
Vincent Demeester
5812b6927c Vendor engine-api updates
Adds UniqueExactMatch method to filters along other changes.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-24 11:02:19 +02:00
Chun Chen
a8d013495c Fix building image error if bridge network is disabled
Signed-off-by: Chun Chen <ramichen@tencent.com>
2016-05-24 16:20:26 +08:00
Vincent Demeester
bf7bae9662 Merge pull request #22928 from friism/patch-3
remove duplicated text
2016-05-24 08:38:40 +02:00
Alexander Morozov
d7dfe9103b Merge pull request #22541 from crosbymichael/graph-restore
Implement graph driver restore on reboot
2016-05-23 22:57:23 -07:00
Justin Cormack
a83cedddc6 Enable seccomp on ppc64le
In order to do this, allow the socketcall syscall in the default
seccomp profile. This is a multiplexing syscall for the socket
operations, which is becoming obsolete gradually, but it is used
in some architectures. libseccomp has special handling for it for
x86 where it is common, so we did not need it in the profile,
but does not have any handling for ppc64le. It turns out that the
Debian images we use for tests do use the socketcall, while the
newer images such as Ubuntu 16.04 do not. Enabling this does no
harm as we allow all the socket operations anyway, and we allow
the similar ipc call for similar reasons already.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-23 22:35:55 -07:00
Tõnis Tiigi
a5aba7752a Merge pull request #22926 from justincormack/seccomp-test
Fix error channel size in seccomp test
2016-05-23 22:28:24 -07:00
Michael Friis
5271a69411 remove duplicated text
Signed-off-by: Michael Friis <friism@gmail.com>
2016-05-23 19:01:30 -07:00
Yong Tang
62014aaf9a Add filter for events emitted by docker daemon
This fix tries to cover the issue raised in #22463 by adding
filter for events emitted by docker daemon so that user could
utilize filter to receive events of interest.

Documentations have been updated for this fix.

Additional tests have been added to cover the changes in this fix.

This fix fixes #22463.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-23 19:00:47 -07:00
Yong Tang
382c152a73 Emit events for docker daemon
This fix tries to cover the issue raised in #22463 by emitting
events for docker daemon so that user could be notified by
scenarios like config reload, etc.

This fix adds the `daemon reload`, and events for docker daemon.

Additional tests have been added to cover the changes in this fix.

This fix fixes #22463.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-23 19:00:47 -07:00
Doug Davis
94d0571304 Fix flaky TestApiStatsNetworkStats test
It appears that on some systems apparmor gets in the way of libc.so.6
shared library being loaded - which means the ping fails.

To get around this if we run ping under `/lib64/ld-linux-x86-64.so.2`
then it works.  So we only do this for linux and only if the first attempt
fails. If this 2nd attempt fails then we'll show the original error to
the user for debugging.

Also s/Output/CombinedOutput/ to help debugging in the future. It didn't
show the real error msg.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-23 19:00:19 -07:00
Justin Cormack
3598f2e331 Fix error channel size in seccomp test
This was not changed when the additional tests were added.
It may be the reason for occasional test failures.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-23 18:14:55 -07:00
Brian Goff
9bc6c4ef80 Merge pull request #22919 from LK4D4/carry_22754
cli: remove unnecessary initErr type
2016-05-23 20:21:08 -04:00
Michael Crosby
8bb4d31b10 Remove mountedLayer Mount and Unmount
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 16:52:58 -07:00
Amit Krishnan
86d8758e2b Get the Docker Engine to build clean on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-05-23 16:37:12 -07:00
Michael Crosby
36a82c2032 Fix overlay use of rootdir and defer
Check for the rootDir first because the mergeDir may not exist if root
is present.

Also fix unmounting in the defer to make sure it does not have a
refcount.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 16:03:40 -07:00
Michael Crosby
4bac8bce98 Add windows graph driver ref counter
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 16:03:40 -07:00
Michael Crosby
e19499710e Remove ref counting from layer store
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Michael Crosby
5b6b8df0c1 Add reference counting to aufs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Michael Crosby
1ba05cdb6a Add fast path for fsmagic supported drivers
For things that we can check if they are mounted by using their fsmagic
we should use that and for others do it the slow way.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Michael Crosby
31e903b0e1 Remove restart test
This test is not applicable anymore now that containers are not stopped
when the daemon is restored.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Michael Crosby
290be017c5 Remove overlay pathCache
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Michael Crosby
009ee16bef Restore ref count
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-23 15:57:23 -07:00
Doug Davis
ac043c7db6 Fix docker import tests
For me when I run the test I see:
```
Downloading from http://nourl/bad
Importing    283 B
Untar re-exec error: exit status 1: output: unexpected EOF
```
and nothing about "dial tcp" so it appears that the output is
system dependent and therefore we can't really check it. I think
checking for non-zero exit code is sufficient so I'm removing this
string check.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-23 15:34:40 -07:00
Jhon Honce
55a367d2fe Ignore SIGPIPE events, resolves #19728
Using golang 1.6, is it now possible to ignore SIGPIPE events on
stdout/stderr.  Previous versions of the golang library cached 10
events and then killed the process receiving the events.

systemd-journald sends SIGPIPE events when jounald is restarted and
the target of the unit file writes to stdout/stderr. Docker logs to stdout/stderr.

This patch silently ignores all SIGPIPE events.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2016-05-23 15:26:41 -07:00
muge
b65e57bed5 cli: remove unnecessary initErr type
Signed-off-by: ZhangHang <stevezhang2014@gmail.com>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-05-23 13:04:10 -07:00
Sebastiaan van Stijn
91bc4cca58 Merge pull request #22875 from Microsoft/jjh/nativeconsoleon
Windows: Turn on native console by default
2016-05-23 21:19:54 +02:00
Sebastiaan van Stijn
2cd8b876ad Merge pull request #22665 from isubuz/20788-doc-valid-tag-name
docs: add valid chars in image name and tag
2016-05-23 20:45:27 +02:00
Tonis Tiigi
bd2b3d363f Release memoryStore locks before filter/apply
Rework memoryStore so that filters and apply run
on a cloned list of containers after the lock has
been released. This avoids possible deadlocks when
these filter/apply callbacks take locks for a
container.

Fixes #22732

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-05-23 11:45:04 -07:00
Alexander Morozov
9f1a121259 Merge pull request #22774 from Microsoft/jjh/client
Windows: Daemon default to Hyper-V containers on client
2016-05-23 11:29:50 -07:00
Alexander Morozov
3ab9049be3 Merge pull request #22856 from thaJeztah/dont-warn-when-net-none
Suppress "IPv4 forwarding" warning for --net=none
2016-05-23 11:11:21 -07:00
Alexander Morozov
0ac881b705 Merge pull request #22873 from jstarks/fix_bs_del
Windows: Work around Windows BS/DEL behavior
2016-05-23 11:10:33 -07:00
Tibor Vass
5f95750ab4 Merge pull request #22878 from vdemeester/better-default-context
Rework usage of context.Context in api/client
2016-05-23 13:43:08 -04:00
Brian Goff
b316bc42fe Merge pull request #22884 from vdemeester/moving-daemon-horn
Move some image related methods & struct to smaller files
2016-05-23 12:26:00 -04:00
Alexander Morozov
f18224de14 Merge pull request #22892 from alexellis/20784-builder-intg2unit-tests-typo
Typo fix wiildcard -> wildcard
2016-05-22 12:07:11 -07:00
Alex Ellis
86d48aa111 Typo fix wiildcard -> wildcard
Signed-off-by: Alex Ellis <alexellis2@gmail.com>
2016-05-22 18:39:35 +01:00
Vincent Demeester
07dc6bfb46 Merge pull request #22889 from thaJeztah/carry-22151-granular-vendoring
Allow granular vendoring
2016-05-22 18:30:59 +02:00
Vincent Demeester
07f79621ea Merge pull request #22890 from thaJeztah/docs/slashes
fix docs not building if branch-name contains slashes
2016-05-22 17:49:08 +02:00
Vincent Demeester
e0653413ec Merge pull request #22706 from tkopczynski/20784-builder-intg2unit-tests
Reimplement more builder integration tests as unit tests
2016-05-22 17:48:30 +02:00
Sebastiaan van Stijn
9552e24af6 fix docs not building if branch-name contains slashes
similar to the changes made in a4192471cd,
clean the branch-name before using it as a tag-name
for the image that's built.

this also changes the "image name" for docs images
being built from "docs-base" to "docker-docs", to
be in line with the main Makefile

before this change:

  /usr/bin/make -C docs docs
  docker build -t "docs-base:docs/slashes" .
  invalid value "docs-base:docs/slashes" for flag -t: Error parsing reference: "docs-base:docs/slashes" is not a valid repository/tag
  See 'docker build --help'.
  make[1]: *** [docs-build] Error 125
  make: *** [docs] Error 2

after this change:

  /usr/bin/make -C docs docs
  docker build -t "docker-docs:docs-slashes" .
  Sending build context to Docker daemon 9.165 MB
  ...

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-22 17:33:41 +02:00
Tibor Vass
80f61c4108 Allow granular vendoring
hack/vendor.sh can now accept command line arguments

`./hack/vendor.sh github.com/docker/engine-api` will revendor only the
engine-api dependency.

`./hack/vendor.sh github.com/docker/engine-api v0.3.3` will vendor only
engine-api at the specified tag/commit.

`./hack/vendor.sh git github.com/docker/engine-api v0.3.3` is the same
but specifies the VCS for cases where the VCS is something else than git

`./hack/vendor.sh git golang.org/x/sys
eb2c74142fd19a79b3f237334c7384d5167b1b46
https://github.com/golang/sys.git` will vendor only golang.org/x/sys
downloading from the specified URL

Signed-off-by: Tibor Vass <tibor@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-22 16:44:25 +02:00
Sebastiaan van Stijn
96817cbdee Merge pull request #22747 from sdurrheimer/zsh-completion-images-filters
Add zsh completion for 'docker images' filters
2016-05-22 16:30:18 +02:00
Sebastiaan van Stijn
c0c36bc150 Merge pull request #22885 from yongtang/05212016-typo-in-dockernetworks-md
Fix a typos in docs of networking guide
2016-05-22 15:54:21 +02:00
Steve Durrheimer
11da243273 Add zsh completion for 'docker images' filters
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-05-22 13:01:08 +02:00
Darren Shepherd
989f6f852f Remove DOCKER_HTTP_HOST_COMPAT env var
Signed-off-by: Darren Shepherd <darren@rancher.com>
2016-05-21 21:32:00 -07:00
Tomasz Kopczynski
cf2611f323 Reimplementing more builder integration tests as unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-22 01:00:57 +02:00
Vincent Demeester
d5baf8ddcf Move some image related methods & struct to smaller files
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-21 22:36:11 +02:00
Yong Tang
55b1724018 Fix a typos in docs of networking guide
This fix fixes a typo in the documentation (`dockernetworks.md`)
of networking user guide.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-21 13:19:05 -07:00
Subhajit Ghosh
ea98cf74aa Document valid chars in image name and tag
- Add link to valid image name and tag formats in referenced files
- Per review comments, updated docs to remove reference to `USERNAME` and
`REGISTRYHOST`.
- Per review comment, removed links from man page.
- Per review comment, added and updated examples on `docker tag`

Signed-off-by: Subhajit Ghosh <isubuz.g@gmail.com>
2016-05-21 19:49:19 +01:00
John Howard
ef2db56bcf Windows: Default to Hyper-V Containers on client
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-21 11:29:53 -07:00
Vincent Demeester
4c7f0d268f Rework usage of context.Context in api/client
Make better default usage on context.Context on the `api/client` package
to share the context (it is useless if not shared, which was the case
for a lot of commands).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-21 15:57:57 +02:00
Sebastiaan van Stijn
e3079b4704 Merge pull request #22876 from Microsoft/jjh/docsclarification
Docs: JSON vs Shell clarification
2016-05-21 11:52:49 +02:00
Vincent Demeester
7311d687e0 Merge pull request #22775 from Microsoft/jjh/removewindowsdiff
Windows: Remove windowsdiff graph driver
2016-05-21 08:02:20 +02:00
Vincent Demeester
4afc4edd74 Merge pull request #22863 from Saser/replace-unicode-single-quote
Replace occurrences of U+2018 and U+2019 with U+0027 in manpages
2016-05-21 07:42:26 +02:00
John Howard
0cacd4bee2 Docs: JSON vs Shell clarification
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-20 20:56:08 -07:00
John Howard
e8e3dd32c5 Support platform file paths through escape
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-20 20:29:59 -07:00
John Howard
c152dc48e5 Windows: Turn on native console by default
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-20 19:19:26 -07:00
John Starks
f124829c9b Windows: Work around Windows BS/DEL behavior
In Windows containers in TP5, DEL is interpreted as the delete key, but
Linux generally interprets it as backspace. This prevents backspace from
working when using a Linux terminal or the native console terminal
emulation in Windows.

To work around this, translate DEL to BS in Windows containers stdin when
TTY is enabled. Do this only for builds that do not have the fix in
Windows itself.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-20 19:04:20 -07:00
John Howard
dd0fc2be8b Windows: Remove windowsdiff driver
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-20 16:18:19 -07:00
Justin Cormack
4e2d98761d Begin a section in the check-config script to check limits
Initially this checks the kernel's maxkeys setting which is
low in some older distribution kernels, such that only 200 containers
can be created, reported in #22865.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-20 16:05:25 -07:00
John Starks
9c902364fb Revendor docker/distribution
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-20 14:16:48 -07:00
Christian Persson
19c43a6915 Replace U+2018 and U+2019 with U+0027 in manpages
Signed-off-by: Christian Persson <saser@live.se>
2016-05-20 20:15:57 +02:00
Sebastiaan van Stijn
27f34593ea Suppress "IPv4 forwarding" warning for --net=none
There's no need to warn that "ip-forwarding" is disabled
if a container doesn't use networking.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-20 17:57:29 +02:00
Vincent Demeester
52debcd58a Merge pull request #22820 from thaJeztah/suppress-incorrect-warning
Suppress "IPv4 forwarding" warning for --net=host
2016-05-20 17:17:10 +02:00
Phil Estes
642b7b1b52 Merge pull request #22369 from vdemeester/carry-pr-25074
Carry #20574 : Add a --filter option to `docker search`
2016-05-20 10:13:30 -05:00
Sebastiaan van Stijn
74ee26cceb Merge pull request #22839 from thaJeztah/update-selinux-example
Remove MLS example from SELinux example in run reference
2016-05-20 15:11:35 +02:00
Sebastiaan van Stijn
841cf6fffb Remove MLS example from SELinux example in run reference
Automatic translation of MLS labels is currently not
supported, so should not be documented as an example.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-20 14:58:58 +02:00
Fabrizio Soppelsa
e009ebdf4c Add a --filter option to docker search
The filtering is made server-side, and the following filters are
supported:

* is-official (boolean)
* is-automated (boolean)
* has-stars (integer)

Signed-off-by: Fabrizio Soppelsa <fsoppelsa@mirantis.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-20 13:41:28 +02:00
Sebastiaan van Stijn
0e9009bae3 Merge pull request #22554 from justincormack/seccap
Align default seccomp profile with selected capabilities
2016-05-20 12:58:28 +02:00
Vincent Demeester
55cc1a2aa4 Merge pull request #22844 from normalfaults/mispell
fixed spelling error in cli pull local test
2016-05-20 08:51:29 +02:00
Vincent Demeester
4c49adeaed Merge pull request #22843 from normalfaults/bugfix
removed unused const in config.go
2016-05-20 08:50:33 +02:00
Vincent Demeester
6024fc4d49 Merge pull request #22000 from runcom/malformed-host-header-upstream
Ignore invalid host header between go1.6 and old docker clients
2016-05-20 08:34:00 +02:00
Nirmal Mehta
f66f5d4bdc fixed spelling error in cli pull local test
Signed-off-by: Nirmal Mehta <nirmalkmehta@gmail.com>
2016-05-19 17:52:42 -05:00
Alexander Morozov
de908dfd2c Merge pull request #22842 from wendelfleming/FixWorkDir
builder: fixed workdir comment
2016-05-19 15:23:45 -07:00
Nirmal Mehta
b3b5da3c55 removed unused const in config.go
Signed-off-by: Nirmal Mehta <nirmalkmehta@gmail.com>
2016-05-19 17:18:06 -05:00
Wendel Fleming
131161bbc7 builder: fixed workdir comment
Signed-off-by: Wendel Fleming <wfleming@usc.edu>
2016-05-19 15:40:46 -05:00
Antonio Murdaca
3d6f5984f5 Ignore invalid host header between go1.6 and old docker clients
BenchmarkWithHack-4	   50000	     37082 ns/op	  44.50
MB/s	    1920 B/op	      30 allocs/op
BenchmarkNoHack-4  	   50000	     30829 ns/op	  53.52
MB/s	       0 B/op	       0 allocs/op

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-19 21:07:45 +02:00
Alexander Morozov
376c15bbaa Merge pull request #22762 from wangxing1517/fix_mistake_400_for_500
Fix bug which mistakes 400 error for 500
2016-05-19 12:04:52 -07:00
Ken Herner
04b4e3e6d8 Add test to ZFS for disk quota
Signed-off-by: Ken Herner <kherner@progress.com>
2016-05-19 14:49:04 -04:00
Ken Herner
373654f43e Add error check after parseStorageOpt
Signed-off-by: Ken Herner <kherner@progress.com>
2016-05-19 14:49:04 -04:00
Ken Herner
e918340431 Add support for setting storage size on zfs containers
Now supports setting a containers storage size when using zfs as the
storage engine.  By passing in `--storage-opt size=<size>`, the created
container's storage size will be limited to the given size.  Note that
the way zfs works, the given specified storage size will be given in
addition to the base container size.

Example:

The node image reports a size of `671M` from `df -h` when started.
Setting `--storage-opt size=2G` will result in a drive the size of
`671M` + `2G`, `2.7G` in total.  Available space will be `2.0G`.

The storage size is achieved by setting the zfs option `quota` to the
given size on the zfs volume.

Signed-off-by: Ken Herner <kherner@progress.com>
2016-05-19 14:49:04 -04:00
Vincent Demeester
ebeb5a0422 Merge pull request #22481 from mrunalp/pid_container
Add support for --pid=container:<id>
2016-05-19 19:00:40 +02:00
root
f53902aa77 Fix some mistakes in dockerd.md
Signed-off-by: Wang Xing <hzwangxing@corp.netease.com>
2016-05-19 20:41:37 +08:00
Wang Xing
beca261578 Fix bug which mistakes 400 error for 500
Signed-off-by: Wang Xing <hzwangxing@corp.netease.com>
2016-05-19 20:01:55 +08:00
Sebastiaan van Stijn
1691fe6d23 Merge pull request #22821 from zunayed/patch-1
fix duplicate command in uninstall instructions
2016-05-18 22:26:25 +02:00
Zunayed Ali
160a6430a9 fix duplicate command in uninstall instructions
Signed-off-by: Zunayed Ali <zunayed@gmail.com>
2016-05-18 20:12:29 +00:00
Alexander Morozov
083dcd9c64 Merge pull request #22812 from thaJeztah/variable-typo
fix typo in variable
2016-05-18 12:04:21 -07:00
John Howard
04eaa74901 Merge pull request #22712 from swernli/update_fix
Fixing Windows update logic.
2016-05-18 12:00:10 -07:00
Sebastiaan van Stijn
5fb7f9b29e Suppress "IPv4 forwarding" warning for --net=host
Containers using the host network stack (--net=host)
are not affected by "ip-forwarding" being disabled,
so there's not need to show a warning.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-18 20:10:31 +02:00
Sebastiaan van Stijn
aac6008800 fix typo in variable
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-18 15:26:16 +02:00
Alexander Morozov
af705ca0ae Merge pull request #22765 from cyphar/update-boltdb
vendor: bump boltdb to v1.2.1
2016-05-18 06:03:02 -07:00
Vincent Demeester
9751170f08 Merge pull request #22778 from DoraALin/10972-docs-Support-for-non-proxied-private-registry
doc:http pkg variables info added in pull cmd
2016-05-18 13:58:24 +02:00
Lin Lu
60940b0818 doc:proxy-setting info added in pull cmd.
Replace Note with a new secion, reduce characters in
per line in 80. Add statement suggested by
https://github.com/thaJeztah

Signed-off-by: Lin Lu <doraalin@163.com>
2016-05-18 18:16:22 +08:00
Vincent Demeester
cbc404a083 Merge pull request #22785 from runcom/fix-flaky-network
TestPsGroupPortRange: allocate less ports
2016-05-18 11:08:10 +02:00
Vincent Demeester
14b5a50f0a Merge pull request #22582 from aboch/vnd
Vendoring libnetwork b66c038
2016-05-18 10:55:28 +02:00
Mrunal Patel
fb43ef649b Add support for --pid=container:<id>
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-05-17 13:49:05 -04:00
Vincent Demeester
28a436af36 Merge pull request #22768 from mansinahar/run-cmd-doc
Update 'run' command doc for better readability.  Issue:#22721
2016-05-17 17:06:12 +02:00
Brian Goff
713b9541f5 Merge pull request #22788 from thaJeztah/fix-typo-in-completion
Fix typo in zsh completion
2016-05-17 08:26:25 -05:00
Sebastiaan van Stijn
09cb57b773 Fix typo in zsh completion
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-17 13:38:46 +02:00
Antonio Murdaca
bdb354f19b TestPsGroupPortRange: allocate less ports
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-17 12:23:37 +02:00
Aleksa Sarai
a7781b130c vendor: bump boltdb to v1.2.1
This includes a fix to soft database corruption that would cause Docker
to fail to start if the daemon died in the middle of a transaction
write.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-05-17 16:19:35 +10:00
Alessandro Boch
6eb2b903a3 Docker changes for libnetwork vendoring b66c038
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-05-16 15:04:01 -07:00
Alessandro Boch
1f9e3815aa Vendoring libnetwork b66c0385f30c6aa27b2957ed1072682c19a0b0b4
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-05-16 15:04:01 -07:00
Alessandro Boch
ebcf785f2f Update libnetwork dependencies for b66c038
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-05-16 15:04:01 -07:00
John Howard
4c6838137c Merge pull request #22728 from Microsoft/jstarks/improve_import
Windows: reexec during layer import
2016-05-16 11:08:05 -07:00
mansinahar
01c9b968bd Update 'run' command doc for better readability
Signed-off-by: Mansi Nahar <mansi.nahar@macbookpro-mansinahar.local>
2016-05-16 12:49:18 -04:00
Tibor Vass
0088b8fbbe Merge pull request #22561 from cpuguy83/delay_start_for_discovery
Wait for discovery on container start error
2016-05-16 09:57:19 -04:00
Antonio Murdaca
16e6211cf7 Merge pull request #22761 from hqhq/hq_check_config_kmem
Update check_config for MEMCG_KMEM
2016-05-16 12:38:21 +02:00
Vincent Demeester
37dfd8bc8c Merge pull request #22757 from gondor/master
Documentation: Updated URL to plugin reference - docker-volume-netshare
2016-05-16 08:39:31 +02:00
Qiang Huang
27d7b135d4 Update check_config for MEMCG_KMEM
CONFIG_MEMCG_KMEM is removed since 4.6, it's accounted by default
since 4.6, so it's merged to CONFIG_MEMCG.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-16 13:55:24 +08:00
Jeremy Unruh
7b3dc03b66 update URL for docker-volume-netshare
Signed-off-by: Jeremy Unruh <jeremybunruh@gmail.com>
2016-05-15 21:20:54 -07:00
Sebastiaan van Stijn
6e12d0720f Merge pull request #22751 from igrcic/docs-small-typo-reference-attach
remove double "using" in reference attach docs
2016-05-16 01:22:43 +02:00
Ivan Grcic
0884dca124 remove double "using" in reference attach docs
Signed-off-by: Ivan Grcic <igrcic@gmail.com>
2016-05-15 23:18:01 +02:00
Vincent Demeester
1bcc42e038 Merge pull request #22742 from yongtang/05142016-update-deprecated-docs-for-LXC-built-in-exec-driver
Update deprecated docs for LXC built-in exec driver
2016-05-15 05:47:09 +02:00
Yong Tang
1391e75d45 Update deprecated docs for LXC built-in exec driver
The LXC built-in exec driver has been deprecated in 1.8 and
further removed in 1.10, yet in deprecated.md it still shows:
```
Target For Removal In Release: v1.10
```

This fix changes the above to `Removed In Release:`.

In addition, lxc-conf flag and API fields have already been
removed in 1.10 as well so the related description has also been
updated in this fix.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-14 17:30:19 -07:00
Sebastiaan van Stijn
e333675cd7 Merge pull request #22743 from yongtang/05142016-typo-in-work-with-networks
Fix a typo in work-with-networks.md
2016-05-15 02:15:45 +02:00
Yong Tang
414b9dea8a Fix a typo in work-with-networks.md
This fix fixes a typo in the documentation of `work-with-networks.md`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-14 16:58:18 -07:00
Sebastiaan van Stijn
fbf3741f0d Merge pull request #22740 from sdurrheimer/zsh-completion-network-ls-filter-label
Add zsh completion for 'docker network ls --filter label'
2016-05-14 22:27:00 +02:00
Sebastiaan van Stijn
c80f926997 Merge pull request #22739 from sdurrheimer/zsh-completion-daemon-concurrent
Add zsh completion for 'docker daemon --max-concurrent-downloads --ma…
2016-05-14 22:25:59 +02:00
Sebastiaan van Stijn
14348e9cca Merge pull request #22738 from sdurrheimer/zsh-completion-logs-details
Add zsh completion for 'docker logs --details'
2016-05-14 22:25:05 +02:00
Steve Durrheimer
afca8a454a Add zsh completion for 'docker network ls --filter label'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-05-14 19:38:39 +02:00
Steve Durrheimer
bf9a1d5027 Add zsh completion for 'docker daemon --max-concurrent-downloads --max-concurrent-uploads'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-05-14 19:20:20 +02:00
Steve Durrheimer
dcca0f6dd1 Add zsh completion for 'docker logs --details'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-05-14 19:13:01 +02:00
Sebastiaan van Stijn
89bb4d96e4 Merge pull request #22737 from tkopczynski/typo-imagesandcontainers
Small fix in images and containers docs
2016-05-14 17:57:45 +02:00
Tomasz Kopczynski
d0ab1c360f Small fix in images and containers docs
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-14 16:09:49 +02:00
Vincent Demeester
aa197f147d Merge pull request #22735 from yongtang/22463-22590-emit-docker-daemon-reload-event
Vendor engine-api to allow docker daemon reload event
2016-05-14 11:49:01 +02:00
Vincent Demeester
2f94a367d7 Merge pull request #22720 from thaJeztah/fix-markdown
Fix Markdown formatting in Devicemapper docs
2016-05-14 10:12:15 +02:00
Yong Tang
d365c0e151 Fix failed test for TestRestartPolicy
This commit is a follow up of the last commit:
Vendor engine-api to allow docker daemon reload event.

After vendor/engine-api has been updated, the following
unit test fails:
```
--- FAIL: TestRestartPolicy (0.00s)
       hostconfig_test.go:177: RestartPolicy.IsNone for { 0} should have been false but was true
```

The reason for the above failed unit test is that pull request:

https://github.com/docker/engine-api/pull/200

updated behavior of the restart policy and makes restartpolicy.IsNone
return true if restart policy name is `""`. As a result, the above
mentioned unit test fails.

This fix fixes the inconsistency of the unit test so that `TestRestartPolicy`
could pass again.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-13 20:39:35 -07:00
Yong Tang
0f57f47ac3 Vendor engine-api to allow docker daemon reload event.
This fix updated the vendored engine-api to version
e374c4fb5b121a8fd4295ec5eb91a8068c6304f4, which defines a new event
type of `DaemonEventType`. The purpose is to allow emitting`
`daemon reload` event as is raised in #22463.

This fix is related to #22463 and #22590.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-13 20:39:24 -07:00
John Starks
b3bc5e0fe4 Windows: reexec when importing layers
This improves reliability by doing parsing of potentially untrusted data
in a separate process. It opens the door for further security improvements
if we can lock down the reexec-ed process. It also improves import
performance by only taking the backup and restore privileges once, for the
whole process.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-13 18:16:11 -07:00
Sebastiaan van Stijn
3723b88406 Merge pull request #22727 from clawconduce/master
Fix error for env variables example in docker reference
2016-05-14 01:00:55 +02:00
John Starks
6d40104f11 Windows: revendor go-winio
This fixes a variety of small bugs in layer handling and adds a new API
for acquiring privileges for the whole process.

Fixes #22404 (but only for new images -- existing images will need to be
re-pushed).

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-05-13 11:53:14 -07:00
Charles Law
2af7c5cfe2 Fix error for env variables example in docker reference
Signed-off-by: Charles Law <claw@conduce.com>
2016-05-13 10:55:36 -07:00
Sebastiaan van Stijn
5154856586 Fix Markdown formatting in Devicemapper docs
Fixes some text being presented as "code".

Also reformatted/wrapped some text and examples

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-13 15:41:45 +02:00
Sebastiaan van Stijn
a213a446d7 Merge pull request #22714 from albers/completion-logs--details
bash completion for `docker logs --details`
2016-05-13 14:37:45 +02:00
Sebastiaan van Stijn
c4dd432fd4 Merge pull request #22713 from albers/completion-daemon-concurrent
bash completion for `docker daemon --max-concurrent-{down,up}load`
2016-05-13 14:36:14 +02:00
Vincent Demeester
29fe2f34d2 Merge pull request #22588 from runcom/fix-authz-tests
pkg: authorization: cleanup tests
2016-05-13 10:29:45 +02:00
allencloud
8879458faa add trace in docker engine's pprof to show execution trace in binary form
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-13 15:24:44 +08:00
Harald Albers
d166c8fbb2 bash completion for docker logs --details
Signed-off-by: Harald Albers <github@albersweb.de>
2016-05-13 08:42:43 +02:00
Harald Albers
cc6bcaaddc bash completion for docker daemon --max-concurrent-{down,up}load
Signed-off-by: Harald Albers <github@albersweb.de>
2016-05-13 08:25:53 +02:00
Yong Tang
38c49d9987 Remove docker/ prefix from log messages tag.
This fix tries to address the issue raised in #22358 where syslog's
message tag always starts with `docker/` and can not be removed
by changing the log tag templates.

The issue is that syslog driver hardcodes `path.Base(os.Args[0])`
as the prefix, which is the binary file name of the daemon (`dockerd`).
This could be an issue for certain situations (e.g., #22358) where
user may prefer not to have a dedicated prefix in syslog messages.
There is no way to override this behavior in the current verison of
the docker.

This fix tries to address this issue without making changes in the
default behavior of the syslog driver. An additional
`{{.DaemonName}}` has been introduced in the syslog tag. This is
assigned as the `docker` when daemon starts. The default log tag
template has also been changed from
`path.Base(os.Args[0]) + "/{{.ID}}"` to `{{.DaemonName}}/{{.ID}}`.
Therefore, there is no behavior changes when log-tag is not provided.

In order to be consistent, the default log tag for fluentd has been
changed from `docker.{{.ID}}` to `{{DaemonName}}.{{.ID}}` as well.

The documentation for log-tag has been updated to reflect this change.

Additional test cases have been added to cover changes in this fix.

This fix fixes #22358.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-12 22:29:30 -07:00
Stefan J. Wernli
a5b64f2847 Fixing Windows update logic.
Removing the call to Shutdown from within Signal in order to rely on waitExit handling the exit of the process.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-05-12 17:45:53 -07:00
Sebastiaan van Stijn
9de21de453 Merge pull request #22462 from Microsoft/jjh/22181unittests
Windows: Reduce CLI time, move some to unit tests
2016-05-13 00:27:29 +02:00
Alexander Morozov
cf783266ff Merge pull request #22279 from WeiZhang555/wait-channel
Remove WaitRunning
2016-05-12 14:56:55 -07:00
Alexander Morozov
e811e9784f Merge pull request #22544 from Microsoft/jjh/terminate
Windows: Terminate on failed shutdown, fixes dockerd deadlock
2016-05-12 14:46:56 -07:00
Alexander Morozov
95872b65fb Merge pull request #22636 from sean-jc/fix-oom-killer-tests
Add the swapMemorySupport requirement to OOM tests
2016-05-12 14:41:55 -07:00
Alexander Morozov
c95f1fcbd9 Merge pull request #22679 from cyli/bump-notary-version
Bump notary version up to 0.3.0 and re-vendor.
2016-05-12 14:38:07 -07:00
Sebastiaan van Stijn
ab090291dd Merge pull request #22707 from TimWolla/patch-1
User network does not work with IPv6
2016-05-12 23:27:57 +02:00
Tim Düsterhus
f6ecba1045 Clarify that --ip does not work with IPv6 in docker run
Closes docker/docker#22707

Signed-off-by: Tim Düsterhus <tim@bastelstu.be>
2016-05-12 23:19:46 +02:00
Sebastiaan van Stijn
2ae863c28f Merge pull request #22683 from npcode/docs-no-request-status
docs: Remove RequestStatusCode
2016-05-12 21:29:45 +02:00
Alexander Morozov
150009e9d8 Merge pull request #22630 from thaJeztah/refactor-overlay-compatibility
refactor overlay storage driver compatibility check
2016-05-12 12:00:57 -07:00
Alexander Morozov
350832acfa Merge pull request #22698 from cpuguy83/22612_fix_map_access
Fix concurrent map access in bytespipe
2016-05-12 11:51:54 -07:00
John Howard
b5094fbd2d Merge pull request #22333 from thaJeztah/update-label-description
RFC: Add "process" labels
2016-05-12 11:39:14 -07:00
Aaron Lehmann
4fa0eccd10 Update image specification for content-addressability changes
The image spec in image/spec/v1.md is quite a bit out of date. Not only
is it missing the changes that went into 1.10 for content
addressability, but it has inaccuracies that date back further, such as
mentioning storing tarsum in the image configuration.

This commit creates image/spec/v1.1.md which brings the specification up
to date. It discusses content addressability, new fields in the image
configuration, the repository/tag grammar, and the current mechanism for
exporting an image.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-05-12 11:12:34 -07:00
Arnaud Porterie
e9117578a7 Merge pull request #22445 from yongtang/20936-22443-concurrent-connection
Docker pull/push with max concurrency limits.
2016-05-12 08:51:28 -07:00
Brian Goff
194c72611d Fix concurrent map access in bytespipe
When getting and returning a buffer, need to make sure to syncronize
access to the pools map.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-12 10:04:05 -04:00
Vincent Demeester
475c37dd66 Merge pull request #22694 from allencloud/fix-typos-in-docs
docs: correct some typos
2016-05-12 14:35:39 +02:00
Vincent Demeester
edf5e097a2 Merge pull request #22687 from haoshuwei/fix-docs-securitymd
Fixing security.md
2016-05-12 14:35:21 +02:00
Vincent Demeester
7fd9f9964a Merge pull request #22620 from yongtang/05092016-remove-deprecated-driver-specific-log-tags
Remove deprecated driver specific log tags
2016-05-12 13:20:07 +02:00
allencloud
57e2a82355 fix typos in docs
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-12 18:38:02 +08:00
Vincent Demeester
ec2b0c0889 Merge pull request #22682 from hqhq/hq_update_check
Update go-check
2016-05-12 12:09:36 +02:00
Vincent Demeester
24a0f1f3e8 Merge pull request #22689 from thaJeztah/docs-update-menu-order
docs: update menu order in security section
2016-05-12 11:22:44 +02:00
Sebastiaan van Stijn
067e54eeac docs: update menu order in security section
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-12 11:19:53 +02:00
Sebastiaan van Stijn
a14e85c40d Merge pull request #22579 from jfrazelle/docs-add-security-non-events
docs: add security non-events
2016-05-12 11:17:47 +02:00
Hao Shu Wei
73d96a6b17 Fixing security.md
Signed-off-by: Hao Shu Wei <haoshuwei1989@163.com>
2016-05-12 16:52:03 +08:00
Vincent Demeester
84a6818b11 Merge pull request #22622 from tkopczynski/20784-builder-intg2unit-tests
Reimplement some builder integration tests as unit tests
2016-05-12 10:29:39 +02:00
cyli
6094be63ac Bump notary version up to 0.3.0 and re-vendor.
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-11 22:57:51 -07:00
Yi EungJun
aed525384a docs: Remove RequestStatusCode
The requests doesn't include RequestStatusCode field.

Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-05-12 14:27:22 +09:00
Sven Dowideit
c273163e80 Merge pull request #22672 from kevinmeredith/correct_trapped_signals
Correct docs for a docker container's clean-up.
2016-05-12 14:15:39 +10:00
Yong Tang
7368e41c07 Docker pull/push with max concurrency limits.
This fix tries to address issues raised in #20936 and #22443
where `docker pull` or `docker push` fails because of the
concurrent connection failing.
Currently, the number of maximum concurrent connections is
controlled by `maxDownloadConcurrency` and `maxUploadConcurrency`
which are hardcoded to 3 and 5 respectively. Therefore, in
situations where network connections don't support multiple
downloads/uploads, failures may encounter for `docker push`
or `docker pull`.

This fix tries changes `maxDownloadConcurrency` and
`maxUploadConcurrency` to adjustable by passing
`--max-concurrent-uploads` and `--max-concurrent-downloads` to
`docker daemon` command.

The documentation related to docker daemon has been updated.

Additional test case have been added to cover the changes in this fix.

This fix fixes #20936. This fix fixes #22443.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-11 19:44:54 -07:00
Qiang Huang
ed868a2e11 Update go-check
It includes a small improvement, we hit test timeout sometimes
for some reason, print out the timed out case would be very
helpful.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-05-12 09:19:23 +08:00
Arnaud Porterie
f7c79cdeae Merge pull request #22455 from Anvil/bash-completion-failglob
docker bash completions fails when failglob is enabled
2016-05-11 13:08:48 -10:00
Arnaud Porterie
b3a1ae02a9 Merge pull request #22353 from Microsoft/jjh/dockercp
Windows: docker cp platform semantically consistent paths
2016-05-11 13:08:24 -10:00
Arnaud Porterie
78e9f2e9e7 Merge pull request #22368 from tianon/wheezy-lts
Update contrib/mkimage/debootstrap to include wheezy-lts
2016-05-11 12:49:26 -10:00
Arnaud Porterie
bacce5ef4f Merge pull request #22365 from dnephin/fix_selinux_for_dockerd
Update the binary name in docker-engine-selinux/docker.fc
2016-05-11 12:44:55 -10:00
Arnaud Porterie
28452ca783 Merge pull request #22356 from allencloud/close-http-response-body-when-attaching
close http response body when attaching
2016-05-11 12:44:35 -10:00
Arnaud Porterie
dc430944b9 Merge pull request #22262 from kencochrane/fix_release_deb
Create the correct directory structure for apt-ftparchive
2016-05-11 12:38:12 -10:00
Tomasz Kopczynski
18eeb39985 Reimplementing builder integration tests as unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-11 22:13:39 +02:00
kevinmeredith
ef7cd21766 Correct docs for a docker container's clean-up.
The 'Unix Signals' (https://en.wikipedia.org/wiki/Unix_signal#Handling_signals) wiki explains that:
> 'There are two signals which cannot be intercepted and handled: SIGKILL and SIGSTOP.'

Signed-off-by: kevinmeredith <kevin.m.meredith@gmail.com>
2016-05-11 14:58:23 -04:00
Antonio Murdaca
730b974c64 Merge pull request #22637 from LK4D4/simplify_tcp_proxy
pkg/proxy: remove unused 'transfered' variable
2016-05-11 20:56:31 +02:00
Tibor Vass
e421668b1b Merge pull request #21708 from tianon/InRelease
Also generate "InRelease" files for newer APT clients
2016-05-11 13:21:15 -04:00
Vincent Demeester
4c654eeea2 Merge pull request #22669 from thaJeztah/docs-update-seccomp-whitelist
docs: update seccomp whitelist
2016-05-11 18:59:53 +02:00
Sebastiaan van Stijn
2cddd1cd1f docs: update seccomp whitelist
the 'modify_ldt' was listed as "blocked by default",
but was whitelisted in 13a9d4e899

this updates the documentation to reflect this

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-11 18:45:27 +02:00
Sebastiaan van Stijn
3710f9074e Merge pull request #22666 from yongtang/05112016-update-deprecated-docs-cli-flags
Update deprecated docs for cli flags removal.
2016-05-11 18:05:52 +02:00
Alexander Morozov
fd3a795a47 Merge pull request #22278 from runcom/fixies-dockerd
Fixies dockerd
2016-05-11 07:57:00 -07:00
Alexander Morozov
da74f9653d Merge pull request #22642 from amitkris/uprev_gozfs
update go-zfs to include Solaris support
2016-05-11 07:41:17 -07:00
Brian Goff
2dce79e05a Wait for discovery on container start error
This gives discovery a chance to initialize, particularly if the K/V
store being used is in a container.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-11 09:49:51 -04:00
Yong Tang
0a4de93e13 Update deprecated docs for cli flags removal.
The old command line options have been deprecated in 1.8.0 and
eventually removed in 1.10.0 through PR #17724, though the
deprecated.md still shows `Target For Removal In Release`.

This fix updates the deprecated.md and changes
`Target For Removal In Release` to `Removed In Release`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-11 06:48:07 -07:00
Antonio Murdaca
1ac1b78b3a contrib: init: use dockerd
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-11 11:00:11 +02:00
Justin Cormack
a01c4dc8f8 Align default seccomp profile with selected capabilities
Currently the default seccomp profile is fixed. This changes it
so that it varies depending on the Linux capabilities selected with
the --cap-add and --cap-drop options. Without this, if a user adds
privileges, eg to allow ptrace with --cap-add sys_ptrace then still
cannot actually use ptrace as it is still blocked by seccomp, so
they will probably disable seccomp or use --privileged. With this
change the syscalls that are needed for the capability are also
allowed by the seccomp profile based on the selected capabilities.

While this patch makes it easier to do things with for example
cap_sys_admin enabled, as it will now allow creating new namespaces
and use of mount, it still allows less than --cap-add cap_sys_admin
--security-opt seccomp:unconfined would have previously. It is not
recommended that users run containers with cap_sys_admin as this does
give full access to the host machine.

It also cleans up some architecture specific system calls to be
only selected when needed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-11 09:30:23 +01:00
Alexander Morozov
af60a9e599 Merge pull request #22511 from crosbymichael/update-runc-containerd
Update runc and containerd deps
2016-05-10 15:06:23 -07:00
Alexander Morozov
34175eb47e pkg/proxy: remove unused 'transfered' variable
That simplified code a bit

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-05-10 14:33:21 -07:00
Amit Krishnan
efb3946171 update go-zfs to include Solaris support
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-05-10 13:51:03 -07:00
Sebastiaan van Stijn
a4bb2c7d7a Merge pull request #22634 from thaJeztah/dj-jazzy-jess
Add Jess to alumni
2016-05-10 22:08:56 +02:00
Sean Christopherson
adabb51311 Add the swapMemorySupport requirement to OOM tests
Add the swapMemorySupport requirement to all tests related to the OOM killer.  The --memory option has the subtle side effect of defaulting --memory-swap to double the value of --memory.  The OOM killer doesn't kick in until the container exhausts memory+swap, and so without the memory swap cgroup the tests will timeout due to swap being effectively unlimited.

Document the default behavior of --memory-swap in the docker run man page.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
2016-05-10 11:28:00 -07:00
John Howard
feacb1205b Windows: Terminate on failed shutdown
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-10 10:09:50 -07:00
John Howard
59db39c5c8 Merge pull request #22619 from jterry75/master
Adds a correct error string for network validation
2016-05-10 10:02:54 -07:00
Sebastiaan van Stijn
1fc0acc9ae refactor overlay storage driver compatibility check
use a consistent approach for checking if the
backing filesystem is compatible with the
storage driver.

also add an error-message for the AUFS driver if
an incompatible combination is found.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-10 18:22:36 +02:00
Sebastiaan van Stijn
d14a1c30f2 Add Jess to alumni
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-10 17:58:18 +02:00
Yong Tang
a20b02b915 Remove deprecated driver specific log tags
Since 1.9, driver specific log tag options
`syslog-tag`
`gelf-tag`
`fluentd-tag`
have been deprecated in favor of the generic tag
option which is standard across different logging
drivers.

This fix removed the deprecated driver specific
log tag options of `syslog-tag`, `gelf-tag`,
`fluentd-tag` for 1.12 and updated the docs.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-10 07:43:44 -07:00
Sebastiaan van Stijn
2f7c84120d Merge pull request #22603 from runcom/fix-docker-build
pkg: chrootarchive: chroot_linux: fix docker build
2016-05-10 10:23:18 +02:00
Justin Terry
47ef6d7969 Adds a correct error string for network validation
Fixes the negative networking test to include the new error string
from recent Windows builds.

Signed-off-by: Justin Terry <juterry@microsoft.com>
2016-05-09 16:37:14 -07:00
Antonio Murdaca
5248f5c3d1 pkg: chrootarchive: chroot_linux: fix docker build
The path we're trying to remove doesn't exist after a successful
chroot+chdir because a / is only appended after pivot_root is
successful and so we can't cleanup anymore with the old path.
Also fix leaking .pivot_root dirs under /var/lib/docker/tmp/docker-builder*
on error.

Fix https://github.com/docker/docker/issues/22587
Introduced by https://github.com/docker/docker/pull/22506

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-10 00:42:49 +02:00
Michael Crosby
4e290986cd Update protobufs to 8d92cf5fc15a4382f8964b08e1f42a
This syncs the protobuf version with the one that is used with
containerd.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-09 15:21:41 -07:00
Michael Crosby
6889c3276c Fix containerd proto for connection
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-09 15:17:10 -07:00
Michael Crosby
cfb9764386 Update runc and containerd deps
containerd:     57b7c3da915ebe943bd304c00890959b191e5264
runc:           d49ece5a83da3dcb820121d6850e2b61bd0a5fbe

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-05-09 15:05:44 -07:00
Alexander Morozov
e16753ce19 Merge pull request #22465 from allencloud/handle-error-when-getting-hostname-in-docker-info
handle error when getting hostname in info api
2016-05-09 14:57:36 -07:00
Sebastiaan van Stijn
e8aac7de4c Merge pull request #22611 from tonistiigi/attach-docs
docs: clarify docker attach
2016-05-09 22:59:07 +02:00
Tonis Tiigi
da1dbd2093 docs: clarify docker attach
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-05-09 13:35:34 -07:00
Sebastiaan van Stijn
251b273fd2 Merge pull request #22609 from cyli/minor-docs-update
Minor tense correction for deprecated docs
2016-05-09 19:48:12 +02:00
cyli
d73589331d Minor tense correction for deprecated docs
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-09 10:29:42 -07:00
Brian Goff
c5e3644f03 Merge pull request #22562 from tonistiigi/fix-loopback-release
Clean loopbacks in TestDaemonNoSpaceLeftOnDeviceError
2016-05-09 13:28:08 -04:00
Alexander Morozov
fad0305ee3 Merge pull request #22574 from yongtang/05072016-remove-deprecated-trust-env
Remove deprecated Docker Content Trust ENV passphrase variables
2016-05-09 10:10:27 -07:00
Jess Frazelle
6f06e98f57 docs: add security non-events
Signed-off-by: Jess Frazelle <jess@mesosphere.com>
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-05-09 09:35:19 -07:00
Tibor Vass
9ffd2652e2 Merge pull request #22606 from mlaventure/allow-changing-wheezy-backport-mirror
Allow changing wheezy deb builder backport mirror
2016-05-09 12:23:58 -04:00
Kenfe-Mickael Laventure
6a033e617f Allow changing wheezy deb builder backport mirror
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-05-09 09:10:30 -07:00
Vincent Demeester
20d5d10983 Merge pull request #21115 from wenchma/linkable
update link comments
2016-05-09 14:37:34 +02:00
Sebastiaan van Stijn
3deb2d7280 Merge pull request #22572 from yongtang/05072016-add-missing-subtitle-in-deprecated-docs
Add the missing subtitle in deprecated docs for --security-opt
2016-05-09 12:18:11 +02:00
Wen Cheng Ma
c52a373bc8 update link comments
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-05-09 14:12:28 +08:00
Vincent Demeester
1e4068713b Merge pull request #22589 from duglin/fixErr
Err was never being returned
2016-05-08 17:31:43 +02:00
Doug Davis
0687d76ab1 Err was never being returned
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-08 05:51:59 -07:00
Antonio Murdaca
6a96684442 pkg: authorization: cleanup tests
- do use use log pkg
- do not t.Fatal in goroutine
- cleanups

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-08 14:18:38 +02:00
Vincent Demeester
ac2f4dd71b Merge pull request #22400 from runcom/fix-git-branch-name
Makefile: clean git branch before building
2016-05-08 13:50:43 +02:00
Antonio Murdaca
a4192471cd Makefile: clean git branch before building
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-08 11:52:38 +02:00
Yong Tang
1f0d5aba50 Remove deprecated Docker Content Trust ENV passphrase variables
Since 1.9, Docker Content Trust Offline key has been renamed to
Root key and the Tagging key has been renamed to Repository key.
The corresponding environment variables
`DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE`
`DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE`
have also been deprecated and renamed to
`DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE`
`DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE`

This fix removed the deprecated ENV passphrase variables for
1.12 and updated the docs.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-07 14:25:28 -07:00
Vincent Demeester
08ec3606f1 Merge pull request #21889 from cpuguy83/logscmd_add_attrs
Add support for reading logs extra attrs
2016-05-07 20:26:33 +02:00
Shijiang Wei
391441c28b fix LogConfig for containers created before docker 1.12 on daemon startup
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-08 00:29:38 +08:00
Yong Tang
018c22880d Add the missing subtitle in deprecated docs for --security-opt.
The colon separator(`:`) of `--security-opt` flag was deprecated
in 1.11.0. However, the subtitle in deprecated docs is missing
so it is placed under the same subtitle as the deprecated `-e` and
`--email` flags.

This fix adds the missing subtitle in deprecated docs.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-07 08:46:15 -07:00
Sebastiaan van Stijn
2301052d74 Merge pull request #22569 from sunyuan3/inherit
from inheritted to inherited
2016-05-07 11:31:25 +02:00
Sebastiaan van Stijn
e8b00316b2 Merge pull request #22565 from tophj-ibm/ppc64le-remove-seccomp-buildtags
ppc64le: remove seccomp from docker buildtags
2016-05-07 11:21:18 +02:00
Yuan Sun
fe1130b7ba from inheritted to inherited
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2016-05-07 17:15:02 +08:00
Alexander Morozov
0b59ea60b2 Merge pull request #22094 from thaJeztah/autocreate-on-windows
Enable auto-creation of host-path on Windows
2016-05-06 23:19:26 -07:00
Vincent Demeester
3b7a2f5816 Merge pull request #22559 from larsks/bug/clarity-on-systemd-dropins
docs: note requirements for systemd drop-in filenames
2016-05-07 07:58:46 +02:00
Lei Jitang
5e5e1d7ada Fix docker create with duplicate volume failed to remove
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-05-06 22:48:02 -04:00
allencloud
a1c950913f handle error when getting hostname in info api
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-07 08:51:52 +08:00
Brian Goff
bd9d14a07b Add support for reading logs extra attrs
The jsonlog logger currently allows specifying envs and labels that
should be propagated to the log message, however there has been no way
to read that back.

This adds a new API option to enable inserting these attrs back to the
log reader.

With timestamps, this looks like so:
```
92016-04-08T15:28:09.835913720Z foo=bar,hello=world hello
```

The extra attrs are comma separated before the log message but after
timestamps.

Without timestaps it looks like so:
```
foo=bar,hello=world hello
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-06 20:42:20 -04:00
John Howard
7f66598583 Windows: docker cp consistent paths
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-06 16:08:53 -07:00
Sebastiaan van Stijn
d8c4bb19fb Add "process" labels
Add description for "process" labels to the reviewing
documentation. Also changed some headings from h1 -> h2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-07 00:56:55 +02:00
Sebastiaan van Stijn
4e080347af Enable auto-creation of host-path on Windows
Auto-creation of host-paths has been un-deprecated,
so to have feature-parity between Linux and Windows,
this feature should also be present on Windows.

This enables auto-creation on Windows.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-07 00:55:16 +02:00
Sebastiaan van Stijn
926725b470 Merge pull request #22433 from rhatdan/labels
We should always return the MountLabel
2016-05-07 00:24:27 +02:00
Christopher Jones
31cc7dc135 ppc64le: remove seccomp from docker buildtags
Removes seccomp from ppc64le as a buildtag

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-05-06 17:24:50 -04:00
unclejack
eb52730570 Merge pull request #22506 from cpuguy83/no_chroot
Use pivot_root instead of chroot for chrootarchive
2016-05-06 14:21:23 -07:00
Tonis Tiigi
47c353eb46 Clean loopbacks in TestDaemonNoSpaceLeftOnDeviceError
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-05-06 14:19:27 -07:00
Lars Kellogg-Stedman
987b03054a docs: note requirements for systemd drop-in filenames
the documentations says that you can drop "a file" into the
`docker.service.d` directory, but does not note that the file must end
with `.conf` in order to be recognized by systemd.  This can lead to
some [confusion][] if readers are not previously familiar with
systemd.

[confusion]: https://botbot.me/freenode/docker/2016-05-06/?msg=65605541&page=11

Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2016-05-06 16:25:34 -04:00
Vincent Demeester
16d0a89593 Merge pull request #22485 from tkopczynski/test-utils
Builder unit tests refactoring
2016-05-06 22:05:02 +02:00
Alexander Morozov
a603fa33d5 Merge pull request #22317 from cyli/bump-notary-version
Bump notary version to v0.3.0-RC1
2016-05-06 12:54:53 -07:00
John Howard
faab71701f Windows: Reduce CLI time, move some to unit tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-06 12:26:08 -07:00
Aaron Lehmann
b16fac959b Merge pull request #22316 from brettdh/registry-socks-proxy
Respect ALL_PROXY during registry operations
2016-05-06 11:29:01 -07:00
Alexander Morozov
ebc5a61593 Merge pull request #22076 from thtanaka/rpmbuild-error
DWZ problem with multiple golang binary caused OL7 RPM build to fail
2016-05-06 11:22:27 -07:00
Alexander Morozov
4531c01509 Merge pull request #22236 from kencochrane/remove_git_from_rpm
Exclude .git directories from the source RPMS and debian packages
2016-05-06 11:16:12 -07:00
cyli
d869d2b0a0 Update trust.go to reflect NotaryRepository API changes:
- Update now returns only an error
 - NewNotaryRepository now takes a trustpinning configuration - we will provide an empty one for now.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-06 10:59:28 -07:00
cyli
4710ed6304 Remove the pkcs11 build tag from the s390x Dockerfile, since it is using GCCGo 5.3, which
is still on the Go 1.4 library, whereas the Notary Yubikey library needs interfaces from
Go 1.5

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-06 10:59:28 -07:00
cyli
88c6675ed2 Bump notary version to v0.3.0-RC1
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-05-06 10:59:26 -07:00
Alexander Morozov
cf319e295a Merge pull request #22537 from tophj-ibm/test-seccomp
ppc64le: build seccomp in dockerfile
2016-05-06 10:05:55 -07:00
Sebastiaan van Stijn
83a6508af9 Merge pull request #22542 from thaJeztah/fix-outdated-supervisor-example
docs: update supervisord example
2016-05-06 14:58:13 +02:00
Doug Davis
cc01017bcf Merge pull request #22550 from allencloud/fix-typos
fix typos in comments
2016-05-06 08:56:33 -04:00
allencloud
3f77baf2ce fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-06 18:23:11 +08:00
allencloud
54d09c6c2d close http response body when attaching
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-05-06 16:58:22 +08:00
Sebastiaan van Stijn
9a9ebc7f85 Merge pull request #22046 from cpuguy83/containerd_stdio
Set containerd pdeathsig
2016-05-06 09:26:16 +02:00
Vincent Demeester
f65f4dc761 Merge pull request #22501 from michael-holzheu/22477-TestApiStatsContainerGetMemoryLimit-add-mem-cgroup-test
TestApiStatsContainerGetMemoryLimit: Add cgroup memory test
2016-05-06 09:12:27 +02:00
Antonio Murdaca
a7d6a6c8a8 Merge pull request #22538 from mrunalp/update_engine_api
Update engine-api to 1fb8f09960cc32b9648495a422c960fb2a4f8a09
2016-05-06 09:06:51 +02:00
Brian Goff
e9bef66021 Merge pull request #21961 from yongtang/21956-docker-inspect-log-default-options
Docker inspect gave default log options even when the option is emtpy.
2016-05-05 21:02:39 -04:00
Sebastiaan van Stijn
e38678e660 docs: update supervisord example
This updates the supervisor example documentation
to use an up-to-date version of Ubuntu.

Also reduced the use of "royal We", and tweaked some
language.

Finally, added some language hints for code-highlighting.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-06 01:52:51 +02:00
Mrunal Patel
97d95604e0 Update engine-api to 1fb8f09960cc32b9648495a422c960fb2a4f8a09
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-05-05 18:36:09 -04:00
Alexander Morozov
68ba274d22 Merge pull request #22535 from mlaventure/fix-oraclelinux-6-rpm
Fix rpm generation on oraclelinux-6
2016-05-05 14:56:41 -07:00
Christopher Jones
107db89b6e ppc64le: build seccomp in dockerfile
This pr adds in building seccomp to ppc64le.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-05-05 16:33:09 -04:00
Kenfe-Mickael Laventure
05dec0b032 Fix rpm generation on oraclelinux-6
The uek kernel needs to be install first in order to get the correct
btrfs tools version.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-05-05 12:12:49 -07:00
Vincent Demeester
bb125650c9 Merge pull request #21015 from cpuguy83/add_opaque_mount_id
When calling volume driver Mount, send opaque ID
2016-05-05 18:00:15 +02:00
Brian Goff
0d3d8d6416 Merge pull request #22505 from runcom/authz-load-import
integration-cli: test load/import with authz plugins
2016-05-05 11:37:20 -04:00
Vincent Demeester
c37ca913ff Merge pull request #22529 from objectified/22528-remove-trailing-comma-from-top-command
Documentation: docker volumes: remove trailing comma from top command
2016-05-05 17:26:06 +02:00
objectified
c7e738d641 remove trailing comma from top command
Signed-off-by: objectified <objectified@gmail.com>
2016-05-05 13:18:23 +02:00
Vincent Demeester
af916d316a Merge pull request #22519 from mlaventure/add-dockerd-to-rpm-packaged-files
Add dockerd to the list of files included in generated rpms
2016-05-05 13:16:06 +02:00
Vincent Demeester
6dd4c3569c Merge pull request #19651 from zhuguihua/add_disk_quota_for_btrfs
Add disk quota support for btrfs
2016-05-05 13:15:45 +02:00
Vincent Demeester
4de672690c Merge pull request #22270 from runcom/too-many-login
distribution: errors: do not retry if too many login attempts
2016-05-05 09:44:09 +02:00
Vincent Demeester
378a8e7175 Merge pull request #22508 from Microsoft/jjh/arg
Windows: Support ARG in builder
2016-05-05 09:09:55 +02:00
Zhu Guihua
401c8d1767 Add disk quota support for btrfs
Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
2016-05-05 14:35:13 +08:00
Kenfe-Mickael Laventure
6118952e44 Add dockerd to the list of files included in generated rpms
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-05-04 20:45:22 -07:00
Brian Goff
85988b33d2 Use pivot_root instead of chroot for chrootarchive
This fixes one issue with Docker running under a grsec kernel, which
denies chmod and mknod under chroot.

Note, if pivot_root fails it will still fallback to chroot.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-04 19:55:34 -04:00
Sebastiaan van Stijn
6870d9789a Merge pull request #22166 from moxiegirl/device-mapper-update
Device mapper update
2016-05-05 00:02:02 +02:00
Sebastiaan van Stijn
6dcadaa465 Merge pull request #22512 from tkopczynski/typos-supervisor
Docs: fixing typos in admin/supervisor
2016-05-04 23:57:55 +02:00
Sebastiaan van Stijn
1fe9715f30 Merge pull request #22423 from mlaventure/rm-containers-if-rm-in-progress-on-restart
Reset RemovalInProgress flag on daemon restart
2016-05-04 23:57:16 +02:00
Tibor Vass
0c68402887 Merge pull request #22403 from mlaventure/fix-docker-build-pkgs
Update build-deb to make correct use of DOCKER_BUILD_PKGS
2016-05-04 17:55:20 -04:00
John Howard
6b5c83bf18 Windows: Support ARG in builder
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-04 14:32:23 -07:00
Tomasz Kopczynski
74d382ff8d Docs: fixing typos in admin/supervisor
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-04 22:35:57 +02:00
Alexander Morozov
e4a4570369 Merge pull request #22475 from Microsoft/jjh/twoconcurrentcontainers
Reduce time for TestRunTwoConcurrentContainers
2016-05-04 12:38:13 -07:00
Chun Chen
a7b2f87b06 Add docs about how to extend devicemapper thin pool
Signed-off-by: Chun Chen <ramichen@tencent.com>

Update to device mapper
Entering comments

Signed-off-by: Mary Anthony <mary@docker.com>
2016-05-04 12:32:14 -07:00
Michael Holzheu
8ba8189ee6 TestApiStatsContainerGetMemoryLimit: Add cgroup memory test
Currently on kernels booted without the "cgroup_enable=memory" kernel
parameter the testcase TestApiStatsContainerGetMemoryLimit fails with:

FAIL: docker_api_stats_test.go:231: TestApiStatsContainerGetMemoryLimit.pN52_github_com_docker_docker_integration_cli.DockerSuite

docker_api_stats_test.go:256:
    c.Assert(fmt.Sprintf("%d", v.MemoryStats.Limit), checker.Equals, fmt.Sprintf("%d", info.MemTotal))
... obtained string = "0"
... expected string = "33759145984"

Fix this and skip the testcase if the kernel does not support cgroup memory
limit. In that case the output would be:

SKIP: docker_api_stats_test.go:231:
TestApiStatsContainerGetMemoryLimit.pN52_github_com_docker_docker_integration_cli.DockerSuite
(Test requires an environment that supports cgroup memory limit.)

ChangeLog:
----------
v4: Move TestApiStatsContainerGetMemoryLimit to docker_api_stats_unix_test.go
v3: Use existing "memoryLimitSupport" from requirements_unix.go
v2: Move check to requirements.go

Fixes #22477

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-05-04 20:46:41 +02:00
Antonio Murdaca
66fbc0c2a3 distribution: errors: do not retry on too many requests from registry
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-04 18:57:55 +02:00
Antonio Murdaca
305ebfda8b vendor docker/distribution 9ec0d742d69f77caa4dd5f49ceb70c3067d39f30
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-04 18:57:35 +02:00
Antonio Murdaca
9613acbe5c integration-cli: test load/import with authz plugins
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-05-04 18:45:22 +02:00
Tianon Gravi
084c72e760 Update contrib/mkimage/debootstrap to account for Debian LTS changes
See https://www.debian.org/News/2016/20160425 and https://wiki.debian.org/LTS/Using for more details.

> For Debian 7 "Wheezy" LTS there will be no requirement to add a separate wheezy-lts suite to your sources.list any more. In fact you will not notice the switch to LTS because after the official security support by the Debian Security Team ends, security updates will be provided via security.debian.org 's wheezy/updates.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-05-04 08:39:45 -07:00
Brian Goff
973d6f0820 Merge pull request #22422 from cpuguy83/vendor_engine-api
Update engine-api
2016-05-04 10:12:29 -04:00
Sebastiaan van Stijn
e7584a7fdf Merge pull request #22499 from duglin/removeQuotes
Remove unnecessary double-double quotes
2016-05-04 15:35:45 +02:00
Sebastiaan van Stijn
c14b1e3964 Merge pull request #22336 from thaJeztah/carry-21174-update-docker-info-docs
Updated docker-info output and documentation
2016-05-04 15:33:21 +02:00
Vincent Demeester
4c88c67058 Merge pull request #21947 from boynux/fix-filter-exited
exited=0 in filter shouldn't show "Created" ones
2016-05-04 15:21:59 +02:00
Vincent Demeester
1c1947dd29 Merge pull request #22386 from wenchma/dockerd
Update the `docker daemon` to `dockerd` for document
2016-05-04 15:07:53 +02:00
Doug Davis
8eb2188bd9 Remove unnecessary double-double quotes
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-04 05:15:57 -07:00
Sebastiaan van Stijn
9f29f66c29 Merge pull request #22498 from Windfarer/patch-1
fix typo in docs
2016-05-04 13:37:28 +02:00
Eric Yang
176e9e2ffc fix typo
fix typo

Signed-off-by: Qizhao Yang <windfarer@gmail.com>
2016-05-04 19:18:38 +08:00
Sebastiaan van Stijn
9c52a04f38 Merge pull request #22446 from thaJeztah/add-daemon-reload
Add support for reloading daemon configuration through systemd
2016-05-04 12:38:40 +02:00
Sebastiaan van Stijn
82141a28f5 Merge pull request #22482 from anujbahuguna/master
Adding Rita Levi-Montalcini and Claude Shannon to name generator
2016-05-03 22:28:16 +02:00
Alexander Morozov
5892083a8f Merge pull request #22442 from thaJeztah/remove-issue-template-from-contributing
minor contributing.md cleanup
2016-05-03 13:15:26 -07:00
Alexander Morozov
3b0a166b10 Merge pull request #22478 from Microsoft/jjh/clirunsleepingcontainer
runSleepingContainer consistency
2016-05-03 13:11:27 -07:00
Anuj Bahuguna
fd8a6775f5 Adding Rita Levi-Montalcini and Claude Shannon to name generator
Signed-off-by: Anuj Bahuguna "anujbahuguna.dev@gmail.com"

Signed-off-by: Anuj Bahuguna <abahuguna@fiberlink.com>
2016-05-04 00:14:09 +05:30
John Howard
481cc6716f RunSleepingContainer consistency
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-03 11:39:29 -07:00
John Howard
94f1e574b6 Reduce time for TestRunTwoConcurrentContainers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-05-03 10:55:20 -07:00
Sebastiaan van Stijn
61d265964f Merge pull request #22468 from thaJeztah/fix-dotcloud-link
Fix dotCloud link
2016-05-03 19:30:13 +02:00
Tomasz Kopczynski
ab2baf08f0 Builder unit tests refactoring
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-03 19:00:35 +02:00
Alexander Morozov
73a8b6e3aa Merge pull request #22441 from tkopczynski/20784-builder-remote-tests
Unit test for builder/remote.go
2016-05-03 09:51:19 -07:00
Vincent Demeester
9837ec4da5 Merge pull request #22461 from tonistiigi/fix-implicit-pull-test-arm
Move implicit pull test to use local registry
2016-05-03 11:56:29 +02:00
Sebastiaan van Stijn
f2fd765450 Fix dotCloud link
dotCloud no longer exists, and since this part of the
readme is refering to "where it all started", replaced
the link with an archive link around the time that
Docker was publicly announced.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-03 11:43:43 +02:00
Tomasz Kopczynski
e00ad7227e Unit test for builder/remote.go
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-05-03 10:20:10 +02:00
Yong Tang
4b5404f15e Docker inspect gave default log options even when the option is emtpy.
This fix tries to addess the issue in #21956 where `docker inspect`
will overwrite the log config options with default option even when
the `--log-driver` is not empty and `--log-opt` is empty. In this
situation, `docker inspect` and `docker run` is different.

With the introduction of #21153, the `HostConfig` will always have
the correct log-driver and log-opt values.

However, the previous processing of `docker inspect` was not updated
after the change in #21153. This results in the incorrect behavior.

This fix addresses this issue by updating `docker inspect` to conform
to #21153 so the the behavior of `docker inspect` and `docker run` is
consistent.

A integration test has been added to cover this fix.

This fix fixes #21956. This fix is related to #21153.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-05-02 21:14:42 -07:00
Tonis Tiigi
641c1808e1 Move implicit pull test to use local registry
Using hub only works for amd64 platforms.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-05-02 18:14:13 -07:00
Sven Dowideit
1c0edf6c39 Merge pull request #22394 from SvenDowideit/use-docs-base-oss
convert docs Dockerfiles to use docs/base:oss
2016-05-03 10:48:29 +10:00
Aaron Lehmann
ca95f64968 Merge pull request #22457 from LK4D4/fix_error_format
image/tarexport: fix error formatting
2016-05-02 17:27:27 -07:00
Brian Goff
227c83826a Merge pull request #21945 from rhvgoyal/export-min-free-space
Export Mininum Thin Pool Free Space through docker info
2016-05-02 20:20:08 -04:00
Sebastiaan van Stijn
8d4ccd1925 Merge pull request #22459 from twistlock/authorization_docs_fix
Remove response modification sections from authorization design doc
2016-05-02 23:43:05 +02:00
Alexander Morozov
1c1a1280ac Merge pull request #22458 from estesp/betty-junods-cast
Add Joan & Samuel Curran, Welsh scientist and Irish physicist couple
2016-05-02 14:30:32 -07:00
Brian Goff
75e63c942e Merge pull request #21153 from mountkin/log-validator
inherit the daemon log options when creating containers
2016-05-02 16:12:43 -04:00
Liron Levin
638096431a Remove response modification sections from authorization design doc
Signed-off-by: Liron Levin <liron@twistlock.com>
2016-05-02 22:19:23 +03:00
Phil Estes
62bd539629 Add Joan & Samuel Curran, Welsh scientest and Irish physicist couple
In honor of Betty Junod's cast, and her tweet about Joan Curran:
https://twitter.com/BettyJunod/status/727194712956784641

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-05-02 14:50:16 -04:00
Brian Goff
d4559313d5 Set Pdeathsig for containerd on SIGKILL
Makes sure containerd exits (when started by docker) if docker gets
SIGKILL'd.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-02 14:23:38 -04:00
Kenfe-Mickael Laventure
20e1b9593e Update build-deb to make correct use of DOCKER_BUILD_PKGS
An environment variable cannot directly be used as a bash array, this
patch loops through all the IFS separated value (which default to
space) instead.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-05-02 11:22:01 -07:00
Brian Goff
988f481643 Update engine-api
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-02 14:17:40 -04:00
Aaron Lehmann
2f6e3b0ba0 Merge pull request #22448 from twistlock/authorization_error_code
Fix authorization issue - when request is denied return forbbiden exist code (403).
2016-05-02 11:04:19 -07:00
Brian Goff
ba6209f744 Merge pull request #22367 from dnephin/fix_dockerd_lookup_and_warn
Fix lookup of dockerd when called from outside of $PATH
2016-05-02 13:58:57 -04:00
Alexander Morozov
a2eacff5c7 image/tarexport: fix error formatting
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-05-02 10:26:32 -07:00
Alexander Morozov
7bb23f7acc Merge pull request #22247 from vdemeester/22240-implicit-pull
Fix #22240 do not pull all the tags implicitely
2016-05-02 10:23:10 -07:00
Liron Levin
526abc00b1 Fix authorization issue - when request is denied return forbbiden exist code (403).
- Return 403 (forbidden) when request is denied in authorization flows
(including integration test)
- Fix #22428
- Close #22431

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-05-02 19:14:48 +03:00
Daniel Nephin
8983d42988 Raise a more relevant error when dockerd is not available on the platform.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-02 11:59:25 -04:00
Daniel Nephin
9db86a38cd When exec'ing dockerd, look for it in the same directory as the docker binary first, before checking path.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-02 11:52:50 -04:00
Vincent Demeester
2a6980c5cb Merge pull request #22452 from cpuguy83/fix_zsh_completion_psformat
Make zsh completion work when ps output is custom
2016-05-02 17:39:46 +02:00
Shijiang Wei
e6590b5fa2 vendor docker-py 7befe694bd21e3c54bb1d7825270ea4bd6864c13
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-02 23:04:04 +08:00
Shijiang Wei
1790980ec6 inherit the daemon log options when creating containers
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-05-02 23:04:04 +08:00
Damien Nadé
79490a6ad3 contrib/completion/bash/docker: _docker_docker: quoting __docker_to_extglob result to avoid failglob interference
Signed-off-by: Damien Nadé <github@livna.org>
2016-05-02 16:53:43 +02:00
Brian Goff
ba3f8a9fef Make zsh completion work when ps output is custom
When `psFormat` is used in the docker client config json, if the output
is non-standard it breaks some of the completion handling for
containers.

This fixes that by ensuring that calls to `ps` use the default/standard
formatting by calling `docker ps --format 'table'`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-05-02 09:45:01 -04:00
Sebastiaan van Stijn
f74b856e1a Add support for reloading daemon configuration through systemd
This adds support for reloading the docker daemon
(SIGHIUP) so that changes in '/etc/docker/daemon.json'
can be loaded at runtime by reloading the service
through systemd ('systemctl reload docker')

Before this change, systemd would output an error
that "reloading" is not supported for the docker
service;

  systemctl reload docker
  Failed to reload docker.service: Job type reload is not applicable for unit docker.service.

After this change, the docker daemon can be reloaded
through 'systemctl reload docker', which reloads
the configuration;

  journalctl -f -u docker.service

  May 02 03:49:20 testing systemd[1]: Reloading Docker Application Container Engine.
  May 02 03:49:20 testing docker[28496]: time="2016-05-02T03:49:20.143964103-04:00" level=info msg="Got signal to reload configuration, reloading from: /etc/docker/daemon.json"
  May 02 03:49:20 testing systemd[1]: Reloaded Docker Application Container Engine.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-02 10:27:07 +02:00
Sebastiaan van Stijn
b2b82b952c minor contributing.md cleanup
- added an  image-link to the contributors guide
- added a link to forums.docker.com
- removed link to the docker-user Google Group, which is no longer in use
- remove the "Issue Report Template", because we now have a template for this on GitHub
- remove reference to the old "Docker-DCO-1.1-Signed-off-by" sign-off
- changed some none-https links to https

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-05-01 20:18:09 +02:00
Vincent Demeester
54ebe42de9 Fix #22240 do not pull all the tags implicitely
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-05-01 14:46:04 +02:00
Sebastiaan van Stijn
b0a5762348 Merge pull request #22439 from sunyuan3/the
remove "the" in docs.
2016-05-01 13:50:41 +02:00
Yuan Sun
043c9ef076 remove "the" in docs.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2016-05-01 15:37:11 +08:00
Vincent Demeester
ba901bb062 Vendor engine-api with pull fixes
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-30 17:24:25 +02:00
Brian Goff
e385faa35b Merge pull request #22434 from sdurrheimer/zsh-completion-network-ls-driver-filter
Add zsh completion for 'docker network ls -f driver'
2016-04-30 10:54:28 -04:00
Antonio Murdaca
d32345240c Merge pull request #22282 from fntlnz/docs-authorization-plugins
Mention the fact that authz plugins are available today
2016-04-30 13:23:58 +02:00
Steve Durrheimer
d6780c3190 Add zsh completion for 'docker network ls -f driver'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-30 13:07:03 +02:00
Dan Walsh
3894773d6e We should always return the MountLabel
We need to have labels applied even if a container is running in privileged
mode.  On an tightly locked down SELinux system, this will cause running
without labels will cause SELinux to block privileged mode containers.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-04-30 05:46:56 -04:00
Vincent Demeester
7a56581297 Merge pull request #22319 from thaJeztah/network-driver-filter
Add "driver" filter for network ls
2016-04-30 10:38:10 +02:00
David Calavera
90dfb3dacc Merge pull request #22372 from dnephin/cli_cleanup
Reorganize client and cli packages
2016-04-29 17:31:39 -07:00
David Calavera
b391a5914c Merge pull request #22426 from sdurrheimer/zsh-completion-network-ls-filters
Add zsh completion for 'docker network ls -f {id,name,type}'
2016-04-29 17:29:38 -07:00
Sebastiaan van Stijn
cd41870132 Merge pull request #22241 from bfirsh/update-remote-api-client-libraries-page
Update remote API client libraries page
2016-04-30 00:39:29 +02:00
Alexander Morozov
5e58a583fc Merge pull request #22427 from tonistiigi/simplify-blkio
Simplify blkio resources setup in spec
2016-04-29 15:16:33 -07:00
Sebastiaan van Stijn
e44a868bc4 Merge pull request #22406 from allencloud/fix-typos
fix typos in CHANGELOG.md and pull.go
2016-04-30 00:00:48 +02:00
Kenfe-Mickael Laventure
ce72473197 Reset RemovalInProgress flag on daemon restart
This flag can be set on disk if the daemon were to crash or error out
while trying to remove container in which case subsequent tries to
delete the container would all fail.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-29 14:06:27 -07:00
Tonis Tiigi
668f0a2a4c Simplify blkio resources setup in spec
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-29 13:39:04 -07:00
Steve Durrheimer
8a51f9511c Add zsh completion for 'docker network ls -f {id,name,type}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-29 22:38:10 +02:00
Doug Davis
aa537a367c Merge pull request #22417 from michael-holzheu/s390x-dockerfile-add-registry-and-notary
Dockerfile.s390x: Build correct registries and notary client
2016-04-29 13:59:14 -04:00
John Howard
f114ab21de Merge pull request #22340 from Microsoft/jstarks/split-service
Windows: Support running dockerd as a service
2016-04-29 10:47:20 -07:00
Vincent Demeester
9a58dd22f0 Merge pull request #22419 from cpuguy83/reflection_is_for_mirrors
Remove reflection on CLI init
2016-04-29 19:42:19 +02:00
Michael Holzheu
6e4c87c06e Dockerfile.s390x: Build correct registries and notary client
Sync with other Dockerfiles:

 1) Adjust REGISTRY_COMMIT
 2) Add old shema1 registry
 3) Install notary client

This fixes the following testcases:

 DockerSchema1RegistrySuite:
  - SetUpTest
 DockerTrustSuite:
  - TestTrustedBuildTagFromReleasesRole
  - TestTrustedBuildTagIgnoresOtherDelegationRoles
  - TestTrustedPullReadsFromReleasesRole
  - TestTrustedPullIgnoresOtherDelegationRoles
  - TestTrustedPushWithReleasesDelegationOnly
  - TestTrustedPushSignsAllFirstLevelRolesWeHaveKeysFor
  - TestTrustedPushSignsForRolesWithKeysAndValidPaths
  - TestTrustedPushDoesntSignTargetsIfDelegationsExist
 DockerRegistrySuite:
  - TestPullManifestList
  - TestCrossRepositoryLayerPush
 DockerHubPullSuite:
  - TestPullAllTagsFromCentralRegistry

v2: Sync comments on all architectures

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-04-29 19:24:49 +02:00
Brian Goff
5c8950e84d Remove reflection on CLI init
before:
```
$ time docker --help
real  0m0.177s
user  0m0.000s
sys 0m0.040s
```

after:
```
$ time docker --help
real  0m0.010s
user  0m0.000s
sys 0m0.000s
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-29 11:57:46 -04:00
Sebastiaan van Stijn
55bc0a3440 Merge pull request #22418 from thaJeztah/update-event-api-docs
update API example response for docker events
2016-04-29 17:53:16 +02:00
Sebastiaan van Stijn
3932d46a78 update API example response for docker events
the events API was rewritten in 723be0a332,
but the example response in the documentation doesn't reflect the actual output

this fixes the example response

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-29 17:37:04 +02:00
allencloud
1ac4c61c10 fix typos in CHANGELOG.md and pull.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-29 23:33:15 +08:00
Lucas Chan
55d61e98ba Updated docker-info output and documentation
- [x] Update man page description
- [x] Update man page sample output to something more current

Tested with: `TESTFLAGS='-check.f DockerSuite.TestInfoEnsureSucceeds*'
make test-integration-cli`

Signed-off-by: Lucas Chan <lucas-github@lucaschan.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-29 16:45:43 +02:00
Sebastiaan van Stijn
23e418b6c9 Add "driver" filter for network ls
This add a new filter to 'docker network ls'
to allow filtering by driver-name.

Contrary to "ID" and "name" filters, this
filter only supports an *exact* match.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-29 16:22:26 +02:00
Brian Goff
2b6bc294fc When calling volume driver Mount, send opaque ID
This generates an ID string for calls to Mount/Unmount, allowing drivers
to differentiate between two callers of `Mount` and `Unmount`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-29 09:37:02 -04:00
Doug Davis
24a8de2b60 Merge pull request #22202 from michael-holzheu/s390x-add-libseccomp-2.3.0
Dockerfile.s390x: Add upstream libseccomp to compile runc
2016-04-29 08:13:13 -04:00
Wen Cheng Ma
24ec73f754 Update the docker daemon to dockerd for document
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-04-29 09:06:02 +08:00
Brian Goff
717842fbde Merge pull request #22370 from mlaventure/fix-experimental-builder
Allow specifying the apt mirror to use when generating deb packages
2016-04-28 16:26:29 -04:00
Kenfe-Mickael Laventure
d0a65a03e9 Allow specifying the apt mirror to use when generating deb packages
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-28 13:05:34 -07:00
Brian Goff
ca611fdea2 Merge pull request #22388 from fy2462/exec-add-newline
Fix bug: exec non-exist command miss a "\n"
2016-04-28 11:30:28 -04:00
Brian Goff
dbee44c9e0 Merge pull request #21613 from wzyboy/support-unixgram-syslog-address
Support unixgram syslog address
2016-04-28 11:06:17 -04:00
Sebastiaan van Stijn
0bb4c902e0 Merge pull request #22396 from sbellem/docs-typo-fix
Fix typo
2016-04-28 15:27:28 +02:00
Sylvain Bellemare
63aa03ce0a Fix typo
Signed-off-by: Sylvain Bellemare <sylvain@ascribe.io>
2016-04-28 15:15:08 +02:00
Brian Goff
feb8f0e10e Merge pull request #22391 from thaJeztah/update-changelog-in-master
merge changelog for v1.11.1 into master
2016-04-28 09:11:25 -04:00
Sven Dowideit
a9935d276e convert docs Dockerfiles to use docs/base:oss
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-04-28 12:57:13 +00:00
Sebastiaan van Stijn
d37e22b623 Merge pull request #22320 from thaJeztah/docs-remove-duplicate-sentence
docs: remove duplicate line in "Understand the architecture"
2016-04-28 12:45:08 +02:00
Antonio Murdaca
09021d6841 Merge pull request #22344 from cpuguy83/seccomp_for_centos
centos:7/oraclelinux:7 now includes libseccomp 2.2.1
2016-04-28 12:26:22 +02:00
Kenfe-Mickael Laventure
ca0c1becea Add changelog for v1.11.1
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit 4146b8b69b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-28 12:15:17 +02:00
Sebastiaan van Stijn
bf7307558e Merge pull request #22269 from coolljt0725/skip
Skip TestBuildNotVerboseFailure if no network
2016-04-28 11:19:56 +02:00
fy2462
8bf5613c1a Fix bug: exec non-exist command miss a "\n"
When exec a non-exist command, it should print a newline at last.

Currently:
```
$ docker exec -ti f5f703ea2c0a144 bash
rpc error: code = 2 desc = "oci runtime error: exec failed: exec:
\"bash\": executable file not found in $PATH"$
```

Signed-off-by: Feng Yan <fy2462@gmail.com>
2016-04-28 16:39:00 +08:00
Vincent Demeester
78eb8a5fb9 Merge pull request #21641 from yongtang/21595-discrepancy-on-hostname-validation
API/CLI discrepancy on hostname validation (#21595).
2016-04-28 09:25:13 +02:00
Zhuoyun Wei
57fad95e43 Support unixgram syslog address
- Consider unixgram:// as a valid URL prefix
- Parse unixgram:// addresses
- Update docs

Signed-off-by: Zhuoyun Wei <wzyboy@wzyboy.org>
2016-04-28 11:04:50 +08:00
Lei Jitang
9ab0aa4336 Skip TestBuildNotVerboseFailure if no network
TestBuildNotVerboseFailure use a non-exist image busybox1,
it requires network connection to access to Dockerhub, skip
this test if there is no network.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-27 21:29:05 -04:00
Sebastiaan van Stijn
deb6ea4702 Merge pull request #22362 from ZJU-SEL/update-doc
update cgroup link in doc of run
2016-04-28 00:48:47 +02:00
Alexander Morozov
1158c921ab Merge pull request #22361 from duglin/removeCR
Remain extra \n on INFO log msg
2016-04-27 12:05:10 -07:00
Daniel Nephin
01a34e43b3 Consolidate the files in client/
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-27 14:53:36 -04:00
Daniel Nephin
30e3620eae Refactor cliconfig so that the default constructor can exist in the package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-27 14:25:47 -04:00
Daniel Nephin
33c9edaf6c Cleanup the structure of the cli package.
Move all flags into cli/flags
Move usage help into cli/usage.go

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-27 14:25:47 -04:00
moxiegirl
861815a325 Merge pull request #22229 from riyazdf/notary-doc-update
Update DCT docs with 1.11 info, fix typos
2016-04-27 09:59:30 -07:00
Riyaz Faizullabhoy
77da3bcb72 Update DCT docs with 1.11 info, fix typos
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-04-27 09:57:54 -07:00
Michael Holzheu
97f45bd629 Dockerfile.s390x: Add upstream libseccomp to compile runc
The runc compile currently fails on s390x:

 Step 35 : 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

 [snip]

 # github.com/seccomp/libseccomp-golang
 Godeps/_workspace/src/github.com/seccomp/libseccomp-golang/seccomp.go:25:22:
 fatal error: seccomp.h: No such file or directory
  // #include <seccomp.h>

The problem is that the installed libseccomp version in trusty is too old.

Fix this and install version 2.3.0 of libseccomp like it is done in the
x86 Dockerfile.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-04-27 18:57:15 +02:00
Daniel Nephin
b9135646d6 Update the binary name in docker-engine-selinux/docker.fc.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-27 11:41:21 -04:00
Hao Zhang
8fec7c26d4 update cgroup link in doc of run
Signed-off-by: Hao Zhang <21521210@zju.edu.cn>
2016-04-27 08:50:46 -04:00
Doug Davis
1e44bba4af Remain extra \n on INFO log msg
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-04-27 05:19:40 -07:00
Vincent Demeester
d6176bb03a Merge pull request #22137 from HackToday/addevents
Add load/save image event support
2016-04-27 12:58:49 +02:00
Zhang Wei
a0191a2341 Remove WaitRunning
Remove function `WaitRunning` because it's actually not necessary, also
remove wait channel for state "running" to avoid mixed use of the state
wait channel.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-27 11:36:47 +08:00
Kai Qiang Wu(Kennan)
0656105710 Add load/save image event support
For every docker load and save operations, it would log related
image events.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-27 01:11:03 +00:00
Brian Goff
1521a41fc5 centos:7/OL:7 now includes libseccomp 2.2.1
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-26 20:48:26 -04:00
Brian Goff
0147164cfd Merge pull request #22329 from runcom/fix-tmpfs-order
daemon: reorder mounts before setting them
2016-04-26 20:23:13 -04:00
Michael Crosby
2b97201e0c Merge pull request #22181 from Microsoft/jjh/workdir
Windows: Consistent build workdir handling
2016-04-26 16:51:09 -07:00
John Howard
a8c5ba7517 Merge pull request #21384 from Microsoft/10662-IOResourceControls
Add IO Resource Controls for Windows
2016-04-26 15:54:52 -07:00
John Howard
0433801093 Windows: Consistent build workdir handling
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-26 15:32:52 -07:00
John Starks
57aef3b490 Windows: Support running dockerd as a service
This adds support for Windows dockerd to run as a Windows service, managed
by the service control manager. The log is written to the Windows event
log (and can be viewed in the event viewer or in PowerShell). If there is
a Go panic, the stack is written to a file panic.log in the Docker root.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-26 14:04:47 -07:00
Brian Goff
4925fcbe2e Merge pull request #22324 from WeiZhang555/fix-test-case
Fix test case
2016-04-26 15:01:02 -04:00
Alexander Morozov
d3d591c536 Merge pull request #22276 from Microsoft/jjh/dockerd
Move docker and dockerd main packages in directories with same name, under `cmd/`
2016-04-26 11:24:01 -07:00
Sebastiaan van Stijn
1f72e46095 Merge pull request #22291 from thaJeztah/update-template-for-changelog
pull-request template: ask for changelog description
2016-04-26 18:51:31 +02:00
John Howard
0c7eab3157 Make dockerd debuggable
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-26 09:35:22 -07:00
Vincent Demeester
dc7664d62e Merge pull request #22308 from tianon/dockerd-consistency
Tweak hack/make/*-{client,daemon} to be consistent
2016-04-26 15:32:06 +02:00
Ken Cochrane
f1ad6f127b Exclude .git directories from the source RPMS
Ignore .git directory when creating debian sources

Added missing DOCKER_GITCOMMIT env variable to build-deb

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-26 09:26:32 -04:00
Zhang Wei
a7eecd2b61 Fix test case
"TestRestartContainerwithRestartPolicy" contains some codes that could be
flaky, it's supposed to be fixed in #22256.

This commit removes unnecessary code, make the test case cleaner.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-26 19:22:48 +08:00
Vincent Demeester
6b91fd1a91 Merge pull request #22328 from HackToday/fixcomment
Fix wrong comment
2016-04-26 13:00:38 +02:00
Sebastiaan van Stijn
3f7b6754ca Merge pull request #22331 from SvenDowideit/minor-api-formating-change
Small API formating fix.
2016-04-26 12:46:25 +02:00
Sven Dowideit
204a52c689 Small API formating fix.
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-04-26 10:29:31 +00:00
Sebastiaan van Stijn
eb59238d17 pull-request template: ask for changelog description
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-26 12:26:14 +02:00
Antonio Murdaca
6a8ea46c67 daemon: reorder mounts before setting them
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-04-26 11:03:25 +02:00
Kai Qiang Wu(Kennan)
718eba8836 Fix wrong comment
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-26 07:36:14 +00:00
Vincent Demeester
dc98cb534e Merge pull request #22321 from Microsoft/jstarks/revendor_ansiterm
Windows: revendor Azure/go-ansiterm
2016-04-26 08:19:47 +02:00
John Howard
78895c92c2 Merge pull request #22275 from Microsoft/jstarks/no_rsrc
Windows: Add file version information
2016-04-25 20:53:19 -07:00
Brian Goff
e2c40555f7 Merge pull request #22318 from mrunalp/mount_label_fix
Fix mount label
2016-04-25 19:54:32 -04:00
John Starks
fab67ab677 Windows: revendor Azure/go-ansiterm
go-ansiterm was previously pulling the testing package into the docker
binaries.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-25 15:57:59 -07:00
John Howard
66ebc34235 Merge pull request #22055 from Microsoft/sjw/servicing
Adding servicing update to postRunProcessing for Windows containers.
2016-04-25 15:20:23 -07:00
Mrunal Patel
e0f98c698b Update runc and spec dependencies for mount label
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Set up the mount label in the spec for a container

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-04-25 14:26:49 -07:00
Sebastiaan van Stijn
00e84ca4d2 docs: remove duplicate line in "Understand the architecture"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-25 23:16:49 +02:00
Alexander Morozov
1b4286f40d Merge pull request #22306 from thaJeztah/update-integration-test-network-only
skip TestAuthApi if no network is available
2016-04-25 14:02:26 -07:00
Darren Stahl
8df2066341 Add IO Resource Controls for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-04-25 13:07:29 -07:00
Stefan J. Wernli
da92dad59f Adding servicing update to postRunProcessing for Windows containers.
This change enables the workflow of finishing installing Windows OS updates in the container after it has completed running, via a special servicing container.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-04-25 12:16:26 -07:00
Brett Higgins
207027087e Respect ALL_PROXY during registry operations
Use sockets.DialerFromEnvironment, as is done in other places,
to transparently support SOCKS proxy config from ALL_PROXY
environment variable.

Requires the *engine* have the ALL_PROXY env var set, which
doesn't seem ideal. Maybe it should be a CLI option somehow?

Only tested with push and a v2 registry so far. I'm happy to look
further into testing more broadly, but I wanted to get feedback on
the general idea first.

Signed-off-by: Brett Higgins <brhiggins@arbor.net>
2016-04-25 15:08:30 -04:00
Tianon Gravi
626d25a7d9 Tweak hack/make/*-{client,daemon} to be consistent
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-04-25 11:40:36 -07:00
Tibor Vass
e974eadd94 Merge pull request #22303 from kencochrane/fix_integration_daemon_start
Fixing the PATH in .integration-daemon-start to find dyn docker binary
2016-04-25 14:39:45 -04:00
Tibor Vass
5611424d82 Merge pull request #22301 from kencochrane/dynbinary-fix
Change name from docker-client to docker in dynbinary-client
2016-04-25 14:38:13 -04:00
Alexander Morozov
48f25161be Merge pull request #22230 from justincormack/seccomp_dropcalls
Remove mlock and vhangup from the default seccomp profile
2016-04-25 11:27:42 -07:00
Sebastiaan van Stijn
2fae3d2693 skip TestAuthApi if no network is available
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-25 20:12:36 +02:00
Vincent Demeester
17d5c97c90 Merge pull request #22125 from crosbymichael/restart-timeout
Reset restart timeout if execution longer than 10s
2016-04-25 19:15:32 +02:00
Aaron Lehmann
e6df098390 Merge pull request #22254 from yongtang/22244-remote-api-auth-behavior
Add default `serveraddress` value in remote API `/auth`
2016-04-25 10:15:08 -07:00
Vincent Demeester
88d1ae148c Merge pull request #22272 from yongtang/22271-relative-symlinks
Relative symlinks don't work with --device argument
2016-04-25 18:10:04 +02:00
David Calavera
28b7dc51ae Merge pull request #21583 from allencloud/move-cors-into-common-config
move cors into common config
2016-04-25 09:08:38 -07:00
Tibor Vass
bee093802d Merge pull request #22299 from thaJeztah/fix-label-reload
fix reloading of daemon labels from config
2016-04-25 12:06:57 -04:00
David Calavera
0843527e86 Merge pull request #22265 from thaJeztah/ohman-ohman
OHMAN! Move vbatts to alumni
2016-04-25 09:05:09 -07:00
Doug Davis
d03ba27b76 Merge pull request #22118 from michael-holzheu/22007-s390x-fix-notary-build-for-gcc-v2
Create "src" symlink for building notary with gcc 5
2016-04-25 11:50:00 -04:00
Ken Cochrane
5ee737c70c Fixing the PATH in .integration-daemon-start to find dynamic docker binary
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-25 11:18:34 -04:00
Ken Cochrane
f9e03d52e9 Change name from docker-client to docker in dynbinary-client
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-25 10:44:37 -04:00
Yong Tang
632b314b23 Relative symlinks don't work with --device argument
This fix tries to address the issue raised in #22271 where
relative symlinks don't work with --device argument.

Previously, the symlinks in --device was implemneted (#20684)
with `os.Readlink()` which does not resolve if the linked
target is a relative path. In this fix, `filepath.EvalSymlinks()`
has been used which will reolve correctly with relative
paths.

An additional test case has been added to the existing
`TestRunDeviceSymlink` to cover changes in this fix.

This fix is related to #13840 and #20684, #22271.
This fix fixes #22271.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-25 07:22:56 -07:00
Sebastiaan van Stijn
e8708f3049 Merge pull request #22294 from allencloud/fix-Insecure-registries-uppercase-in-docker-info
Fix insecure registries upppercase in docker info
2016-04-25 16:21:04 +02:00
Sebastiaan van Stijn
455858fc70 fix reloading of daemon labels from config
commit 20a038eca6 changed
daemon configuration reloading to check if a value
was actually set, however, it checked for the wrong
property ("label" instead of "labels"), which resulted
in the labels only to be loaded from daemon.json if both
a "label" -and- a "labels" property was present.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-25 15:57:28 +02:00
Lorenzo Fontana
96cc1ee44c Mention the fact that authz plugins are available today
Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
2016-04-25 15:31:23 +02:00
Lei Jitang
66eb91463a Merge pull request #22287 from hqhq/hq_add_blk_check
Add CONFIG_CFQ_GROUP_IOSCHED check
2016-04-25 20:15:31 +08:00
allencloud
e78884dafd make Insecure registries uppercase like other keys in docker info
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-25 18:44:34 +08:00
Qiang Huang
192387198d Add CONFIG_CFQ_GROUP_IOSCHED check
blkio.weight depends on this config.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-04-25 14:08:29 +08:00
allencloud
2feb88cbd3 1.move cors into common config
2.windows can use cors, too
3.remove function setPlatformServerConfig

Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-25 10:52:13 +08:00
John Starks
4677f8036e Windows: Add file version information
This change adds file version information to docker.exe and dockerd.exe by
adding a Windows version resource with the windres tool.

This change adds a dependency to binutils-mingw-w64 on Linux, but removes
a dependency on rsrc. Most Windows build environments should already have
windres if they have gcc (which is necessary to build dockerd).

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-24 10:55:51 -07:00
Tibor Vass
1e9b2355e4 Merge pull request #22184 from yongtang/22036-label-set
Labels set on the command line don't override labels in Dockerfile
2016-04-24 08:37:00 -04:00
Vincent Demeester
4e5ad97f5b Merge pull request #22138 from wenchma/deprecated_since_before
Deprecated of docker ps since and before options for v1.12
2016-04-24 11:23:21 +02:00
Yong Tang
5844736c14 Labels set on the command line always override labels in Dockerfile
This fix tries to address the inconsistency in #22036 where labels
set on the command line will not override labels specified in
Dockerfile, but will override labels inherited from `FROM` images.

The fix add a LABEL with command line options at the end of the
processed Dockerfile so that command line options labels always
override the LABEL in Dockerfiles (or through `FROM`).

An integration test has been added for test cases specified in #22036.

This fix fixes #22036.

NOTE: Some changes are from #22266 (@tiborvass).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-23 18:49:17 -07:00
John Howard
35963cae80 Merge pull request #22274 from tiborvass/fix-tgz-binary-split
Add dockerd daemon binary to tgz and zip archives
2016-04-23 16:54:00 -07:00
Tibor Vass
44ff216985 Add dockerd daemon binary to tgz and zip archives
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-04-23 18:26:05 -04:00
John Howard
27f44b8af6 Merge pull request #20639 from dnephin/split_client
Split the binary into two: client and daemon
2016-04-23 14:14:20 -07:00
Daniel Nephin
c0acfccc7b Cleanup from CR.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-23 15:05:15 -04:00
Sebastiaan van Stijn
7a2a8344e3 Merge pull request #22128 from FWirtz/master
Removed the outdated Node.js documentation as requested
2016-04-23 16:05:32 +02:00
Florian
d9c0d67b51 Remove outdated Node.js example - include a link to the new guide later!
As recommended by @moxiegirl and squashed.

Signed-off-by: FWirtz <florian.wirtz08@gmail.com>
2016-04-23 14:10:24 +02:00
Antonio Murdaca
885e5eb5f7 Merge pull request #22256 from mlaventure/use-abs-rootfs-path
Use absolute path for rootfs in OCI config.json
2016-04-23 13:21:21 +02:00
Antonio Murdaca
b2926152d0 Merge pull request #22255 from crosbymichael/containerd-bump
Bump containerd to v0.2.1
2016-04-23 12:28:01 +02:00
Yong Tang
93973196f4 Add default serveraddress value in remote API /auth
This fix tries to address the issue in #22244 where the remote
API `/auth` will not set the default value of `serveraddress`
if not provided. This behavior happens after only in 1.11.0
and is a regression as in 1.10.3 `serveraddress` will be assigned
with `IndexServer` if no value is provided.

The default value `IndexServer` is assigned to `serveraddress` if
no value provided in this fix.

An integration test `TestAuthApi` has been added to cover this change

This fix fixes #22244.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-22 20:00:47 -07:00
David Calavera
8a0d2d8e57 Merge pull request #22168 from cpuguy83/22116_hack_in_layer_refcounts
Add refcounts to graphdrivers that use fsdiff
2016-04-22 15:17:12 -07:00
David Calavera
8c17d58eb8 Merge pull request #22253 from runcom/restore-bug
api: server: check for unauthorized error
2016-04-22 15:02:47 -07:00
Ken Cochrane
f68b61052b Create the correct directory structure for apt-ftparchive. fixes #22238
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-22 16:28:49 -04:00
Sebastiaan van Stijn
3c45c5abfc OHMAN! Move vbatts to alumni
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-22 21:53:24 +02:00
Brian Goff
717f0c95b5 Merge pull request #22237 from tonistiigi/fix-config-removal-on-restartmanager-cancel
Fix config cleanup on canceling restartmanager
2016-04-22 14:31:55 -04:00
Alexander Morozov
86a6acf071 Merge pull request #22218 from HackToday/fixcpu
Make cpu validation correct
2016-04-22 10:56:01 -07:00
Michael Crosby
b6db56b5eb Reset restart timeout if execution longer than 10s
Restore the 1.10 logic that will reset the restart manager's timeout or
backoff delay if a container executes longer than 10s reguardless of
exit status or policy.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-22 10:37:34 -07:00
Tibor Vass
4377a58c12 Merge pull request #22015 from endophage/pkcs11_debs
add pkcs11 build tag to deb and rpm builds
2016-04-22 13:29:44 -04:00
Michael Holzheu
241898d136 Create "src" symlink for building notary with gcc 5
With gcc 5 version 1.4.2 of go is included. This version does not support
go's "native vendoring" which is needed to build notary since git commit
51dc1747e4ab5 ("Move the godeps workspace to the vendor directory to be
compliant with Go 1.6").

As a workaround create a symlink "vendor/src" that points to "vendor/".
This allows to compile notary with gcc 5.

Closes #22007

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
2016-04-22 19:28:08 +02:00
Kenfe-Mickael Laventure
3135874543 Use absolute path for rootfs in OCI config.json
This avoid an extra bind mount within /var/run/docker/libcontainerd

This should resolve situations where a container having the host
/var/run bound prevents other containers from being cleanly removed
(e.g. #21969).

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-22 10:07:33 -07:00
Ben Firshman
bb94cfce62 Remove out-of-date client libraries
For each language, if there is one library which is clearly the
best or most active, I've removed the other libraries so users
aren't mislead.

I've removed the web UIs because they're not really client
libraries.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-04-22 10:00:53 -07:00
Michael Crosby
199472c75a Bump containerd to v0.2.1
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-22 09:39:02 -07:00
Daniel Nephin
9e7651db4d Build two binaries client and daemon.
Add a proxy to support 'docker daemon'
Fix configFile option, and remove a test that is no longer relevant.
Remove daemon build tag.
Remove DOCKER_CLIENTONLY from build scripts.

Signed-off-by: Daniel Nephin <dnephin@docker.com>

Change docker-daemon to dockerd.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-22 11:26:01 -04:00
Antonio Murdaca
4316ae2ed3 api: server: check for unauthorized error
This functionality has been fixed by
7bca932182 but then it has been broken
again by a793564b25 and finally refixed
here.

Basically the functionality was to prompt for login when trying to pull
from the official docker hub.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-04-22 17:14:02 +02:00
Sven Dowideit
9b00817dc6 Merge pull request #22196 from thaJeztah/add-mac-address-note
docs: add note about MAC addresses not being unique
2016-04-22 11:26:17 +10:00
Kai Qiang Wu(Kennan)
62cb06a6c1 Make cpu validation correct
There was an error in validation logic before, should use period
instead of quota, and also add check for negative
number here, if not with that, it would had cpu.cfs_period_us: invalid argument
which is not good for users.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-22 01:18:03 +00:00
Ben Firshman
91fe274dcf Fix lasote/docker_client link
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-04-21 16:24:51 -07:00
Alexander Morozov
0b67f4c895 Merge pull request #22234 from tonistiigi/safer-writes
Safer file io for configuration files
2016-04-21 16:00:47 -07:00
Tonis Tiigi
7bf07737b9 Fix config cleanup on canceling restartmanager
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-21 15:33:09 -07:00
Tonis Tiigi
ea3cbd3274 Safer file io for configuration files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-21 11:31:15 -07:00
Michael Crosby
6f67c13d20 Merge pull request #22213 from yongtang/22210-docker-http-panics
Docker http panics caused by container deletion with empty names.
2016-04-21 10:37:24 -07:00
Justin Cormack
e7a99ae5e1 Remove mlock and vhangup from the default seccomp profile
These syscalls are already blocked by the default capabilities:
mlock mlock2 mlockall require CAP_IPC_LOCK
vhangup requires CAP_SYS_TTY_CONFIG

There is therefore no reason to allow them in the default profile
as they cannot be used anyway.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-21 18:23:59 +01:00
Alexander Morozov
228759fd42 Merge pull request #22172 from cpuguy83/fix_nosapce_test
Containerize `TestDaemonNoSpaceLeftOnDeviceError`
2016-04-21 09:41:31 -07:00
Alexander Morozov
f8945836e1 Merge pull request #22227 from kencochrane/bump_go_1.6.2
Bump Go version to 1.6.2 from 1.6.1 where it was used
2016-04-21 09:40:04 -07:00
Brian Goff
7342060b07 Add refcounts to graphdrivers that use fsdiff
This makes sure fsdiff doesn't try to unmount things that shouldn't be.

**Note**: This is intended as a temporary solution to have as minor a
change as possible for 1.11.1. A bigger change will be required in order
to support container re-attach.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-21 12:19:57 -04:00
Brian Goff
b006f7f640 Merge pull request #21683 from mYmNeo/growFS
call growFS when size is a mismatch
2016-04-21 12:02:44 -04:00
Vivek Goyal
55a9b8123d Export Mininum Thin Pool Free Space through docker info
Right now there is no way to know what's the minimum free space threshold
daemon is applying. It would be good to export it through docker info and
then user knows what's the current value. Also this could be useful to
higher level management tools which can look at this value and setup their
own internal thresholds for image garbage collection etc.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-04-21 15:42:23 +00:00
David Calavera
01dd64cd10 Merge pull request #22193 from panyufeng920/master
optimise docs
2016-04-21 08:38:27 -07:00
Vincent Demeester
c931a7c576 Merge pull request #22219 from leonhartX/zsh-completion-add-disable-content-trust
Add zsh completion for 'docker {build,create,run} --disable-content-trust'
2016-04-21 17:08:38 +02:00
Yong Tang
9d8071a74d Docker http panics caused by container deletion with empty names.
This fix tries to fix the http panics caused by container deletion
with empty names in #22210.

The issue was because when an empty string was passed, `GetByName()`
tried to access the first element of the name string without checking
the length. A length check has been added.

A test case for #22210 has been added.

This fix fixes #22210.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-21 07:53:49 -07:00
Brian Goff
70746f4c38 Merge pull request #22220 from dandric-activevideo/fix-storage-opts-doc
Fix daemon.json storage-opts settings example
2016-04-21 09:53:03 -04:00
Ken Cochrane
09ca4dd322 Bump Go version to 1.6.2 from 1.6.1 where it was used
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-21 09:43:32 -04:00
Sven Dowideit
7bfe5408a1 Merge pull request #22216 from HackToday/fixolddoc
Fix the old exit status example
2016-04-21 21:31:09 +10:00
Dimitry Andric
e3eb24fc21 The daemon.json storage-opts settings is actually a list.
Signed-off-by: Dimitry Andric <d.andric@activevideo.com>
2016-04-21 10:56:35 +02:00
Ke Xu
da90fe0218 add zsh completion for 'docker {build,create,run} --disable-content-trust'
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
2016-04-21 16:06:09 +09:00
Kai Qiang Wu(Kennan)
896ebb1ca2 Fix the old exit status example
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-21 03:24:10 +00:00
搏通
9abf304c25 optimise docs
Signed-off-by: 搏通 <yufeng.pyf@alibaba-inc.com>
2016-04-21 09:34:28 +08:00
Sebastiaan van Stijn
ccf83c94d1 Merge pull request #22171 from mlaventure/always-disable-metrics
Always disable containerd metrics when started by docker
2016-04-21 01:38:07 +02:00
Sebastiaan van Stijn
0f14b566d9 Merge pull request #22200 from jfrazelle/remove-self
Remove Jess from Maintainers
2016-04-21 01:14:56 +02:00
Michael Crosby
24076ed4d9 Merge pull request #22173 from amitkris/uprev_dbus
Update godbus/dbus to v4.0.0
2016-04-20 15:39:00 -07:00
Vincent Demeester
483063ad85 Merge pull request #22203 from alimate/name-gen-patch
Added Lamport & Agnesi to the list of scientists
2016-04-20 21:03:18 +02:00
Sebastiaan van Stijn
763aceeb73 docs: add note about MAC addresses not being unique
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-20 19:24:39 +02:00
Ali Dehghani
85e880205f Added Lamport & Agnesi to the list of scientists
Leslie B. Lamport is an American computer scientist. Lamport is
best known for his seminal work in distributed systems and as the
initial developer of the document preparation system LaTeX.
Maria Gaetana Agnesi was an Italian mathematician, philosopher,
theologian and humanitarian. She was the first woman to write a
mathematics handbook and the first woman appointed as a Mathematics
Professor at a University.

Signed-off-by: Ali Dehghani <ali.dehghani.g@gmail.com>
2016-04-20 21:44:22 +04:30
Sebastiaan van Stijn
3022a43f42 Merge pull request #22201 from moxiegirl/update-readme
Removing ref to old google group; adding forum
2016-04-20 18:42:47 +02:00
Mary Anthony
3447847079 Removing ref to old google group; adding forum
Adding email notice
user > dev and an > a

Signed-off-by: Mary Anthony <mary@docker.com>
2016-04-20 09:34:49 -07:00
Jess Frazelle
145fb8de9e Remove Jess from Maintainers
Signed-off-by: Jess Frazelle <jess@mesosphere.com>
2016-04-20 08:50:42 -07:00
David Calavera
cf03e17c5c Merge pull request #22191 from mavenugo/jp
Initialize activateWait for plugins activated by json spec
2016-04-20 08:37:20 -07:00
Sebastiaan van Stijn
afbe2869f0 Merge pull request #22187 from thaJeztah/add-madhu-to-maintainers
Add Madhu Venugopal to maintainers
2016-04-20 17:17:41 +02:00
moxiegirl
f96d15d3c3 Merge pull request #21389 from chenchun/resize_direct_lvm
Resize direct lvm
2016-04-20 06:33:37 -07:00
moxiegirl
fc25376762 Merge pull request #22189 from thaJeztah/restructure-plugin-docs
docs: use tables for available plugins
2016-04-20 06:32:23 -07:00
Madhu Venugopal
de806a672b Initialize activateWait for plugins activated by json spec
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-04-20 05:59:19 -07:00
Sebastiaan van Stijn
79351caec1 docs: use tables for available plugins
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-20 13:45:31 +02:00
Sebastiaan van Stijn
3cf4cad082 Merge pull request #22179 from wenchma/fix_asa
Fix asa
2016-04-20 12:44:29 +02:00
Sebastiaan van Stijn
06753c6df6 Add Madhu Venugopal to maintainers
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-20 11:17:32 +02:00
Vincent Demeester
34cc274a80 Merge pull request #21380 from sainath14/improve_help_text_test_time
Improve the time taken by DockerSuite.TestHelpTextVerify
2016-04-20 08:03:45 +02:00
Wen Cheng Ma
6d4e7b67be Fix asa
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-04-20 11:14:47 +08:00
Chun Chen
b21d90c28f Add docs about how to extend devicemapper thin pool
Signed-off-by: Chun Chen <ramichen@tencent.com>
2016-04-20 10:49:51 +08:00
Sainath Grandhi
7f33ec7507 Improve the time taken by DockerSuite.TestHelpTextVerify. This test runs docker <command> --help on all commands supported and also check the output
when it is passed with bad arguments and no arguments. This patch would divide the total number of commands into five sets and runs them in parallel.
Test time is improved from around 9 seconds to around 3 seconds

Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
2016-04-19 16:46:59 -07:00
Brian Goff
bb91bd3a89 Merge pull request #22043 from WeiZhang555/remove-start-event-failed-start
Remove start/die event when fail to start container
2016-04-19 19:45:40 -04:00
Amit Krishnan
1c967911b9 Update godbus/dbus to v4.0.0
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-04-19 14:51:55 -07:00
Brian Goff
59b83d8aae Containerize TestDaemonNoSpaceLeftOnDeviceError
Why? Because the `mount` here will sometimes fail when run in
`debian:jessie`, which is what the environrment hosting the test suite
is running if run from the `Makefile`.
Also, why the heck not containerize it, all the things.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-19 17:16:18 -04:00
Kenfe-Mickael Laventure
42f9c25b51 Always disable containerd metrics when started by docker
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-19 13:37:18 -07:00
Brian Goff
ab6b82b856 Merge pull request #22123 from crosbymichael/restart-canceled
Remove restart canceled error
2016-04-19 16:28:33 -04:00
Alexander Morozov
eab65e438e Merge pull request #22153 from vdemeester/update-engine-api-again
Update engine api again for CopyToContainer and versions
2016-04-19 11:05:27 -07:00
Michael Crosby
fc2e2234c6 Remove restart canceled error
It should not be an error to call a common option to cancel restarts.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-19 10:46:21 -07:00
moxiegirl
4a8519ba29 Merge pull request #22148 from thaJeztah/remove-old-api-versions
Remove API versions 1.17 and older from documentation
2016-04-19 10:26:56 -07:00
Vincent Demeester
75cc2c926b Merge pull request #21495 from HackToday/addnetworkfilter
Add network label filter support
2016-04-19 19:15:14 +02:00
Alexander Morozov
2f7df8e5de Merge pull request #22121 from tonistiigi/fix-exec-cleanup
Clean up exec fifos on process exit
2016-04-19 09:45:54 -07:00
Brian Goff
60548927b3 Merge pull request #22156 from jaredhocutt/netappdvp
Add the NetApp Docker Volume Plugin to the documentation
2016-04-19 11:43:00 -04:00
Jared Hocutt
f310fd14a9 Add the NetApp Docker Volume Plugin to the documentation
Signed-off-by: Jared Hocutt <jaredh@netapp.com>
2016-04-19 11:30:39 -04:00
Vincent Demeester
49f7b4dafb Remove pkg/version
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-19 16:57:02 +02:00
Vincent Demeester
7534f17261 Update code for latest engine-api
- Update CopyToContainer uses
- Use engine-api/types/versions instead of pkg/version

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-19 16:56:54 +02:00
Vincent Demeester
04bb3a2f45 Vendoring engine-api to a2999dbd3471ffe167f2aec7dccb9fa9b016dcbc
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-19 15:50:20 +02:00
Sebastiaan van Stijn
68f9a45440 Remove API versions 1.17 and older from documentation
Docker 1.5 and older is no longer supported by Docker Hub,
so there's not much need to document the API for those
versions.

Documentation is still available on GitHub, and through
the older versions of the documentation for those
that really need it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-19 14:39:14 +02:00
Brian Goff
8adc8c3a68 Merge pull request #21901 from mavenugo/sid
Add container's short-id as default network alias
2016-04-19 08:16:41 -04:00
Brian Goff
42a7efd691 Merge pull request #22122 from Microsoft/jjh/defaultdir
Windows: Set default directory
2016-04-19 07:27:13 -04:00
Vincent Demeester
9534a8220c Merge pull request #22135 from yongtang/22100-docs-container-creation-param
Docs: Container creation param descriptions not under HostConfig
2016-04-19 12:17:22 +02:00
Wen Cheng Ma
91b7157064 Deprecated of docker ps since and before options for v1.12
Deprecated note https://github.com/docker/docker/blob/master/docs/deprecated.md#docker-ps-before-and-since-options

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-04-19 18:13:55 +08:00
Yong Tang
332e3b545b Docs: Container creation param descriptions not under HostConfig
This fix tries to fix issues mentioned in #22100 for incorrect
description of remote API's container creation params.

Several issues have been fixed:
1. CPU and memory related params (e.g., `MemorySwap`, `CpuShares`, etc.)
were incorrectly placed under the top level instead of under the HostConfig.
(v1.18-v1.24)
2. The param `Cpuset` has been deprecated but was never removed.
(v1.18-v1.24)
3. The param `PidsLimit` was not added even though the description
has been added.
(v1.23-v1.24)

This fix fixes #22100

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-18 21:15:33 -07:00
David Calavera
7fd53f7c71 Merge pull request #21657 from vdemeester/update-engine-api
Update engine api with required arguments
2016-04-18 19:47:22 -07:00
David Calavera
aeb1e45e60 Merge pull request #22130 from Microsoft/jstarks/win_pidfile
Windows: don't overwrite PID file if process exists
2016-04-18 19:45:18 -07:00
John Starks
9e5b93565c Windows: don't overwrite PID file if process exists
pidfile.New() was opening a file in /proc to determine if the owning
process still exists. Use syscall.OpenProcess() on Windows instead.

Other OSes may also need to be updated here.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-18 16:41:37 -07:00
Michael Crosby
eed9c930b8 Merge pull request #22120 from crosbymichael/stats-panic
Create a copy of stats value before modifications
2016-04-18 16:26:23 -07:00
John Howard
c2d183426b Windows: Set default directory
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-18 15:59:41 -07:00
Alexander Morozov
2b5512a3be Merge pull request #22080 from amitkris/pkg_term_solaris
Get pkg/term to build for Solaris
2016-04-18 15:04:24 -07:00
Alexander Morozov
7f767d8ff5 Merge pull request #22069 from rhvgoyal/overlay-private
Make overlay home dir Private mount
2016-04-18 14:56:34 -07:00
Vivek Goyal
e076bccb45 Make overlay home dir Private mount
People have reported following issue with overlay

$ docker run -ti --name=foo -v /dev/:/dev fedora bash
$ docker cp foo:/bin/bash /tmp
$ exit container

Upon container exit, /dev/pts gets unmounted too. This happens because
docker cp volume mounts get propagated to /run/docker/libcontainer/....
and when container exits, it must be tearing down mount point under
/run/docker/libcontainerd/... and as these are "shared" mounts it
propagates events to /dev/pts and it gets unmounted too.

One way to solve this problem is to make sure "docker cp" volume mounts
don't become visible under /run/docker/libcontainerd/..

Here are more details of what is actually happening.

Make overlay home directory (/var/lib/docker/overlay) private mount when
docker starts and unmount it when docker stops. Following is the reason
to do it.

In fedora and some other distributions / is "shared". That means when
docker creates a container and mounts it root in /var/lib/docker/overlay/...
that mount point is "shared".

Looks like after that containerd/runc bind mounts that rootfs into
/runc/docker/libcontainerd/container-id/rootfs. And this puts both source
and destination mounts points in shared group and they both are setup
to propagate mount events to each other.

Later when "docker cp" is run it sets up container volumes under
/var/lib/dokcer/overlay/container-id/... And all these mounts propagate
to /runc/docker/libcontainerd/... Now mountVolumes() makes these new
mount points private but by that time propagation already has happened
and private only takes affect when unmount happens.

So to stop this propagation of volumes by docker cp, make
/var/lib/docker/overlay a private mount point. That means when a container
rootfs is created, that mount point will be private too (it will inherit
property from parent). And that means when bind mount happens in /runc/
dir, overlay mount point will not propagate mounts to /runc/.

Other graphdrivers like devicemapper are already doing it and they don't
face this issue.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-04-18 21:48:09 +00:00
Madhu Venugopal
ea531f061d Add container's short-id as default network alias
link feature in docker0 bridge by default provides short-id as a
container alias. With built-in SD feature, providing a container
short-id as a network alias will fill that gap.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-04-18 14:45:16 -07:00
Tonis Tiigi
84d170129a Clean up exec fifos on process exit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-18 14:03:37 -07:00
Tianon Gravi
c3533d58c3 Merge pull request #22029 from talex5/gitcommit
Build: pass through DOCKER_GITCOMMIT
2016-04-18 12:46:09 -07:00
Alexander Morozov
1cd7dd8917 Merge pull request #22082 from tiborvass/revert-go-security-fix-for-windows
Workaround Windows bug discovered with Go security fix
2016-04-18 12:44:13 -07:00
Alexander Morozov
2b6d7f728e Merge pull request #22088 from amitkris/update_fsnotify
Update fsnotify to v1.2.11
2016-04-18 12:38:29 -07:00
Brian Goff
4e898ae64b Merge pull request #22065 from thaJeztah/remove-deprecation-message
Remove deprecation warning
2016-04-18 15:29:05 -04:00
Michael Crosby
d17ee4b506 Create a copy of stats value before modifications
Fixes #22030

Because the publisher uses this same value to all the
stats endpoints we need to make a copy of this as soon as we get it so
that we can make our modifications without it affecting others.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-18 11:41:38 -07:00
Brian Goff
a4030787f5 Merge pull request #21993 from coolljt0725/quiet_restartmanger_cancel
Don't throw "restartmanager canceled" error for no restart policy container
2016-04-18 14:38:01 -04:00
Sebastiaan van Stijn
dadc3087e3 Merge pull request #22058 from WeiZhang555/remove-rpc-error
Remove rpc error when shut down daemon
2016-04-18 20:25:14 +02:00
Vincent Demeester
ac7e011ec9 Merge pull request #22048 from thaJeztah/docs-update-api-for-labels
docs: update API for features added in 1.11
2016-04-18 18:21:38 +02:00
Vincent Demeester
e764e0215e Merge pull request #22086 from aboch/doc
Clarify container external connectivity in multi-network scenario
2016-04-18 18:16:51 +02:00
Sebastiaan van Stijn
e68765d5e2 Merge pull request #22115 from yorkie/fix/doc-typo
doc: fix typo
2016-04-18 18:09:28 +02:00
yorkie
d2c5bf23f1 doc: fix typo
Signed-off-by: yorkie <yorkiefixer@gmail.com>
2016-04-18 23:42:33 +08:00
Alessandro Boch
c2e088e134 Clarify container external connectivity in multi-network scenario
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-04-18 08:39:40 -07:00
Vincent Demeester
9b6c055f92 Merge pull request #22098 from thaJeztah/cherry-pick-21998
cherry-pick "runc install path changed from /usr/local/bin to /usr/local/sbin"
2016-04-18 11:09:55 +02:00
Vincent Demeester
bbf3c0251d Merge pull request #22097 from mavenugo/tp5
Vendoring libnetwork v0.8.0-dev.1
2016-04-18 07:51:54 +02:00
Kai Qiang Wu(Kennan)
f812b55692 Add network label filter support
This patch did following:

1) Make filter check logic same as `docker ps ` filters

Right now docker container logic work as following:
when same filter used like below:
 -f name=jack -f name=tom
it would get all containers name is jack or tom(it is or logic)

when different filter used like below:

 -f name=jack -f id=7d1
it would get all containers name is jack and id contains 7d1(it is and logic)

It would make sense in many user cases, but it did lack of compliate filter cases,
like "I want to get containers name is jack or id=7d1", it could work around use
(get id=7d1 containers' name and get name=jack containers, and then construct the
final containers, they could be done in user side use shell or rest API)

2) Fix one network filter bug which could include duplicate result
when use -f name=  -f id=, it would get duplicate results

3) Make id filter same as container id filter, which means match any string.
not use prefix match.

It is for consistent match logic

Closes: #21417

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-18 00:38:48 +00:00
Madhu Venugopal
b1459f1b94 Vendoring libnetwork v0.8.0-dev.1
- Fixes docker/docker#16964
- Added maximum egress bandwidth qos for Windows

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-04-17 11:17:48 -07:00
Tibor Vass
cbb6c6e959 runc install path changed from /usr/local/bin to /usr/local/sbin
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 3d85e51ef4)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-17 01:36:53 +02:00
Sebastiaan van Stijn
2a95488f78 Merge pull request #22085 from thaJeztah/remove-unused-query-parameter
docs: remove unused "registry" parameter
2016-04-16 17:39:04 +02:00
Vincent Demeester
27dd6a10b8 Merge pull request #21817 from tkopczynski/20784-builder-dockerfile-support
Unit tests for builder/dockerfile/support
2016-04-16 13:34:35 +02:00
Doug Davis
5314296c69 Merge pull request #20835 from cpuguy83/handle_stats_client_errors
Do not remove containers from stats list on err
2016-04-16 10:20:58 +01:00
Zhang Wei
a02ae66d36 Remove rpc error when shut down daemon
RPC connection closing error will be reported every time we shutdown
daemon, this error is expected, so we should remove this error to avoid
confusion to user.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-16 16:53:33 +08:00
Amit Krishnan
ae75a7d3b2 Update fsnotify to v1.2.11
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-04-15 18:40:07 -07:00
Tibor Vass
3b3e58b639 Workaround Windows bug discovered with Go security fix
For context: https://github.com/golang/go/issues/15286

This commit downloads go1.5.3 in addition to go1.5.4 in order to
workaround the issue.

It is not expected to do a Docker release without a proper fix, however
this should help unblock Docker development on Windows TP5.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-04-15 21:00:45 -04:00
Sebastiaan van Stijn
ba353f3787 docs: update API for features added in 1.11
Docker 1.11 added a feature to set labels on volumes,
networks and images (during build), but these changes
were not documented in the API documentation.

This adds the new features to the documentation.

Also fixes some minor formatting, and options that
were not used in the examples.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-16 02:27:52 +02:00
Sebastiaan van Stijn
e035a86c1d docs: remove unused "registry" parameter
The "registry" query-param was in added 10c0e99037,
and removed in docker 0.5.0 via 66a9d06d9f.

Aparently, it was never removed from the documentation,
and included in all versions of the API docs.

This removes it from the documentation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-16 02:09:58 +02:00
Tomasz Kopczynski
d0ebc58b9c Unit tests for builder/dockerfile/support
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-04-16 00:19:58 +02:00
Amit Krishnan
b216dc9115 Get pkg/term to build for Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-04-15 14:18:26 -07:00
Brian Goff
7bfa122472 Merge pull request #22078 from yongtang/04152016-docs-remote-api-SecurityOpt
Fix incorrect docs in remote API for the option of `SecurityOpt`
2016-04-15 15:47:50 -04:00
Brian Goff
19a453e6b4 Merge pull request #21939 from calavera/events_until_past
Get events until a time in the past.
2016-04-15 15:33:41 -04:00
David Calavera
714cd6bd8f Merge pull request #22079 from allencloud/fix-typos-in-CHANGELOG
fix typos in changelog
2016-04-15 11:42:03 -07:00
David Calavera
caf21c81ff Merge pull request #22066 from thaJeztah/fail-on-unsupported-kernels
Produce fatal error when running on kernel < 3.10.0
2016-04-15 11:41:31 -07:00
allencloud
57f29f24e4 fix typos in changelog
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-16 02:19:15 +08:00
Yong Tang
f3f981624b Fix incorrect docs in remote API for the option of SecurityOpt
This fix tries to fix the issue in remote API docs for v1.15 (Docker 1.3.x)
and v1.16 (Docker 1.4.x) where `SecurityOpts` was used but the actual field
should be `SecurityOpt`.

This `SecurityOpt` field is verified through the source code in
v1.3.0 and v1.4.0:
https://github.com/docker/docker/blob/v1.3.0/runconfig/config.go#L35
https://github.com/docker/docker/blob/v1.4.0/runconfig/hostconfig.go#L98

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-15 11:08:15 -07:00
Alexander Morozov
d2851cc7e3 Merge pull request #22050 from tophj-ibm/increase-timeout-stdin-close-test
Fix flaky test TestRunExitOnStdinClose
2016-04-15 10:46:31 -07:00
David Calavera
a196861517 Merge pull request #22009 from rhvgoyal/docker-cp-fix
Mount volumes rprivate for archival and other use cases
2016-04-15 10:11:33 -07:00
Vincent Demeester
e40e5b97c1 Merge pull request #21006 from cpuguy83/volume_inspect_meta
Allow volume drivers to provide a `Status` field
2016-04-15 18:53:39 +02:00
Tibor Vass
c60c3045dd Merge pull request #21633 from tkopczynski/20784-builder-tarsum-tests
Builder/tarsum unit tests
2016-04-15 12:53:07 -04:00
Thomas Tanaka
c892a8d620 DWZ problem with multiple golang binary caused OL7 RPM build to fail
Refering to this: https://fedoraproject.org/wiki/PackagingDrafts/Go
this could be due to the following bug:
https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12

This fixes #22051

Signed-off-by: Thomas Tanaka <thomas.tanaka@oracle.com>
2016-04-15 09:48:53 -07:00
Tõnis Tiigi
1a14bbc61e Merge pull request #21726 from aaronlehmann/tarsum-filename-normalization
Fix build cache false positives when build context tar contains unnormalized paths
2016-04-15 09:45:26 -07:00
Vincent Demeester
e9c231aea4 Merge pull request #22060 from hqhq/hq_remove_tmp_code
Remove template code for runc and containerd
2016-04-15 18:10:39 +02:00
Brian Goff
36a1c56cf5 Allow volume drivers to provide a Status field
The `Status` field is a `map[string]interface{}` which allows the driver to pass
back low-level details about the underlying volume.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-15 10:56:38 -04:00
Vivek Goyal
cacd400777 Mount volumes rprivate for archival and other use cases
People have reported following problem.

- docker run -ti --name=foo -v /dev/:/dev/ fedora bash
- docker cp foo:/bin/bash /tmp

Once the cp operation is complete, it unmounted /dev/pts on the host. /dev/pts
is a submount of /dev/. This is completely unexpected. Following is the
reson for this behavior.

containerArchivePath() call mountVolumes() which goes through all the mounts
points of a container and mounts them in daemon mount namespace in
/var/lib/docker/devicemapper/mnt/<containerid>/rootfs dir. And once we have
extracted the data required, these are unmounted using UnmountVolumes().

Mounts are done using recursive bind (rbind). And these are unmounted using
lazy mount option on top level mount. (detachMounted()). That means if there
are submounts under top level mounts, these mount events will propagate and
they were "shared" mounts with host, it will unmount the submount on host
as well.

For example, try following.

- Prepare a parent and child mount point.
  $ mkdir /root/foo
  $ mount --bind /root/foo /root/foo 
  $ mount --make-rshared /root/foo
  
- Prepare a child mount 

  $ mkdir /root/foo/foo1
  $ mount --bind /root/foo/foo1 /root/foo/foo1
 
- Bind mount foo at bar

  $ mkdir /root/bar
  $ mount --rbind /root/foo /root/bar
  
- Now lazy unmount /root/bar and it will unmount /root/foo/foo1 as well.

  $ umount -l /root/bar

This is not unintended. We just wanted to unmount /root/bar and anything
underneath but did not have intentions of unmounting anything on source.

So far this was not a problem as docker daemon was running in a seprate
mount namespace where all propagation was "slave". That means any unmounts
in docker daemon namespace did not propagate to host namespace. 

But now we are running docker daemon in host namespace so that it is possible
to mount some volumes "shared" with container. So that if container mounts
something it propagates to host namespace as well. 

Given mountVolumes() seems to be doing only temporary mounts to read some
data, there does not seem to be a need to mount these shared/slave. Just
mount these private so that on unmount, nothing propagates and does not
have unintended consequences. 

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-04-15 14:03:11 +00:00
Christopher Jones
f84cabd3b8 Fix flaky test TestRunExitOnStdinClose
This test was flaky on ppc64le, where the average time to close was
around 1 second. This bumps that timeout to 60 seconds which should be
plently.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-04-15 09:33:51 -04:00
Vincent Demeester
1d9a6833d3 Merge pull request #22063 from graingert/patch-1
Fix security documentation, XSS -> CSRF
2016-04-15 14:43:18 +02:00
Sebastiaan van Stijn
51b23d8842 Produce fatal error when running on kernel < 3.10.0
Running on kernel versions older than 3.10 has not been
supported for a while (as it's known to be unstable).

With the containerd integration, this has become more
apparent, because kernels < 3.4 don't support PR_SET_CHILD_SUBREAPER,
which is required for containerd-shim to run.

Change the previous "warning" to a "fatal" error, so
that we refuse to start.

There's still an escape-hatch for users by setting
"DOCKER_NOWARN_KERNEL_VERSION=1" so that they can
run "at their own risk".

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-15 14:33:56 +02:00
Sebastiaan van Stijn
1d02ad2a51 Remove deprecation warning
Auto-creation of non-existing host directories
is no longer deprecated (9d5c26bed2),
so this warning is no longer relevant.

This removes the deprecation warning.

Also removes the "system" package here, because it's only used
on non-Windows, so basically just called os.MkdirAll()

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-15 13:57:19 +02:00
Vincent Demeester
b9c94b70bf Update client code with api changes
Using new methods from engine-api, that make it clearer which element is
required when consuming the API.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-15 12:48:01 +02:00
Thomas Grainger
ea8f9c9723 Fix security documentation, XSS -> CSRF
Signed-off-by: Thomas Grainger <tagrain@gmail.com>
2016-04-15 11:29:37 +01:00
Vincent Demeester
9802d7d10f Vendor engine-api with required arguments
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-15 10:11:05 +02:00
Vincent Demeester
172ca1ca8c Merge pull request #20924 from Microsoft/10662-CPUResourceControls
Add CPU count and maximum resource controls for Windows
2016-04-15 08:14:59 +02:00
Zhang Wei
5548966c37 Remove start/die event when fail to start container
If contaner start fail of (say) "command not found", the container
actually didn't start at all, we shouldn't log start and die event for
it, because that doesnt actually happen.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-15 13:02:34 +08:00
Qiang Huang
e67c758ec3 Remove template code for runc and containerd
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-04-15 12:45:35 +08:00
Lei Jitang
494297baf8 Don't throw "restartmanager canceled" error for no restart policy container
Don't throw "restartmanager canceled" error for no restart policy container
and add the container id to the warning message if a container has restart policy
and has been canceled.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-14 21:40:20 -04:00
Aaron Lehmann
8691a77e44 Fix build cache false positives when build context tar contains unnormalized paths
If a build context tar has path names of the form 'x/./y', they will be
stored in this unnormalized form internally by tarsum. When the builder
walks the untarred directory tree and queries hashes for each relative
path, it will query paths of the form 'x/y', and they will not be found.

To correct this, have tarsum normalize path names by calling Clean.

Add a test to detect this caching false positive.

Fixes #21715

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-04-14 17:57:45 -07:00
Vincent Demeester
bc0c8828e9 Merge pull request #21172 from yongtang/20909-seccomp-in-docker-info
Show "seccomp" in docker info (#20909).
2016-04-15 01:24:54 +02:00
David Calavera
55053d3537 Get events until a time in the past.
This change allow to filter events that happened in the past
without waiting for future events. Example:

docker events --since -1h --until -30m

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-04-14 16:22:16 -07:00
Darren Stahl
ea8c690886 Add CPU count and maximum resource controls for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-04-14 15:40:25 -07:00
Vincent Demeester
8011228b53 Merge pull request #21634 from cpuguy83/add_beter_logging_for_TestDaemonNoSpaceleftOnDeviceError
More logs for `TestDaemonNoSpaceleftOnDeviceError`
2016-04-14 22:06:49 +02:00
Sebastiaan van Stijn
1a87a21053 Merge pull request #21861 from jfrazelle/apparmor-examples-for-the-apparmor-gods
Add example to apparmor docs
2016-04-14 21:48:02 +02:00
Tibor Vass
18c3869831 Merge pull request #22040 from thaJeztah/bump-version-to-v1.12.0-dev
Bump version to v1.12.0-dev
2016-04-14 15:29:07 -04:00
David Calavera
9e4b5e06f0 Merge pull request #22022 from AkihiroSuda/fixunused
Clean up unused code
2016-04-14 12:21:47 -07:00
Jess Frazelle
80d63e2e11 Add example to apparmor docs
Signed-off-by: Jess Frazelle <jess@mesosphere.com>
2016-04-14 10:59:47 -07:00
David Calavera
6472a6d9e5 Merge pull request #22047 from ncopa/fix-build-from-tarball
Fix detection of git commit during build from tarball
2016-04-14 10:42:45 -07:00
Brian Goff
51be6c4f18 Merge pull request #22038 from thaJeztah/cherry-pick-changelog
Update changelog in master
2016-04-14 12:04:40 -04:00
Vincent Demeester
d4b5abaf62 Merge pull request #22044 from thaJeztah/move-filter-options-to-right-api-version
Move volume filters to API 1.24 docs
2016-04-14 17:52:08 +02:00
Natanael Copa
355ad33087 Fix detection of git commit during build from tarball
Distro packagers will often use the tarball to build a package and have
the build script for the package in git. To avoid that the docker build
script picks up the git commit from the distro repo we also check for a
directory named .git before check for -unsupported builds.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-04-14 17:30:18 +02:00
Sebastiaan van Stijn
8ef76f779d Move volume filters to API 1.24 docs
This feature was added after the 1.11 code-freeze,
so will be part of the 1.12 release. Moving it to the
right API version.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 17:12:28 +02:00
Vincent Demeester
900f06ae3a Merge pull request #22039 from senk/remove-cfengine-docs
Remove docs for cfengine
2016-04-14 16:00:09 +02:00
Sebastiaan van Stijn
7429a740cd Bump version to v1.12.0-dev
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:22:18 +02:00
Robin Naundorf
297d6c04a3 closes #11703 closes #11560
Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-04-14 15:21:07 +02:00
Tibor Vass
6cc2bad7f4 Fix some CHANGELOG entries
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 2535db8678)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:15:23 +02:00
Santhosh Manohar
17bce424d6 Update Networking changelog for 1.11
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
(cherry picked from commit 2153d9ec9d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:15:09 +02:00
Sebastiaan van Stijn
d53e136a2b Minor fixes to changelog
Some fixes in the changelog were not regressions
since 1.10.x, but only present in 1.11 release candidates
so don't need to be mentioned for the release.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 99589731ac)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:14:53 +02:00
Kenfe-Mickael Laventure
bcb7649c3c Update CHANGELOG.md
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit c774c390b1)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:14:40 +02:00
Sebastiaan van Stijn
b7f9856a36 Update CHANGELOG.md
hardware signing was put back to experimental due to packaging issues
(https://github.com/docker/docker/pull/21499)

add missing "--quiet" option for docker load

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 32a5308237)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:14:23 +02:00
John Howard
932e586314 Verify binaries in changelog
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 76489af40f)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:14:05 +02:00
Kenfe-Mickael Laventure
9f3f96220d Add initial changelog for 1.11.0
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
(cherry picked from commit e651c1b2b9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-14 15:13:47 +02:00
Thomas Leonard
1aa9369499 Build: pass through DOCKER_GITCOMMIT
This is useful if you want to build Docker when the .git directory is
not present.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2016-04-14 12:16:16 +01:00
Akihiro Suda
d231260868 Clean up unused code
Signed-off-by: Akihiro Suda <suda.kyoto@gmail.com>
2016-04-14 07:04:10 +00:00
Alexander Morozov
cb87b6eb6a Merge pull request #21879 from WeiZhang555/fix-kill-nonexist
Fix bug that can't kill an restarting container
2016-04-13 22:50:19 -07:00
Alexander Morozov
7cd420d63a Merge pull request #21970 from cpuguy83/use_cached_path_on_ls
Fix N+1 calling `Path()` on `volume ls`
2016-04-13 22:47:53 -07:00
Alexander Morozov
37f5caf8c5 Merge pull request #22013 from tonistiigi/fix-go16-panic
Fix panic on winsize syscall
2016-04-13 22:11:13 -07:00
David Lawrence
829d1883dc add pkcs11 build tag to deb and rpm builds
Signed-off-by: David Lawrence <david.lawrence@docker.com> (github: endophage)
2016-04-13 17:55:50 -07:00
Tonis Tiigi
4d4ef98326 Fix panic on winsize syscall
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-13 17:08:00 -07:00
Brian Goff
ff08036cc0 Do not remove containers from stats list on err
Before this patch, containers are silently removed from the stats list
on error. This patch instead will display `--` for all fields for the
container that had the error, allowing it to recover from errors.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-13 16:36:34 -04:00
Tibor Vass
7268eb97bc Bump Go version to 1.5.4/1.6.1 (security fix) (#21978)
Go 1.6.1 is for ppc64le only.

https://groups.google.com/forum/#!msg/golang-announce/9eqIHqaWvck/kXsfO0ogLAAJ

Dockerfile.armhf cannot currently be updated.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-04-13 11:22:48 -07:00
Brian Goff
d954097c0b Merge pull request #21953 from Microsoft/jjh/containerapipostcontainerstop
Windows: Fix deamon deadlock in docker stop
2016-04-13 13:28:59 -04:00
Tõnis Tiigi
73ac6d199c Move build endpoint handler from daemon (#21972)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-13 10:21:00 -07:00
John Starks
6f8878872f Windows: Fix Hyper-V container ACLs for TP5 (#21974)
In TP5, Hyper-V containers need all image files ACLed so that the virtual
machine process can access them. This was fixed post-TP5 in Windows, but
for TP5 we need to explicitly add these ACLs.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-13 10:15:38 -07:00
Thomas Gazagnaire
44fe649c2e Graphdriver docs (#22003)
* Fix closing strings in graphdriver plugin documentation

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Fix documenation for Err type in graphdriver plugins

Fix https://github.com/docker/go-plugins-helpers/issues/24

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Add missing MountLabel argument in graphdriver plugin documentation

The real `Create` seems also to take more arguments (the `storageOpt`) which
are not exposed to the plugin API (yet?).

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>

* Add missing CreateReadWrite in graphdriver plugin documentation

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2016-04-13 10:11:39 -07:00
Vincent Demeester
988508a2b5 Merge pull request #19265 from rhatdan/netsysctl
Add support for setting sysctls
2016-04-13 18:36:30 +02:00
Alexander Morozov
9333042ba1 Merge pull request #21942 from tiborvass/fix-21808
vendor runc to fix issue#21808
2016-04-13 08:24:20 -07:00
Sebastiaan van Stijn
78729487cd Merge pull request #21963 from moxiegirl/21701-issue-fix
Update for device mapper configuration
2016-04-13 17:19:16 +02:00
Mary Anthony
783ebebff4 Fixes #21701 devicemapper docs
Copy edit the content
Updates to existing material
Adding mbentley's comments
Updating with last minute comments
Update with Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2016-04-13 08:02:16 -07:00
Tibor Vass
1687f77db2 Merge pull request #21994 from thaJeztah/update-binary-installation
docs: update installation from binaries for 1.11
2016-04-13 09:26:52 -04:00
Sebastiaan van Stijn
f5336c7370 docs: update installation from binaries for 1.11
Binaries are now distributed as a '.tgz' or '.zip'
archive, and contain multiple binaries for Linux.

This updates the instructions for 1.11.

Also mention that the Windows 64-bit binary
actually can be used as a daemon. Given that
this is still in beta, no instructions were
added for *running* a daemon on Windows.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-13 15:26:03 +02:00
Vincent Demeester
edfe4e9fba Merge pull request #21885 from triccardi-systran/20612-improve-build-cache-miss-documentation
Improve build cache miss doc for `ARG` and `RUN`
2016-04-13 15:23:14 +02:00
Thomas Riccardi
82f5ef2d25 Improve build cache miss doc for ARG and RUN
The documentation already says the cache miss happens only at `ARG`
variable usage, not declaration, but there is a very common implicit
usage: `RUN`, which this commit documents even more, improving on #21790.

Also, use `definition` instead of `declaration`: it's the same thing, and
`definition` is already used in this documentation, contrary to
`declaration`.

Also, distinguish between "instructions" and "variables defined by `ARG`
instructions".

Signed-off-by: Thomas Riccardi <riccardi@systran.fr>
2016-04-13 15:02:09 +02:00
Vincent Demeester
f5d3f528fd Merge pull request #21965 from aboch/doc
Update /containers/create remote API docs
2016-04-13 12:56:40 +02:00
Tibor Vass
348d902768 Merge pull request #21959 from coolljt0725/fix_21957
Fix docker load progressbar, fixes #21957
2016-04-13 00:31:27 -04:00
Lei Jitang
96d7db665b Fix docker load progressbar, fixes #21957
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-12 22:45:42 -04:00
Brian Goff
40502e3813 Merge pull request #21949 from aaronlehmann/vendor-distribution-1622
Vendor distribution to correct config blob media type in schema2 manifest
2016-04-12 21:23:22 -04:00
John Howard
d691b4af18 Windows: Timeout TestContainerApiPostContainerStop
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-12 18:21:54 -07:00
Aaron Lehmann
fa4fea3233 Merge pull request #21337 from yongtang/21247-TestRunAttachFailedNoLeak
Flaky test: TestRunAttachFailedNoLeak (#21247)
2016-04-12 17:40:16 -07:00
Brian Goff
9e6b1852a7 Fix N+1 calling Path() on volume ls
Implements a `CachedPath` function on the volume plugin adapter that we
call from the volume list function instead of `Path.
If a driver does not implement `CachedPath` it will just call `Path`.

Also makes sure we store the path on Mount and remove the path on
Unmount.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-12 20:30:34 -04:00
Alexander Morozov
f3dcc1c462 Merge pull request #21962 from Microsoft/jjh/logssincefuturefollow
Windows: Disable flakey LogsSinceFutureFollow
2016-04-12 15:07:51 -07:00
Alexander Morozov
9438572fc0 Merge pull request #21897 from calavera/remove_authorization_refs_from_api
Move middleware to interfaces.
2016-04-12 14:08:36 -07:00
David Calavera
7c16063afa Merge pull request #21714 from hallyn/2016-03-31/aufs.2
don't try to use aufs in a user namespace
2016-04-12 14:07:51 -07:00
Alessandro Boch
30859c3456 Update /containers/create remote API docs
- Show how to pass the networking config in POST containers/create body

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-04-12 13:41:13 -07:00
John Howard
acaef7caaf Windows: Fix flakey LogsSinceFutureFollow
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-12 13:27:29 -07:00
Tibor Vass
c3fe4226f3 vendor runc to fix issue#21808
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-04-12 15:35:43 -04:00
David Calavera
b6a08c3f11 Merge pull request #21903 from cyphar/reduce-dependencies-pkg-listeners
pkg: listeners: move Docker-specific semantics to docker/daemon*
2016-04-12 12:04:03 -07:00
Dan Walsh
9caf7aeefd Add support for setting sysctls
This patch will allow users to specify namespace specific "kernel parameters"
for running inside of a container.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-04-12 13:37:31 -04:00
Alexander Morozov
d648d40ace Merge pull request #21904 from yongtang/21848-stats-connected-containers
Docker stats is not working when a container is using another container's network.
2016-04-12 10:28:05 -07:00
Alexander Morozov
7b5a6844c2 Merge pull request #21943 from Microsoft/jstarks/utilityvm
Windows: support embedded utility VM images
2016-04-12 10:19:47 -07:00
Alexander Morozov
8cb511b7d6 Merge pull request #21948 from tianon/check-config-network
Add "VXLAN" to check-config.sh
2016-04-12 10:10:48 -07:00
Phil Estes
595104daf6 Merge pull request #21960 from rhcarvalho/shm-validation-typo
Fix a typo in hostConfig.ShmSize validation
2016-04-12 12:05:31 -04:00
Rodolfo Carvalho
fee7e7c7a3 Fix a typo in hostConfig.ShmSize validation
Other places referring to the same configuration, including docs, have
the correct spelling.

Signed-off-by: Rodolfo Carvalho <rhcarvalho@gmail.com>
2016-04-12 16:45:05 +02:00
Vincent Demeester
a0e7e13766 Merge pull request #21818 from Microsoft/jjh/tp4fortests
Windows: Remove TP4 support from test code
2016-04-12 10:07:12 +02:00
Aleksa Sarai
5ee0a94101 pkg: listeners: move Docker-specific semantics to docker/daemon*
Since there are other users of pkg/listeners, it doesn't make sense to
contain Docker-specific semantics and warnings inside it. To that end,
move the scary warning about -tlsverify and the libnetwork port
allocation code to CmdDaemon (where they belong). This helps massively
reduce the dependency tree for users of pkg/listeners.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-04-12 12:50:43 +10:00
mYmNeo
34a66a14af Grow the container rootfs when it is necessary
Signed-off-by: mYmNeo <thomassong@tencent.com>
2016-04-12 09:27:47 +08:00
Aaron Lehmann
c18d03a778 Vendor distribution to correct config blob media type in schema2 manifest
@nwt noticed that the media type specified in the config section of a
schema2 manifest is application/octet-stream, instead of the correct
value application/vnd.docker.container.image.v1+json.

This brings in https://github.com/docker/distribution/pull/1622 to fix
this.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-04-11 17:29:17 -07:00
John Starks
c70f153f52 Windows: Support embedded utility VM images
For TP5, the utility VM for Hyper-V containers is embedded in the base
layer's contents.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-11 17:16:17 -07:00
Tianon Gravi
c082dad637 Add "VXLAN" to check-config.sh
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-04-11 16:42:53 -07:00
John Howard
b0e24c7393 Windows: Remove TP4 support from test code
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-11 15:36:31 -07:00
Alexander Morozov
2bcb6d694f Merge pull request #21941 from crosbymichael/copy-bins
Improve source for containerd/runc copy
2016-04-11 14:54:21 -07:00
boynux
f6dd023b4e exited=0 in filter shouldn't show "Created" ones
Newly created containers which are not started yet should not list
when "exited=0" filter is used with "ps -a"

Signed-off-by: Boynux <boynux@gmail.com>
2016-04-11 23:44:05 +02:00
John Starks
15b0f06a9a Windows: Revendor Microsoft/hcsshim
This change supports the importing of layers that contain utility VM
images. This is necessary to support Hyper-V containers running on a
non-centrally-managed image.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-11 13:23:38 -07:00
Michael Crosby
45fb803316 Improve source for containerd/runc copy
This improves getting the source for the binaries that are compiled on
the system so that they can be copied into the bundles output.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-11 12:02:01 -07:00
Serge Hallyn
2a71f28a4e don't try to use aufs in a user namespace
If aufs is already modprobe'd but we are in a user namespace, the
aufs driver will happily load but then get eperm when it actually tries
to do something.  So detect that condition.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-04-11 13:38:15 -05:00
Vincent Demeester
577adcc1ee Merge pull request #21811 from shishir-a412ed/cleanup_parse_storage_opt
parseStorageOpt: return size rather than updating devInfo.Size field
2016-04-11 18:34:03 +02:00
David Calavera
08e27a7148 Merge pull request #21877 from AkihiroSuda/trivial-fix
oci: default devices don't need to be listed explicitly
2016-04-11 09:24:47 -07:00
David Calavera
8d3467626e Move middleware to interfaces.
This makes separating middlewares from the core api easier.
As an example, the authorization middleware is moved to
it's own package.

Initialize all static middlewares when the server is created, reducing
allocations every time a route is wrapper with the middlewares.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-04-11 09:19:27 -07:00
Shishir Mahajan
45dc5b46e2 parseStorageOpt: return size rather than updating devInfo.Size field
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-04-11 10:34:13 -04:00
Brian Goff
517c18ff2b Merge pull request #21914 from sanimej/libn-v0.7rc5
Vendor Libnetwork v0.7.0-rc.6
2016-04-11 10:16:17 -04:00
Vincent Demeester
a692910277 Merge pull request #20853 from WeiZhang555/fix-ShouldRestart
Fix ShouldRestart for on-failure handle
2016-04-11 14:01:52 +02:00
Sebastiaan van Stijn
8af70e1074 Merge pull request #21908 from sdurrheimer/zsh-completion-volume-ls-filter
Add zsh completion for 'docker volume ls -f {dangling,driver,name}'
2016-04-11 12:24:48 +02:00
Akihiro Suda
b397f978c6 oci: default devices don't need to be listed explicitly
Eliminating these things make the code much more understandable.

See also adcbe530a9/config-linux.md (default-devices)
df25eddce6/libcontainer/specconv/spec_linux.go (L454)

Signed-off-by: Akihiro Suda <suda.kyoto@gmail.com>
2016-04-11 05:58:49 +00:00
Vincent Demeester
c327d9d99b Merge pull request #21919 from MihaiB/docs-typo
docs: fix grammar typo in 'Network containers'
2016-04-10 22:33:55 +02:00
Mihai Borobocea
a609c2c48b docs: fix grammar typo in 'Network containers'
Signed-off-by: Mihai Borobocea <MihaiBorob@gmail.com>
2016-04-10 17:22:02 +03:00
Steve Durrheimer
7ad5438555 Add zsh completion for 'docker volume ls -f {dangling,driver,name}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-10 12:52:33 +02:00
Vincent Demeester
3c3b089474 Merge pull request #21917 from sdurrheimer/zsh-completion-new-micro-syslog-format
Add zsh completion for '--log-opt syslog-format=rfc5424micro'
2016-04-10 11:32:48 +02:00
Steve Durrheimer
5534354996 Add zsh completion for '--log-opt syslog-format=rfc5424micro'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-10 11:11:12 +02:00
Vincent Demeester
f9386538ec Merge pull request #21724 from flyinprogrammer/syslog-opts-env-labels
enable syslog logger to have access to env and labels
2016-04-10 10:58:25 +02:00
Zhang Wei
51e42e6ee0 Fix ShouldRestart for on-failure handle
Currently if you restart docker daemon, all the containers with restart
policy `on-failure` regardless of its `RestartCount` will be started,
this will make daemon cost more extra time for restart.

This commit will stop these containers to do unnecessary start on
daemon's restart.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-10 15:44:47 +08:00
Zhang Wei
ffad0873c9 Add test case for stopping a restarting container
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-10 15:39:28 +08:00
Lei Jitang
b4664e3f86 Merge pull request #21854 from WeiZhang555/restart-failure
Fix critical bug: can't restart an restarting container
2016-04-10 11:17:19 +08:00
Vincent Demeester
37d2e12fae Merge pull request #21907 from sdurrheimer/zsh-completion-syslog-format
Add zsh completion for '--log-opt syslog-format'
2016-04-09 23:24:33 +02:00
Vincent Demeester
0f904dc256 Merge pull request #21911 from yongtang/04092016-doc-remote-api-json
Fix incorrect request json body for `/containers/create` in remote API docs.
2016-04-09 22:56:00 +02:00
Sebastiaan van Stijn
3f39035f18 Merge pull request #21819 from tophj-ibm/fix-ensure-emptyfs-other-architectures
Fix .ensure-emptyfs on non-x86_64 architectures
2016-04-09 13:40:45 -07:00
Yong Tang
faf2b6f7aa Docker stats is not working when a container is using another container's network.
This fix tries to fix the issue in #21848 where `docker stats` will not correctly
display the container stats in case the container reuse another container's
network stack.

The issue is that when `stats` is performed, the daemon will check for container
network setting's `SandboxID`. Unfortunately, for containers that reuse another
container's network stack (`NetworkMode.IsConnected()`), SandboxID is not assigned.
Therefore, the daemon thinks the id is invalid and remote API will never return.

This fix tries to resolve the SandboxID by iterating through connected containers
and identify the appropriate SandboxID.

A test case for `stats` remote API has been added to check if `stats` will return
within the timeout.

This fix fixes #21848.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-09 20:15:51 +00:00
Yong Tang
f919a26a9f Fix incorrect request json body for /containers/create in remote API docs.
This fix tries to fix the incorrect request json body for
`/containers/create` in remote API docs.

When using the example json request for `/containers/create`, there are two
errors:
(1). `invalid character '"' after object key:value pair`
     This is because a `,` is missing after `"Volumes": {}`
     This issue exists in v1.20-v1.24
(2). `Invalid --security-opt: ""`
     This is becasue in `"SecurityOpt": [""]` line, an empty string
     `""` is passed yet `""` is not a valid `SecurityOpt`. Either no string,
     or a valid string (e.g., "no-new-privileges") could be used.
     This issue exists in v1.15-v1.24

This fix updates the docs and correct the above two issues.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-09 18:39:33 +00:00
Santhosh Manohar
6dd2c33217 Vendor Libnetwork v0.7.0-rc.6
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-04-09 10:45:13 -07:00
Vincent Demeester
4ac59a1282 Merge pull request #21905 from npcode/docs-authorization-RequestUri
Fix errata; s/RequestUri/ReqestURI/
2016-04-09 18:51:20 +02:00
Vincent Demeester
417fce0b77 Merge pull request #21906 from allencloud/fix-typos-pkg
fix typos in pkg
2016-04-09 18:50:42 +02:00
Steve Durrheimer
6e14ebd030 Add zsh completion for '--log-opt syslog-format'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-09 17:34:46 +02:00
allencloud
aef02273d9 fix typos in pkg
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-09 21:18:15 +08:00
Vincent Demeester
a01f4dc229 Merge pull request #21853 from coolljt0725/fix_stats
Fix docker stats missing mem limit
2016-04-09 13:46:58 +02:00
Yi EungJun
94985b4bff Fix errata; s/RequestUri/ReqestURI/
Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-04-09 19:19:35 +09:00
John Howard
f2ed337ac9 Merge pull request #21740 from mindlapse/fixErrorMsg
Improved message when pushing a non-existant image
2016-04-08 20:53:25 -07:00
John Howard
fec6cd2eb9 Merge pull request #20525 from Microsoft/sjw/update-graphdriver-create
Adding readOnly parameter to graphdriver Create method
2016-04-08 20:44:03 -07:00
Sebastiaan van Stijn
fd67c8b203 Merge pull request #21868 from anusha-ragunathan/not-exp-requirement
Add non-experimental daemon as a test requirement.
2016-04-08 17:55:16 -07:00
Sebastiaan van Stijn
eaa1e8a8c4 Merge pull request #21839 from WeiZhang555/add-start-event
Add missing "start" event back for auto-restart container
2016-04-08 17:52:22 -07:00
Alan Scherger
f67b711277 enable syslog logger to have access to env and labels
Signed-off-by: Alan Scherger <flyinprogrammer@gmail.com>
2016-04-08 19:50:18 -05:00
Sebastiaan van Stijn
3bac588335 Merge pull request #21900 from vieux/type
fix typo in comment
2016-04-08 17:46:41 -07:00
David Calavera
f62b26571a Merge pull request #21894 from Microsoft/sjw/nanoserver-fix
Fixing warning to correctly output error string.
2016-04-08 16:43:07 -07:00
Stefan J. Wernli
3c220cfcba Fixing warning to correctly output error string.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-04-08 15:04:04 -07:00
David Calavera
a3007ceccc Merge pull request #21773 from yongtang/21765-stats-HumanSize-to-BytesSize
Change HumanSize to BytesSize for memory output in `docker stats`.
2016-04-08 14:56:22 -07:00
Christopher Jones
1f59bc8c03 Fix .ensure-emptyfs on non-x86_64 architectures
Now that we are checking if the image and host have the same architectures
via #21272, this value should be null so that the test passes on non-x86
machines

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-04-08 17:38:13 -04:00
Sebastiaan van Stijn
f832183e33 Merge pull request #21884 from albers/completion-volume-ls-filter
bash completion for `docker volume ls -f {driver,name}`
2016-04-08 14:33:09 -07:00
Yong Tang
0e3846e280 Change HumanSize to BytesSize for memory output in docker stats.
This fix tries to fix the discrepancy between `docker stats` and
`docker run` where `docker run` uses RAMInBytes for all memory
related inputs but `docker stats` uses HumanSize for all memory
related outputs.

To be consistent, `docker stats` needs to use BytesSize for all
memory related outputs to conform to RAMInBytes in `docker run`.

This fix addresses this issue. As BytesSize is used, the test
cases needs to be adjusted to match `KiB/MiB/GiB` instead of
`KB/MB/GB`.

The documentation has also been updated.

This fix fixes #21765.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-08 20:01:50 +00:00
David Calavera
e626011bfb Merge pull request #21760 from hqhq/hq_minimum_reservation
Add minimum limit for memory reservation
2016-04-08 07:58:28 -07:00
David Calavera
1e9115ced4 Merge pull request #21883 from albers/completion-syslog-format
bash completion for `--log-opt syslog-format`
2016-04-08 07:54:53 -07:00
Zhang Wei
a705e166cf Fix critical bug: can't restart a restarting container
When user try to restart a restarting container, docker client report
error: "container is already active", and container will be stopped
instead be restarted which is seriously wrong.

What's more critical is that when user try to start this container
again, it will always fail.

This error can also be reproduced with a `docker stop`+`docker start`.

And this commit will fix the bug.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-08 22:02:30 +08:00
Brian Goff
7f865e4953 Merge pull request #21777 from Microsoft/jjh/killTP4
Windows: So long TP4, so long...
2016-04-08 09:33:23 -04:00
Harald Albers
3cf856ce0c bash completion for docker volume ls -f {driver,name}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-04-08 13:45:44 +02:00
Harald Albers
472030e9cc bash completion for --log-opt syslog-format
Signed-off-by: Harald Albers <github@albersweb.de>
2016-04-08 13:19:25 +02:00
Vincent Demeester
6fbc206436 Merge pull request #21844 from yongtang/21793-syslog-timestamp-rfc5424-microsecond
Additional syslog-format option to allow microsecond resolution in syslog timestamp.
2016-04-08 11:31:17 +02:00
Vincent Demeester
fb9523442d Merge pull request #21878 from TrumanLing/fix_typo
fix typo
2016-04-08 11:19:52 +02:00
LingFaKe
d0344731ef fix typo
Signed-off-by: Ling FaKe <lingfake@huawei.com>
2016-04-08 22:08:58 +08:00
Victor Vieux
76122f95e9 fix typo in comment
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-04-08 00:05:31 -07:00
Yong Tang
ee4bd806ba API/CLI discrepancy on hostname validation (#21595).
This fix tries to fix the discrepancy between API and CLI on hostname
validation. Previously, the hostname validation was handled at the
CLI interface in runconfig/opts/parse.go and return an error if the
hostname is invalid. However, if an end user use the remote API to
pass the hostname, the error will not be returned immediately.
Instead the error will only be thrown out when the container creation
fails. This creates behavior discrepancy between API and CLI.

In this fix, the hostname validation was moved to
verifyContainerSettings so the behavior will be the same for API and
CLI.

After the change, since CLI does not handle the hostname validation
any more, the previous unit tests about hostname validation on CLI
in runconfig/opts/parse_test.go has to be updated as well because
there is no validation at this stage. All those unit tests are moved
to integration test TestRunTooLongHostname so that the hostname
validation is still properly covered as before.

Note: Since the hostname validation moved to API, the error message
changes from `invalid hostname format for --hostname:` to
`invalid hostname format:` as well because `--hostname` is passed
to CLI only.

This fix fixes #21595.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-08 06:13:08 +00:00
Yong Tang
7581cf96fb Additional syslog-format option to allow microsecond resolution in syslog timestamp.
This fix tries to add an additional syslog-format of `rfc5424micro` which follows
the same as rfc5424 except that it use microsecond resolution for timestamp. The
purpose is to solve the issue raised in #21793 where log events might lose its
ordering if happens on the same second.

The timestamp field in rfc5424 is derived from rfc3339, though the maximium
resolution is limited to "TIME-SECFRAC" which is 6 (microsecond resolution).

The appropriate documentation (`docs/admin/logging/overview.md`) has been updated
to reflect the change in this fix.

This fix adds a unit test to cover the newly introduced format.

This fix fixes #21793.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-08 05:00:11 +00:00
John Howard
d5ef62f489 Merge pull request #21872 from Microsoft/sjw/nanoserver-fix
Fixing nanoserver image load bug.
2016-04-07 21:24:32 -07:00
Zhang Wei
fdfaaeb9aa Add missing "start" event back for auto-restart container
When container is automatically restarted based on restart policy,
docker events can't get "start" event but only get "die" event, this is
not consistent with previous behavior. This commit will add "start"
event back.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-08 11:40:32 +08:00
Sebastiaan van Stijn
6ad89f4d2f Merge pull request #21874 from Hyzhou/master
Fix the docker image --no-trunk output format
2016-04-07 20:37:14 -07:00
John Howard
fdd5b5de62 Merge pull request #21774 from Microsoft/jstarks/support_non_base_layered_images
Windows: support non-base-layered images
2016-04-07 20:13:38 -07:00
Brian Goff
64f10251bd Merge pull request #21863 from LK4D4/narrow_interface
pkg/archive: use more narrow interface for CompressStream
2016-04-07 22:35:19 -04:00
Lei Jitang
a0a6d031d7 Fix docker stats missing memory limit
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-07 22:09:07 -04:00
Brian Goff
681b5e0ed4 Merge pull request #21867 from calavera/remove_reference_from_api
Remove reference package dependency from the api.
2016-04-07 21:56:43 -04:00
Brian Goff
3e14070c88 Merge pull request #21815 from Microsoft/jjh/fixunittest
Windows: Fix failing unit tests
2016-04-07 21:14:42 -04:00
Hyzhou
b83e9df760 Fix the docker image --no-trunk output format
docker 1.10 change the output format of image id.

Signed-off-by: hyzhou.zhy <hyzhou.zhy@alibaba-inc.com>
2016-04-08 08:59:59 +08:00
Brian Goff
0c4f28e51a Merge pull request #21871 from tonistiigi/fix-restartpolicy-on-restart
Fix restart monitor stopping on manual restart
2016-04-07 20:56:33 -04:00
John Starks
cf7944bf6f Windows: Support ApplyDiff on a base layer
This adds support to the Windows graph driver for ApplyDiff on a base
layer. It also adds support for hard links, which are needed because the
Windows base layers double in size without hard link support.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-07 17:52:28 -07:00
John Starks
9b486999f2 Windows: revendor Microsoft/go-winio and Microsoft/hcsshim
These changes add support for importing base layers and change the tar
metadata for Windows layers to better match the intent of the tar format.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-07 17:52:27 -07:00
John Starks
d45a26d7e2 Windows: Support non-base-layered images
Previously, Windows only supported running with a OS-managed base image.
With this change, Windows supports normal, Linux-like layered images, too.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-07 17:52:26 -07:00
Sebastiaan van Stijn
fc352287c1 Merge pull request #21816 from estesp/case-of-the-missing-else
Don't perform external setkey when net==host
2016-04-07 17:01:30 -07:00
Stefan J. Wernli
a22092b136 Fixing nanoserver image load bug.
Fixes an issue that prevents nano server images from loading properly. Also updates logic for custom image loading to avoid preventing daemon start because an image failed to load.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-04-07 16:44:51 -07:00
Tonis Tiigi
20390f65c4 Fix restart monitor stopping on manual restart
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-07 16:12:05 -07:00
David Calavera
47afe6bd0a Remove reference package dependency from the api.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-04-07 15:01:23 -07:00
Anusha Ragunathan
c7076d2670 Add non-experimental daemon as a test requirement.
For test that should be exclusively run only in regular daemon builds
and not in the experimental version, add a requirement.

Verified using TestCleanupMountsAfterDaemonKill.
- On regular daemon, the test ran.
- On experimental daemon, the test skipped.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-04-07 14:46:32 -07:00
Sebastiaan van Stijn
14015eedb1 Merge pull request #21750 from LK4D4/flaky_format_test
integration-cli: try to make TestEventsTimestampFormats less flaky
2016-04-07 13:42:17 -07:00
Vincent Demeester
14aa019d2d Merge pull request #21859 from tonistiigi/vendor-net-fork
vendor: patch template init in trace pkg for performance
2016-04-07 22:39:23 +02:00
Alexander Morozov
9b2c3aa894 pkg/archive: use more narrow interface for CompressStream
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-04-07 13:21:05 -07:00
Vincent Demeester
07f5804899 Merge pull request #21806 from Microsoft/RemoveSymlinkTests
Stop running symlink-volume tests on Windows
2016-04-07 22:03:44 +02:00
Tonis Tiigi
07fe6947a4 vendor: patch template init in trace pkg for performance
Temporarily include a fork of golang/net package
that includes a performance patch. Measured performance
gain is ~60ms for every `docker run` command.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-07 11:02:14 -07:00
Jess Frazelle
1fbdd354c2 Merge pull request #21855 from vdemeester/makefile-typo
Fixing a typo in Makefile
2016-04-07 16:41:25 +00:00
Tibor Vass
e82830ecde Merge pull request #21628 from clnperez/systemd-tasksmax-workaround
Build-deb hack for systemd tasksmax
2016-04-07 12:30:45 -04:00
Christy Perez
2b849e0263 Build-deb hack for systemd tasksmax
Since we can't use the TasksMax value in the docker.service
file by default, we can uncomment it at buildtime.

See docker/docker/pull/21491 for some background.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-04-07 11:08:30 -05:00
Brian Goff
4f8a6f3e02 Merge pull request #21840 from tonistiigi/fix-closing-attach-streams
Fix closing attach streams on lost tcp connection
2016-04-07 12:02:33 -04:00
Vincent Demeester
3785844c5b Fixing a typo in Makefile
A typo is present in the new awesome `make help`, fixing that.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-04-07 16:10:09 +02:00
Vincent Demeester
d5dfc4e526 Merge pull request #21820 from estesp/lazy-init-useradd
Lazy init useradd and remove init()
2016-04-07 10:09:02 +02:00
Vincent Demeester
2e236d0255 Merge pull request #21828 from dmcgowan/fix-overlay-on-overlay-test
Fix overlay test running on overlay
2016-04-07 10:07:25 +02:00
Vincent Demeester
334f73f5b4 Merge pull request #21842 from tonistiigi/fix-flaky-testsaveloadparents
Fix flaky TestSaveLoadParents
2016-04-07 10:01:28 +02:00
Vincent Demeester
36bc01c0cb Merge pull request #21835 from HackToday/fixsecurity
Fix deprecated format for security-opt
2016-04-07 09:28:58 +02:00
Vincent Demeester
8785952282 Merge pull request #21830 from anusha-ragunathan/auplink
Be more lenient on auplink errors.
2016-04-07 09:19:38 +02:00
Vincent Demeester
d7a04c7416 Merge pull request #21841 from WeiZhang555/error-typo
Fix typo
2016-04-07 08:56:43 +02:00
Tonis Tiigi
0c0198a5e6 Fix flaky TestSaveLoadParents
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-06 21:58:47 -07:00
Zhang Wei
5fdbce3185 Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-07 12:46:55 +08:00
Tonis Tiigi
a47cd63915 Fix closing attach streams on lost tcp connection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-06 21:27:47 -07:00
Derek McGowan
824c72f472 Fix overlay test running on overlay
Overlay tests were failing when /var/tmp was an overlay mount with a misleading message.
Now overlay tests will be skipped when attempting to be run on overlay.
Tests will now use the TMPDIR environment variable instead of only /var/tmp

Fixes #21686

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-04-06 21:06:42 -07:00
Jess Frazelle
da0985fd16 Merge pull request #21821 from vieux/make_help
add `make help`
2016-04-07 02:51:27 +00:00
Kai Qiang Wu(Kennan)
0b207e7558 Fix deprecated format for security-opt
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-04-07 02:09:18 +00:00
Anusha Ragunathan
dbd9b7e121 Be more lenient on auplink errors.
On aufs, auplink is run before the Unmount. Irrespective of the
result, we proceed to issue a Unmount syscall. In which case,
demote erros on auplink to warning.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-04-06 18:24:19 -07:00
Victor Vieux
b967e381aa remove docker info warnings (if any) from Makefile
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-04-06 16:57:33 -07:00
Victor Vieux
c72b51b09c add make help
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-04-06 16:57:28 -07:00
John Howard
9d7f6bb921 Merge pull request #21733 from Microsoft/sjw/updatepending
Adding postRunProcessing infrastructure for hanlding Windows Update.
2016-04-06 15:36:39 -07:00
Phil Estes
c6f45fd2ee Lazy init useradd and remove init()
This should not have been in init() as it causes these lookups to happen
in all reexecs of the Docker binary. The only time it needs to be
resolved is when a user is added, which is extremely rare.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-04-06 17:53:45 -04:00
Tibor Vass
76aefc18f9 Merge pull request #21691 from tonistiigi/fix-gccgo-make
Fix building gccgo from makefile
2016-04-06 17:31:59 -04:00
Alexander Morozov
3f358aeaca integration-cli: try to make TestEventsTimestampFormats less flaky
Fix #21749

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-04-06 14:31:39 -07:00
Sebastiaan van Stijn
d82e522e36 Merge pull request #21810 from aboch/vnd
Vendoring libnetwork v0.7.0-rc.4
2016-04-06 14:18:33 -07:00
Alexander Morozov
65464d11f1 Merge pull request #21809 from Microsoft/jjh/tp4removal
Windows: Remove TP4 support from main codebase
2016-04-06 14:11:33 -07:00
Stefan J. Wernli
818a5198e4 Adding postRunProcessing infrastructure for hanlding Windows Update.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-04-06 14:03:05 -07:00
Stefan J. Wernli
ef5bfad321 Adding readOnly parameter to graphdriver Create method
Since the layer store was introduced, the level above the graphdriver
now differentiates between read/write and read-only layers.  This
distinction is useful for graphdrivers that need to take special steps
when creating a layer based on whether it is read-only or not.
Adding this parameter allows the graphdrivers to differentiate, which
in the case of the Windows graphdriver, removes our dependence on parsing
the id of the parent for "-init" in order to infer this information.

This will also set the stage for unblocking some of the layer store
unit tests in the next preview build of Windows.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-04-06 13:52:53 -07:00
Phil Estes
1771d35b48 Don't perform external setkey when net==host
This else case was lost in the migration from native execdriver to OCI
implementation via runc. There is no need to have external setkey when
--net=host.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2016-04-06 16:45:43 -04:00
John Howard
ccd0da908a Windows: Fix failing unit tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-06 13:42:15 -07:00
Phil Estes
40dc921da2 Merge pull request #21805 from LK4D4/unused_stuff
all: remove some unused funcs and variables
2016-04-06 16:27:14 -04:00
Vincent Demeester
5709f8e422 Merge pull request #21092 from WeiZhang555/fix-21064-detach-keys
Client print error when specify wrong detach keys
2016-04-06 22:14:14 +02:00
Tibor Vass
02297d5a33 Merge pull request #21794 from coolljt0725/cleanipc_quiet
Don't throw error on clenaup ipc mounts if it does not exists
2016-04-06 16:10:53 -04:00
Sebastiaan van Stijn
2bbe75cdb6 Merge pull request #21783 from vieux/fix_21772
do not trim one char from {{.Names}} each time it is used in --format
2016-04-06 13:01:22 -07:00
Tibor Vass
8c361eb5da Merge pull request #21723 from devimc/master
Fix compilation errors with btrfs-progs-4.5
2016-04-06 15:56:42 -04:00
Tibor Vass
6bd429cb2a Merge pull request #21802 from tiborvass/carry-21716
Carry 21716: When container had no layer data, cleanupContainer crashed
2016-04-06 15:21:38 -04:00
Alessandro Boch
8a957bafa5 Vendoring libnetwork v0.7.0-rc.4
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-04-06 12:18:21 -07:00
John Howard
331c8a86d4 Windows: Remove TP4 support from main code
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-06 12:12:20 -07:00
Brian Goff
40ccb7114e Merge pull request #21768 from shishir-a412ed/fix_docker_run
Ignore os.IsNotExist errors when calling ToDiskLocking
2016-04-06 14:12:38 -04:00
Victor Vieux
68ade49ada do not trim one char from {{.Names}} each time it is used in --format
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-04-06 11:04:13 -07:00
Alexander Morozov
27f50c40e6 Merge pull request #21804 from mlaventure/arm-fix
Skip migration unit test on non amd64 platform
2016-04-06 11:01:23 -07:00
Tibor Vass
a79e79c58e Merge pull request #21780 from sanimej/libn-v0.7rc2
Vendor Libnetwork v0.7.0-rc.3
2016-04-06 13:54:21 -04:00
Alexander Morozov
5ee8652a21 all: remove some unused funcs and variables
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-04-06 10:40:01 -07:00
Sebastiaan van Stijn
636e7760e2 Merge pull request #21787 from npcode/fix-docs-plugin-api-markdown
Fix incorrect markdown rendering
2016-04-06 10:18:11 -07:00
Sebastiaan van Stijn
3d800dc019 Merge pull request #21712 from yongtang/21335-docs-container-with-volumes
Remote API docs give incorrect example for creating a container with volumes.
2016-04-06 10:15:37 -07:00
Kenfe-Mickael Laventure
cf73ebf280 Skip migration unit test on non amd64 platform
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-04-06 10:10:58 -07:00
Sebastiaan van Stijn
bbcbed3b54 Merge pull request #21799 from coolljt0725/fix_docs
Correct the description of --group-add in run.md
2016-04-06 10:02:32 -07:00
Sebastiaan van Stijn
0e5694412b Merge pull request #21790 from thaJeztah/carry-21241-explain-build-cache
[carry 21241] explain the impact on build caching more clearly
2016-04-06 10:00:11 -07:00
mYmNeo
0bfc9c8de0 when container had no layer data, cleanupContainer crashed
Signed-off-by: mYmNeo <thomassong@tencent.com>
2016-04-06 12:40:20 -04:00
mYmNeo
ce87de21a7 fix TestCreateShrinkRootfs and TestCreateShrinkRootfs
Signed-off-by: mYmNeo <thomassong@tencent.com>
2016-04-06 12:40:20 -04:00
mYmNeo
90f512427f fix test requirement about devicemapper and not overlay
Signed-off-by: mYmNeo <thomassong@tencent.com>
2016-04-06 12:40:19 -04:00
Tibor Vass
c7cf245053 Merge pull request #21751 from tonistiigi/runc-maskedpaths
Define readonly/mask paths in spec
2016-04-06 12:16:28 -04:00
Shishir Mahajan
606cf5310d Ignore os.IsNotExist errors when calling ToDiskLocking
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-04-06 11:17:56 -04:00
John Howard
f3da0c9055 Merge pull request #21669 from msabansal/expose
Enabling expose support for Windows TP5
2016-04-06 07:52:07 -07:00
Brian Goff
e24673def2 Merge pull request #21795 from mountkin/refactor-init
refactor the init function in docker_utils.go
2016-04-06 10:39:55 -04:00
Brian Goff
891023617a Merge pull request #21779 from Microsoft/jjh/dockerfile
Windows: Dockerfile for TP5
2016-04-06 10:23:53 -04:00
Brian Goff
c760ea3d93 Merge pull request #21785 from Microsoft/jjh/nodeletenat
Windows: integration-cli don't delete nat
2016-04-06 10:20:58 -04:00
Lei Jitang
9a7f2e7268 Correct the description of --group-add in run.md
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-06 21:52:10 +08:00
Shijiang Wei
50d5d55f56 refactor the init function in docker_utils.go
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-04-06 20:16:00 +08:00
Lei Jitang
5bd1786387 Don't throw error on clenaup ipc mounts if it does not exists
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-04-06 07:34:31 -04:00
mikelinjie
66b8714da4 make the cache miss clear
Signed-off-by: mikelinjie <294893458@qq.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-06 00:48:21 -07:00
Lei Jitang
bb9b17314d Merge pull request #21789 from npcode/docs-plugins-authorization-null
Use 'null' instead of 'nil' for json
2016-04-06 15:29:40 +08:00
Yi EungJun
2f69d7689d Use 'null' instead of 'nil' for json
When describe json response, 'null' is better than 'nil' which is not in
json specification.

Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-04-06 16:13:48 +09:00
Yi EungJun
4a698c9c43 Fix incorrect markdown rendering
The docker document site [1] rendered the list of plugin implements
incorrectly.

[1]: https://docs.docker.com/engine/extend/plugin_api

Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-04-06 15:37:49 +09:00
Santhosh Manohar
5b892819a6 Vendor Libnetwork v0.7.0-rc.3
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-04-05 22:01:19 -07:00
Aaron Lehmann
81b01b44c6 Merge pull request #21767 from allencloud/fix-typos
fix typos
2016-04-05 20:32:14 -07:00
allencloud
34700cc1f3 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-04-06 10:35:01 +08:00
John Howard
d6ab2ad36d Windows: integration-cli don't delete nat
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-05 19:29:43 -07:00
John Howard
83809de7d4 Windows: Dockerfile for TP5
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-05 19:08:20 -07:00
Qiang Huang
50a6181005 Add minimum limit for memory reservation
Kernel has no limit for memory reservation, but in different
kernel versions, the default behavior is different.

On kernel 3.13,
docker run --rm --memory-reservation 1k busybox cat /sys/fs/cgroup/memory/memory.soft_limit_in_bytes
the output would be 4096, but on kernel 4.1, the output is 0.

Since we have minimum limit for memory and kernel memory, we
can have this limit for memory reservation as well, to make
the behavior consistent.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-04-06 09:37:51 +08:00
John Howard
5175c9a5ea Windows: So long TP4, so long...
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-05 16:39:27 -07:00
Darren Stahl
80d6f672f5 Stop running symlink-volume tests on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-04-05 16:37:00 -07:00
John Howard
fc9912fd00 Merge pull request #21272 from Microsoft/jstarks/manifest_updates
Add os_version and os_features to Image
2016-04-05 16:16:25 -07:00
Alexander Morozov
806a8e22b9 Merge pull request #21755 from cpuguy83/bytespipe_allocs
Improve performance/reduce allocs of bytespipe
2016-04-05 14:43:57 -07:00
Brian Goff
9a25b1d942 Improve performance/reduce allocs of bytespipe
Creates a `fixedBuffer` type that is used to encapsulate functionality
for reading/writing from the underlying byte slices.

Uses lazily-loaded set of sync.Pools for storing buffers that are no
longer needed so they can be re-used.

```
benchmark                     old ns/op     new ns/op     delta
BenchmarkBytesPipeWrite-8     138469        48985         -64.62%
BenchmarkBytesPipeRead-8      130922        56601         -56.77%

benchmark                     old allocs     new allocs     delta
BenchmarkBytesPipeWrite-8     18             8              -55.56%
BenchmarkBytesPipeRead-8      0              0              +0.00%

benchmark                     old bytes     new bytes     delta
BenchmarkBytesPipeWrite-8     66903         1649          -97.54%
BenchmarkBytesPipeRead-8      0             1             +Inf%
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-04-05 13:06:04 -04:00
Vincent Demeester
83bc8d2b8c Merge pull request #21763 from larsbutler/names-generator-comment-typo-fix
Fix spelling error in names-generator.go
2016-04-05 13:58:14 +02:00
Lars Butler
0cad90911f Fix spelling error in names-generator.go
Signed-off-by: Lars Butler <Lars.Butler@gmail.com>
2016-04-05 12:34:52 +02:00
Vincent Demeester
8d31b0f051 Merge pull request #21719 from senk/21710-fix-client-help-text
Fixing help text of "docker network --help" to be consistent
2016-04-05 09:38:35 +02:00
Vincent Demeester
deedb063b3 Merge pull request #21713 from sunyuan3/kernel-memory20160401
Add pause status check for --kernel-memory
2016-04-05 09:37:39 +02:00
Tonis Tiigi
3f81b49352 Define readonly/mask paths in spec
This vendors in new spec/runc that supports
setting readonly and masked paths in the 
configuration. Using this allows us to make an
exception for `—-privileged`.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-04-04 18:55:55 -07:00
Michael Crosby
d20933c461 Merge pull request #21722 from cyphar/make-listeners-new-pkg
move docker/listeners to pkg/listeners
2016-04-04 13:28:50 -07:00
John Starks
194eaa5c0f Add os_version and os_features to Image
These fields are needed to specify the exact version of Windows that an
image can run on. They may be useful for other platforms in the future.

This also changes image.store.Create to validate that the loaded image is
supported on the current machine. This change affects Linux as well, since
it now validates the architecture and OS fields.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-04-04 13:14:57 -07:00
Alexander Morozov
35268ee824 Merge pull request #21730 from thaJeztah/improve-udev-error
Improve udev unsupported error message
2016-04-04 09:30:23 -07:00
Tibor Vass
0ed27f686f Merge pull request #21745 from kencochrane/fix_release_sh_typo
Fixed a typo in release.sh
2016-04-04 09:45:36 -04:00
Ken Cochrane
e7d54a4133 Fixed a typo in release.sh
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-04 09:27:14 -04:00
Zhang Wei
91e5bb9541 Let client print error when speicify wrong detach keys
Fix #21064

Let client print error message explicitly when user specifies wrong
detach keys.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-04 15:35:55 +08:00
Zhang Wei
e1a4332c13 vendor engine-api 8924d6900370b4c7e7984b
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-04-04 15:32:26 +08:00
Dave MacDonald
e57900a269 Improved message when pushing a non-existant image
The prior error message caused confusion.  If a user attempts to push an
image up to a registry, but they misspelled (or forgot to properly tag
their image) they would see the message 'Repository does not exist', which
is not very clear and causes some to think that there might be a problem
with the registry or connectivity to it, when the problem was simply just
that an image with that tag specified does not exist locally.

Signed-off-by: Dave MacDonald <mindlapse@gmail.com>
2016-04-03 16:25:07 -04:00
Yong Tang
4ed2040258 Remote API docs give incorrect example for creating a container with volumes.
This fix tries to address the issue mentioned in Docker Remote API where
the examples for creating a container (`POST /containers/create`) with
volumes were incorrect. In the previous remote API document, the `Mounts`
fields was used for volume creation yet since v1.20 `Volumes` should be
used.

This fix fixes #21335.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-04-02 19:59:02 +00:00
Sebastiaan van Stijn
b8f38747e6 Improve udev unsupported error message
Show a different message if a dynamic binary
is running, but doesn't have udev sync support.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-04-01 13:31:44 -07:00
Michael Crosby
8eb8a1d6b8 Merge pull request #21709 from crosbymichael/clear-notify-socket
Clear nofity socket from containerd env
2016-04-01 11:15:05 -07:00
Michael Crosby
365401703d Clear nofity socket from containerd env
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-04-01 11:02:14 -07:00
Julio Montes
a038cccf88 Fix compilation errors with btrfs-progs-4.5
btrfs-progs-4.5 introduces device delete by devid
for this reason btrfs_ioctl_vol_args_v2's name was encapsulated
in a union

this patch is for setting btrfs_ioctl_vol_args_v2's name
using a C function in order to preserve compatibility
with all btrfs-progs versions

Signed-off-by: Julio Montes <imc.coder@gmail.com>
2016-04-01 08:58:29 -06:00
Aleksa Sarai
619bf56778 pkg: listeners: clean up to act like a library
Now that listeners is no longer an internal of the client, make it less
Docker-specific (despite there still being some open questions as how to
deal with some of the warnings that listeners has to emit). We should
move as much of the Docker-specific stuff (especially the port
allocation) to docker/ where it belongs (or maybe pass a check function).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-04-02 01:09:29 +11:00
Aleksa Sarai
e3a8c8388f pkg: listeners: separate out the listeners package
This code will be used in containerd and is quite useful in general to
people who want a nice way of creating listeners from proto://address
arguments (even supporting socket activation). Separate it out from
docker/ so people can use it much more easily.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-04-02 01:09:29 +11:00
Robin Naundorf
737219bbdb Fixing help text of "docker network --help" to be consistend
Changed from hashmap to multidimensional array as in "docker volume --help"
closes #21710

Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-04-01 14:14:09 +02:00
Yuan Sun
16dfb38fb8 Add pause status check for --kernel-memory
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2016-04-01 10:32:46 +08:00
Tianon Gravi
b82fc524a7 Also generate "InRelease" files for newer APT clients
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-03-31 17:39:50 -07:00
Sebastiaan van Stijn
4a7bd7eaef Merge pull request #20410 from tkopczynski/20236-info-insecure-registry
Add insecure registries to docker info
2016-03-31 16:39:25 -07:00
Tibor Vass
3acb466f2d Merge pull request #21695 from kencochrane/change_tgz_to_zip_on_windows
Change the windows bundle from a .tgz to a .zip file
2016-03-31 18:40:37 -04:00
Alexander Morozov
ad4750cf3a Merge pull request #21694 from LK4D4/remove_unused_pkg
pkg: cleanup some unused code
2016-03-31 15:06:35 -07:00
Sebastiaan van Stijn
42494720c2 Merge pull request #21687 from allencloud/fix-typos
fix typos
2016-03-31 14:18:31 -07:00
Aaron Lehmann
dd94c88376 Merge pull request #21698 from tonistiigi/fix-flaky-websocket-attach-test
Fix flaky TestGetContainersAttachWebsocket
2016-03-31 14:03:58 -07:00
David Calavera
6b4f7e6b7f Merge pull request #21696 from LK4D4/cleanup_unused_daemon
daemon: remove some unused code
2016-03-31 13:55:27 -07:00
Tibor Vass
f19f91d0da Merge pull request #21693 from cyli/fix-trusted-build-and-run
Request pull credentials when using trusted reference
2016-03-31 16:35:06 -04:00
David Calavera
3e03fc913a Merge pull request #21692 from tonistiigi/fix-events-timer
Fix race with event timer stopping early
2016-03-31 13:11:43 -07:00
Ken Cochrane
fda99a7e16 Change the windows .tgz to a .zip file
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-03-31 15:56:13 -04:00
David Calavera
00031c15b5 Merge pull request #21679 from tonistiigi/no-pivot-root
Bring back support for DOCKER_RAMDISK
2016-03-31 12:40:57 -07:00
Alexander Morozov
07b568cb53 pkg: cleanup some unused code
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-31 11:39:59 -07:00
Tonis Tiigi
85354fb77c Fix flaky TestGetContainersAttachWebsocket
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-31 11:31:48 -07:00
Alexander Morozov
b9966f3a81 daemon: remove some unused code
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-31 11:24:12 -07:00
cyli
df9cc3d922 Request pull credentials when using trusted reference
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-03-31 10:56:19 -07:00
Alexander Morozov
2d18ed7e4b Merge pull request #21356 from cpuguy83/stdcopy_allocs
Optimizations for StdWriter
2016-03-31 10:54:45 -07:00
Tonis Tiigi
8b408fd66b Fix building gccgo from makefile
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-31 10:35:56 -07:00
Tonis Tiigi
8a4225cd5a Bring back support for DOCKER_RAMDISK
Fixes #21631

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-31 10:29:32 -07:00
Tonis Tiigi
b38cee9f9c Fix race between with event timer stopping early
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-31 09:49:07 -07:00
David Calavera
61ca308676 Merge pull request #21685 from runcom/int-fix-tiny
integration-cli: add info to fatal log
2016-03-31 09:44:05 -07:00
Sebastiaan van Stijn
b27f17c9ea Merge pull request #21688 from mcuadros/patch-1
documentation: adding gce-docker plugin to plugins.md
2016-03-31 07:40:41 -07:00
moxiegirl
0d93335962 Merge pull request #21681 from senk/21653-api-docs-revisit
Fixed api docs
2016-03-31 07:32:57 -07:00
Máximo Cuadros
c018018b69 documentation: adding gce-docker plugin to plugins.md
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
2016-03-31 15:22:02 +02:00
Antonio Murdaca
eb0f9f6641 integration-cli: add info to fatal log
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-31 12:38:47 +02:00
Vincent Demeester
47fa54aea3 Merge pull request #21664 from calavera/label_one_layer_images
Apply build labels to images with only a FROM tag.
2016-03-31 11:52:18 +02:00
Vincent Demeester
3d4b3cb424 Merge pull request #21676 from aaronlehmann/tmpfile-close
Pull: only close temporary file once
2016-03-31 11:49:37 +02:00
Antonio Murdaca
60821fe288 Merge pull request #21665 from cyphar/bump-runc
vendor: bump runc to 2441732d6fcc0fb0a542671a4372e0c7bc99c19e
2016-03-31 11:38:57 +02:00
Antonio Murdaca
79e0eb2000 Merge pull request #21671 from mavenugo/rc1
Vendor Libnetwork v0.7.0-rc.1
2016-03-31 11:35:21 +02:00
Antonio Murdaca
156c5db889 Merge pull request #21677 from aaronlehmann/layer-store-locking
Fix layer store Get locking
2016-03-31 11:35:02 +02:00
Vincent Demeester
f4b915ad7d Merge pull request #21572 from konstruktoid/systemd_doc
systemctl show, no need to sudo
2016-03-31 10:26:28 +02:00
Vincent Demeester
e6f2429e01 Merge pull request #21607 from allencloud/change-validateNoSchema-to-validateNoScheme
change validateNoSchema to validateNoScheme
2016-03-31 10:14:23 +02:00
Robin Naundorf
5d2f6b3ea3 Fixed docs fixes #21653
Fixed some http status codes and decreased site-order for docker_remote_api_v1.24.md to appear in the right order in the menu
Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-03-31 08:39:40 +02:00
Tomasz Kopczynski
44a50abe7b Add insecure registries to docker info
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-03-31 08:27:24 +02:00
Sebastiaan van Stijn
c7b63338f0 Merge pull request #21637 from tonistiigi/refactor-cleanup
Fix container mount cleanup issues
2016-03-30 23:25:23 -07:00
Sebastiaan van Stijn
ffee5588cd Merge pull request #21372 from anusha-ragunathan/ctrd-rebase
Update mount state of live containers after a daemon crash.
2016-03-30 23:10:04 -07:00
Aaron Lehmann
930ae3dbcb Pull: only close temporary file once
Close could be called twice on a temporary download file, which could
have bad side effects.

This fixes the problem by setting to ld.tmpFile to nil when the download
completes sucessfully. Then the call to ld.Close will have no effect,
and only the download manager will close the temporary file when it's
done extracting the layer from it. ld.Close will be responsible for
closing the file if we hit the retry limit and there is still a partial
download present.

Fixes #21675

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-30 22:44:54 -07:00
allencloud
5c161ade98 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-31 13:26:46 +08:00
allencloud
28d3c22e55 1.change validateNoSchema into validateNoScheme
2.change schema into scheme in docs and some annotations.

Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-31 12:29:15 +08:00
Aaron Lehmann
0538981c31 Fix layer store Get locking
Get was calling getReference without layerL held. This meant writes to
the references map could race. Such races are dangerous because they can
corrupt the map and crash the process.

Fixes #21616
Fixes #21674

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-30 19:34:51 -07:00
Madhu Venugopal
90bb5301b5 Vendor Libnetwork v0.7.0-rc.1
- Fixes https://github.com/docker/libnetwork/issues/1051
- Fixes https://github.com/docker/libnetwork/issues/985
- Fixes https://github.com/docker/libnetwork/issues/945
- Log time taken to set sandbox key
- Limit number of concurrent DNS queries

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-30 18:12:23 -07:00
Brian Goff
81d9eaa27e Merge pull request #21600 from Microsoft/jstarks/escape_entrypoint
Windows: escape entrypoint before passing to libcontainerd
2016-03-30 18:00:32 -07:00
Tonis Tiigi
05cc737f54 Fix container mount cleanup issues
- Refactor generic and path based cleanup functions into a single function.
- Include aufs and zfs mounts in the mounts cleanup.
- Containers that receive exit event on restore don't require manual cleanup.
- Make missing sandbox id message a warning because currently sandboxes are always cleared on startup. libnetwork#975
- Don't unmount volumes for containers that don't have base path. Shouldn't be needed after #21372

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-30 17:25:49 -07:00
msabansal
4982a732f3 Enabling expose support for Windows TP5
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-03-30 17:25:41 -07:00
Aleksa Sarai
da38ac6c79 vendor: bump runc to 2441732d6fcc0fb0a542671a4372e0c7bc99c19e
Also modify an integration test that hardcoded the error string so it
uses the exported error variable from libcontainer/user.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-31 11:20:38 +11:00
Tibor Vass
c43deb2ea1 Merge pull request #21662 from anusha-ragunathan/ctrd_debugLogs
Redirect containerd stdout/stderr to the docker stream.
2016-03-30 19:38:32 -04:00
David Calavera
0dac544448 Merge pull request #21309 from nalind/journal-error-reporting
Improve error reporting when following journals
2016-03-30 16:15:34 -07:00
David Calavera
a7742e4379 Merge pull request #21636 from calavera/remove_builder_from_api
Remove builder dependency from the api.
2016-03-30 15:20:05 -07:00
David Calavera
ea7d2192e2 Merge pull request #21661 from twistlock/client_cert_auth_docs
Add short description about default authentication method in authorization docs
2016-03-30 15:18:54 -07:00
David Calavera
9d5c26bed2 Merge pull request #21666 from thaJeztah/undeprecate-auto-generated-paths
Un-deprecate auto-creation of host directories for mounts
2016-03-30 15:18:08 -07:00
Sebastiaan van Stijn
0f70f53826 Un-deprecate auto-creation of host directories for mounts
Auto-creation of host-directories was marked deprecated in
Docker 1.9, but was decided to be too much of an backward-incompatible
change, so it was decided to keep the feature.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-30 15:00:09 -07:00
David Calavera
1a85c8ebbe Apply build labels to images with only a FROM tag.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-30 17:28:13 -04:00
David Calavera
8c06ba3665 Merge pull request #21625 from kencochrane/fix_tgz_directory
Change the directory inside of tgz files.
2016-03-30 13:11:55 -07:00
John Starks
6fa0239772 Windows: escape entrypoint before passing to libcontainerd
This makes Windows behavior consistent with Linux -- the entry point must
be an executable, not an executable and set of arguments.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-30 12:59:50 -07:00
John Starks
86ab343c3e Windows: fix tests depending on entrypoint split behavior
Existing tests assume that the entrypoint in a docker run command will be
split into multiple arguments, which is inconsistent with Linux. Fix the
tests depending on this behavior.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-30 12:59:50 -07:00
Anusha Ragunathan
d9c3b653c0 Redirect containerd stdout/stderr to the docker stream.
Its useful to have containerd logs as part of docker.
Containerd metrics are too chatty, so set interval to 0.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-30 12:26:59 -07:00
Liron Levin
b2f2f162ad Add short description about default authentication method in authorization docs
Following the discussion in #21556, adding a short description of the
default user authentication mechanism (without requiring authentication
plugins)
Signed-off-by: Liron Levin <liron@twistlock.com>
2016-03-30 21:16:19 +03:00
Tibor Vass
8dabc0c39b Merge pull request #21574 from tkopczynski/20784-builder-context-tests
Builder/context unit tests
2016-03-30 14:04:51 -04:00
Vincent Demeester
a5e220b1e3 Merge pull request #21640 from hqhq/hq_remove_tryit
Remove the tryit tutotial in README
2016-03-30 17:17:33 +02:00
Sebastiaan van Stijn
450b472174 Merge pull request #21648 from senk/21627-fix-api-docs
Fixed some differences between API and Docs
2016-03-30 08:07:46 -07:00
Vincent Demeester
0bdcbe5dd2 Merge pull request #21624 from LK4D4/fix_store_races
volume/store: fix couple of races with accessing maps
2016-03-30 14:07:37 +02:00
Robin Naundorf
370dbe0cd9 Fixed some differences between API and Docs in v1.22,v1.23,v1.24
Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-03-30 14:04:25 +02:00
Vincent Demeester
4745656e18 Merge pull request #21645 from albers/completion-history--human
bash completion for `docker history --human`
2016-03-30 12:19:47 +02:00
Yong Tang
190654aa2e Show "seccomp" in docker info (#20909).
This pull request added a `SecurityOptions` field in the `GET /info`
output to show if there is `apparmor`, `seccomp`, or `selinux` suport.

The API changes are updated in the documentation and the update in
`GET /info` is covered by the test case in `TestInfoApi`.

This pull request fixes #20909.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-30 09:23:15 +00:00
Vincent Demeester
2f35c6b3fb Merge pull request #21491 from pcarrier/pcarrier/wtf
docker.service: don't limit tasks
2016-03-30 11:08:15 +02:00
Sebastiaan van Stijn
71cab5b0dc Merge pull request #21629 from thaJeztah/bump-runc
Bump runC to 40f4e7873d88a4f4d12c15d9536bb1e34aa2b7fa
2016-03-29 23:07:12 -07:00
Harald Albers
a2dbf7626c bash completion for docker history --human
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-29 21:56:24 -07:00
Tomasz Kopczynski
61ca9cc99e Builder/tarsum unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-03-30 06:40:40 +02:00
Alexander Morozov
d02e24f27d Merge pull request #21603 from aaronlehmann/testtransfer-flakiness-2
Fix flaky test TestTransfer (take 2)
2016-03-29 21:40:38 -07:00
Tibor Vass
d800be743d Merge pull request #21591 from riyazdf/hardware-signing-non-experimental
move hardware signing out of experimental, remove yubico-piv-tool deps
2016-03-30 00:09:22 -04:00
Yong Tang
2d03c54388 Flaky test: TestRunAttachFailedNoLeak (#21247)
This pull request tries to diagnosis and fix the flaky test of
TestRunAttachFailedNoLeak. The test failed several times in
Docker CI but is very difficult to repeat even in CI.

This pull request first try to repeat the issue at the Jenkins
server with some diagnosis message added to the output in case
the test fails again.

Since the added ouputs will only be invoked when test fails,
it will not add any unnecessary content in normal situations.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-30 02:33:50 +00:00
Sebastiaan van Stijn
457eb89bd5 Merge pull request #21638 from yongtang/21605-docs-Warnings-in-volumes-API
Update documentations for `Warnings` fields in `GET /volumes` API
2016-03-29 19:11:36 -07:00
Yong Tang
d773927985 Update documentations for Warnings fields in GET /volumes API
This fix updated documentations to add the `Warnings` fields in
`GET /volumes` API.

The `Warnings` has been part of the `GET /volumes` API response
since Docker 1.10 (v1.21). However, the `Warnings` field is not
in the documentation so there are some confusions (See #21606).

This fix updated the related documentations in v1.22, v1.23, and
v1.24 and added this field to the API.

This fix is related to #21605.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-30 01:35:39 +00:00
Qiang Huang
ad03f920c9 Remove the tryit tutotial in README
It's no longer there.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-30 08:47:24 +08:00
Sebastiaan van Stijn
eaf138af1f Merge pull request #21598 from aaronlehmann/not-found-error
Change v1 pull 404 message to include tag
2016-03-29 17:28:12 -07:00
Sebastiaan van Stijn
752b31d3fe Bump runC to 40f4e7873d88a4f4d12c15d9536bb1e34aa2b7fa
This includes fixes for;

- outputing errors for missing seccomp options on seccomp versions < 2.3
- cap set apply EPERM errors on ARM systems

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-29 17:10:05 -07:00
David Calavera
d12b7c7e3e Remove builder dependency from the api.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-29 17:02:36 -07:00
David Calavera
99adcaebc0 Merge pull request #21592 from anusha-ragunathan/docker-systemd
When using systemd, pass expected cgroupsPath and cli options to runc.
2016-03-29 17:00:10 -07:00
Sebastiaan van Stijn
7e63ed90aa Merge pull request #21610 from albers/completion-no-new-privileges
bash completion for `docker {run,create} --security-opt no-new-privileges
2016-03-29 16:52:04 -07:00
Sebastiaan van Stijn
bf18ab1869 Merge pull request #21623 from albers/completion-options-false
bash completions: Improve consistency for boolean options with default=true
2016-03-29 16:42:13 -07:00
David Calavera
34e05f5cb1 Merge pull request #21630 from LK4D4/fix_create_list_races
daemon: register container as late as possible
2016-03-29 16:34:19 -07:00
Brian Goff
5106c51666 More logs for TestDaemonNoSpaceleftOnDeviceError
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-29 15:24:05 -07:00
Anusha Ragunathan
511a70583f Update mount state of live containers after a daemon crash.
Fix unmount issues in the daemon crash and restart lifecycle, w.r.t
graph drivers. This change sets a live container RWLayer's activity
count to 1, so that the RWLayer is aware of the mount. Note that
containerd has experimental support for restore live containers.

Added/updated corresponding tests.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-29 14:42:43 -07:00
Brian Goff
8899896992 Merge pull request #21620 from LK4D4/fix_libcd_race
libcontainerd: reuse our pkg/locker
2016-03-29 14:37:53 -07:00
Anusha Ragunathan
7ed3d265a4 When using systemd, pass expected cgroupsPath and cli options to runc.
runc expects a systemd cgroupsPath to be in slice:scopePrefix:containerName
format and the "--systemd-cgroup" option to be set. Update docker accordingly.

Fixes 21475

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-29 14:20:10 -07:00
Alexander Morozov
114be249f0 daemon: register container as late as possible
fixes races between list and create

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-29 13:52:18 -07:00
Ken Cochrane
7df5b32834 Change the directory inside of tgz files.
Currently the directory inside of the tgz files is /usr/local/bin
and this is causing some confusion, and problems with people who already
have stuff in those directories. This commit changes the directory
to /docker to help remove the confusion.

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-03-29 14:39:28 -04:00
David Calavera
d78f8f2796 Merge pull request #21608 from albers/build-clone-https
Use https for `git clone` in build
2016-03-29 11:30:35 -07:00
David Calavera
0fa96f2463 Merge pull request #21593 from aboch/bdvnd
Vendoring boltb/bolt v1.2.0
2016-03-29 11:29:30 -07:00
Alexander Morozov
e6d87c0706 volume/store: fix couple of races with accessing maps
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-29 10:46:29 -07:00
Harald Albers
39b9b63e36 bash completions: Improve consistency for options with default=true
Completion of these options was not handled consistently.
Now all such options immediatly complete with =false appended.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-29 10:24:45 -07:00
Aaron Lehmann
745892a7b2 Change v1 pull 404 message to include tag
The current error message is "Error: image [name] not found". This makes
sense from the perspective of the v1 pull, since we found the repository
doesn't exist over the v1 protocol. However, in the vast majority of
cases, this error will be produced by fallback situations, where we
first try to pull the tag with the v2 protocol, and then fall back the
v1 protocol, which probably isn't even supported by the server.
Including the tag in the error message makes a lot more sense since the
actual repository may exist on v2, but not the tag.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-29 10:04:59 -07:00
Alexander Morozov
a7851e2556 libcontainerd: reuse our pkg/locker
it fixes race with access to containerMutexes

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-29 09:43:12 -07:00
Sebastiaan van Stijn
e42c164763 Merge pull request #18747 from thaJeztah/update-authors
Update AUTHORS
2016-03-29 09:41:21 -07:00
Tibor Vass
c1706d722f Merge pull request #21619 from mlaventure/use-debian-llvm-repo
Update the llvm repo to use the debian jessie url
2016-03-29 12:09:10 -04:00
Arnaud Porterie
1da40fb4ba Merge pull request #21586 from calavera/remove_runconfig_from_routes
Remove runconfig package dependency from the API.
2016-03-29 08:40:49 -07:00
Kenfe-Mickael Laventure
73672c5bd8 Update the llvm repo to use the debian jessie url
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-29 08:39:16 -07:00
Alexander Morozov
d33480474f Merge pull request #21599 from tonistiigi/separate-daemon-exec-root
Use separate exec-root for test daemons
2016-03-29 07:52:18 -07:00
Harald Albers
e96d086afd bash completion for docker {run,create} --security-opt no-new-privileges
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-29 09:59:04 +02:00
Vincent Demeester
78076d5cf9 Merge pull request #21585 from tophj-ibm/ppc64le-bump-go1.6
ppc64le: bump golang back to 1.6
2016-03-29 09:58:20 +02:00
Vincent Demeester
4aa36da9ad Merge pull request #21602 from aaronlehmann/login-log-message
Correct login debug log message
2016-03-29 09:56:08 +02:00
Harald Albers
a7e9bf6cb7 Use https for git clone in build
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-29 09:35:42 +02:00
Vincent Demeester
6eb3835995 Merge pull request #21529 from LK4D4/test_exit_early
integration-cli: exit early if daemon immedately crashed
2016-03-29 09:34:17 +02:00
Vincent Demeester
08db95161a Merge pull request #21597 from aaronlehmann/mention-docker-login
Mention "docker login" in push/pull documentation
2016-03-29 09:27:53 +02:00
Vincent Demeester
b9d59e86d3 Merge pull request #21576 from albers/docs-daemon--containerd
docs for `docker daemon --containerd`
2016-03-29 09:25:16 +02:00
Vincent Demeester
9021b048f5 Merge pull request #21589 from tkopczynski/20784-builder-tests
Builder/dockerignore tests
2016-03-29 09:20:15 +02:00
Vincent Demeester
53f3248d90 Merge pull request #21561 from HackToday/addman
Add man change for volume filter
2016-03-29 09:18:16 +02:00
Vincent Demeester
e6aa40a017 Merge pull request #19367 from shishir-a412ed/rootfs_size_configurable_cli
CLI flag for docker create(run) to change block device size.
2016-03-29 08:52:54 +02:00
Sebastiaan van Stijn
f95058aa0f Merge pull request #21596 from trumpcard/master
Fix a link in the volumes doc to the deprecated doc.
2016-03-28 19:25:10 -07:00
Sebastiaan van Stijn
eeaf14395e Merge pull request #21541 from yongtang/20909-engine-api
Update vendored engine-api to e37a82dfcea64559ca6a581776253c01d83357d9.
2016-03-28 19:01:15 -07:00
Sebastiaan van Stijn
6114072ffc Merge pull request #21587 from Microsoft/jjh/bridgeconfig
Windows: bridgeConfig rework
2016-03-28 18:45:41 -07:00
Aaron Lehmann
0dea21f446 Fix flaky test TestTransfer (take 2)
TestTransfer failed in CI:
https://jenkins.dockerproject.org/job/Docker-PRs-experimental/17103/console

This is the same issue as https://github.com/docker/docker/pull/21233,
but only one of the code paths was fixed in that PR. The one which
handles the first progress update was not - it still assumed that the
progress indication should be 0/10.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-28 18:27:29 -07:00
Aaron Lehmann
e42f85080b Correct login debug log message
I noticed the following message in a daemon log:

```
attempting v2 login to registry endpoint {%!s(bool=false) https://registry:5000 v2 %!s(bool=false) %!s(bool=true) %!s(*tls.Config=&{<nil> <nil> [] map[] <nil> 0xc82075c030 []  0 <nil> false [49196 49200 49195 49199 49162 49161 49172 49171 53 47] true false [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] <nil> 769 0 [] {{0 0} 0} {{0 0} 0 0 0 0} []})}
```

loginV2 tries to log an APIEndpoint as a string, but this struct does
not have a String method. Log the actual URL that will be used as the
endpoint, instead.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-28 18:22:24 -07:00
Tonis Tiigi
0d9b94c4c5 Use separate exec-root for test daemons
Fixes #21545

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-28 17:38:14 -07:00
Aaron Lehmann
fb5ea0c0ef Mention "docker login" in push/pull documentation
It was suggested to me that documentation for "docker pull" and "docker
push" should reference "docker login", to make clearer how to specify
credentials for a push or pull operation. Add a note to the manual pages
and reference documentation explaining how registry credentials are
managed.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-28 17:22:41 -07:00
Michael Crosby
051c5ddadc Merge pull request #21552 from tonistiigi/aufs-mount-locks
Protect aufs mounts with locks
2016-03-28 17:00:43 -07:00
Brian Trump
02f951b67a Fix a link in the volumes doc to the deprecated doc.
Signed-off-by: Brian Trump <btrump@opselite.org>
2016-03-28 16:55:24 -07:00
Sebastiaan van Stijn
1e1da2a29b Merge pull request #21582 from kamigerami/fixes-21581-no--subnetwork-option-as-specified-in-docs-for-work-with-networks.md
fixes-#21581-no--subnetwork-option-as-specified-in-docs
2016-03-28 16:25:52 -07:00
Tõnis Tiigi
553edd1d19 Merge pull request #21251 from cyphar/refactor-copyonbuild
pkg: archive: don't fail Untar if xattrs are not supported
2016-03-28 16:15:18 -07:00
Alessandro Boch
16bf3eede0 Vendoring boltb/bolt v1.2.0
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-03-28 15:49:41 -07:00
David Calavera
d7382c1fa3 Merge pull request #21577 from albers/completion-dm.min_free_space
bash completion for `dm.min_free_space`
2016-03-28 15:42:21 -07:00
Arnaud Porterie
121b78c27d Merge pull request #21590 from tonistiigi/apt-mirror
Allow specifying apt mirror in dockerfile
2016-03-28 15:08:40 -07:00
Riyaz Faizullabhoy
8d18e6b30f move hardware signing out of experimental, remove dependencies to yubico-piv-tool
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-28 14:33:06 -07:00
Tonis Tiigi
8ec8564691 Allow specifying apt mirror in dockerfile
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-28 13:47:28 -07:00
Tomasz Kopczynski
555d8cb293 Dockerignore tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-03-28 22:31:35 +02:00
David Calavera
f0d26e1665 Remove runconfig package dependency from image and container routers.
Use an interface to specify the behavior of a configuration decoder.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-28 16:23:51 -04:00
David Calavera
3ca29823d4 Remove runconfig dependency from network routes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-28 16:23:50 -04:00
David Calavera
be390c30cd Merge pull request #21523 from LK4D4/cancellable_routes
Embed context.Context to routes with usage of CloseNotify
2016-03-28 12:44:07 -07:00
John Howard
ff3525c80f Windows: bridgeConfig rework
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-28 12:24:01 -07:00
Christopher Jones
3e3ac8abea ppc64le: bump golang back to 1.6
Despite the current issue with unix sockets and golang, I'm bumping this back up to 1.6.
Go <1.6 has major compatibility issues on ppc64* including not supporting dynamic binding,
so we would have to go back to gccgo, which is worse in a lot of other categories. Ultimately for us,
the amount of people affected by this issue isn't worth switching compilers.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-28 15:10:42 -04:00
David Calavera
cf91a1be45 Merge pull request #21553 from tonistiigi/test-repeat
Add support for repeating integration tests
2016-03-28 11:39:22 -07:00
David Calavera
dd7691423f Merge pull request #21566 from allencloud/upper-case-docker-info-display
upper case docker info details
2016-03-28 11:37:23 -07:00
David Calavera
dd757deae0 Merge pull request #21556 from twistlock/basic_authn_client_cert
Extend Docker authorization with TLS user information
2016-03-28 11:36:02 -07:00
David Calavera
d48b1c6de5 Merge pull request #21579 from albers/completion-run--userns
bash completion for `docker {run,create} --userns`
2016-03-28 11:31:55 -07:00
David Calavera
22ca91b084 Merge pull request #21580 from sdurrheimer/zsh-completion-create-run-userns
Add zsh completion for 'docker {create,run} --userns'
2016-03-28 11:31:39 -07:00
David Calavera
20ab670090 Merge pull request #21584 from albers/completion-fix--security-opt
fix bash completion for `docker run --security-opt`
2016-03-28 11:29:31 -07:00
Tõnis Tiigi
3b39363495 Merge pull request #21578 from VorT3x/master
Fix misspellings
2016-03-28 10:47:11 -07:00
Harald Albers
020998e24c fix bash completion for docker run --security-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 08:07:28 -07:00
kamjar gerami
a4d4243b91 fixes-#21581-no--subnetwork-option-as-specified-in-docs-for-work-with-networks.md: fixed typo in docs
Signed-off-by: kamjar gerami <kami.gerami@gmail.com>
2016-03-28 17:02:27 +02:00
Shishir Mahajan
b16decfccf CLI flag for docker create(run) to change block device size.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-03-28 10:05:18 -04:00
Harald Albers
62475684b9 bash completion for docker {run,create} --userns
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 06:47:33 -07:00
Steve Durrheimer
39d7ff233b Add zsh completion for 'docker {create,run} --userns'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-28 15:39:27 +02:00
Yong Tang
270562f439 Update vendored engine-api to e37a82dfcea64559ca6a581776253c01d83357d9.
This PR updates vendored engine-api to e37a82dfcea64559ca6a581776253c01d83357d9
in order to support `SecurityOptions` in `Info`.

See #20909, #21172 for details related to `SecurityOptions`.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-28 13:38:15 +00:00
Dmitri Logvinenko
6dede879fd Fix misspellings
Signed-off-by: Dmitri Logvinenko <dmitri.logvinenko@gmail.com>
2016-03-28 16:21:02 +03:00
Lei Jitang
35986d4824 Merge pull request #21575 from sdurrheimer/zsh-completion-daemon-containerd
Add zsh completion for 'docker daemon --containerd'
2016-03-28 20:46:39 +08:00
Steve Durrheimer
63b29eda68 Add zsh completion for 'docker daemon --containerd'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-28 14:40:56 +02:00
Harald Albers
75f0015c50 docs for docker daemon --containerd
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 05:40:27 -07:00
Harald Albers
2623b3496e fix wrong option name in dm.min_free_space examples
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 05:20:06 -07:00
Harald Albers
eae4e84c66 bash completion for storage option dm.min_free_space
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 05:15:56 -07:00
Vincent Demeester
7015195c60 Merge pull request #21573 from albers/completion-daemon--containerd
bash completion for `docker daemon --containerd`
2016-03-28 13:48:15 +02:00
Tomasz Kopczynski
593e29156d Builder/context unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-03-28 13:47:19 +02:00
Harald Albers
aeaba46c2c bash completion for docker daemon --containerd
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-28 04:30:02 -07:00
Thomas Sjögren
ea1d8d6f82 systemctl show, no need to sudo
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2016-03-28 13:06:12 +02:00
allencloud
276a20dd42 upper case docker info details
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-28 18:47:04 +08:00
Vincent Demeester
bd6a08f739 Merge pull request #21560 from Microsoft/jjh/psignal
Windows: psignal alias not required
2016-03-28 11:11:59 +02:00
Alexander Morozov
0f217cead8 integration-cli: exit early if daemon immedately crashed
this reduces execution of TestInfoDiscoveryInvalidAdvertise from 11s to 0.2s

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-27 21:57:32 -07:00
Alexander Morozov
c6ad1980a2 use router.Cancellable for pull and push
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-27 21:53:25 -07:00
Kai Qiang Wu(Kennan)
c70c0e4d0b Add man change for volume filter
It was forgetton to add change in man for new-added volume filters.
This change adds that.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-28 03:11:27 +00:00
John Howard
59d8878558 Windows: psignal alias not required
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-27 17:23:34 -07:00
Liron Levin
3c157713b3 Extend Docker authorization with TLS user information
Currently Docker authorization framework does not use any user
information, which already available in the Docker context for TLS
connection.
The purpose of this CR is to complete the existing authz work by adding
the basic client certificate details (SUBJECT_NAME) and authentication
method (TLS) to the authz request.

We think this should be the default behavior when no extended
authorization module is specified (currently WIP under #20883).

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-03-27 15:53:55 +03:00
Pierre Carrier
33a8ab29ed docker.service: don't limit tasks
Signed-off-by: Pierre Carrier <pierre@meteor.com>
2016-03-27 04:02:34 -07:00
Vincent Demeester
4afeabfdad Merge pull request #21547 from sdurrheimer/zsh-completion-gelf-compression
Add zsh completion for gelf-compression log driver options
2016-03-27 11:52:41 +02:00
Steve Durrheimer
ff31f166f2 Add zsh completion for gelf-compression log driver options
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-27 11:31:04 +02:00
Vincent Demeester
1aa07d6f11 Merge pull request #21546 from sdurrheimer/zsh-completion-ps-filters
Add zsh completion for 'docker ps --filter' values
2016-03-27 10:22:50 +02:00
Vincent Demeester
49a73ca121 Merge pull request #21548 from sdurrheimer/zsh-completion-etwlogs-gcplogs-log-drivers
Add zsh completion for etwlogs and gcplogs log drivers
2016-03-27 10:18:57 +02:00
Vincent Demeester
98132f850b Merge pull request #21544 from allencloud/fix-typo
fix typos
2016-03-27 10:18:02 +02:00
Sebastiaan van Stijn
afeba190a5 Update AUTHORS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-26 23:46:20 -07:00
Tõnis Tiigi
8dbecd5936 Merge pull request #21540 from senk/patch-containerd
Fixes typo in containerd-parameter usage instructions. Fixes #21538
2016-03-26 23:10:23 -07:00
Tonis Tiigi
477fe4846a Add support for repeating integration tests
`TEST_REPEAT=n` runs the test suite again n times or
until the first failure without doing building and
daemon setup. Useful for debugging flaky tests.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-26 23:05:55 -07:00
Tonis Tiigi
824c24e680 Protect aufs mounts with locks
Parallel aufs mount calls produce invalid argument error.

Fixes #21545


Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-26 22:53:47 -07:00
Sebastiaan van Stijn
d954186efb Merge pull request #21542 from sdurrheimer/zsh-completion-journald-tag
Add zsh completion for journald tag opt
2016-03-26 18:04:53 -07:00
Sebastiaan van Stijn
a5dc6c3ca1 Merge pull request #21543 from sdurrheimer/zsh-completion-update-restart
Add zsh completion for 'docker update --restart'
2016-03-26 18:03:27 -07:00
Sebastiaan van Stijn
db00de5d37 Merge pull request #21549 from sdurrheimer/zsh-completion-pull-push-disable-content-trust
Add zsh completion for 'docker {pull,push} --disable-content-trust'
2016-03-26 17:57:46 -07:00
Steve Durrheimer
b0235ffddd Add zsh completion for 'docker {pull,push} --disable-content-trust'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-26 22:49:53 +01:00
Steve Durrheimer
ca3ff89e56 Add zsh completion for etwlogs and gcplogs log drivers
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-26 22:39:17 +01:00
Steve Durrheimer
f3a27a6fac Add zsh completion for 'docker ps --filter' values
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-26 21:53:27 +01:00
Steve Durrheimer
ca2cca0255 Add zsh completion for 'docker update --restart'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-26 15:07:02 +01:00
allencloud
6983f05b42 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-26 22:06:45 +08:00
Steve Durrheimer
93ffc2d954 Add zsh completion for journald tag opt
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-26 14:54:11 +01:00
Robin Naundorf
a1d6c60ee0 Fixes #21538
typo corrected

Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-03-26 09:38:00 +01:00
Sebastiaan van Stijn
6f9872180c Merge pull request #21537 from senk/patch-1
Added 2nd experimental feature currently active
2016-03-26 00:02:02 -07:00
Robin Naundorf
65ab7fa2b3 Added 2nd experimental feature currently active
Signed-off-by: Robin Naundorf <r.naundorf@fh-muenster.de>
2016-03-26 07:35:03 +01:00
Brian Goff
2f3b602285 Optimizations for StdWriter
Avoids allocations and copying by using a buffer pool for intermediate
writes.

```
benchmark            old ns/op     new ns/op     delta
BenchmarkWrite-8     996           175           -82.43%

benchmark            old MB/s     new MB/s     speedup
BenchmarkWrite-8     4414.48      25069.46     5.68x

benchmark            old allocs     new allocs     delta
BenchmarkWrite-8     2              0              -100.00%

benchmark            old bytes     new bytes     delta
BenchmarkWrite-8     4616          0             -100.00%
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-25 22:14:27 -04:00
Sebastiaan van Stijn
9f6322e497 Merge pull request #21461 from thaJeztah/add-ubuntu-16.04-xenial
docs: add Ubuntu 16.04 "xenial"
2016-03-25 16:07:05 -07:00
David Calavera
8fabc9aee0 Merge pull request #21527 from sdurrheimer/zsh-completion-build-network-volume-label
Add zsh completion for 'docker {build, volume create, network create}…
2016-03-25 14:58:56 -07:00
David Calavera
0524a9783d Merge pull request #21508 from vdemeester/remove-client-unused-method
Removing DockerCli.pullImage as it's never used
2016-03-25 13:52:49 -07:00
Steve Durrheimer
5bfd29b9fb Add zsh completion for 'docker {build, volume create, network create} --label'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-25 20:43:43 +01:00
Vincent Demeester
64456f3c6d Merge pull request #21522 from albers/docs-labels-everywhere
docs for labels on build, networks and volumes
2016-03-25 20:04:03 +01:00
Sebastiaan van Stijn
7512d3ce3b Merge pull request #21516 from sdurrheimer/zsh-completion-logopt-fluentd
Add zsh completion for new fluentd log driver options
2016-03-25 11:39:33 -07:00
Alexander Morozov
62c9e62edc use router.Cancellable instead of direct CloseNotify
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-25 11:33:54 -07:00
Steve Durrheimer
396ffa2faf Add zsh completion for new fluentd log driver options
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-25 19:28:38 +01:00
Harald Albers
995e5beda7 docs for labels on build, networks and volumes
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-25 11:16:19 -07:00
David Calavera
786305ed0c Merge pull request #21486 from Microsoft/jjh/execroot
Windows: Remove --exec-root
2016-03-25 11:07:48 -07:00
David Calavera
73f8654759 Merge pull request #21493 from Microsoft/jjh/nativeconsole2
Windows: Native console disableNewlineAutoReturn
2016-03-25 11:07:18 -07:00
David Calavera
e811dab6a9 Merge pull request #21503 from AkihiroSuda/fix-Dockerfile-simple
Update Dockerfile.simple so that it can be successfuly built
2016-03-25 11:06:47 -07:00
David Calavera
4bd03fe71b Merge pull request #21517 from sdurrheimer/zsh-completion-load-quiet
Add zsh completion for 'docker load -q --quiet'
2016-03-25 11:06:13 -07:00
David Calavera
aa7be04e52 Merge pull request #21520 from albers/completion-labels-everywhere
bash completion for labels on build, networks and volumes
2016-03-25 11:05:45 -07:00
Harald Albers
a2958aa18f bash completion for labels on build, networks and volumes
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-25 10:56:04 -07:00
Tõnis Tiigi
e2221d1f37 Merge pull request #21468 from coolljt0725/remove_useless_log
Do not return error on hijacked connection for docker exec
2016-03-25 10:50:43 -07:00
Sebastiaan van Stijn
62e7fde80f docs: add Ubuntu 16.04 "xenial"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-25 10:48:51 -07:00
Tõnis Tiigi
fc3d87f80f Merge pull request #21474 from jfrazelle/fastness-for-the-storage-driver-gods
set the default storage driver as the users current default
2016-03-25 10:47:40 -07:00
Brian Goff
2c224fb06a Merge pull request #21509 from kencochrane/add_better_unsupported_message
Added a better message for when we build an unsupported Docker version
2016-03-25 13:46:41 -04:00
Steve Durrheimer
f8009d10bb Add zsh completion for 'docker load -q --quiet'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-03-25 18:36:45 +01:00
Arnaud Porterie
ed95d753b4 Merge pull request #21511 from tiborvass/fix-release-scripts
Fix release scripts
2016-03-25 10:34:09 -07:00
Arnaud Porterie
e262817682 Merge pull request #21514 from tonistiigi/disable-privileged-test-in-userns
Disable privileged test in user namespace
2016-03-25 10:30:12 -07:00
Alexander Morozov
bdd9388c42 api/server/router: add Cancellable function
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-25 10:19:23 -07:00
Brian Goff
7307998a44 Merge pull request #21399 from LK4D4/fix_builder_race
builder: replace cancelled channel with net/context
2016-03-25 13:09:23 -04:00
Arnaud Porterie
f7cd8b2da0 Merge pull request #21515 from albers/completion-logopt-fluentd
bash completion for new fluentd log driver options
2016-03-25 09:56:53 -07:00
Vincent Demeester
8f4b7a3361 Removing DockerCli.pullImage as it's never used
This function is never used nor exported. It has been superseeded by
pullImageCustomOut.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-25 17:41:19 +01:00
Tonis Tiigi
f01e1c865f Disable privileged test from in user namespace
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-25 09:31:36 -07:00
Alexander Morozov
d7b341bc06 Merge pull request #21477 from cpuguy83/better_logging_on_integration
Better logging for errors in some tests
2016-03-25 09:16:18 -07:00
Tibor Vass
996138bf8e Fix release scripts
Add some missing dependencies in the Dockerfile:
- apt-utils for apt-ftparchive.conf
- bsdmainutils for our use of the column command in
  hack/make/generate-index-listing

We also ensure that the docker daemon is started before calling
release-deb or release-rpm, since .detect-daemon-osarch, which is sourced
in each of them, requires the daemon to be running.

This commit also gets completely rid of s3cmd and fixes references to
AWS_* environment variables (changing from AWS_ACCESS_KEY to
AWS_ACCESS_KEY_ID and AWS_SECRET_KEY to AWS_SECRET_ACCESS_KEY) in order
to please awscli. Also AWS_DEFAULT_REGION is now important to specify,
the default has been set to the region used by get.docker.com and
test.docker.com.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-25 11:55:26 -04:00
Alexander Morozov
f2401a0f69 builder: replace cancelled channel with net/context
Also stop execution of run immediately if request was cancelled.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-25 08:19:29 -07:00
Ken Cochrane
181d2725d7 Added a better message for when we build an unsupported version
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-03-25 10:09:03 -04:00
Brian Goff
42df9edc4a Better logging for errors in some tests
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-25 10:02:52 -04:00
Brian Goff
e80f8364bf Merge pull request #21432 from vikstrous/fix_volume_store_race2
fix race condition between list and remove volume
2016-03-25 09:47:49 -04:00
Harald Albers
06e357da35 bash completion for new fluentd log driver options
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-25 03:31:48 -07:00
Vincent Demeester
9fbe1d9917 Merge pull request #21465 from runcom/fix-test
integration-cli: fix wrong test and add log
2016-03-25 10:22:01 +01:00
Sebastiaan van Stijn
36458b5787 Merge pull request #21501 from tonistiigi/fix-deb-init-symlinks
Fix symlink copying for deb init scripts
2016-03-25 01:08:09 -07:00
Akihiro Suda
4bf770a4c6 Update Dockerfile.simple so that it can be successfuly built
* build-essential is needed by `make`
 * libapparmor-dev is needed by runc
 * seccomp is needed by runc
 * Go is neeeded by runc

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-03-25 16:59:07 +09:00
Vincent Demeester
2de29fb9c2 Merge pull request #21361 from HackToday/addfilter
Add name/driver filter support for volume
2016-03-25 08:07:38 +01:00
Tonis Tiigi
61277c395b Fix symlink copying for deb init scripts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-24 23:15:17 -07:00
Alexander Morozov
d5019972e5 Merge pull request #21499 from cyli/hardware-signing-experimental-again
Move hardware signing back to experimental again
2016-03-24 23:03:13 -07:00
Sebastiaan van Stijn
f3d824771a Merge pull request #21487 from tonistiigi/fix-old-dind
Fix setting cgroup permission to user/privileged devices
2016-03-24 22:56:39 -07:00
Arnaud Porterie
b35aaa9d1e Merge pull request #21489 from calavera/downgrade_go
Downgrade to Go 1.5.3.
2016-03-24 22:44:49 -07:00
Alexander Morozov
641bd7652f Merge pull request #20589 from coolljt0725/fix_restore_terminal
cli: move setRawTerminal and restoreTerminal to holdHijackedConnection
2016-03-24 22:42:24 -07:00
cyli
dd33d18045 Revert "Merge pull request #21003 from riyazdf/hardware-signing-ga"
This reverts commit e6d3a9849c, reversing
changes made to d3afe34b51.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-03-24 21:12:52 -07:00
Sebastiaan van Stijn
de4cc7cd13 Merge pull request #21484 from albers/docs-load--quiet
add docs for `docker load --quiet`
2016-03-24 18:59:53 -07:00
Tibor Vass
9ff767bcc0 Merge pull request #21492 from mavenugo/civ6
Add "--ipv6" flag in IT for network create when using ipv6 subnets
2016-03-24 21:26:08 -04:00
Lei Jitang
66d3dcc6f7 cli: move setRawTerminal and restoreTerminal to holdHijackedConnection
In this way, we can restore the Terminal as soon as possible once the hijacked
connection end. This not only fix weird output if cli enable -D, but also
remove duplicate code.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-03-24 21:25:50 -04:00
Kai Qiang Wu(Kennan)
8e9305ef94 Add name/driver filter support for volume
This change include filter `name` and `driver`,
and also update related docs to reflect that filters usage.

Closes: #21243

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-25 01:11:17 +00:00
Madhu Venugopal
ec77c124de Add "--ipv6" flag in IT for network create when using ipv6 subnets
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-24 16:19:59 -07:00
David Calavera
3e0bd74a3d Downgrade to Go 1.5.3.
To not hit the issue with the request Host header.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-24 19:15:10 -04:00
John Howard
c162cdb15f Windows: Native console disableNewlineAutoReturn
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-24 15:37:47 -07:00
Alexander Morozov
6748ecb005 Merge pull request #21456 from calavera/remove_unecessary_hardcoded_version
Remove unnecessary hardcoded version.
2016-03-24 14:31:59 -07:00
Tibor Vass
ed25df9a07 Merge pull request #21387 from kencochrane/change_packages
Packaging changes required for new containerd binaries
2016-03-24 17:29:55 -04:00
Tonis Tiigi
8784bd6fde Fix wrong variable name on blkio resources
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-24 14:16:40 -07:00
Tonis Tiigi
ee61235880 Fix setting cgroup permission to user/privileged devices
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-24 14:16:33 -07:00
Sebastiaan van Stijn
f2847f8ab3 Merge pull request #21315 from hqhq/hq_check_quota
Add validation for cpu period and quota
2016-03-24 14:10:48 -07:00
Sebastiaan van Stijn
1e8d1b5faa Merge pull request #21463 from yongtang/21445-too-long-hostname
More descriptive error when running a container with a too long hostname (#21445)
2016-03-24 13:42:28 -07:00
David Calavera
9558d249e9 Merge pull request #21478 from albers/ignore-bashrc
re-add .bashrc to .gitignore
2016-03-24 13:29:46 -07:00
Ken Cochrane
bb66d7144f Packaging changes required for new containerd binaries
These are the changes required due to the new binaries that containerd introduced.
The rpm, and deb packages now include 5 binaries.

docker, containerd, containerd-shim, ctr, and runc

The tar files also include all 5 binaries.

Signed-off-by: Ken Cochrane <KenCochrane@gmail.com>
2016-03-24 16:25:33 -04:00
John Howard
77a50ffa59 Windows: Remove --exec-root
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-24 11:42:03 -07:00
Viktor Stanchev
800b9c5a26 fix race condition between list and remove volume
This was done by making List not populate the cache.

fixes #21403

Signed-off-by: Viktor Stanchev <me@viktorstanchev.com>
2016-03-24 11:37:18 -07:00
David Calavera
68c920883e Merge pull request #21483 from albers/completion-load--quiet
bash completion for `docker load --quiet`
2016-03-24 11:03:50 -07:00
Harald Albers
610ec8c739 add docs for docker load --quiet
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-24 18:57:44 +01:00
Harald Albers
8850b223ed re-add .bashrc to .gitignore
.bashrc was removed in 29fbc9cc1d
but is still needed. It serves as a hook to customize the build environment.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-24 18:43:41 +01:00
Yong Tang
fa44b4e81e More descriptive error when running a container with a too long hostname (#21445)
This fix tries to fix issues encountered when running a container with a hostname
that is longer than HOST_NAME_MAX(64).

Previously, `could not synchronise with container process` was generated as the
length of the regex check was missing.

This fix covers the length check so that a hostname that is longer than
HOST_NAME_MAX(64) will be given a correct error message.

Several unit tests cases and additional integration test cases are added as well.

This fix closes #21445.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-24 17:42:28 +00:00
Harald Albers
aa9170f066 bash completion for docker load --quiet
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-24 18:39:57 +01:00
Vincent Demeester
1ab51e44e6 Merge pull request #21481 from albers/completion-ps-filter-volumes
bash completion for `docker ps -f volume`
2016-03-24 18:39:26 +01:00
David Calavera
e88dff6bb4 Merge pull request #21435 from vdemeester/remove-verbose-copy-containerd
Remove the verbosity of copy_containerd
2016-03-24 10:34:37 -07:00
Vincent Demeester
2b6b2e1af8 Merge pull request #21464 from coolljt0725/cleanup_dot
Cleanup: remove redundant period
2016-03-24 18:34:20 +01:00
David Calavera
731c59f545 Merge pull request #21471 from allencloud/fix-typos-in-daemon-unix
fix typos in daemon_unix.go
2016-03-24 10:32:59 -07:00
Harald Albers
ef0570abfc bash completion for docker ps -f volume
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-24 18:23:25 +01:00
Jess Frazelle
54aa3a3c21 set the default storage driver as the users current default
Signed-off-by: Jess Frazelle <jess@mesosphere.com>
2016-03-24 09:41:19 -07:00
David Calavera
accf28a7db Remove unnecessary hardcoded version.
The server configuration already keeps the current version
if the daemon. This patch changes the middleware logic
to use it rather than using the global value.

This removes the dockerversion package dependency from the api.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-24 12:33:40 -04:00
allencloud
25c9bd81f6 fix typos in daemon_unix.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-24 23:57:11 +08:00
Nalin Dahyabhai
ab62ecf393 Open the journald following descriptor earlier
Following a journal log almost always requires a descriptor to be
allocated.  In cases where we're running out of descriptors, this means
we might get stuck while attempting to start following the journal, at a
point where it's too late to report it to the client and clean up
easily.  The journal reading context will cache the value once it's
allocated, so here we move the check earlier, so that we can detect a
problem when we can still report it cleanly.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2016-03-24 10:12:51 -04:00
Nalin Dahyabhai
8d597d25a8 Improve error reporting when following journals
When we set up to start following a journal, if we get error results
from sd_journal_get_fd() or sd_journal_get_events() that prevent us from
following the journal, report the error instead of just mysteriously
failing.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-03-24 10:12:15 -04:00
Brian Goff
57575a2695 Merge pull request #21460 from tonistiigi/exec-ulimits
Add ulimit support to libcontainerd addprocess
2016-03-24 09:38:21 -04:00
Lei Jitang
d6ccc0e09f Do not return error on hijacked connection for docker exec
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-03-24 08:52:13 -04:00
Lei Jitang
cb5b8767b6 Cleanup: remove redundant period
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-03-24 08:26:04 -04:00
Vincent Demeester
2131558963 Merge pull request #21428 from estesp/reenable-shared-nstests-userns
Re-enable shared namespace tests for userns CI runs
2016-03-24 12:31:27 +01:00
Antonio Murdaca
e73152bf27 integration-cli: fix wrong test and add log
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-24 11:10:41 +01:00
Arnaud Porterie
b64627b798 Merge pull request #21457 from tonistiigi/update-runc
Update runc/containerd
2016-03-23 19:56:27 -07:00
Tonis Tiigi
8891afd838 Add ulimit support to libcontainerd addprocess
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-23 19:54:32 -07:00
Sebastiaan van Stijn
713cfffb5a Merge pull request #21458 from crosbymichael/grpc-logs
Remove grpc logging to stderr
2016-03-23 19:50:25 -07:00
Brian Goff
55bbea3751 Merge pull request #21454 from anusha-ragunathan/fix_overlay
Move layer mount refcounts to mountedLayer
2016-03-23 22:39:38 -04:00
Sebastiaan van Stijn
5ef04b1c6d Merge pull request #21268 from calavera/remove_dockerfile_from_api
Remove dockerfile dependency from the API.
2016-03-23 19:34:21 -07:00
Brian Goff
68674f739f Merge pull request #21443 from calavera/fix_network_path_issue
Fix network path issue
2016-03-23 22:27:44 -04:00
Sebastiaan van Stijn
3f568b19e8 Merge pull request #21430 from tophj-ibm/remove-seccomp-ppc64le
ppc64le: remove seccomp from Dockerfile
2016-03-23 16:36:29 -07:00
Michael Crosby
b0280c37a0 Remove grpc logging to stderr
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-23 15:41:47 -07:00
Tonis Tiigi
22d997b374 Update runc/containerd
Contains fixes for:
- pid.max fix that is causing hang on network stats test.
- fix for early stdin close containerd-shim
- better logging for `could not synchronise with container process`

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-23 15:38:33 -07:00
Brian Goff
65d79e3e5e Move layer mount refcounts to mountedLayer
Instead of implementing refcounts at each graphdriver, implement this in
the layer package which is what the engine actually interacts with now.
This means interacting directly with the graphdriver is no longer
explicitly safe with regard to Get/Put calls being refcounted.

In addition, with the containerd, layers may still be mounted after
a daemon restart since we will no longer explicitly kill containers when
we shutdown or startup engine.
Because of this ref counts would need to be repopulated.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-23 14:42:52 -07:00
Anusha Ragunathan
57ca2a2101 Fix use of mounted() in overlay.
Handle error and mounted case separately.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-23 14:42:52 -07:00
David Calavera
82b9e60369 Merge pull request #21446 from cpuguy83/plugin_activation_issue
Fix panic in loading plugins
2016-03-23 14:25:35 -07:00
Vincent Demeester
2164018d82 Remove the verbosity of copy_containerd
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-23 20:51:48 +01:00
Brian Goff
baac2f4867 Fix panic in loading plugins
When a plugin is first found, it is loaded into the available plugins
even though it's not activated yet.
If activation fails it is taken out of the list.
While it is in the list, other callers may see it and try to check it's
manifest. If it is not fully activated yet, the manifest will be nil and
cause a panic.

This is especially problematic for drivers that are down and have not
been activated yet.

We could just not load the plugin into the available list until it's
fully active, however that will just cause multiple of the same plugin
to attemp to be loaded.

We could check if the manifest is nil and return early (instead of
panicing on a nil manifest), but this will cause a 2nd caller to receive
a response while the first caller is still waiting, which can be
awkward.

This change uses a condition variable to handle activation (instead of
sync.Once). If the plugin is not activated, callers will all wait until
it is activated and receive a broadcast from the condition variable
signaling that it's ok to proceed, in which case we'll check if their
was an error in activation and proceed accordingly.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-23 15:34:15 -04:00
Arnaud Porterie
bc3b07e115 Merge pull request #21437 from tiborvass/fix-hub-test
test: Do not check error message from hub, it is not needed
2016-03-23 12:24:16 -07:00
Yong Tang
f154227608 Fix Docker core dumps when removing network with special characters (#21401).
This fix tries to fix Docker core dumps when removing network with special
characters. The issue is from the fact that when docker client tries to
pass the command to API, the networkID is not escaped in case of special
characters. This also means other commands (not just `docker network rm`)
may face the same issue (e.g., `docker network connect`).

This fix adds the URL path escape to properly handle it. In addition, an
integration test for network create and delete is added to cover the cases
in #21401.

This fix fixes #21401.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit f8dc5562d0)
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-23 15:07:14 -04:00
David Calavera
58385bc8a5 Vendor engine-api 0.3.1.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-23 15:05:19 -04:00
Michael Crosby
5e502a1f1b Merge pull request #21438 from tiborvass/do-not-stay-up-late
Revert VERSION bump to 1.11.0-dev
2016-03-23 11:31:00 -07:00
Tibor Vass
9fb41520af Revert VERSION bump to 1.11.0-dev
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-23 14:27:33 -04:00
Tibor Vass
bbdd34c370 test: Do not check error message from hub, it is not needed
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-23 14:11:44 -04:00
Tibor Vass
38227b96c0 Merge pull request #21431 from tiborvass/bump_apiversion_to_v1.24
Bump API Version to v1.24
2016-03-23 13:08:23 -04:00
David Calavera
faf5645a62 Merge pull request #21425 from tiborvass/fix-release-sh
Fix release.sh script
2016-03-23 10:02:59 -07:00
Jess Frazelle
1f40cc15c7 Merge pull request #21176 from cyphar/fix-apparmor-profile-execpath
profiles: apparmor: remove unused fields
2016-03-23 10:02:34 -07:00
Tibor Vass
928ea1e957 Bump API Version to v1.24
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-23 12:26:23 -04:00
Christopher Jones
2caf09d37b ppc64le: remove seccomp from Dockerfile
Removes the seccomp buildtag when building runc.
Because seccomp isn't currently being built, this would cause
the build to fail.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-23 12:11:08 -04:00
Tibor Vass
dd51e85c05 Fix release.sh script
Use aws instead of s3cmd.
Make sure the release script works with the docker-prepended binary
names.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-23 11:59:21 -04:00
Vincent Demeester
f4dfe15cbe Merge pull request #21420 from icecrime/update_arm_build
Update Dockerfile.armhf
2016-03-23 16:27:53 +01:00
Aleksa Sarai
75a271603c pkg: archive: don't fail Untar if xattrs are not supported
Since certain filesystems don't support extended attributes, ignore
errors produced (emitting a warning) when attempting to apply extended
attributes to file.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-24 02:05:36 +11:00
Phil Estes
a1d8441117 Re-enable shared namespace tests for userns CI runs
Allow --net=container and --ipc=container tests to run when user
namespaces are enabled.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-23 09:39:24 -04:00
Vincent Demeester
6ad9def11a Merge pull request #21386 from Microsoft/jjh/mountfix
Windows: Fix mountinfo
2016-03-23 10:14:20 +01:00
Tibor Vass
bc3149b75f Merge pull request #21413 from tiborvass/docker-prefix
Add `docker-` prefix to runc and containerd binaries
2016-03-23 03:58:59 -04:00
Tibor Vass
cb41c36108 Merge pull request #21424 from tonistiigi/revert-one_ctr_to_rule_them_all
Revert "Move layer mount refcounts to mountedLayer"
2016-03-23 03:41:58 -04:00
Tonis Tiigi
e91de9fb9d Revert "Move layer mount refcounts to mountedLayer"
This reverts commit 563d0711f8.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-23 00:33:02 -07:00
Lei Jitang
f668e36652 Merge pull request #21407 from LK4D4/log_stats_errors
daemon: log errors from stats calls
2016-03-23 14:12:12 +08:00
Tibor Vass
009399dc8e Add docker- prefix to runc and containerd binaries
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-23 00:52:16 -04:00
Tõnis Tiigi
92a3ece35a Merge pull request #21107 from cpuguy83/one_ctr_to_rule_them_all
Move layer mount refcounts to mountedLayer
2016-03-22 21:19:00 -07:00
Arnaud Porterie
38d746462c Update Dockerfile.armhf
Use official Go 1.6 release, and update golang/tools and golang/lint
hashes accordingly.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-22 20:19:39 -07:00
Sebastiaan van Stijn
f26193e2cf Merge pull request #21340 from SvenDowideit/workdir-does-a-mkdir-p
WORKDIR is like calling mkdir - but we've not told people
2016-03-22 18:41:15 -07:00
Michael Crosby
55304e2e55 Merge pull request #21381 from mlaventure/selinux-pcp_pmcd
Give selinux pcp_pmcd_t type access to /var/lib/docker
2016-03-22 17:44:43 -07:00
Tibor Vass
694b32df51 Merge pull request #21370 from tonistiigi/expose-layer-ids
Expose RootFS in image inspect
2016-03-22 20:33:18 -04:00
Tibor Vass
7bc052ae04 Merge pull request #21411 from mlaventure/fix-unauth-to-central
Update TestPushToCentralRegistryUnauthorized to match updated hub
2016-03-22 20:31:10 -04:00
Tibor Vass
d0d17a0693 Merge pull request #21397 from kencochrane/update-release-script
Updated release.sh script to stop uploading binaries
2016-03-22 20:29:16 -04:00
David Calavera
fb1365639e Merge pull request #21406 from LK4D4/fix_streams_race
builder: synchronize stderr and stdout
2016-03-22 17:15:01 -07:00
David Calavera
d02d48b4b1 Merge pull request #21402 from crosbymichael/tar-binaries
Add containerd and runc binaries to tgz output
2016-03-22 17:11:34 -07:00
Sebastiaan van Stijn
28af4789e6 Merge pull request #21410 from calavera/vendor_engine_api_v0.3.0
Vendor engine-api v0.3.0
2016-03-22 16:41:10 -07:00
Tibor Vass
3ce494f48c Merge pull request #21367 from mlaventure/containerd-docs-cleanup
Remove unneeded references to execDriver
2016-03-22 19:40:27 -04:00
Kenfe-Mickael Laventure
37e2103e64 Update TestPushToCentralRegistryUnauthorized to match updated hub
The error message was changed from "unauthorized: access to the
requested resource is not authorized" to "unauthorized: authentication
required".

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-22 16:15:29 -07:00
Michael Crosby
5ff66748da Export GOOS and GOARCH in subprocess for tgz
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-22 15:43:06 -07:00
David Calavera
9e9c73a528 Vendor engine-api v0.3.0
I tagged the current commit so we have a better reference
of what's in this release.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-22 18:12:16 -04:00
David Calavera
506fb9810c Merge pull request #21396 from aboch/vnn
Vendoring libnetwork v0.7.0-dev.10
2016-03-22 15:09:42 -07:00
Tibor Vass
8b8fcb796f Merge pull request #21303 from riyazdf/notary-vendor-docker1.11
vendor notary for docker1.11
2016-03-22 17:57:17 -04:00
David Calavera
2ec1764d45 Merge pull request #21400 from LK4D4/fix_volumes_race
volume/local: fix race in List
2016-03-22 14:29:12 -07:00
David Calavera
acaec7f67c Merge pull request #21385 from tonistiigi/load-parent-chain
Add parent references support to load/save
2016-03-22 14:07:06 -07:00
Alexander Morozov
14e1325656 daemon: log errors from stats calls
I encountered silent errors ignoring when runc failed to parse pids.max

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-22 14:03:47 -07:00
Alexander Morozov
3eb0a80f29 builder: synchronize stderr and stdout
it's concurrent streams and should be synchronized before writing to response.
Otherwise there will be race in writing to *bufio.Writer in
net/http.response.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-22 13:57:29 -07:00
Tonis Tiigi
14dc4a7158 Expose RootFS in image inspect
Fixes #20451

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-22 13:49:30 -07:00
Alessandro Boch
fbdb3c3a4b Vendoring libnetwork v0.7.0-dev.10
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-03-22 12:36:21 -07:00
Michael Crosby
aca7e73a69 Copy containerd binaries in tgz
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-22 12:23:17 -07:00
Tibor Vass
53d2e5e9d7 Merge pull request #21270 from ehazlett/resource-labels
Add Label support for Images (build), Networks and Volumes on Creation
2016-03-22 15:12:33 -04:00
Michael Crosby
78568f2eb5 Add function for copy containerd
This adds a function for copying containerd and other binaries as well
as adding a hash for those files.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-22 12:06:56 -07:00
David Calavera
62d4556654 Merge pull request #21383 from estesp/shared-userns-net-ipc
Allow net and IPC namespaces to be shared when userns=on
2016-03-22 11:40:12 -07:00
Riyaz Faizullabhoy
ab3772f72f vendor notary for docker1.11
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-22 11:28:19 -07:00
Alexander Morozov
3536c09cea volume/local: fix race in List
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-22 11:21:38 -07:00
Tibor Vass
de9ff4bdc0 Merge pull request #21223 from cpuguy83/add_nocp_to_vols
Add explicit flags for volume cp/no-cp
2016-03-22 13:45:12 -04:00
Ken Cochrane
5e3a8ef887 Updated release.sh script to stop uploading binaries
Signed-off-by: Ken Cochrane <KenCochrane@gmail.com>
2016-03-22 13:42:54 -04:00
Michael Crosby
0dcdd1c5b8 Merge pull request #21341 from duglin/tweakBuild
Add containerd/runc exes to bundle dir after build
2016-03-22 10:29:56 -07:00
Vincent Demeester
e8774fbb9f Merge pull request #21366 from martinmosegaard/master
Fix plural typo in 'save' command help
2016-03-22 17:26:32 +01:00
Evan Hazlett
fc214b4408 add label support for build, networks and volumes
build: implement --label

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

network: allow adding labels on create

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

volume: allow adding labels on create

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

add tests for build, network, volume

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

vendor: libnetwork and engine-api bump

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2016-03-22 11:49:06 -04:00
Brian Goff
563d0711f8 Move layer mount refcounts to mountedLayer
Instead of implementing refcounts at each graphdriver, implement this in
the layer package which is what the engine actually interacts with now.
This means interacting directly with the graphdriver is no longer
explicitly safe with regard to Get/Put calls being refcounted.

In addition, with the containerd, layers may still be mounted after
a daemon restart since we will no longer explicitly kill containers when
we shutdown or startup engine.
Because of this ref counts would need to be repopulated.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-22 11:36:28 -04:00
Sebastiaan van Stijn
7720338713 Merge pull request #21388 from zhuguihua/move_zfs_options_to_correct_place_in_man_page
Move ZFS options to correct place in man page
2016-03-22 08:26:54 +01:00
Martin Mosegaard Amdisen
5a701c3e4c Update 'save' command help
Based on review feedback.

Signed-off-by: Martin Mosegaard Amdisen <martin.amdisen@praqma.com>
2016-03-22 08:16:52 +01:00
Zhu Guihua
df6def3c0c Move ZFS options to correct place in man page
Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
2016-03-22 14:50:49 +08:00
Vincent Demeester
666563b190 Merge pull request #21046 from cyli/use-notary-cli
Sign all first-level delegation roles when doing a trusted push
2016-03-22 07:42:21 +01:00
John Howard
bb68b666c5 Windows: Fix mountinfo
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-21 22:03:24 -07:00
Arnaud Porterie
9f327b4c28 Merge pull request #21373 from aaronlehmann/client-user-agent-registry-operations
Pass upstream client's user agent through to registry on operations beyond pulls
2016-03-21 21:49:48 -07:00
Sven Dowideit
c937b43abd WORKDIR is like calling mkdir - but we've not told people
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-03-22 14:05:56 +10:00
David Calavera
adc6ed5a10 Merge pull request #21354 from Microsoft/jjh/getpids
Windows: Minimal docker top implementation
2016-03-21 19:59:27 -07:00
Tonis Tiigi
faeff5118f Add parent references support to load/save
Restores the correct parent chain relationship
between images on docker load if multiple images
have been saved.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-21 19:31:10 -07:00
Phil Estes
2b278f4846 Allow net and IPC namespaces to be shared when userns=on
Now that the namespace sharing code via runc is vendored with the
containerd changes, we can disable the restrictions on container to
container net and IPC namespace sharing when the daemon has user
namespaces enabled.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-21 22:20:26 -04:00
Qiang Huang
aae4bcf773 Remove dot in suffix to avoid double dot error message
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-22 09:17:54 +08:00
Qiang Huang
b041fdc0d5 Add validation for cpu period and quota
Accoding to:
https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt

It has minimal and maximal limit.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-22 09:17:54 +08:00
Doug Davis
1bf5eb20e5 Add containerd/runc exes to bundle dir after build
Not sure if this is the right setup given the containerd change but I need
to have the built version of the nested exes (containerd, runc...) available
to me after the build is completed so I'm always testing using the latest
versions.  This PR will copy them into the same bundles dir so people can
them use them if they wish w/o having to build each separately.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-03-21 17:50:59 -07:00
Brian Goff
b0ac69b67e Add explicit flags for volume cp/no-cp
This allows a user to specify explicitly to enable
automatic copying of data from the container path to the volume path.
This does not change the default behavior of automatically copying, but
does allow a user to disable it at runtime.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-21 20:38:44 -04:00
Kenfe-Mickael Laventure
00bf3c85d0 Give selinux pcp_pmcd_t type access to /var/lib/docker
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-21 16:38:26 -07:00
Tibor Vass
c22d09f563 Merge pull request #21377 from LK4D4/fix_compile
runconfig/opts: fix compilation issue
2016-03-21 19:11:09 -04:00
Alexander Morozov
93f5770511 runconfig/opts: fix compilation issue
it was introduced with #20566 as a result of merge

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-21 15:01:08 -07:00
Arnaud Porterie
f9f8708dc6 Merge pull request #20566 from AndrewGuenther/20371-validate-hostname
Ensure --hostname is valid
2016-03-21 14:49:16 -07:00
Aaron Lehmann
c44e7a3e63 Pass upstream client's user agent through to registry on operations beyond pulls
This adds support for the passthrough on build, push, login, and search.

Revamp the integration test to cover these cases and make it more
robust.

Use backticks instead of quoted strings for backslash-heavy string
contstands.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-21 14:31:47 -07:00
Arnaud Porterie
278d3962a8 Merge pull request #21306 from mgoelzer/issue20001-nodeps
Pass upstream client's user agent through to registry on image pulls
2016-03-21 14:26:59 -07:00
Alexander Morozov
11b4c89087 Merge pull request #21301 from cpuguy83/cleaner_file_log
Fixes some issues with jsonfile write/read
2016-03-21 14:03:36 -07:00
Tibor Vass
3ac32cd72e Merge pull request #21106 from yongtang/20122-volume-one-character
Fix one-character directory issue in the volume option (#20122).
2016-03-21 16:41:03 -04:00
Kenfe-Mickael Laventure
8af4f89cba Remove unneeded references to execDriver
This includes:
 - updating the docs
 - removing dangling variables

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-21 13:06:08 -07:00
cyli
88d73ebff4 Include documentation on how to add the targets/releases delegation to a repo
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-03-21 12:06:10 -07:00
cyli
623ccc2f31 Pull, Pull-A, and Build will only pull tags from the targets role or the targets/releases role.
It will ignore tags in all other delegation roles.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-03-21 10:56:49 -07:00
Riyaz Faizullabhoy
ca57f4e6a8 Add test for targets/releases preference when pulling
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-21 10:56:42 -07:00
cyli
497a58e6e4 Trusted push now adds the tag to every first level delegation role for which we have keys
and for which the tag conforms to path restrictions.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-03-21 10:56:09 -07:00
Vincent Demeester
7bbf58ed0d Merge pull request #21360 from WeiZhang555/clean
Clean dead code
2016-03-21 18:42:10 +01:00
Vincent Demeester
d82ad12df8 Merge pull request #19439 from pcarrier/pcarrier/19438-async-connections-to-fluentd
fluentd logger: support all options besides Unix sockets
2016-03-21 18:09:14 +01:00
Alexander Morozov
a05fdd6806 Merge pull request #21283 from runcom/update-test
vendor docker/distribution d06d6d3b093302c02a93153ac7b06ebc0ffd1793
2016-03-21 09:46:28 -07:00
Arnaud Porterie
2a4c970aeb Merge pull request #21342 from tonistiigi/cleanup-libcontainer
Convert libnetwork stats directly to api types
2016-03-21 08:54:03 -07:00
David Calavera
be8459c248 Merge pull request #21313 from Microsoft/sjw/logs_fix
Fixing logs file handle leak.
2016-03-21 08:41:31 -07:00
David Calavera
336d585292 Merge pull request #21336 from Microsoft/jjh/fixunmount
Windows: Fix unmount for Hyper-V Containers
2016-03-21 08:40:52 -07:00
David Calavera
c2550c4f7b Merge pull request #21362 from frenkel/engine-api-update-for-openbsd
Update vendored engine-api for OpenBSD support
2016-03-21 08:38:13 -07:00
Brian Goff
1ae9dcf97d Fixes some issues with jsonfile write/read
This cleans up some of the use of the filepoller which makes reading
significantly more robust and gives fewer changes to fallback to the
polling based watcher.
In a lot of cases, if the file was being rotated while we were adding it
to the watcher, it would return an error that the file doesn't exist and
would fallback.
In some cases this fallback could be triggered multiple times even if we
were already on the fallback/poll-based watcher.

It also fixes an open file leak caused by not closing files properly on
rotate, as well as not closing files that were read via the `tail`
function until after the log reader is completed.

Prior to the above changes, it was relatively simple to cause the log
reader to error out by having quick rotations, for example:
```
$ docker run --name test --log-opt max-size=10b --log-opt max-files=10
-d busybox sh -c 'while true; do usleep 500000; echo hello; done'
$ docker logs -f test
```
After these changes I can run this forever without error.

Another fix removes 2 `os.Stat` calls when rotating files. The stat
calls are not needed since we are just calling `os.Rename` anyway, which
will in turn also just produce the same error that `Stat` would.
These `Stat` calls were also quite expensive.
Removing these stat calls also seemed to resolve an issue causing slow
memory growth on the daemon.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-21 11:05:58 -04:00
Martin Mosegaard Amdisen
a826c244ed Fix plural typo in 'save' command help
The form "Save an images" is not correct.
Either "Save an image" or "Save images" work, but since
the save commands accepts multiple images, I chose the
latter.

Fixed in all places where I could grep "Save an image(s)".

Signed-off-by: Martin Mosegaard Amdisen <martin.amdisen@praqma.com>
2016-03-21 15:15:40 +01:00
Antonio Murdaca
5008a34072 Merge pull request #21333 from cpuguy83/sigpipe
Don't forward SIGPIPE from client to container
2016-03-21 15:09:13 +01:00
Sebastiaan van Stijn
c9488fe280 Merge pull request #21364 from thaJeztah/carry-21188-fix-docker-info-docs
docs: fix incorrect output for "/info" endpoint
2016-03-21 13:38:35 +01:00
Sebastiaan van Stijn
fffa83353f Merge pull request #21246 from nerdalert/vlan_docs
Updates to macvlan/ipvlan experimental docs
2016-03-21 13:16:52 +01:00
Arnaud Porterie
9014ac2d15 docs: fix incorrect output for "/info" endpoint
OomScoreAjd is not part of `/info` output
Wrong field name `DiscoveryBackend` in API reference

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-21 12:55:45 +01:00
Frank Groeneveld
3cf8a9ede7 Update vendored engine-api for OpenBSD support
Signed-off-by: Frank Groeneveld <frank@frankgroeneveld.nl>
2016-03-21 12:11:11 +01:00
Sebastiaan van Stijn
722f06dae3 Merge pull request #21353 from Microsoft/jjh/tidylibcontainerdmore
Windows: Tidy after libcontainerd
2016-03-21 11:06:54 +01:00
Pierre Carrier
13086f387b fluentd logger: support all options besides Unix sockets
Mostly useful for docker/docker#19438.

Signed-off-by: Pierre Carrier <pierre@meteor.com>
2016-03-21 10:03:21 +00:00
Sebastiaan van Stijn
1a7afc075d Merge pull request #21355 from yongtang/20188-plugins-docs
Update plugin docs for the covering of remote plugins (#20188).
2016-03-21 10:28:25 +01:00
Sebastiaan van Stijn
02a90d0399 Merge pull request #21345 from duglin/BetterError
Add the name of the exe that's trying to be executed
2016-03-21 10:17:10 +01:00
Zhang Wei
c9db9e4ff1 Clean dead code
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-03-21 16:43:24 +08:00
Yong Tang
800a7d513d Fix one-character directory issue in the volume option (#20122).
The issue comes from the implementation of volumeSplitN() where a
driver letter (`[a-zA-Z]:`) was assumed to follow either `:`, `/`,
or `\\`.

In Windows driver letter appears in two situations:
a. `^[a-zA-Z]:` (A colon followed  by `^[a-zA-Z]:` is OK as colon is
the separator in volume option)
b. A string in the format like `\\?\C:\Windows\...` (UNC).
Therefore, a driver letter can only follow either a `:` or `\\`

This PR removes the condition of `/` before the driver letter so
that options like `-v /tmp/q:/foo` could be handled correctly. A
couple of tests has also been added.

This PR fixes #20122.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-21 02:55:06 +00:00
Yong Tang
c3ef69270a Update plugin docs for the covering of remote plugins (#20188).
This fix updates the Plugin API docs to cover the case of remote
plugins which could be deployed on a host different from the
docker host, through spec or json files.

This fix closes #20188.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-21 02:42:10 +00:00
Doug Davis
7942160638 Add the name of the exe that's trying to be executed
so that the user knows what's not in the container but should be.
Its not always easy for the user to know what exact command is being run
when the 'docker run' is embedded deep in something else, like a Makefile.
Saw this while dealing with the containerd migration.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-03-20 18:15:46 -07:00
John Howard
52237787fa Windows: Minimal docker top implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-20 16:45:53 -07:00
John Howard
3ca6ad5b9e Windows: Tidy after libcontainerd
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-20 15:59:52 -07:00
Jess Frazelle
9ea7e082ef Merge pull request #21343 from pandrew/fix-debian-policy-rule
Fix debian policy rule
2016-03-20 12:28:58 -07:00
Brian Goff
09a69ed8b9 Merge pull request #21344 from tonistiigi/fix-seccomp-profiles
Reuse profiles/seccomp package
2016-03-20 14:04:11 -04:00
Pierre Carrier
9c2a0739fb bump fluent-logger-golang version
This version supports async connections.

Signed-off-by: Pierre Carrier <pierre@meteor.com>
2016-03-20 16:22:21 +00:00
Pierre Carrier
d89dae6e4b Revert "Added flag to ignore fluentd connect error on container start"
This reverts commit 3cf82ff1ab.

Signed-off-by: Pierre Carrier <pierre@meteor.com>
2016-03-20 16:22:19 +00:00
Mike Goelzer
d1502afb63 Pass upstream client's user agent through to registry on image pulls
Changes how the Engine interacts with Registry servers on image pull.
Previously, Engine sent a User-Agent string to the Registry server
that included only the Engine's version information.  This commit
appends to that string the fields from the User-Agent sent by the
client (e.g., Compose) of the Engine.  This allows Registry server
operators to understand what tools are actually generating pulls on
their registries.

Signed-off-by: Mike Goelzer <mgoelzer@docker.com>
2016-03-20 04:30:09 -07:00
Aleksa Sarai
d274456f3e profiles: apparmor: actually calculate version
In order to check that we can have the `ptrace` rule, we need to
actually calculate the version of apparmor_parser.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-20 19:03:19 +11:00
Aleksa Sarai
64fb664908 profiles: apparmor: remove unused fields
ExecPath isn't used by anything, and the signal apparmor rule isn't used
because it refers to a peer that we don't ship.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-20 19:01:49 +11:00
Tonis Tiigi
99b16b3523 Reuse profiles/seccomp package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-19 14:15:39 -07:00
Tonis Tiigi
f25d9f0f23 Remove unused libcontainer vendoring
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-19 13:04:37 -07:00
Paul Liljenberg
f10c8e786b Fix debian policy rule
Fix issue in debian policy by removeing double quotes.

Signed-off-by: Paul Liljenberg <liljenberg.paul@gmail.com>
2016-03-19 20:58:19 +01:00
Tonis Tiigi
d36376f86c Convert libnetwork stats directly to api types
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-19 12:56:45 -07:00
Vincent Demeester
9e530247e0 Merge pull request #21338 from Microsoft/jjh/lcdcleanup
Windows: libcontainerd cleanup
2016-03-19 15:14:10 +01:00
Antonio Murdaca
264b5b6083 distribution: errors: do not retry if no token in response
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-19 12:20:14 +01:00
Antonio Murdaca
c48439af7f vendor docker/distribution d06d6d3b093302c02a93153ac7b06ebc0ffd1793
- fix and add integration tests

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-19 12:19:48 +01:00
John Howard
4461bc45b6 Windows: Fix unmount for Hyper-V Containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-18 20:43:46 -07:00
John Howard
e331df5aee Windows: libcontainerd cleanup
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-18 20:31:11 -07:00
Jess Frazelle
b77573f48e Merge pull request #21274 from jfrazelle/fix-variables-that-werent-being-used
fix variables that werent being called
2016-03-18 18:03:15 -07:00
Brian Goff
131c59193f Merge pull request #21325 from frenkel/openbsd-support
Support OpenBSD build
2016-03-18 20:53:17 -04:00
Jess Frazelle
e5a3f86e44 Merge pull request #20662 from tonistiigi/containerd-integration
Containerd integration
2016-03-18 17:21:18 -07:00
Jess Frazelle
06e98f0a5c Merge pull request #21232 from calavera/consolidate_security_opts_format
Consolidate security options to use `=` as separator.
2016-03-18 16:02:38 -07:00
Brent Salisbury
8926af95e4 Updates to macvlan/ipvlan experimental docs
- Added a few more diagrams.
- Fixed typos and a few additional  details.
- Moved experimental images to a new directory
  in /experimental/images per @cpuguy83 suggestion.

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-18 18:46:46 -04:00
Brian Goff
81707de23f Don't forward SIGPIPE from client to container
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-18 16:50:18 -04:00
John Howard
94d70d8355 Windows libcontainerd implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: John Starks <jostarks@microsoft.com>
Signed-off-by: Darren Stahl <darst@microsoft.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-18 13:38:41 -07:00
Tonis Tiigi
6eebe85290 Remove execdriver package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-18 13:38:37 -07:00
Tonis Tiigi
9c4570a958 Replace execdrivers with containerd implementation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-18 13:38:32 -07:00
Tonis Tiigi
cc83031ade Vendor containerd, specs, runc
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-18 13:38:26 -07:00
Tonis Tiigi
14299daaca Vendor updated grpc, protobuf
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-18 13:38:21 -07:00
Brian Goff
03003619af Merge pull request #21332 from jfrazelle/change-email
change email
2016-03-18 16:28:51 -04:00
Jessica Frazelle
d3b650062f change email
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-18 13:17:28 -07:00
Vincent Demeester
6c6363c726 Merge pull request #21269 from mlaventure/inspect-bind-mounts
Update inspect/ps to properly handle bind mounts
2016-03-18 20:52:02 +01:00
Stefan J. Wernli
4570cfd3ba Fixing logs file handle leak.
Docker logs was only closing the logger when the HTTP response writer received a close notification, however in non-follow mode the writer never receives a close. This means that the daemon would leak the file handle to the log, preventing the container from being removed on Windows (file in use error). This change explicitly closes the log when the end of stream is hit.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-03-18 11:00:15 -07:00
Vincent Demeester
ea0025a7e1 Merge pull request #21299 from allencloud/handle-kernel-version-error-in-version-api
handle kernel version error in version api
2016-03-18 18:07:48 +01:00
Antonio Murdaca
a30332e705 Merge pull request #21183 from thaJeztah/fix-flaky-TestUpdateRestartPolicy
Fix flaky TestUpdateRestartPolicy on Windows
2016-03-18 17:45:05 +01:00
David Calavera
ae75435dae Merge pull request #20200 from thockin/14282-hostname-domainname-v2
Don't smoosh hostname and domainname in API
2016-03-18 09:08:22 -07:00
Sebastiaan van Stijn
6eaf4434ee Merge pull request #21238 from yongtang/21211-TestRestartStoppedContainer
Fix flaky test of TestRestartStoppedContainer (#21211).
2016-03-18 17:01:30 +01:00
David Calavera
8ef56e1f98 Merge pull request #21311 from nalind/journal-race
Fix a couple of races in the journald log reader
2016-03-18 08:53:21 -07:00
Frank Groeneveld
719a43ca35 Cli binary can now be build on OpenBSD
Signed-off-by: Frank Groeneveld <frank@frankgroeneveld.nl>
2016-03-18 14:56:21 +01:00
Sebastiaan van Stijn
d2a8621b20 Merge pull request #21316 from estesp/daemon-dump-stack-note
Add documentation on the stack trace dump capability of the daemon
2016-03-18 14:29:55 +01:00
Phil Estes
ae466aafcb Add documentation on the dump-stack-traces capability of the daemon
Add a paragraph about how to force a stack trace dump to the daemon log.
This feature was added in Docker 1.9 I believe, but documentation was
never added.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-18 09:25:18 -04:00
Vincent Demeester
9f00b4b79c Merge pull request #21302 from allencloud/fix-typos-in-several-files
fix typos in several files
2016-03-18 14:06:59 +01:00
Sebastiaan van Stijn
aa6d0f5310 Merge pull request #21321 from dsheets/patch-1
project/ISSUE-TRIAGE.md: fix shinny -> shiny typo
2016-03-18 12:44:42 +01:00
David Sheets
bd061b8df6 ISSUE-TRIAGE: fix shinny -> shiny typo
Signed-off-by: David Sheets <david.sheets@docker.com>
2016-03-18 09:42:49 +00:00
Sebastiaan van Stijn
3d13fddd2b Merge pull request #21318 from wenchma/fix-doc
Update the document error
2016-03-18 09:18:03 +01:00
Wen Cheng Ma
edf0da968c Update the document error
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-18 15:23:27 +08:00
Yong Tang
48ccdd46ae Fix flaky test of TestRestartStoppedContainer (#21211).
This fix addressed the issue of test TestRestartStoppedContainer
in #21211. Inside the test, a `docker restart` command is
followed by a `docker logs` command. However, `docker restart`
returns immediately so there is no guarantee that `docker logs`
will wait until the restarted container completes the command
`echo foobar`.

This fix use the check of `{{.State.Running}} = false` to make
sure that the restarted container has already finished, before
invoking the `docker logs` command. The timeout is set to 20s
to make sure it passes WindowsTP4 check.

This fixes #21211.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-18 05:50:23 +00:00
allencloud
f1d34ac2eb fix typos in several files
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-18 12:51:57 +08:00
Sebastiaan van Stijn
46dde68158 Merge pull request #21305 from yongtang/031716-typo
Fix several typos in the documentation.
2016-03-18 01:44:01 +01:00
Brian Goff
6dd69afd37 Merge pull request #21307 from Microsoft/jstarks/fix_long_paths
Windows: revendor Microsoft/hcsshim to v0.1.0
2016-03-17 19:35:03 -04:00
Kenfe-Mickael Laventure
cdd7fddfec Update TestPsShowMounts to also test bind mounts
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-17 15:43:32 -07:00
Kenfe-Mickael Laventure
8451a08ed5 Update filter volume to allow filtering by bind mount source
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-17 15:42:45 -07:00
Kenfe-Mickael Laventure
cb8cc56c22 Fix inspect to print bind mounts source path instead of an empty string
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-17 15:42:45 -07:00
Nalin Dahyabhai
52c0f36f7b Fix a race in cleaning up after journald followers
When following a journal-based log, it was possible for the worker
goroutine, which reads the journal using the journal context and sends
entry data down the message channel, to be scheduled after the function
which started it had returned.  This could create problems, since the
invoking function was closing the journal context object and message
channel before it returned, which could trigger use-after-free segfaults
and write-to-closed-channel panics in the worker goroutine.

Make the cleanup in the invoking function conditional so that it's only
done when we're not following the logs, and if we are, that it's left to
the worker goroutine to close them.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-03-17 18:36:21 -04:00
Nalin Dahyabhai
4d200cd693 Fix a race in maintaining the journald reader list
The journald log reader keeps a map of following readers so that it can
close them properly when the journald reader object itself is closed,
but it was possible for its worker goroutine to be scheduled so that the
worker attempted to remove a reader from the map before the reader had
been added to the map.  This patch adds the item to the map before
starting the goroutine which is expected to eventually remove it.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-03-17 18:36:21 -04:00
John Starks
b54058bafe Windows: revendor Microsoft/hcsshim to v0.1.0
This (the first tagged hcsshim release) fixes long-path bugs on
Windows TP5 that affect commit and save. These bugs were blocking
commit of Windows containers that had node.js installed.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-17 21:08:07 +00:00
Jessica Frazelle
0e025b4bb1 fix variables that werent being called
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-17 13:19:55 -07:00
Alexander Morozov
41c1c6501e Merge pull request #21266 from estesp/dockremap-system-user
Change subordinate range-owning user to be a system user
2016-03-17 11:42:15 -07:00
Yong Tang
3c6aa163a3 Fix several typos in the documentation.
This pull request fixes several typos in the documentation.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-17 18:29:35 +00:00
David Calavera
0910946dc4 Merge pull request #21296 from icecrime/add_programmerq
Add @programmerq to docker/docker curators
2016-03-17 11:18:08 -07:00
Tibor Vass
e6d3a9849c Merge pull request #21003 from riyazdf/hardware-signing-ga
Move hardware signing out of experimental
2016-03-17 14:16:40 -04:00
David Calavera
d3afe34b51 Merge pull request #21292 from runcom/pkg-error-truncindex
pkg: truncindex: provide more info in error
2016-03-17 10:45:56 -07:00
David Calavera
3df99b7fd2 Merge pull request #21295 from rhvgoyal/fix-variable-assignment
Fix the assignment to wrong variable
2016-03-17 10:39:15 -07:00
David Calavera
cb9aeb0413 Consolidate security options to use = as separator.
All other options we have use `=` as separator, labels,
log configurations, graph configurations and so on.
We should be consistent and use `=` for the security
options too.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-17 13:34:42 -04:00
Michael Crosby
2b9ceea896 Merge pull request #21293 from cpuguy83/wtf_gcp
Do not call out to Google on init
2016-03-17 10:32:21 -07:00
David Calavera
b4da157846 Merge pull request #21286 from rhatdan/seccomp-man
Fix documentation on --security-opt seccomp
2016-03-17 10:29:33 -07:00
Arnaud Porterie
9d62c11ab5 Merge pull request #21276 from nerdalert/mcvlan-v6-ci
Remove v6 IT test for experimental macvlan driver
2016-03-17 09:50:02 -07:00
allencloud
73046cb8d8 handle kernel version error in version api
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-18 00:31:50 +08:00
Alexander Morozov
04c7d94c71 Merge pull request #21273 from jfrazelle/remove-dead-code
remove dead code
2016-03-17 09:16:02 -07:00
Arnaud Porterie
441907e2cd Add @programmerq to docker/docker curators
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-17 09:08:19 -07:00
Vincent Demeester
8d742bbe2f Merge pull request #21294 from samoht/fix-typo
Fix typo in the triaging guidelines
2016-03-17 16:46:19 +01:00
David Calavera
553ffa7fd7 Merge pull request #21279 from WeiZhang555/typo
Fix typo
2016-03-17 08:20:26 -07:00
Vivek Goyal
4141a00921 Fix the assignment to wrong variable
We should be assigning value to minFreeMetadata instead of minFreeData. This
is copy/paste error.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-03-17 15:19:08 +00:00
Thomas Gazagnaire
2d2d1bb2c6 Fix a typo in the triaging guidelines
Spotted by @dgageot

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2016-03-17 15:09:13 +00:00
Thomas Gazagnaire
f906ca52ea Remove trailing whitespaces
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2016-03-17 15:07:23 +00:00
Brian Goff
24710fd3e2 Do not call out to Google on init
The GCP logging driver is calling out to GCP cloud service on package
init.
This is regardless if you are using GCP logging or not.

This change makes this happen on the first invocation of a new GCP
logging driver instance instead.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-17 11:06:21 -04:00
Antonio Murdaca
ae1002219b pkg: truncindex: provide more info in error
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-17 15:53:12 +01:00
Brent Salisbury
6d43dc99e5 Remove v6 IT test for experimental macvlan driver
-Temporary until we find the source of CI/v6 issue with driver

Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-17 08:57:52 -04:00
Vincent Demeester
cf9d0c8ae2 Merge pull request #21257 from yongtang/21247-TestRunAttachFailedNoLeak
Fix flaky test TestRunAttachFailedNoLeak in #21247.
2016-03-17 13:47:40 +01:00
Dan Walsh
450fa7536e Fix documentation on --security-opt seccomp
Missing documentation and man pages on seccomp options.
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-03-17 08:04:02 -04:00
Antonio Murdaca
8bbe3de4b3 Merge pull request #21262 from justincormack/newsyscalls
Add new syscalls in libseccomp 2.3.0 to seccomp default profile
2016-03-17 09:37:36 +01:00
Zhang Wei
ca64269165 Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-03-17 16:13:51 +08:00
Andrew Guenther
3b6ffc8022 Ensure --hostname is valid
Validates whether the given hostname is RFC 1123
(https://tools.ietf.org/html/rfc1123) compliant.

Fixes #20371

Signed-off-by: Andrew Guenther <guenther.andrew.j@gmail.com>
2016-03-17 00:23:23 -07:00
Arnaud Porterie
9c20d920a6 Merge pull request #21275 from tonistiigi/fix-vendor-vagrantfile
Remove vagrantfiles from vendor
2016-03-16 20:55:28 -07:00
Tonis Tiigi
46da04388f Remove vagrant files from vendor
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-16 20:30:47 -07:00
Yong Tang
1a9f5f4c69 Fix flaky test TestRunAttachFailedNoLeak in #21247.
The issue of the flaky test is because when the second container
starts, the first container in the detached mode may have only
been created and not yet entering the running state. So the
port 8000 might be used by the second container first.

This fix added a check to make sure the first container is already
in running state, before the second container is invoked.

This fix fixes #21247.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-17 03:14:59 +00:00
David Calavera
b1e9a5eaf1 Merge pull request #21258 from runcom/res.body.leaks
*: fix response body leaks
2016-03-16 19:20:10 -07:00
Jessica Frazelle
8dd88afb5b remove dead code
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-16 19:15:14 -07:00
David Calavera
93e02efa90 Remove dockerfile dependency from the API.
Move context parsing to the backend.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-16 22:06:29 -04:00
Tõnis Tiigi
4227119588 Merge pull request #21261 from aboch/vnd
Vendoring libnetwork v0.7.0-dev.8
2016-03-16 18:56:49 -07:00
Sebastiaan van Stijn
f3acca2fc8 Merge pull request #20962 from lyndaoleary/docs-engine-edits
Edited content in the Hello World section
2016-03-16 23:48:59 +00:00
Phil Estes
c18e7f3a04 Change subordinate range-owning user to be a system user
Change user/group creation to use flags to adduser/useradd to enforce it
being a system user. Use system user defaults that auto-create a
matching group. These changes allow us to remove all group creation
code, and in doing so we also removed the code that finds available uid,
gid integers and use post-creation query to gather the system-generated
uid and gid.

The only added complexity is that today distros don't auto-create
subordinate ID ranges for a new ID if it is a system ID, so we now need
to handle finding a free range and then calling the `usermod` tool to
add the ranges for that ID. Note that this requires the distro supports
the `-v` and `-w` flags on `usermod` for subordinate ID range additions.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-16 18:44:10 -04:00
Justin Cormack
96896f2d0b Add new syscalls in libseccomp 2.3.0 to seccomp default profile
This adds the following new syscalls that are supported in libseccomp 2.3.0,
including calls added up to kernel 4.5-rc4:
mlock2 - same as mlock but with a flag
copy_file_range - copy file contents, like splice but with reflink support.

The following are not added, and mentioned in docs:
userfaultfd - userspace page fault handling, mainly designed for process migration

The following are not added, only apply to less common architectures:
switch_endian
membarrier
breakpoint
set_tls
I plan to review the other architectures, some of which can now have seccomp
enabled in the build as they are now supported.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-16 21:17:32 +00:00
Alexander Morozov
581fc536a6 Merge pull request #21219 from vdemeester/update-engine-api
Update engine api to use net/context.Context all accross the client API
2016-03-16 14:10:59 -07:00
Alessandro Boch
6223291965 Vendoring libnetwork v0.7.0-dev.8
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-03-16 13:45:34 -07:00
David Calavera
f2b1b44de8 Merge pull request #21212 from runcom/wip-token-service-tests
distribution: errors: do not access the errors slice if it's empty
2016-03-16 13:44:18 -07:00
Vincent Demeester
8567286ed6 Update api/client file to use context
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-16 20:25:09 +01:00
Vincent Demeester
48339017db Vendor engine-api to fba5dc8
It plumbs net/context.Context through entire API, see docker/engine-api#140

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-16 20:25:09 +01:00
Vincent Demeester
02476b23a7 Clean Vagrantfile from vendoring
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-16 20:25:04 +01:00
David Calavera
f81754811f Merge pull request #21112 from allencloud/validate-configs-from-file
add validating configs from configuration file
2016-03-16 10:42:25 -07:00
Riyaz Faizullabhoy
f7fa83c910 Improve messaging and binary generation for pkcs11
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-16 09:43:06 -07:00
Antonio Murdaca
f0d83c4cdb *: fix response body leaks
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-16 17:15:42 +01:00
Phil Estes
45b2a57d1c Merge pull request #21242 from cyphar/fix-userns-permissions
daemon: use 0711 for /var/lib/docker
2016-03-16 08:49:17 -07:00
David Calavera
eff27d2b77 Merge pull request #21217 from LK4D4/cleanup_gitignore
gitignore: cleanup some not needed entries
2016-03-16 08:24:31 -07:00
David Calavera
3221c7a3c6 Merge pull request #21235 from Microsoft/jstarks/add_npipe_close_write
Windows: fix various npipe bugs
2016-03-16 08:23:39 -07:00
David Calavera
72e39d58b7 Merge pull request #21256 from albers/completion-gelf-compression
bash completion for gelf-compression log driver settings
2016-03-16 08:22:29 -07:00
Harald Albers
854ceaaa9e bash completion for gelf-compression log driver settings
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-16 15:58:58 +01:00
Vincent Demeester
5f8a0ceeda Merge pull request #21250 from runcom/comment-fix
registry: endpoint_v1: fix outdated comment
2016-03-16 14:35:14 +01:00
Vincent Demeester
bd97e4f95a Merge pull request #21203 from HackToday/fixfilter
Add check about filter name for containers
2016-03-16 14:30:04 +01:00
Antonio Murdaca
137c8601a8 registry: endpoint_v1: fix outdated comment
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-16 12:53:11 +01:00
Aleksa Sarai
e91ca0e239 daemon: use 0711 for /var/lib/docker
This fixes problems encountered when running with a remapped root (the
syscalls related to the metadata directory will fail under user
namespaces). Using 0711 rather than 0701 (which solved the problem
previously) fixes the issue.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-16 19:24:03 +11:00
Antonio Murdaca
1b5c2e1d72 distribution: errors: do not access the errors slice if it's empty
- cherry-pick from 1.10.3 branch: 0186f4d422
- add token service test suite
- add integration test (missing in 1.10.3 branch)

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-16 09:00:39 +01:00
Phil Estes
2b1b235acf Merge pull request #21222 from aaronlehmann/pull-with-no-layers
Fix pulling images that contain no layers at all
2016-03-15 23:03:42 -07:00
Alexander Morozov
aa76ddd353 Merge pull request #21233 from aaronlehmann/testtransfer-flakiness
Fix flaky test TestTransfer
2016-03-15 20:59:56 -07:00
Kai Qiang Wu(Kennan)
8a90e8a19b Add check about filter name for containers
Fixes: #21202
We add valid check about filters like network, images,
volumes did.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-16 03:53:40 +00:00
John Starks
59573fb3c6 Windows: add support for CloseWrite() to npipe transport
This relies on changes to go-winio to support CloseWrite() when the pipe
is in message mode. This fixes an issue where stdin is not properly closed
when there is no more input to docker run.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-15 18:25:35 -07:00
John Starks
87c2aad6f1 Windows: revendor go-winio with npipe fixes
This revendor provides support for CloseWrite() in the npipe transport,
fixes a performance regression introduced in Go 1.6, and improves
npipe performance by allowing the pipe buffer size to be specified.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-15 18:25:34 -07:00
Phil Estes
133b3cccb5 Merge pull request #21108 from tianon/detect-daemon-osarch
Adjust "hack/make/.detect-daemon-osarch" to be the source of truth for "platform detection"
2016-03-15 17:00:55 -07:00
Sebastiaan van Stijn
354f9a8fd1 Merge pull request #20947 from thaJeztah/fix-pull-examples
Fix Docker pull examples
2016-03-16 00:42:38 +01:00
David Calavera
08603dad63 Merge pull request #21221 from tiborvass/changelog-1.10.3
Changelog from 1.10.3 to master
2016-03-15 16:37:47 -07:00
Sebastiaan van Stijn
32eff909b4 Update Docker pull examples
The old examples no longer worked due to changes in
the client and Docker Hub.

This updates the "docker pull" documentation and
adds more examples and explanation of the features.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-16 00:35:58 +01:00
Aaron Lehmann
2f4aa96584 Fix flaky test TestTransfer
This test was checking that it received every progress update that was
produced. But delivery of these intermediate progress updates is not
guaranteed. A new update can overwrite the previous one if the previous
one hasn't been sent to the channel yet.

The call to t.Fatalf exited the current goroutine which was consuming
the channel, which caused a deadlock and eventual test timeout rather
than a proper failure message.

Failure seen here:
https://jenkins.dockerproject.org/job/Docker-PRs-experimental/16400/console

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-15 16:26:16 -07:00
Antonio Murdaca
cc12d2bfaa Merge pull request #21022 from hqhq/hq_fix_race_resize
Fix race condition with exec and resize
2016-03-15 22:54:55 +01:00
David Calavera
db182507c1 Merge pull request #21128 from allencloud/handle-kernel-and-os-error-in-info-api
handle kernel and os info error in /info api
2016-03-15 14:42:57 -07:00
Antonio Murdaca
4adf74ad42 Merge pull request #21117 from justincormack/restart_syscall
Allow restart_syscall in default seccomp profile
2016-03-15 22:41:14 +01:00
Antonio Murdaca
6852d87659 Merge pull request #21193 from amitkris/flush_fix
Remove flush(stdout) in pkg/chrootarchive/diff_unix.go
2016-03-15 22:40:37 +01:00
David Calavera
bb23b20ee7 Merge pull request #21110 from hypriot/fix-arm-kernel-modules
Improve checking dummy kernel module
2016-03-15 14:39:45 -07:00
David Calavera
a2039f117c Merge pull request #21218 from runcom/len-check-fix
daemon: update: check len inside public function
2016-03-15 14:37:19 -07:00
Antonio Murdaca
0f59b0b12c Merge pull request #19831 from cloudflare/optimize-gelf
GELF logger: Add gelf-compression-type and gelf-compression-level
2016-03-15 22:35:46 +01:00
Jess Frazelle
6c2f4381d3 Merge pull request #21226 from calavera/fix_experimental_deb_builds
Move debian rules to the right place before creating the package.
2016-03-15 13:37:20 -07:00
David Calavera
027f4fdca6 Move debian rules to the right place before creating the package.
debhelper has changed the way it performs path validations and
building the deb package fails when it tries to compress the files.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-15 16:17:38 -04:00
Aaron Lehmann
7cf894ce10 Fix pulling images that contain no layers at all
The download manager assumed there was at least one layer involved in
all images. This can be false if the image is essentially a copy of
`scratch`.

Fix a nil pointer dereference that happened in this case. Add
integration tests that involve schema1 and schema2 manifests.

Fixes #21213

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-15 11:10:03 -07:00
Tibor Vass
b5725434c6 Update CHANGELOG with reverts
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 320d17b2a2)
2016-03-15 14:02:49 -04:00
Antonio Murdaca
1f4e87f638 distribution: registry: do not access the errors slice if it's empty
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit 0186f4d422)
2016-03-15 14:02:48 -04:00
Tibor Vass
1c64becab6 Update CHANGELOG for 1.10.3
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit f334602538)
2016-03-15 14:01:57 -04:00
Amit Krishnan
a9c6169138 Remove flush(stdout) in pkg/chrootarchive/diff_unix.go and improve error reporting of flush() to fix #21103
pkg/chrootarchive/diff_unix.go erroneously calls flush on stdout, which tries to read from stdout returning an error.
This has been fixed by removing the call and by modifying flush to return errors and checking for these errors on calls to flush.

Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
2016-03-15 10:29:51 -07:00
David Calavera
6f2d8b411e Merge pull request #21162 from estesp/copyastar-dir-create
Fix CopyWithTar creation of new destination dir as remapped root
2016-03-15 10:26:30 -07:00
Antonio Murdaca
bb05c18892 daemon: update: check len inside public function
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-15 17:24:25 +01:00
Phil Estes
69f297bfee Merge pull request #21191 from tophj-ibm/ppc64le-update-dockerfile
ppc64le: update dockerfile hashes and notary
2016-03-15 09:17:45 -07:00
allencloud
825b582207 add validating configs from configuration file
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-16 00:05:52 +08:00
Tim Hockin
53c5de2921 Don't smoosh hostname and domainname in API
This allows users to provide a FQDN as hostname or to use distinct hostname and
domainname parts.  Depends on https://github.com/docker/libnetwork/pull/950

Signed-off-by: Tim Hockin <thockin@google.com>
2016-03-15 08:32:35 -07:00
Phil Estes
21e531014d Merge pull request #20177 from jheiss/12076-net_hostname
Allow --hostname with --net=host
2016-03-15 08:17:25 -07:00
Alexander Morozov
29fbc9cc1d gitignore: cleanup some not needed entries
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-15 07:33:05 -07:00
allencloud
b0fb0f1993 handle kernel and os info error in /info api
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-15 20:23:15 +08:00
Sebastiaan van Stijn
daabb45d0a Merge pull request #21196 from LK4D4/detect_leaks_util
integration-cli: move goroutines info helpers to separate funcs
2016-03-15 12:42:47 +01:00
Daniel Dao
bd94baa353 add gelf option to customize compression type and level
this allows user to choose the compression type (i.e. gzip/zlib/none) using
--log-opt=gelf-compression-type=none or the compression level (-1..9) using
--log-opt=gelf-compression-level=0 for gelf driver.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-03-15 11:06:06 +00:00
Vincent Demeester
43b5e1ed40 Merge pull request #21205 from geekylucas/21195-update-docs-debian-image-size
Update docs: A more accurate size for debian image
2016-03-15 11:18:27 +01:00
Sebastiaan van Stijn
68ca76320f Merge pull request #21190 from runcom/cleanup
*: remove unused stuff
2016-03-15 11:13:10 +01:00
Vincent Demeester
f9fe796eab Merge pull request #21209 from HackToday/fixdocps
Add the missed volume filter
2016-03-15 10:59:52 +01:00
Kai Qiang Wu(Kennan)
b1619766c0 Add the missed volume filter
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-15 09:26:41 +00:00
Lucas Chan
2f634e4691 Update docs: A more accurate size for debian image
Fixes: #21195

The current size of the debian image is 125.1 MB so I have updated the Markdown to say "under 150". Also removed "extremely" (minimal) as requested.  Documentation built and tested using `make docs`.

Signed-off-by: Lucas Chan <lucas-github@lucaschan.com>
2016-03-15 18:29:06 +11:00
Brian Goff
37a1fadae6 Merge pull request #21097 from thaJeztah/dont-run-without-udev-sync
Fail when devicemapper doesn't support udev-sync
2016-03-14 21:18:01 -04:00
Vincent Batts
bfed97b688 Merge pull request #20786 from rhvgoyal/min-free-space
devmapper: Add a new option dm.min_free_space_percent
2016-03-14 20:10:43 -04:00
Brian Goff
f500951598 Merge pull request #20121 from solganik/master
syslog format
2016-03-14 20:09:15 -04:00
Alexander Morozov
0c7c9df804 integration-cli: move goroutines info helpers to separate funcs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-14 15:52:56 -07:00
David Calavera
d8539347bf Merge pull request #20111 from twistlock/19995_skip_user_ns
Run privileged containers when userns are specified - feature proposal
2016-03-14 15:11:55 -07:00
Brian Goff
01f165169b Merge pull request #21151 from mountkin/optimize-test
optimize slow tests
2016-03-14 16:39:01 -04:00
Sebastiaan van Stijn
fa8417d9ef Merge pull request #21192 from ohadschn/master
Fix Remote API doc double slash typo in cURL command
2016-03-14 21:34:48 +01:00
Vincent Demeester
90ce409e35 Merge pull request #20949 from imjching/master
Fix typo for download and upload retry messages
2016-03-14 21:08:49 +01:00
Ohad Schneider
e31217fbc4 Fix Remote API doc typo in cURL command
Either a single slash or localhost should be specified after http in the cURL URL, not http:// (double slash)

Signed-off-by: ohadschn <ohad188@gmail.com>
2016-03-14 21:15:38 +02:00
David Calavera
c5aedcdac9 Merge pull request #21149 from yongtang/21124-TestJSONFormatProgress
Fix flaky test TestJSONFormatProgress (#21124)
2016-03-14 11:50:50 -07:00
Christopher Jones
2bcf50bdd4 ppc64le: update dockerfile hashes and notary
Now that we are using gc/go 1.6, update a few hashes as well
as actually building the notary binary

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-14 14:36:20 -04:00
Antonio Murdaca
59648fc1e9 *: remove unused stuff
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-14 18:41:30 +01:00
Stefan Scherer
53ba08c874 Improve checking dummy kernel module
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-03-14 18:25:24 +01:00
moxiegirl
7ae1990526 Merge pull request #21158 from thaJeztah/add-alias-for-removed-docs
Add redirects for old Docker Cloud tutorial
2016-03-14 10:24:12 -07:00
David Calavera
df20b5cfd3 Merge pull request #21002 from tonistiigi/fix-id-noprefix
Fix docker run for 64 byte hex ID
2016-03-14 10:17:38 -07:00
David Calavera
8e74cf59d0 Merge pull request #21048 from LK4D4/fix_attach_leak
daemon: fix hanging attaches on initial start failures
2016-03-14 10:16:45 -07:00
Brian Goff
3d42393e7f Merge pull request #21161 from Microsoft/jjh/TestLogsPerformanceProblem
Windows: Improve TestLogsContainers performance
2016-03-14 13:04:16 -04:00
Jay
f8d14bd4c6 Fix typo for download and upload retry messages
Signed-off-by: Jay <jay@imjching.com>
2016-03-15 00:56:19 +08:00
Aaron Lehmann
0b962f72a9 Merge pull request #21159 from runcom/fix-retry-push-bug
distribution: errors: do not retry if no credentials provided
2016-03-14 09:47:13 -07:00
David Calavera
3771a1713b Merge pull request #21131 from estesp/gcc-devmapper-test-broken
Fix gcc compile test with proper flag ordering
2016-03-14 09:46:49 -07:00
David Calavera
d95723f5ef Merge pull request #21123 from justincormack/libseccomp23
Update statically linked libseccomp to 2.3.0
2016-03-14 09:45:29 -07:00
Tianon Gravi
e84a303543 Add explicit code to handle older versions of Docker, too
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-03-14 09:30:45 -07:00
Yong Tang
d17bb23ae6 Fix flaky test TestJSONFormatProgress (#21124)
In TestJSONFormatProgress, the progress string was used for comparison.
However, the progress string (progress.String()) uses time.Now().UTC()
to generate the timeLeftBox which is not a fixed value and cannot be
compared reliably.

This PR fixes the issue by stripping the timeLeftBox field before doing
the comparison.

This PR fixes #21124.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-14 16:00:12 +00:00
Liron Levin
6993e891d1 Run privileged containers when userns are specified
Following #19995 and #17409 this PR enables skipping userns re-mapping
when creating a container (or when executing a command). Thus, enabling
privileged containers running side by side with userns remapped
containers.

The feature is enabled by specifying ```--userns:host```, which will not
remapped the user if userns are applied. If this flag is not specified,
the existing behavior (which blocks specific privileged operation)
remains.

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-03-14 17:09:25 +02:00
Vincent Demeester
b9361f02da Merge pull request #20970 from dmcgowan/login-oauth
OAuth support for registries
2016-03-14 15:49:44 +01:00
Sebastiaan van Stijn
f480c69625 Merge pull request #20990 from sds/fix-data-volume-rest-api-docs
Fix documentation for creating containers with data volumes
2016-03-14 15:06:40 +01:00
Brian Goff
93e04e705a Merge pull request #21134 from tophj-ibm/fix-logtest-on-empty-log
Fix error-checking when looking at empty log
2016-03-14 10:00:57 -04:00
Sebastiaan van Stijn
30999ba50c Merge pull request #21138 from tophj-ibm/add-notary-binary-test-requirement
Add notary binary requirement for tests
2016-03-14 13:34:06 +01:00
Sebastiaan van Stijn
f43683d60d Fix flaky TestUpdateRestartPolicy on Windows
Add another 30 seconds, because it still fails sometimes :'(

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-14 12:49:24 +01:00
Antonio Murdaca
6d23c3c57a integration-cli: add tests for case a) and d) in #21054
- add test for pull from private registry with no credentials
- add test for push to docker hub with no credentials

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <amurdaca@localhost.localdomain>
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-14 12:43:10 +01:00
Vincent Demeester
901c67a8ee Merge pull request #21160 from mavenugo/staleep
Include all endpoints in network inspect object
2016-03-14 11:36:04 +01:00
Lei Jitang
d4a4cb99e3 Merge pull request #21177 from HackToday/fixtypo
Fix the typo url and info
2016-03-14 16:09:20 +08:00
Kai Qiang Wu(Kennan)
f6bd62a8d7 Fix the typo url and info
Some info is not consistent between context and word.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-14 06:34:08 +00:00
Sebastiaan van Stijn
f3485bc125 Merge pull request #21120 from lirantal/feature/21119-docker-config-for-windows
closes #21119 updating documentation for Windows and OSx users
2016-03-14 01:38:26 +01:00
Madhu Venugopal
2ef00ba89f Include all endpoints in network inspect object
Prior to this change, the "docker network inspect" contains only the
endpoints that have active local container. This excludes all the remote
and stale endpoints. By including all the endpoints, it makes debugging
much simpler and also allows the user to cleanup any stale endpoints
using "docker network disconnect -f {network} {endpoint-name}".

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-13 16:58:53 -07:00
Alexander Morozov
2d74f78ab5 Merge pull request #21122 from mavenugo/mviv
Vendor libnetwork v0.7.0-dev.7 : Experimental MacVlan and IPVlan network drivers
2016-03-13 11:32:58 -07:00
Liran Tal
d2aa521822 closes #21119 - updating documentation for Windows and OSx users
Updating Docker's documentation file docker configuration file on Windows hosts.
This is of importance for Windows users whom are utilizing the Docker Toolbox.

Signed-off-by: Liran Tal <liran.talh@gmail.com>
2016-03-13 17:55:34 +02:00
Brian Goff
a04e16ac35 Merge pull request #20977 from allencloud/fix-delete-response-status-code
return status code http.StatusNoContent in deleting network when OK
2016-03-13 11:30:32 -04:00
Phil Estes
06d95003b3 Fix CopyWithTar creation of new destination dir as remapped root
If the destination does not exist, it needs to be created with ownership
mapping to the remapped uid/gid ranges if user namespaces are enabled.
This fixes ADD operations, similar to the prior fixes for COPY and WORKDIR.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-12 23:05:45 -05:00
John Howard
8ff884548f Fix TestLogsContainers performance
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-12 16:15:14 -08:00
Vincent Demeester
ed6fb41321 Merge pull request #21155 from mountkin/broken-links
docs: fix broken links
2016-03-12 23:53:24 +01:00
Antonio Murdaca
497d545093 distribution: errors: do not retry if no credentials provided
Fix and add test for case c) in #21054

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-12 20:41:47 +01:00
Jess Frazelle
4e7df42aa8 Merge pull request #21150 from cyphar/fix-pids-stats
client: stats: fill in stats info on client
2016-03-12 11:25:15 -08:00
Sebastiaan van Stijn
c46ab3d593 Merge pull request #21154 from runcom/fix-typos-1
docs: add $ before HOME
2016-03-12 15:15:48 +01:00
Shijiang Wei
36506b7944 docs: fix broken links
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-03-12 21:24:55 +08:00
Antonio Murdaca
219e5fdda3 docs: add $ before HOME
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-12 14:11:01 +01:00
Sebastiaan van Stijn
94336cb5dd Add redirects for old Docker Cloud tutorial
This page has been deleted from the Docker Cloud tutorials,
so adding redirects for the old locations.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-12 13:51:26 +01:00
Shijiang Wei
7369ddd89f speed up DockerSuite.TestRunApparmorProcDirectory
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-03-12 18:58:29 +08:00
Shijiang Wei
fc284a8569 speed up DockerSuite.TestRunContainerWithReadonlyRootfs
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-03-12 18:58:03 +08:00
Vincent Demeester
b7aae84b5f Merge pull request #21145 from Microsoft/jjh/fixunittestfailures
Windows CI: Fix unit test failures
2016-03-12 10:48:18 +01:00
Aleksa Sarai
084241a37b client: stats: fill in stats info on client
This code was lost in a rebase in the PIDs cgroup merge, fix it so that
`docker stats` actually shows statistics from the PIDs cgroup.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-03-12 14:45:30 +11:00
John Howard
1fbaf6ee8b Windows CI: Fix unit test failures
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-11 19:31:08 -08:00
Arnaud Porterie
77f501a0c6 Merge pull request #21140 from Microsoft/FlakyTestFix
Fixing flaky tests on Windows (again)
2016-03-11 18:49:38 -08:00
Tibor Vass
c73f2c95cb Merge pull request #21017 from cpuguy83/use_forked_gocheck
Use forked gocheck
2016-03-11 20:42:44 -05:00
Brent Salisbury
9cb6b51fa2 docs for experimental vlan net drivers
Signed-off-by: Brent Salisbury <brent@docker.com>
2016-03-11 16:01:01 -08:00
Brent Salisbury
afeea8c9ca Experimental it for net vlan drivers
Signed-off-by: Brent Salisbury <brent@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-11 16:00:27 -08:00
Sebastiaan van Stijn
471a1aeda8 Merge pull request #21047 from icecrime/update_patch_process
Update patch release process
2016-03-12 00:44:01 +01:00
Arnaud Porterie
9596e3c501 Update patch release process
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-11 15:40:19 -08:00
Darren Stahl
b756f89e1d Fixing flaky tests on Windows (again)
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-11 14:48:52 -08:00
Christopher Jones
db700a678d Add notary binary requirement for tests
This PR adds the "notary" binary requirement for tests.

Previously, NotaryHosting was checking for the "notary-server"
binary under the name notaryBinary. This renames that reference to
notaryServerBinary, so that notaryBinary can rightly refer
to the actual "notary" binary.

Currently only one test actually uses the notary binary, so it's been
updated accordingly.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-11 17:36:12 -05:00
Madhu Venugopal
9047cd40c2 Vendor libnetwork v0.7.0-dev.7
* Experimental support for macvlan and ipvlan drivers

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-03-11 14:22:25 -08:00
Alexander Morozov
e2d245ad81 Merge pull request #21076 from calavera/fix_builtin_graphdriver_init
Make sure we call every graph init with the same root path.
2016-03-11 14:20:39 -08:00
David Calavera
ed6e33eede Make sure we call every graph init with the same root path.
Remove O(n^2) check for several prior configured drivers.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-11 17:15:55 -05:00
Sebastiaan van Stijn
81b7a1b756 Merge pull request #21077 from moxiegirl/carry-20160
Document Volume Removal in User Guide
2016-03-11 22:08:25 +01:00
Aditi Rajagopal
ae66d536a5 Document Volume Removal in User Guide
Resolves: #20113
Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>

Carry #20160
Tighten language
Updating with comments
Removing articles which is empty
Adding Brian's comments
Putting back what I took out

Signed-off-by: Mary Anthony <mary@docker.com>
2016-03-11 12:29:47 -08:00
Christopher Jones
2a02914892 Fix error-checking when looking at empty log
Fixes a bug when the log output is empty.

The length of a slice containing an empty string is 1, not 0, so
the test fails to catch when the log is empty. Instead, take a look at
out, which is just a string.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-11 15:09:00 -05:00
Phil Estes
e207645307 Fix gcc compile test with proper flag ordering
This test for libdevmapper was always silently failing because the
linker never got the `-ldevmapper` information. Putting the flag last
corrects the test.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-11 15:08:58 -05:00
Brian Goff
11d3f7092e use per-check timeouts
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-11 14:38:52 -05:00
Brian Goff
e6e0837cbb Use forked gocheck and vendor
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-11 14:38:50 -05:00
Arnaud Porterie
949e53a0f1 Merge pull request #21127 from icecrime/add_john_maintainer
Add @jhowardmsft to maintainers
2016-03-11 11:14:37 -08:00
Arnaud Porterie
11d10b77ac Add @jhowardmsft to maintainers
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-11 10:47:14 -08:00
David Calavera
9842c7a741 Merge pull request #21129 from allencloud/fix_typos
fix typos
2016-03-11 10:16:40 -08:00
Tonis Tiigi
16e4c4e481 Fix docker run for 64 byte hex ID
Fixes #20972

Also makes sure there is no check to registry if
no image is found for the prefixed IDs.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-11 10:02:47 -08:00
David Calavera
12c67f42d8 Merge pull request #21100 from aaronlehmann/remove-windows-specific-registry
Remove Windows-specific default registry definitions
2016-03-11 09:31:55 -08:00
Justin Cormack
5abd881883 Allow restart_syscall in default seccomp profile
Fixes #20818

This syscall was blocked as there was some concern that it could be
used to bypass filtering of other syscall arguments. However none of the
potential syscalls where this could be an issue (poll, nanosleep,
clock_nanosleep, futex) are blocked in the default profile anyway.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-11 16:44:11 +00:00
Tibor Vass
1c0474ed63 Merge pull request #20476 from wenchma/19425-TestDaemonStartWithDaemonCommand
Optimize slow bottleneck tests of TestDaemonStartWithDaemonCommand
2016-03-11 10:54:48 -05:00
allencloud
bbeb859b64 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-11 23:22:16 +08:00
Daniel Dao
ae6ee5e4af upgrade go-gelf vendor
Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-03-11 15:18:58 +00:00
Justin Cormack
68bda672dc Update statically linked libseccomp to 2.3.0
Fixes #20550

This update to libseccomp supports the new versions of socket
system calls that can be called directly rather than via the
socketcall syscall in kernel versions 4.3 or later with new glibc.

Note this library version now supports s390x and ppc64le, so
seccomp can be potentially be enabled for these architectures now.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-11 13:01:30 +00:00
Tianon Gravi
a667cd88c3 Adjust "hack/make/.detect-daemon-osarch" to be the source of truth for "platform detection"
Instead of being split between three files, let's let `hack/make/.detect-daemon-osarch` be our single source of truth for multiarch detection/vars.  Not only does it make it slightly easier to make sure we change everything properly when these bits have to change, but it also makes it so that all bits of `hack/make.sh` (especially `hack/make/.ensure-frozen-images`) work properly outside the context of the `Makefile` on all platforms.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-03-10 20:07:21 -08:00
Brian Goff
9ad946eded Merge pull request #21098 from kencochrane/fix_vendoring_script_macosx
Fix the vendoring script on MacOS X
2016-03-10 22:45:55 -05:00
Aaron Lehmann
87535ca2e9 Remove Windows-specific default registry definitions
Going forward, Docker won't use a different default registry on Windows.
This changes Windows to use the standard Docker Hub registry as the
default registry.

There is a plan in place to migrate existing images from the Windows
registry to Hub's normal registry, in advance of the 1.11 release. In
the mean time, images on the Windows registry can be accessed by
prefixing them with `registry-win-tp3.docker.io/`.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-10 18:33:14 -08:00
Qiang Huang
dc56a76bc9 Fix race condition with exec and resize
When I use `docker exec -ti test ls`, I got error:
```
ERRO[0035] Handler for POST /v1.23/exec/9677ecd7aa9de96f8e9e667519ff266ad26a5be80e80021a997fff6084ed6d75/resize returned error: bad file descriptor
```

It's because `POST /exec/<id>/start` and
`POST /exec/<id>/resize` are asynchronous, it is
possible that exec process finishes and ternimal
is closed before resize. Then `console.Fd()` will
get a large invalid number and we got the above
error.

Fix it by adding synchronization between exec and
resize.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-11 09:59:50 +08:00
Ken Cochrane
94445b2fea Put back the hack that was originally in place.
Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-03-10 20:27:44 -05:00
Brian Goff
edf3c0f112 Merge pull request #21102 from tiborvass/template-improve-contrast
Improve github templates
2016-03-10 20:18:30 -05:00
Sebastiaan van Stijn
1d094255d5 Merge pull request #21045 from calavera/registry_config_options
Move registry service options to the daemon configuration.
2016-03-11 00:48:55 +01:00
Tibor Vass
8d9396c5f9 Improve github templates
Add more contrast and change `you` to `I` in pull requests template.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-10 18:42:44 -05:00
Ken Cochrane
9488696814 Fix the vendoring script on MacOS X
The version of sed on MacOS X is different then the one on linux. The mac version
requires a parameter for the inline (-i) flag, where this isn't required on linux.
On the mac it thinks the -e flag is the parameter, and it causes the vendoring script
to fail.

This fix adds an empty string '' as a parameter to sed, which works fine on both the
mac and linux versions.

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-03-10 16:43:53 -05:00
Sebastiaan van Stijn
496aca386a Merge pull request #20190 from rhatdan/volumeMan
Add a parent man page for docker volumes command
2016-03-10 22:36:50 +01:00
Arnaud Porterie
2b8e7ad460 Merge pull request #20478 from msabansal/HNSIntegration
Windows libnetwork integration
2016-03-10 13:33:04 -08:00
Sebastiaan van Stijn
de64171510 Fail when devicemapper doesn't support udev-sync
Now what we provide dynamic binaries for all plaforms,
we shouldn't try to run docker without udev sync support.

This change changes the previous warning to an Error,
unless the user explicitly overrides the warning, in
which case they're at their own risk.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-10 19:13:44 +01:00
David Calavera
59586d02b1 Move registry service options to the daemon configuration.
Allowing to set their values in the daemon configuration file.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-10 11:53:11 -05:00
David Calavera
9ff7439162 Merge pull request #20983 from Microsoft/jstarks/fix_save_powershell_remoting
Windows: Revendor github.com/Microsoft/go-winio
2016-03-10 08:28:36 -08:00
David Calavera
790d8f8520 Merge pull request #21018 from hqhq/hq_fix_race_exec_tty
Fix race condition when exec with tty
2016-03-10 08:27:54 -08:00
Alexander Morozov
943ae26bc0 Merge pull request #20958 from calavera/basic_function_templates
Provide basic string manipulation functions for template executions.
2016-03-10 08:08:32 -08:00
Alexander Morozov
7bb815e296 daemon: fix hanging attaches on initial start failures
Attach can hang forever if there is no data to send. This PR adds notification
of Attach goroutine about container stop.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-10 07:38:46 -08:00
Dan Walsh
04e9087d5d Merge branch 'master' of github.com:docker/docker into volumeMan
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-03-10 09:39:16 -05:00
Sebastiaan van Stijn
e7093a95cf Merge pull request #21043 from runcom/plugin-sdk
docs: extend: plugins: mention the sdk + systemd socket activation
2016-03-10 15:12:23 +01:00
Antonio Murdaca
97e07ca10a docs: extend: plugins: mention the sdk + systemd socket activation
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-10 12:17:06 +01:00
Sebastiaan van Stijn
f70f570641 Merge pull request #21073 from moxiegirl/close-carry-20377
Add missing fields for NetworkSettings
2016-03-10 10:59:15 +01:00
msabansal
e8026d8a98 Windows libnetwork integration
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-03-09 20:33:21 -08:00
Aaron Lehmann
49485b769c Merge pull request #21063 from allencloud/fix-typos
fix some typos.
2016-03-09 20:24:56 -08:00
Brian Goff
d99be399c3 Merge pull request #21019 from aboch/se
Add port configs to Sandbox and libnetwork vendoring
2016-03-09 22:27:37 -05:00
allencloud
34b82a69b9 fix some typos.
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-10 10:09:27 +08:00
Arnaud Porterie
bd7c95e306 Merge pull request #21074 from mlaventure/test-userns-centos
Update UserNamespaceInKernel test requirement to handle redhat
2016-03-09 17:53:13 -08:00
Jason Heiss
3f445e63b4 Allow --hostname with --net=host
Docker creates a UTS namespace by default, even with --net=host, so it
is reasonable to let the user set the hostname. Note that --hostname is
forbidden if the user specifies --uts=host.

Closes #12076
Signed-off-by: Jason Heiss <jheiss@aput.net>
2016-03-09 20:40:12 -05:00
David Calavera
8514880997 Provide basic string manupilation functions for template executions.
This change centralizes the template manipulation in a single package
and adds basic string functions to their execution.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-09 19:37:12 -05:00
Alessandro Boch
b8a5fb76ea Add Exposed ports and port-mapping configs to Sandbox
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-03-09 14:07:23 -08:00
Derek McGowan
76cd0f6811 Update docs to mention identity token usage for /auth
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-03-09 13:47:57 -08:00
Aaron Lehmann
ba0aa5311a Add support for identity tokens in client credentials store
Update unit test and documentation to handle the new case where Username
is set to <token> to indicate an identity token is involved.

Change the "Password" field in communications with the credential helper
to "Secret" to make clear it has a more generic purpose.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-09 13:47:57 -08:00
Aaron Lehmann
a6d0c66b4c Change Docker client to support OAuth-based flow for login
This mechanism exchanges basic auth credentials for an identity token.
The identity token is used going forward to request scoped-down tokens
to use for registry operations.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-09 13:47:57 -08:00
Derek McGowan
e896d1d7c4 Add support for identity token with token handler
Use token handler options for initialization.
Update auth endpoint to set identity token in response.
Update credential store to match distribution interface changes.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-03-09 13:47:57 -08:00
Derek McGowan
5730259f32 Vendor updates to distribution
Pull in changes for refresh token in the registry client

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-03-09 13:47:57 -08:00
David Calavera
fcff343cb4 Merge pull request #21067 from LK4D4/remove_comment
Remove obsolete comment
2016-03-09 13:27:12 -08:00
Kanstantsin Shautsou
205844875c Add missing fields for NetworkSettings
Dump from 1.10.1 has this fields.

Signed-off-by: Kanstantsin Shautsou <kanstantsin.sha@gmail.com>

Close and carry #20377
Include David's request

Signed-off-by: Mary Anthony <mary@docker.com>
2016-03-09 12:43:48 -08:00
Kenfe-Mickael Laventure
6cbff9505c Update UserNamespaceInKernel test requirement to handle redhat
On redhat based distribution, checking that USER_NS is compiled in the
kernel is not sufficient, we also have to check that the feature as
been enabled.

With this commit, it is now done by checking the content of
`/sys/module/user_namespace/parameters/enable`.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-03-09 12:42:59 -08:00
Solganik Alexander
1a40dd535f Fixes #18712. Add rfc5424 log format for syslog.
Previously docker used obsolete rfc3164 syslog format for syslog. rfc3164 explicitly
uses semicolon as a separator between 'TAG' and 'Content' section of the log message.
Docker uses semicolon as a separator between image name and version tag.
When {{.ImageName}} was used as a tag expression and contained ":" syslog parser mistreated
"tag" part of the image name as syslog message body, which resulted in incorrect "syslogtag" been reported by syslog
daemon.
Use of rfc5424 log format partually fixes the issue as it does not use semicolon as a separator.
However using default rfc5424 syslog format itroduces backward incompatability because rsyslog template keyword  %syslogtag%
is parsed differently. In rfc3164 it uses the "TAG" part reported before the "pid" part. In rfc5424 it uses "appname" part reported
before the pid part, while tag part is introduced by %msgid% part.
For more information on rsyslog configuration properties see: http://www.rsyslog.com/doc/master/configuration/properties.html

Added two options to specify logging in either rfc5424, rfc3164 format or unix format omitting hostname in order to keep backwards compatability with
previous versions.

Signed-off-by: Solganik Alexander <solganik@gmail.com>
2016-03-09 22:31:11 +02:00
Solganik Alexander
f988741823 Fixes #18712: Vendoring srslog to latest version.
In order to solve the issue metioned in  https://github.com/docker/docker/issues/18712
it is required to use rfc5424 log formatted message, made available in latest srslog library.

Signed-off-by: Solganik Alexander <solganik@gmail.com>
2016-03-09 22:28:51 +02:00
Brian Goff
9bfdb93e3a Merge pull request #21053 from WeiZhang555/vendor-engine-api
Vendor docker/engine-api
2016-03-09 15:19:26 -05:00
Alexander Morozov
8706c5124a Remove obsolete comment
There is no more race

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-09 09:38:39 -08:00
Tõnis Tiigi
f97ab358cb Merge pull request #21013 from calavera/events_since_nano
Compare event nanoseconds properly to filter since a specific date.
2016-03-09 09:30:54 -08:00
David Calavera
016be53236 Merge pull request #21056 from askb/optimize-TestBuildUsersAndGroups
Optimized integration test case DockerSuite.TestBuildUsersAndGroups fixes #19425
2016-03-09 09:15:01 -08:00
allencloud
94c929099f 1.return status code http.StatusNoContent in deleting network when successful
2.modify docker_api_network_test.go
3.modify docker_remote_api_v1.23.md

Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-10 00:28:55 +08:00
Phil Estes
5d3ae7f989 Merge pull request #20965 from yongtang/19425-DockerSuite.TestRunUnshareProc
Optimize slow bottleneck test of DockerSuite.TestRunUnshareProc.
2016-03-09 10:32:09 -05:00
Sebastiaan van Stijn
faacbcf53e Merge pull request #20930 from cloojure/patch-3
Update dockernetworks.md
2016-03-09 15:58:38 +01:00
Anil Belur
deeb5c95e2 Optimized integration test case DockerSuite.TestBuildUsersAndGroups for #19425
Removed unnecessary RUN statements and combined some of the RUN statement into a single line.

The runtime performance is seen as follows:
pre-change:
PASS: docker_cli_build_test.go:3826: DockerSuite.TestBuildUsersAndGroups
63.074s

post-change:
PASS: docker_cli_build_test.go:3826: DockerSuite.TestBuildUsersAndGroups
49.698s

Signed-off-by: Anil Belur <askb23@gmail.com>
2016-03-09 18:00:56 +05:30
Zhang Wei
f446771f0b Vendor docker/engine-api
Vendor docker/engine-api 9bab0d5b73872e53dfadfa055dcc519e57b09439

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-03-09 15:52:44 +08:00
Antonio Murdaca
3d09842713 Merge pull request #21033 from estesp/workdir-perms-userns
Ensure WORKDIR is created with remapped root ownership
2016-03-09 07:22:08 +01:00
Alessandro Boch
5a65408941 Vendoring libnetwork v0.7.0-dev.5
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-03-08 18:47:02 -08:00
Tianon Gravi
0771230daa Merge pull request #20342 from vijaykilari/fix_20325
#20325 : arm64: Use gccgo as bootstrap for compiling golang
2016-03-08 16:11:42 -08:00
Sebastiaan van Stijn
6b0119aefb Merge pull request #20940 from HackToday/fixsave
Refine error message when save non-exist image
2016-03-09 00:59:43 +01:00
David Calavera
a9f2006f10 Compare event nanoseconds properly to filter since a specific date.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-08 17:07:58 -05:00
David Calavera
dd32445ecc Merge pull request #18697 from jfrazelle/pids-cgroup
Add PIDs cgroup support to Docker
2016-03-08 14:03:36 -08:00
David Calavera
76a5ab3b43 Merge pull request #21035 from LK4D4/exec_ids
make TestExecInspectIDs less racy
2016-03-08 13:02:01 -08:00
Sebastiaan van Stijn
95bc1f1ccd Merge pull request #21032 from trishnaguha/docker-group
Creates docker group for non-root access
2016-03-08 21:50:44 +01:00
Brian Goff
6d6919ed79 Merge pull request #20995 from wenchma/ping_timeout
Update ping command timeout to 4 sec
2016-03-08 15:35:00 -05:00
John Starks
845dce8465 Windows: Revendor github.com/Microsoft/go-winio
This fixes docker save when the daemon was launched from a remote
PowerShell session.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-08 12:27:48 -08:00
Tibor Vass
471e434400 Merge pull request #21036 from jfrazelle/fix-release-generation
only add the suites that exist we dont need the script for this
2016-03-08 15:11:49 -05:00
Brian Goff
dc702b6c6b Merge pull request #20727 from mrunalp/no_new_priv
Add support for NoNewPrivileges in docker
2016-03-08 14:26:15 -05:00
David Calavera
38e1cd1dc1 Merge pull request #20975 from runcom/secretservice-creds-store
cliconfig: credentials: set default for unix
2016-03-08 11:17:12 -08:00
Jessica Frazelle
0ab5805c08 only add the suites that exist we dont need the script for this
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-08 11:08:00 -08:00
Alexander Morozov
8dd8ec137e make TestExecInspectIDs less racy
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-08 09:51:39 -08:00
Phil Estes
799a6b94ee Ensure WORKDIR is created with remapped root ownership
Correct creation of a non-existing WORKDIR during docker build to use
remapped root uid/gid on mkdir

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-08 11:58:55 -05:00
Jessica Frazelle
69cf03700f pids limit support
update bash commpletion for pids limit

update check config for kernel

add docs for pids limit

add pids stats

add stats to docker client

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-08 07:55:01 -08:00
trishnaguha
cdd8d3999f Creates docker group for non-root access
Signed-off-by: trishnaguha <trishnaguha17@gmail.com>
2016-03-08 21:03:14 +05:30
Antonio Murdaca
fe8fa85074 cliconfig: credentials: set default for unix
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-08 09:21:36 +01:00
Wen Cheng Ma
c7a340e2be Update ping command timeout to 4 sec
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-08 15:06:58 +08:00
Brian Goff
9e2c4de0de Merge pull request #20961 from Microsoft/FlakeyTestFix
Reenabled TestPsListContainers* tests and increased sleep time
2016-03-07 22:05:58 -05:00
Qiang Huang
021a12ef1b Revert hack in TestExecTTY
It'll weaken this test case, and the flaky test is resolved
by another commit in this PR.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-08 10:54:18 +08:00
Qiang Huang
a444b5f60c Fix race condition when exec with tty
I can reproduce this easily on one of my servers,
`docker exec -ti my_cont ls` will not print anything,
without `-t` it acts normally.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-08 10:53:34 +08:00
Kai Qiang Wu(Kennan)
ed231d4095 Refine error message when save non-exist image
Fixes: #20709
As discussed in the issue, we need refine the message to
help user more understood, what happened for non-exist image.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-08 01:45:19 +00:00
Riyaz Faizullabhoy
2c3e9e5794 Update packaging for yubico
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-07 17:17:15 -08:00
Yong Tang
526c2fe942 Optimize slow bottleneck test of DockerSuite.TestRunUnshareProc.
This fix tries to improve the time to run TestRunUnshareProc
in #19425.
In this fix goroutines are used to run test cases in parallel to
prevent the test from taking a long time to run.
As the majority of the execution time in the tests is from
multiple executions of 'docker run' and each of which takes
several seconds, parallel executions improve the test time.
Since each 'docker run' is independent, the purpose of the
test is not altered in this fix.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-07 23:43:16 +00:00
Vivek Goyal
2e222f69b3 devmapper: Add a new option dm.min_free_space
Once thin pool gets full, bad things can happen. Especially in case of xfs
it is possible that xfs keeps on retrying IO infinitely (for certain kind
of IO) and container hangs. 

One way to mitigate the problem is that once thin pool is about to get full,
start failing some of the docker operations like pulling new images or
creation of new containers. That way user will get warning ahead of time
and can try to rectify it by creating more free space in thin pool. This
can be done either by deleting existing images/containers or by adding more
free space to thin pool.

This patch adds a new option dm.min_free_space to devicemapper graph
driver. Say one specifies dm.min_free_space=10%. This means atleast
10% of data and metadata blocks should be free in pool before new device
creation is allowed, otherwise operation will fail.

By default min_free_space is 10%. User can change it by specifying
dm.min_free_space=X% on command line. A value of 0% will disable the
check.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-03-07 20:27:39 +00:00
Brian Goff
5ded3a212b Merge pull request #20852 from wenchma/net-alias
Add tests of unsupported network-scoped alias on default networks
2016-03-07 13:37:12 -05:00
Sebastiaan van Stijn
dc82c2dda9 Merge pull request #20998 from Ralle/Ralle-fix-json
Update dockervolumes.md
2016-03-07 19:35:28 +01:00
Riyaz Faizullabhoy
37fa75b344 Move pkcs11 out of experimental, into GA
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-07 10:07:40 -08:00
Ralle
086d06dce1 Update dockervolumes.md
Fix JSON highlighting

Signed-off-by: Rasmus Abrahamsen <spam@rasmusa.net>
2016-03-07 18:47:45 +01:00
Mrunal Patel
74bb1ce9e9 Add support for NoNewPrivileges in docker
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Add tests for no-new-privileges

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Update documentation for no-new-privileges

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-03-07 09:47:02 -08:00
Brian Goff
bc730f3d99 Merge pull request #20982 from Microsoft/jstarks/fix_tp5_commit
Windows: Revendor github.com/Microsoft/hcsshim
2016-03-07 11:20:14 -05:00
Vincent Demeester
64a4a7a191 Merge pull request #20994 from runcom/fix-debugf
api: server: server: remove redunant debugf
2016-03-07 13:32:10 +01:00
Antonio Murdaca
526ddd3512 api: server: server: remove redunant debugf
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-07 09:03:29 +01:00
Shane da Silva
62fef18d69 Fix documentation for creating containers with data volumes
The documentation for Docker 1.10.2 (API version 1.22) mentions under
the "Create a container"[1] section that `HostConfig.Binds` can be given
a "container path" which will automatically "create a new volume for the
container."

I interpreted this to mean it that the following two commands should
have the same net result:

    # Create container with data volume via REST API
    curl --unix-socket /var/run/docker.sock -XPOST \
         http://localhost/containers/create \
         -H"Content-Type: application/json" \
         -d'{
           "Image": "<image-id>",
           ...
           "HostConfig": {
             "Binds": [
               "/some/data/volume"
             ]
           }
         }'

    # Create container with data volume via CLI
    docker create -v /some/data/volume <image-id> <command>

However, this turned out not the be the case, as the former would create
a mount with no source and no corresponding volume:

    ...
    "Mounts": [
      {
        "Source": "",
        "Destination": "/some/data/volume",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
      }
    ],
    ...
    "Config": {
      ...
      "Volumes": null,
      ...
    }

...whereas the latter would create a volume and mount it:

    ...
    "Mounts": [
      {
        "Name": "9b38af46d6..."
        "Source": "/var/lib/docker/volumes/9b38af46d6.../_data",
        "Destination": "/some/data/volume",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
      }
    ],
    ...
    "Config": {
      ...
      "Volumes": {
        "/some/data/volume": {}
      },
      ...
    }

However, if you instead specify the data volume via the `Volumes` key,
then it works as expected, e.g.

    curl --unix-socket /var/run/docker.sock -XPOST \
         http://localhost/containers/create \
         -H"Content-Type: application/json" \
         -d'{
           "Image": "...",
           ...
           "Volumes": {"/some/data/volume": {}}
          }'

...will create a data volume and mount it.

Thus the documentation is either incorrect, or this is a bug and the
ability to create a data volume via `HostConfig.Binds` does not
work as advertised for API version 1.22 (and likely others).

I concluded that the documentation was incorrect. Since I've only
verified this behavior for Docker 1.10.2, I updated the docs for
API versions 1.22 and 1.23, but this may apply to other versions as
well.

[1] https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#create-a-container

Signed-off-by: Shane da Silva <shane@dasilva.io>
2016-03-07 01:34:14 +00:00
Vincent Demeester
86ba0e29f5 Merge pull request #20866 from suiyuan2009/20801-add-ubuntu-notice
add ubuntu arch note
2016-03-06 11:50:18 +01:00
Antonio Murdaca
11b9d7f1ad Merge pull request #20967 from calavera/fix_stop_hanging_on_dead_process
Do not wait for container on stop if the process doesn't exist.
2016-03-06 11:37:59 +01:00
Ziming Dong
b2f1f7ee00 add ubuntu arch note
Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu arch note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

fix ubuntu installation guide url

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu arch note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu arch note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

fix ubuntu installation guide url

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu arch note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu arch note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

add ubuntu installation note

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>

fix ubuntu installation guide url

Signed-off-by: Ziming Dong <bnudzm@foxmail.com>
2016-03-06 14:19:58 +08:00
John Starks
53b8b8f058 Windows: Revendor github.com/Microsoft/hcsshim
This fixes commit on Windows post-TP4 due to a small change
in behavior in the ExportLayer API.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-05 19:10:32 -08:00
Jess Frazelle
91cafaadac Merge pull request #20981 from justincormack/seccomp_ipc
Add ipc syscall to default seccomp profile
2016-03-05 15:29:19 -08:00
Justin Cormack
31410a6d79 Add ipc syscall to default seccomp profile
On 32 bit x86 this is a multiplexing syscall for the system V
ipc syscalls such as shmget, and so needs to be allowed for
shared memory access for 32 bit binaries.

Fixes #20733

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-05 22:12:23 +00:00
Doug Davis
beb17c096d Merge pull request #20978 from allencloud/fix-typo
fix typos
2016-03-05 12:41:37 -05:00
allencloud
2736f77a94 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-06 00:59:11 +08:00
Brian Goff
160abfbeea Merge pull request #20803 from WeiZhang555/empty-stats-no-stream
Bug fix: stats --no-stream always print zero values
2016-03-05 08:47:41 -05:00
Zhang Wei
ea86c30a4a Bug fix: stats --no-stream always print zero values
`docker stats --no-stream` always print zero values.

```
$ docker stats --no-stream
CONTAINER           CPU %               MEM USAGE / LIMIT   MEM %
NET I/O             BLOCK I/O
7f4ef234ca8c        0.00%               0 B / 0 B           0.00%
0 B / 0 B           0 B / 0 B
f05bd18819aa        0.00%               0 B / 0 B           0.00%
0 B / 0 B           0 B / 0 B

```

This commit will let docker client wait until it gets correct stat
data before print it on screen.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-03-05 13:22:26 +08:00
Sebastiaan van Stijn
44fb8fa588 Merge pull request #20946 from thaJeztah/update-registry-links
Update links to Docker Hub
2016-03-04 22:37:57 +01:00
Doug Davis
45865bc4f5 Merge pull request #20963 from tophj-ibm/properly-close-test-file
Properly close and remove file in daemon test
2016-03-04 16:27:07 -05:00
David Calavera
1a729c3dd8 Do not wait for container on stop if the process doesn't exist.
This fixes an issue that caused the client to hang forever if the
process died before the code arrived to exit the `Kill` function.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-04 16:00:58 -05:00
David Calavera
e7cbae9fd6 Merge pull request #20959 from Microsoft/jjh/bumptimeout
Windows CI: Bump timeout for tests
2016-03-04 11:44:25 -08:00
Christopher Jones
66e558c16c Properly close and remove file in daemon test
Fixes a bug where a file would be created and not deleted in
DockerSuite.TestDaemonDiscoveryBackendConfigReload

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-03-04 14:22:30 -05:00
David Calavera
2af84d8875 Merge pull request #20934 from icecrime/20543_debugging
Fix race condition on daemon shutdown (#20543)
2016-03-04 11:08:50 -08:00
Vincent Demeester
ea738c633f Merge pull request #20903 from wenchma/TestDockerNetworkInternalMode
Enhancement of TestDockerNetworkInternalMode
2016-03-04 20:00:35 +01:00
Darren Stahl
ad7398e664 Reenabled TestPsListContainers* tests and increased sleep time
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-04 10:53:04 -08:00
Lynda O'Leary
3b74be8ab7 Edited content in the Hello World section
Signed-off-by: Lynda O'Leary <lyndaoleary29@gmail.com>
2016-03-04 18:50:48 +00:00
John Howard
6a1ae187d0 Windows CI: Bump timeout for tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-04 09:36:46 -08:00
Brian Goff
c08b674d56 Merge pull request #20843 from calavera/plugin_any_transport
Call plugins with custom transports.
2016-03-04 11:59:32 -05:00
Antonio Murdaca
44b56341d9 Merge pull request #20943 from vdemeester/20942-fix-containerPsContext
Fix #20942 TestContainerPsContext unit test
2016-03-04 16:49:47 +01:00
Sebastiaan van Stijn
69004ff67e Update links to Docker Hub
Updates links to Docker Hub with their new
URLs to prevent redirects.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-04 15:48:52 +01:00
Sebastiaan van Stijn
29bade2cd0 Merge pull request #20938 from runcom/split-daemon
integration-cli: move daemon stuff to its own file
2016-03-04 15:09:35 +01:00
Vincent Demeester
2787072a65 Try to fix #20942 TestContainerPsContext unit test
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-03-04 14:20:41 +01:00
Antonio Murdaca
8142ebb0be Merge pull request #20834 from rhatdan/relabelvolume
Do not relabel if user did not request it for non local volumes
2016-03-04 13:17:54 +01:00
Vijaya Kumar K
7d80d64ca5 arm64: Use gccgo as bootstrap for compiling golang
The issue is armv6 released binaries are used as a GOROOT_BOOTSTRAP.
This might work on arm64 platforms that support 32-bit mode.
However not all arm64 platforms support 32-bit mode. 32-bit mode
is optional for ARMv8. So use gccgo as bootstrap.

The build image is bumped to use ubuntu wily.

Signed-off-by: Vijaya Kumar K <vijayak@caviumnetworks.com>
2016-03-04 15:36:20 +05:30
Vincent Demeester
5f7941e412 Merge pull request #20929 from yongtang/19425-DockerSuite.TestBuildDockerignoringWildDirs
Optimize slow bottleneck test of DockerSuite.TestBuildDockerignoringWildDirs.
2016-03-04 09:47:56 +01:00
Vincent Demeester
9bc62e6031 Merge pull request #20872 from duglin/Issue20470
Optimize .dockerignore when there are exclusions
2016-03-04 09:45:19 +01:00
Antonio Murdaca
9a9e2bb61d integration-cli: move daemon stuff to its own file
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-04 09:29:24 +01:00
Arnaud Porterie
ad2fa39459 Fix race in container creation
Only register a container once it's successfully started. This avoids a
race condition where the daemon is killed while in the process of
calling `libcontainer.Container.Start`, and ends up killing -1.

There is a time window where the container `initProcess` is not set, and
its PID unknown. This commit fixes the race Engine side.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-03 20:25:03 -08:00
Alexander Morozov
ea5acb08fa Merge pull request #20854 from inatatsu/reduce-parsing-mountinfo
Eliminate redundant parsing of mountinfo
2016-03-03 19:48:32 -08:00
Wen Cheng Ma
312e20bf6c Enhancement of TestDockerNetworkInternalMode
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-04 10:56:10 +08:00
Tatsushi Inagaki
e8513675a2 Aufs: reduce redundant parsing of mountinfo
Check whether or not the file system type of a mountpoint is aufs
by calling statfs() instead of parsing mountinfo. This assumes
that aufs graph driver does not allow aufs as a backing file
system.

Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>
2016-03-04 11:39:59 +09:00
Sebastiaan van Stijn
cb6cdb416c Merge pull request #20927 from Zoltu/patch-1
Adds clarification to behavior of missing directories.
2016-03-04 01:55:27 +01:00
Alan Thompson
65a381ae32 Update dockernetworks.md
Make command line prompts consistent for both host and container shells.

Signed-off-by: Alan Thompson <cloojure@gmail.com>
2016-03-03 16:32:24 -08:00
Micah Zoltu
889d06178a Adds clarification to behavior of missing directories.
Closes #20920

Signed-off-by: Micah Zoltu <micah@zoltu.net>
2016-03-03 23:41:13 +00:00
Yong Tang
c77bb28dfb Optimize slow bottleneck test of DockerSuite.TestBuildDockerignoringWildDirs.
This PR fix the DockerSuite.TestBuildDockerignoringWildDirs test
in #19425.
Instead of having multiple RUN instructions in Dockerfile for every
single directory tested, this PR tries to collapse multiple RUN
instructions into one RUN instruction in Dockerfile.
When a docker image is built, each RUN instruction in Dockerfile
will generate one layer in history. It takes considerable amount of
time to build many layers if there are many RUN instructions within
the Dockerfile. Collapsing into one RUN instruction not only speeds
up the execution significantly, it also conforms to the general
guideline of the Dockerfile reference.
Since the test (DockerSuite.TestBuildDockerignoringWildDirs) is
really about testing the docker build with ignoring wild
directories, the purpose of the test is not altered with this PR
fix.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-03 23:16:10 +00:00
Sebastiaan van Stijn
17156ba98f Merge pull request #20832 from aaronlehmann/login-endpoint-refactor
Update login to use token handling code from distribution
2016-03-03 19:04:42 +01:00
Arnaud Porterie
ec79629a47 Merge pull request #20914 from yongtang/19425-DockerHubPullSuite.TestPullNonExistingImage
Optimize slow bottleneck test of DockerHubPullSuite.TestPullNonExistingImage.
2016-03-03 09:51:58 -08:00
Sebastiaan van Stijn
89d950303c Merge pull request #20901 from HackToday/buildimage
Fix the driver name empty case
2016-03-03 18:44:33 +01:00
David Calavera
00f9c2ce59 Merge pull request #20870 from Microsoft/jjh/testupdaterestartpolicy
Windows CI: TestUpdateRestartPolicy flakiness
2016-03-03 09:09:56 -08:00
David Calavera
ed4a736acc Merge pull request #20906 from runcom/fix-int-tests
integration-cli: fixups
2016-03-03 09:08:07 -08:00
David Calavera
c4be28d6a8 Merge pull request #20262 from cpuguy83/implemnt_mount_opts_for_local_driver
Support mount opts for `local` volume driver
2016-03-03 09:02:12 -08:00
David Calavera
0efa5e7366 Merge pull request #20913 from estesp/vendor-api-usernsmode
Update engine-api vendor for UsernsMode
2016-03-03 08:59:43 -08:00
David Calavera
b7bc1ce1a4 Merge pull request #20730 from clnperez/sysinfo-match-ip-case
Match case for IP variables in sysinfo pkg
2016-03-03 08:48:57 -08:00
Arnaud Porterie
52d4fff0d7 Merge pull request #20890 from riyazdf/notary-snapshot-remote
Rotate snapshot key to server when initializing new notary repos
2016-03-03 08:45:06 -08:00
Brian Goff
b05b237075 Support mount opts for local volume driver
Allows users to submit options similar to the `mount` command when
creating a volume with the `local` volume driver.

For example:

```go
$ docker volume create -d local --opt type=nfs --opt device=myNfsServer:/data --opt o=noatime,nosuid
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-03 10:32:25 -05:00
Yong Tang
461976d2af Optimize slow bottleneck test of DockerHubPullSuite.TestPullNonExistingImage.
This PR fix the DockerHubPullSuite.TestPullNonExistingImage test
in #19425. The majority of the execution time in this test is
from multiple executions of 'docker pull', each of which takes
more than one second even though it tries to pull a non-existing
image.
Without changing the behavior of the 'docker pull' itself, this
fix tries to execute the 'docker pull' command in parallel in
order to speed up the execution of the overall test.
Since each 'docker pull' is independent, executions in parallel
should not alter the purpose of the test.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-03 14:51:54 +00:00
Phil Estes
ee2183881b Update engine-api vendor for UsernsMode
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-03-03 09:11:38 -05:00
Doug Davis
842b8d8784 Optimize .dockerignore when there are exclusions
Closes #20470

Before this PR we used to scan the entire build context when there were
exclusions in the .dockerignore file (paths that started with !). Now we
only traverse into subdirs when one of the exclusions starts with that dir
path.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-03-03 05:46:24 -08:00
Sebastiaan van Stijn
15e68dc8ee Merge pull request #20863 from thaJeztah/add-kernel-memory-warning
Add KernelMemory to "info" and show warning
2016-03-03 13:14:51 +01:00
Sebastiaan van Stijn
d83ad2f554 Merge pull request #20907 from runcom/seccomp-docs
docs: security: seccomp: mention Docker needs seccomp build and check config
2016-03-03 12:10:54 +01:00
Antonio Murdaca
dc0397c9a8 docs: security: seccomp: mention Docker needs seccomp build and check config
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-03 12:04:09 +01:00
Antonio Murdaca
928bfd070b integration-cli: fixups
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-03 11:51:59 +01:00
Sebastiaan van Stijn
b76a55308f Merge pull request #20882 from Microsoft/jstarks/new_windows_diff_format
Write Windows layer diffs to tar in standard format
2016-03-03 10:51:35 +01:00
Vincent Demeester
1ca5f33b53 Merge pull request #20898 from Microsoft/jjh/pslistcontainers
Windows CI: Temporarily disable TestPsListContainers*
2016-03-03 10:46:30 +01:00
Sebastiaan van Stijn
01dd7ecffe Merge pull request #20889 from jfrazelle/20888-fix-centos-tests
fix centos when userns not in kernel
2016-03-03 10:46:10 +01:00
Sebastiaan van Stijn
174959e8bf Merge pull request #20896 from Microsoft/jjh/unit-pkg-integration
Windows CI: Turn off failing unit tests pkg\integration
2016-03-03 10:41:21 +01:00
Sebastiaan van Stijn
df1941bf0e Merge pull request #20894 from Microsoft/jjh/unit-pkg-graphdb
Windows CI: Turn off failing unit tests pkg\graphdb
2016-03-03 10:40:22 +01:00
Sebastiaan van Stijn
2348c6a404 Merge pull request #20892 from Microsoft/jjh/unit-pkg-fileutils
Windows CI: Turn off failing unit test pkg\fileutils
2016-03-03 10:39:34 +01:00
Kai Qiang Wu(Kennan)
6c78edaf7f Fix the driver name empty case
As drivername maybe "" in hostconfig, so we should not
directly print dirvername with var drivername,
instead, we use the real driver name property to print it.

Fixes: #20900
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-03-03 07:42:28 +00:00
Vincent Demeester
0eb20be13c Merge pull request #20845 from Microsoft/jstarks/default_to_npipe
Windows: Default to npipe transport
2016-03-03 08:25:51 +01:00
John Howard
9af22098af Windows CI: Temporarily disable TestPsListContainers*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 20:43:16 -08:00
John Howard
5f2ba2b9ba Windows CI: Turn off failing unit tests pkg\integration
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 19:37:18 -08:00
John Howard
9f5984d93f Windows CI: Turn off failing unit tests pkg\graphdb
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 19:27:41 -08:00
John Howard
3e78ad7be2 Windows CI: Turn off failing unit test pkg\fileutils
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 19:05:33 -08:00
Brian Goff
361a63e5f2 Merge pull request #20884 from Microsoft/jjh/integusenpipe
Windows CI: Allow npipe protocol for sock requests
2016-03-02 20:15:49 -05:00
Jessica Frazelle
7ab696f6b0 fix centos when userns not in kernel
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-03-02 16:58:49 -08:00
Riyaz Faizullabhoy
f75622e52a Rotate snapshot key to server when initializing new notary repos
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-03-02 16:51:32 -08:00
David Calavera
f4cb5f4a32 Merge pull request #20824 from runcom/fix-creds-store
cliconfig: credentials: support getting all auths
2016-03-02 16:37:57 -08:00
John Starks
5649030e25 Write Windows layer diffs to tar in standard format
Previously, Windows layer diffs were written using a Windows-internal
format based on the BackupRead/BackupWrite Win32 APIs. This caused
problems with tar-split and tarsum and led to performance problems
in implementing methods such as DiffPath. It also was just an
unnecessary differentiation point between Windows and Linux.

With this change, Windows layer diffs look much more like their
Linux counterparts. They use AUFS-style whiteout files for files
that have been removed, and they encode all metadata directly in
the tar file.

This change only affects Windows post-TP4, since changes to the Windows
container storage APIs were necessary to make this possible.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-02 16:13:40 -08:00
Arnaud Porterie
9e7b77a585 Merge pull request #20880 from yongtang/19425-DockerSuite.TestBuildHistory
Optimize slow bottleneck test of DockerSuite.TestBuildHistory.
2016-03-02 16:06:12 -08:00
Sebastiaan van Stijn
dd850530a9 Vendor engine-api
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-02 23:32:25 +01:00
Sebastiaan van Stijn
747a486b4a Add KernelMemory to "info" and show warning
This change adds "KernelMemory" to the /info endpoint and
shows a warning if KernelMemory is not supported by the kernel.

This makes it more consistent with the other memory-limit
options.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-02 23:32:25 +01:00
John Howard
08b65e7dd3 Windows CI: Allow npipe protocol for sock requests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 14:22:51 -08:00
Vincent Demeester
508a17baba Merge pull request #20388 from hqhq/hq_add_cgroup_driver_info
Add CgroupDriver to docker info
2016-03-02 23:17:27 +01:00
John Starks
882edc3f0e Revendor Microsoft/go-winio and Microsoft/hcsshim
Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-02 14:17:13 -08:00
David Calavera
0e0a8ade61 Merge pull request #20875 from Microsoft/jjh/testlogsapiwithstdout
Windows CI Reliablity: TestLogsApiWithStdout
2016-03-02 13:26:39 -08:00
Yong Tang
d609de989f Optimize slow bottleneck test of DockerSuite.TestBuildHistory.
This PR fix the DockerSuite.TestBuildHistory test in #19425.
It changes the base image from busybox into 'minimalBaseImage()'
and changes the RUN in Dockerfile into LABEL, which greatly
reduces the executation time.
Since the test (DockerSuite.TestBuildHistory) is really about
testing docker history, not about RUN in Dockerfile, the
purpose of the test is not altered.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-02 20:37:47 +00:00
Vincent Demeester
6dcb14ce05 Merge pull request #20860 from runcom/fix-logout-credsStore
api: client: fix login/logout with creds store
2016-03-02 20:17:19 +01:00
John Howard
76a4009293 Windows CI Reliablity: TestLogsApiWithStdout
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 10:26:15 -08:00
Sebastiaan van Stijn
34a56d2cae Merge pull request #20839 from icecrime/failing_ci_label
Introduce `status/failing-ci` label
2016-03-02 19:08:56 +01:00
Aaron Lehmann
613d364e23 Merge pull request #20868 from LK4D4/unused_ctx
Remove unused ctx from v1Pusher
2016-03-02 10:05:46 -08:00
David Calavera
1a63023450 Call plugins with custom transports.
Small refactor to be able to use custom transports
to call remote plugins.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-02 12:54:53 -05:00
Vincent Demeester
b65fd8e879 Merge pull request #20858 from mountkin/validate-log-opts-again
validate log-opt when creating containers AGAIN (fixing drunkard's code)
2016-03-02 18:27:00 +01:00
John Howard
16437d6a34 Windows CI: TestUpdateRestartPolicy flakiness
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-02 09:14:16 -08:00
Antonio Murdaca
0eccc3838e api: client: fix login/logout with creds store
Make sure credentials are removed from the store at logout (not only
in the config file). Remove not needed error check and auth erasing
at login (auths aren't stored anywhere at that point).
Add regression test.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-02 17:51:50 +01:00
Antonio Murdaca
44152144ca cliconfig: credentials: support getting all auths
docker build is broken because it sends to the daemon the full
cliconfig file which has only Email(s). This patch retrieves all auth
configs from the credentials store.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-03-02 17:48:56 +01:00
David Calavera
8f109829e2 Merge pull request #20475 from Microsoft/jstarks/filegetter
graphdriver: Replace DiffPath with DiffGetter
2016-03-02 08:36:36 -08:00
Alexander Morozov
a4dbbe7d89 Remove unused ctx from v1Pusher
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-02 07:59:12 -08:00
Antonio Murdaca
7c64681ce0 Merge pull request #20861 from thaJeztah/docs-improve-userns-note-for-fedora
docs: improve note for Fedora 22
2016-03-02 16:12:11 +01:00
Sebastiaan van Stijn
069da069cb docs: improve note for Fedora 22
Move the note more up, to prevent people from starting
the daemon with --userns-remap before touching the files.

Also clarify that these steps must be done *before* enabling
userns-remap and starting the daemon.

Also fixed some minor Markup formatting issues.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-02 14:46:18 +01:00
Shijiang Wei
068085005e validate log-opt when creating containers AGAIN
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-03-02 20:30:26 +08:00
Qiang Huang
ca89c329b9 Add CgroupDriver to docker info
Fixes: #19539

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-02 20:07:06 +08:00
Vincent Demeester
4eb7a4916f Merge pull request #20841 from aaronlehmann/strengthen-TestPullFromCentralRegistryImplicitRefParts-2
Another attempt to deflake TestPullFromCentralRegistryImplicitRefParts
2016-03-02 10:43:27 +01:00
Wen Cheng Ma
0515d9b9c0 Add tests of unsupported network-scoped alias on default networks
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-02 16:57:50 +08:00
Vincent Demeester
621a148da3 Merge pull request #20831 from aaronlehmann/concurrent-upload
Fix concurrent uploads that share layers
2016-03-02 09:09:11 +01:00
Vincent Demeester
b18f9cc29b Merge pull request #20833 from Microsoft/testunit-archive
Windows CI: Unit Tests stop running failing archive test
2016-03-02 08:53:11 +01:00
David Calavera
266a75ac22 Merge pull request #20842 from dongluochen/IPv6Support
Handle IPv6 entries in discovery
2016-03-01 21:03:37 -08:00
David Calavera
04a3cedf44 Merge pull request #20846 from icecrime/remove_theadactyl
Remove @theadactyl
2016-03-01 21:03:23 -08:00
Arnaud Porterie
edeadcd9e1 Remove @theadactyl
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-01 20:07:20 -08:00
David Calavera
911bb1b3b5 Merge pull request #20838 from Microsoft/testunit-chrootarchive
Windows CI: Unit Tests stop running failing chrootarchive tests
2016-03-01 19:48:44 -08:00
John Starks
7e884c6cd0 Windows: Default to npipe transport
This changes the default transport for Windows from unencrypted TCP to
npipe. This is similar to how Linux runs with the unix socket transport by
default.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-01 18:27:01 -08:00
Dong Chen
7554e882df Use net.JoinHostPort to handle address format.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-03-01 17:27:30 -08:00
David Calavera
7f223b72dd Merge pull request #20828 from Microsoft/jjh/xenonworkdirfix
Windows: Don't create working dir for Hyper-V Containers
2016-03-01 17:11:37 -08:00
Sebastiaan van Stijn
3c4d093bab Merge pull request #18766 from mikedanese/gcplogs
Add logging driver for Google Cloud Logging
2016-03-02 02:09:44 +01:00
Aaron Lehmann
0d270cadd4 Another attempt to deflake TestPullFromCentralRegistryImplicitRefParts
Retries after v1 fallbacks were added in #20411. The test still appears
to be flaky. There are two potential problems. The initial pull was not
protected against pulling from v1, so it could be giving us a different
hello-world image to compare against. Also, after experiencing a v1
fallback, we need to restore the original image before doing the next
pull, because otherwise the "Image is up to date for hello-world:latest"
message will not show up as expected.

See #17214.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-01 17:02:06 -08:00
Dong Chen
f7c9214e29 Handle IPv6 entries.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2016-03-01 16:56:12 -08:00
Sebastiaan van Stijn
22684de872 Merge pull request #20826 from LK4D4/fix_keys
Fix CONFIG_KEYS check in contrib/check-config.sh
2016-03-02 01:47:50 +01:00
Arnaud Porterie
cf6016c24e Introduce status/failing-ci label
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-03-01 14:52:11 -08:00
Darren Stahl
7f6ef09736 Windows CI: Unit Tests stop running failing chrootarchive tests
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-01 14:28:29 -08:00
Sebastiaan van Stijn
793d3b5a3f Merge pull request #20746 from cpuguy83/use_volume_for_bundles_dir
Use anonymous volume for bundles dir
2016-03-01 23:24:24 +01:00
John Howard
5849a55376 Windows: Don't create working dir for Hyper-V Containers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-01 14:10:40 -08:00
Dan Walsh
843a119d49 Do not relabel if user did not request it for non local volumes
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-03-01 17:09:42 -05:00
Darren Stahl
f9cfc4c387 Windows CI: Unit Tests stop running failing archive test
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-01 13:27:44 -08:00
David Calavera
32d1a6cee5 Merge pull request #20817 from tiborvass/skip-TestStatsAllNewContainersAdded-remote-daemon
Skip TestStatsAllNewContainersAdded on remote daemons
2016-03-01 13:10:44 -08:00
Arnaud Porterie
106793dcbe Merge pull request #20825 from LK4D4/unused
Remove some unused structs and fields
2016-03-01 12:58:35 -08:00
Tibor Vass
36401f20ce Merge pull request #20617 from nalind/journald-pkgconfig
Try to handle changing names for journal packages
2016-03-01 15:38:03 -05:00
Derek McGowan
f2d481a299 Login update and endpoint refactor
Further differentiate the APIEndpoint used with V2 with the endpoint type which is only used for v1 registry interactions
Rename Endpoint to V1Endpoint and remove version ambiguity
Use distribution token handler for login

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-01 11:52:32 -08:00
Aaron Lehmann
5c99eebe81 Fix concurrent uploads that share layers
Concurrent uploads which share layers worked correctly as of #18353,
but unfortunately #18785 caused a regression. This PR removed the logic
that shares digests between different push sessions. This overlooked the
case where one session was waiting for another session to upload a
layer.

This commit adds back the ability to propagate this digest information,
using the distribution.Descriptor type because this is what is received
from stats and uploads, and also what is ultimately needed for building
the manifest.

Surprisingly, there was no test covering this case. This commit adds
one. It fails without the fix.

See recent comments on #9132.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-03-01 11:14:44 -08:00
Brian Goff
1b6956cbc3 Merge pull request #20823 from Microsoft/testunit-migratetests
Windows CI: Unit Test stop running failing migration tests
2016-03-01 13:50:00 -05:00
David Calavera
637813b13e Merge pull request #20820 from thaJeztah/remove-registration-docs
Remove some references to "register" through login
2016-03-01 10:39:53 -08:00
David Calavera
8ae0192943 Merge pull request #20822 from Microsoft/jjh/gogit
Go 1.6 Git 2.7.2
2016-03-01 10:36:47 -08:00
Brian Goff
331d2b300f Merge pull request #20797 from Microsoft/testunit-daemonunixtests
Windows CI: Unit Test move Unix specific struct field tests to _unix.go
2016-03-01 13:25:49 -05:00
John Starks
58bec40d16 graphdriver: Replace DiffPath with DiffGetter
This allows a graph driver to provide a custom FileGetter for tar-split
to use. Windows will use this to provide a more efficient implementation
in a follow-up change.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-03-01 10:25:33 -08:00
Alexander Morozov
f5b4e1be6b Fix CONFIG_KEYS check in contrib/check-config.sh
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-01 10:01:12 -08:00
Alexander Morozov
0a352e1a90 Remove some unused structs and fields
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-03-01 09:59:29 -08:00
Brian Goff
d883002fac Merge pull request #20684 from yongtang/13840-follow-symlink
Follow symlink for --device argument.
2016-03-01 12:44:10 -05:00
Brian Goff
0036e0f8f2 Use anonymous volume for bundles dir
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`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-03-01 12:29:33 -05:00
Darren Stahl
734f52d135 Stopped running failing migration tests on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-03-01 09:05:20 -08:00
John Howard
fa362e47e0 Go 1.6 Git 2.7.2
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-03-01 09:05:12 -08:00
Tibor Vass
e80f86bce8 Skip TestStatsAllNewContainersAdded on remote daemons
This test is often failing on remote daemons. We tried many approaches
to fix it but none worked. In order to make the CI more reliable, this
will skip the test when running against a remote daemon (e.g. win2lin).

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-03-01 11:49:09 -05:00
Tibor Vass
bcc59fc951 Merge pull request #20587 from MHBauer/termfixes
do not turn post-processing on for linux-cgo terminals
2016-03-01 11:37:26 -05:00
Christy Perez
5b3fc7aab2 Match case for variables in sysinfo pkg
I noticied an inconsistency when reviewing docker/pull/20692.

Changing Ip to IP and Nf to NF.

More info: The golang folks recommend that you keep the initials consistent:
https://github.com/golang/go/wiki/CodeReviewComments#initialisms.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-03-01 10:37:05 -06:00
Tibor Vass
330fb91f7d Merge pull request #20530 from hsinko/myDev
Add some comments for daemon/graphdriver/aufs/aufs.go
2016-03-01 11:35:35 -05:00
Sebastiaan van Stijn
971c080b67 Remove some references to "register" through login
These were left-overs from the now deprecated
and removed functionality to registrer a new account
through "docker login"

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-01 17:33:23 +01:00
Mike Danese
ed1b9fa07a daemon/logger: Add logging driver for Google Cloud Logging
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-03-01 08:06:10 -08:00
Aaron Lehmann
2453262e7b Merge pull request #20565 from kencochrane/remove_email_on_login
Remove email address field from login
2016-03-01 08:02:16 -08:00
Vincent Demeester
ec2efb01d2 Merge pull request #20814 from vincentbernat/fix/zsh-completion-update-5
zsh: Reword some descriptions
2016-03-01 14:40:41 +01:00
Sebastiaan van Stijn
79ec9c8460 Merge pull request #20813 from thaJeztah/update-changelog
Update changelog with changes from 1.10.1 and .2
2016-03-01 14:29:09 +01:00
Vincent Bernat
62a6d3e86c zsh: Reword some descriptions
Use of "Set ..." and "Specify ..." are removed in favor of directly
using nouns.

Also:

 - add description for `run --isolation`
 - reduce description of `run --shm-size`
 - fix `daemon --bip` argument handling

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2016-03-01 14:21:34 +01:00
Vincent Demeester
87fb26bc42 Merge pull request #20310 from hqhq/hq_cgroup_parent_docs
Add docs for cgroup-parent of systemd cgroup
2016-03-01 13:20:23 +01:00
unclejack
6a20165da7 Merge pull request #20418 from calavera/go_1_6
Upgrade Go to 1.6.
2016-03-01 13:52:19 +02:00
Tibor Vass
3da45ee939 Update CHANGELOG for 1.10.2
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 7613ee933c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-01 12:39:42 +01:00
Tibor Vass
8a6ac315ff Correct 1.10.1 CHANGELOG
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit ce4f13f604)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-01 12:39:27 +01:00
Tibor Vass
fce54d772a Update CHANGELOG for 1.10.1
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit f1cd0cabba)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-03-01 12:39:09 +01:00
Qiang Huang
c7f2079a9b Add docs for cgroup-parent of systemd cgroup
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-01 18:31:17 +08:00
Sebastiaan van Stijn
9c7e1aeeb1 Merge pull request #20796 from calavera/default_windows_creds_helper
Set default credentials store in Windows.
2016-03-01 11:12:14 +01:00
Sebastiaan van Stijn
d1e7f38338 Merge pull request #20810 from wenchma/remove
Remove the duplication
2016-03-01 11:00:02 +01:00
Wen Cheng Ma
9f8f28684f Remove the duplication
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-01 17:53:36 +08:00
Vincent Demeester
dac18985fa Merge pull request #20791 from Microsoft/jjh/testunit-pkgsymlink
Windows CI: Turning off pkg\symlink unit testing
2016-03-01 08:18:44 +01:00
Yong Tang
7ed569efdc Follow symlink for --device argument.
Fixes: #13840

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-03-01 07:16:19 +00:00
Wen Cheng Ma
b9ef2682b9 Optimize slow bottleneck tests of TestDaemonStartWithDaemonCommand
* Remvoe integration test of TestDaemonStartWithDaemonCommand
* Rewrite as unit test

Related issue #19425

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-03-01 14:05:39 +08:00
hsinko
772f5495b7 folders->directories
Signed-off-by: hsinko <21551195@zju.edu.cn>
2016-02-29 21:32:30 -08:00
Vincent Demeester
89f6d3b041 Merge pull request #20754 from lyndaoleary/docker-terminology
Changed Docker references to Docker Engine in docs
2016-03-01 05:30:45 +01:00
Darren Stahl
957792e485 Windows CI: Unit Test move Unix specific struct field tests to _unix.go
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-29 18:04:06 -08:00
Ken Cochrane
aee260d4eb Remove email address field from login
This removes the email prompt when you use docker login, and also removes the ability to register via the docker cli. Docker login, will strictly be used for logging into a registry server.

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-02-29 17:53:27 -08:00
Arnaud Porterie
187a2fb403 Merge pull request #20792 from cpuguy83/more_stats_client_cleanup
Fixes issue with stats on start event
2016-02-29 17:33:37 -08:00
Lynda O'Leary
0b882cc014 Changed Docker references to Docker Engine in docs
Signed-off-by: Lynda O'Leary <lyndaoleary29@gmail.com>
2016-03-01 00:57:23 +00:00
Sebastiaan van Stijn
67b16c7381 Merge pull request #20782 from estesp/new-parent-dir-ownership
Fix ownership of non-existing parent dir
2016-03-01 01:45:38 +01:00
Brian Goff
6a96006959 Merge pull request #20710 from Microsoft/sjw/tp4retry_fix
Fixing retry hack for TP4 to return errors in all failure cases.
2016-02-29 19:08:24 -05:00
David Calavera
056c27d895 Set default credentials store in Windows.
Use the Windows Credentials Manager when the helper
is installed in the path.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-29 17:46:07 -05:00
David Calavera
14d5c91d87 Upgrade Go to 1.6.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-29 17:08:52 -05:00
Brian Goff
df95474885 Fixes issue with stats on start event
In situations where a client is called like `docker stats` with no
arguments or flags, if a container which was already created but not
started yet is then subsequently started it will not be added to the
stats list as expected.

Also splits some of the stats helpers to a separate file from the stats
CLI which is already quite long.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-29 16:34:42 -05:00
Sebastiaan van Stijn
29ce086e38 Merge pull request #20107 from calavera/client_auth_store
Client credentials store.
2016-02-29 22:31:34 +01:00
Alexander Morozov
79258eca9b Merge pull request #20785 from runcom/clean-cont
container: container_unix: remove unused func
2016-02-29 13:11:12 -08:00
John Howard
eaa1708e70 Windows CI: Turning off pkg\symlink unit testing
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-29 13:10:50 -08:00
David Calavera
3938ee413d Merge pull request #20790 from Microsoft/jjh/testunit-voltestremove
Windows CI: Unit Test turn off TestRemove
2016-02-29 13:09:48 -08:00
Brian Goff
ea6d2708e2 Merge pull request #20692 from coolljt0725/add_brnf_test_request
Add bridgeNfIptables and bridgeNfIp6tables test request
2016-02-29 15:16:27 -05:00
Vincent Demeester
d878f512fd Merge pull request #20492 from WeiZhang555/export-no-privilege
Clean redundant error message for export
2016-02-29 21:14:28 +01:00
Vincent Demeester
9eb4575f8c Merge pull request #20480 from wenchma/20431-filter_since_before
Enhancement of docker ps before and since filters
2016-02-29 20:57:43 +01:00
David Calavera
a5d98b82ea Merge pull request #20780 from runcom/revert-sudo-user
Revert sudo user
2016-02-29 11:48:24 -08:00
David Calavera
1ba0358a10 Merge pull request #20307 from HuKeping/trust
Refactor trust push
2016-02-29 11:12:09 -08:00
Stefan J. Wernli
0b82202fbb Fixing retry hack for TP4 to return errors in all failure cases.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-02-29 10:53:01 -08:00
David Calavera
ba5a282a83 Merge pull request #20605 from mountkin/optimize-json-log-writer
make the json log writer much faster
2016-02-29 10:47:46 -08:00
Brian Goff
2391794d26 Merge pull request #20749 from mountkin/validate-log-opts
validate log-opt when creating containers
2016-02-29 13:47:25 -05:00
David Calavera
29b2b0c22b Merge pull request #20686 from clintonskitson/bugfix/plugin_desc_leak
Fix plugin file descriptor leaks
2016-02-29 10:44:36 -08:00
David Calavera
cf721c23e7 Client credentials store.
This change implements communication with an external credentials store,
ala git-credential-helper. The client falls back the plain text store,
what we're currently using, if there is no remote store configured.

It shells out to helper program when a credential store is
configured. Those programs can be implemented with any language as long as they
follow the convention to pass arguments and information.

There is an implementation for the OS X keychain in https://github.com/calavera/docker-credential-helpers.
That package also provides basic structure to create other helpers.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-29 13:01:31 -05:00
David Calavera
b1955a66f5 Merge pull request #20787 from itsthenetwork/Fix-Seccomp-Readme
Update seccomp.md
2016-02-29 09:54:48 -08:00
Sebastiaan van Stijn
b211e57f23 Merge pull request #20774 from hqhq/hq_vender_engine_api
Vendor engine-api to 70d266e96080e3c3d63c55a4d8659e00ac1f7e6c
2016-02-29 18:48:55 +01:00
John Howard
de6939817d Windows CI: Unit Test turn off TestRemove
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-29 08:57:30 -08:00
Steven Iveson
244e5fc516 Update seccomp.md
Corrected titles to use title case. Added link to default.json and some numerical detail. Changed example JSON to a portion of the actual default file, with the correct defaultAction.

Signed-off-by: Steven Iveson <steven.iveson@infinityworks.com>
2016-02-29 16:32:45 +00:00
Vincent Demeester
c0c10daebf Merge pull request #20777 from Anonymooseable/document-plugin-types
Document interfaces a plugin can implement
2016-02-29 17:31:06 +01:00
Tibor Vass
0573b814a1 Merge pull request #20737 from mikedougherty/install-sh-multiple-keyservers
Use multiple keyservers in install script
2016-02-29 11:17:13 -05:00
Linus Heckemann
3ef1325828 Remove experimental GraphDriver plugin type
Signed-off-by: Linus Heckemann <anonymouse2048@gmail.com>
2016-02-29 15:59:54 +00:00
Vincent Demeester
6c01d2a0cf Merge pull request #20629 from wallnerryan/intro-volumes
Intro volume drivers in dockervolumes.md
2016-02-29 16:59:43 +01:00
Ryan Wallner
b6fdcd3a34 intro volume plugins in userguide volumes
NOTE should be lowercase

Signed-off-by: Ryan Wallner <ryan.wallner@clusterhq.com>

add link to list of plugins

Signed-off-by: Ryan Wallner <ryan.wallner@clusterhq.com>

address changres

Signed-off-by: Ryan Wallner <ryan.wallner@clusterhq.com>
2016-02-29 10:56:32 -05:00
Tibor Vass
eb22fcc229 Merge pull request #20773 from Microsoft/jjh/testunitdockerlayer
Windows CI Unit Test: Docker layer turn off failing tests
2016-02-29 10:46:32 -05:00
Tibor Vass
8ffec1fca5 Merge pull request #20772 from Microsoft/jjh/testunitdistribution-xfer
Windows CI Unit Test: Distribution\xfer turn off failing tests
2016-02-29 10:45:57 -05:00
Brian Goff
abbb16d7ab Merge pull request #20602 from twistlock/20508_authz_plugin_corrupt_body
Fix #20508 - Authz plugin enabled with large text/JSON POST payload corrupts body
2016-02-29 10:43:02 -05:00
Antonio Murdaca
0e9769ab62 container: container_unix: remove unused func
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-29 16:12:02 +01:00
Brian Goff
7cea7c698d Merge pull request #20756 from runcom/no-dash-d-tests
integration-cli: remove not necessary -d again
2016-02-29 09:47:49 -05:00
Phil Estes
7a61b9ae42 Fix ownership of non-existing parent dir
During "COPY" or other tar unpack operations, a target/destination
parent dir might not exist and should be created with ownership of the
root in the right context (including remapped root when user namespaces
are enabled)

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-29 09:14:23 -05:00
Vincent Demeester
79c24a0820 Merge pull request #20736 from elchris82/master
Changed the Example request in Remote API reference to connect a container to a network
2016-02-29 15:06:20 +01:00
Antonio Murdaca
565712014f cliconfig: use a const for ".docker" string
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-29 14:44:01 +01:00
Antonio Murdaca
863b571617 Revert "resolve the config file from the sudo user"
This reverts commit afde6450ee.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-29 13:51:43 +01:00
Sebastiaan van Stijn
da4f2ce629 Merge pull request #20771 from Microsoft/jjh/disableunittestsdistribution
Windows CI Unit Test: Distribution turn off failing tests
2016-02-29 12:56:10 +01:00
Qiang Huang
53b0d62683 Vendor engine-api to 70d266e96080e3c3d63c55a4d8659e00ac1f7e6c
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-02-29 19:28:37 +08:00
Linus Heckemann
dd729efe02 Document interfaces a plugin can implement
Signed-off-by: Linus Heckemann <lheckemann@twig-world.com>
2016-02-29 09:43:44 +00:00
Vincent Demeester
ffd8a0e0fb Merge pull request #20776 from terryding77/doc_changes
change container word spell in docs
2016-02-29 10:38:06 +01:00
terryding77
adda1060aa change container word spell in docs
Signed-off-by: terryding77 <550147740@qq.com>
2016-02-29 16:59:53 +08:00
Antonio Murdaca
5ef74c6595 Merge pull request #20753 from icecrime/debugging_win2lin
Fix client-side race in `docker stats`
2016-02-29 08:20:17 +01:00
Vincent Demeester
20a038eca6 Merge pull request #20604 from coolljt0725/fix_reload
Fix configuration reloading
2016-02-29 07:14:15 +01:00
John Howard
e17cb9b721 Windows CI Unit Test: Docker layer turn off failing tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-28 20:16:10 -08:00
John Howard
dd2ff281bf Windows CI Unit Test: Distribution\xfer turn off failing tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-28 20:08:34 -08:00
John Howard
621a1b9aca Windows CI Unit Test: Distribution turn off failing tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-28 20:02:51 -08:00
Arnaud Porterie
3041aa53ef Fix client-side race in docker stats
Subscribe to events and monitor for new containers before the initial
listing of currently running containers.

This fixes a race where a new container could appear between the first
list call but before the client was subscribed to events, leading to a
container never appearing in the output of `docker stats`.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-28 18:44:23 -08:00
Sebastiaan van Stijn
67a77934a4 Merge pull request #20760 from vdemeester/fix-cliconfig
Fixing cliconfig getDefaultConfigDir
2016-02-29 00:19:06 +01:00
Sebastiaan van Stijn
ab18b5977a Merge pull request #20757 from spacediver/patch-1
fixed formatting; added handy -y to apt-get install
2016-02-28 23:55:03 +01:00
Sebastiaan van Stijn
0866d63278 Merge pull request #20759 from toogley/master
add google group subscribtion method using only emails
2016-02-28 19:17:00 +01:00
Pavel Sutyrin
30c2770a73 fixed formatting; added handy -y to apt-get install
Signed-off-by: Pavel Sutyrin <pavel.sutyrin@gmail.com>
2016-02-28 20:37:04 +03:00
Vincent Demeester
d3fd0974d5 Fixing getDefaultConfigDir
It seems it's not really checking the right folder.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-28 16:04:48 +01:00
toogley
e3e18584b0 add google group subscribtion method using only emails
* users don't have to create an google account for using the google groups. They
  can simply email to e.g. "docker-user+subscribe@googlegroups.com" to
  subscribe.

* since this behavior is not mentioned on the google group website, i think its
  a good idea to explain this method here.

Signed-off-by: toogley <toogley@mailbox.org>
2016-02-28 15:31:15 +01:00
Antonio Murdaca
e44689139d integration-cli: remove not necessary -d again
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-28 13:48:15 +01:00
Brian Goff
38439733d2 Merge pull request #20748 from runcom/remove-dash-d
integration-cli: remove not necessary -d
2016-02-27 21:58:15 -05:00
Brian Goff
ec268be52e Merge pull request #20706 from calavera/remove_concurrent_access_to_stdtypes
Make stdcopy.StdWriter thread safe.
2016-02-27 21:14:09 -05:00
Arnaud Porterie
15bdca6add Merge pull request #20752 from icecrime/fix_experimental_cross
Pin tpoechtrager/osxcross commit
2016-02-27 17:43:43 -08:00
Arnaud Porterie
2140650b56 Pin tpoechtrager/osxcross commit
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-27 12:04:49 -08:00
Shijiang Wei
7285c9a53a validate log-opt when creating containers
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-28 01:51:46 +08:00
Antonio Murdaca
faf4604dac integration-cli: remove not necessary -d
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-27 18:27:25 +01:00
Arnaud Porterie
c7d6f0c30c Merge pull request #20742 from cpuguy83/revert_aufs_fine_locks
Revert aufs fine locks
2016-02-27 08:53:04 -08:00
Arnaud Porterie
c24d4e8ab4 Merge pull request #20734 from cpuguy83/fix_flakey_test
Fix flakey TestStatsAllNewContainersAdded
2016-02-27 07:52:18 -08:00
Brian Goff
e386dfc33f fix double-lock
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-27 09:49:21 -05:00
Vincent Demeester
3f4e49aa61 Merge pull request #20739 from LK4D4/keys_config
Add CONFIG_KEYS to check-config.sh
2016-02-27 14:33:54 +01:00
Brian Goff
c2f7777603 Revert "Add finer-grained locking for aufs"
This reverts commit f31014197c.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-27 08:01:19 -05:00
HuKeping
1a68662736 Messaging both succeed and failure about the signing
It would be good to add a clearer failure or succeed message.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-27 15:46:41 +08:00
HuKeping
5dddf7e98e Refactor trust push
Unlike the untrusted push without an explicit tag will push all
tags for that repo, the trusted push would expect an explicit tag.

So that the code that attempts to do smart logic around signing multiple
tags should be removed.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-27 15:46:35 +08:00
Alexander Morozov
c1996c9245 Add CONFIG_KEYS to check-config.sh
We need this after opencontainers/runc#488

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-26 23:40:35 -08:00
Clinton Kitson
799ae78b7e Fixes plugin file descriptor leak on plugin discovery
Signed-off-by: Clinton Kitson <clintonskitson@gmail.com>
2016-02-26 19:43:50 -08:00
Mike Dougherty
adac575dd3 Use multiple keyservers in install script
This improves on an earlier change by adding another keyserver and using a for loop instead of duplicating the command

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-02-26 17:22:00 -08:00
Lei Jitang
79843b727f Add bridgeNfIptables and bridgeNfIp6tables test request
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-26 19:53:35 -05:00
Christian Böhme
2bd365ae2f Changed the Remote API reference to connect a container to a network in v1.22
and v1.23

Signed-off-by: Christian Böhme <development@boehme3d.de>
2016-02-27 01:31:03 +01:00
David Calavera
df2b74188e Merge pull request #20699 from calavera/remove_static_error_declarations
Remove static errors from errors package.
2016-02-26 16:30:12 -08:00
David Calavera
f666d918fc Merge pull request #20672 from justincormack/personality
Add some uses of personality syscall to default seccomp filter
2016-02-26 14:27:23 -08:00
Tianon Gravi
5bfaab984c Merge pull request #20636 from anusha-ragunathan/apt-ftparchive
Always create apt-ftparchive.conf.
2016-02-26 14:12:06 -08:00
Brian Goff
efd281d6eb Fix flakey TestStatsAllNewContainersAdded
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-26 16:52:36 -05:00
David Calavera
443a5c2021 Make stdcopy.stdWriter goroutine safe.
Stop using global variables as prefixes to inject the writer header.
That can cause issues when two writers set the length of the buffer in
the same header concurrently.

Stop Writing to the internal buffer twice for each write. This could
mess up with the ordering information is written.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-26 16:51:18 -05:00
Alexander Morozov
2f797bb1d9 Merge pull request #20275 from cpuguy83/finer_graph_locks
Finer graph locks
2016-02-26 13:33:34 -08:00
Alexander Morozov
51302c29ed Merge pull request #20729 from estesp/pipework
Add synchronization and closure to IO pipes in userns path
2016-02-26 13:33:02 -08:00
David Calavera
a793564b25 Remove static errors from errors package.
Moving all strings to the errors package wasn't a good idea after all.

Our custom implementation of Go errors predates everything that's nice
and good about working with errors in Go. Take as an example what we
have to do to get an error message:

```go
func GetErrorMessage(err error) string {
	switch err.(type) {
	case errcode.Error:
		e, _ := err.(errcode.Error)
		return e.Message

	case errcode.ErrorCode:
		ec, _ := err.(errcode.ErrorCode)
		return ec.Message()

	default:
		return err.Error()
	}
}
```

This goes against every good practice for Go development. The language already provides a simple, intuitive and standard way to get error messages, that is calling the `Error()` method from an error. Reinventing the error interface is a mistake.

Our custom implementation also makes very hard to reason about errors, another nice thing about Go. I found several (>10) error declarations that we don't use anywhere. This is a clear sign about how little we know about the errors we return. I also found several error usages where the number of arguments was different than the parameters declared in the error, another clear example of how difficult is to reason about errors.

Moreover, our custom implementation didn't really make easier for people to return custom HTTP status code depending on the errors. Again, it's hard to reason about when to set custom codes and how. Take an example what we have to do to extract the message and status code from an error before returning a response from the API:

```go
	switch err.(type) {
	case errcode.ErrorCode:
		daError, _ := err.(errcode.ErrorCode)
		statusCode = daError.Descriptor().HTTPStatusCode
		errMsg = daError.Message()

	case errcode.Error:
		// For reference, if you're looking for a particular error
		// then you can do something like :
		//   import ( derr "github.com/docker/docker/errors" )
		//   if daError.ErrorCode() == derr.ErrorCodeNoSuchContainer { ... }

		daError, _ := err.(errcode.Error)
		statusCode = daError.ErrorCode().Descriptor().HTTPStatusCode
		errMsg = daError.Message

	default:
		// This part of will be removed once we've
		// converted everything over to use the errcode package

		// FIXME: this is brittle and should not be necessary.
		// If we need to differentiate between different possible error types,
		// we should create appropriate error types with clearly defined meaning
		errStr := strings.ToLower(err.Error())
		for keyword, status := range map[string]int{
			"not found":             http.StatusNotFound,
			"no such":               http.StatusNotFound,
			"bad parameter":         http.StatusBadRequest,
			"conflict":              http.StatusConflict,
			"impossible":            http.StatusNotAcceptable,
			"wrong login/password":  http.StatusUnauthorized,
			"hasn't been activated": http.StatusForbidden,
		} {
			if strings.Contains(errStr, keyword) {
				statusCode = status
				break
			}
		}
	}
```

You can notice two things in that code:

1. We have to explain how errors work, because our implementation goes against how easy to use Go errors are.
2. At no moment we arrived to remove that `switch` statement that was the original reason to use our custom implementation.

This change removes all our status errors from the errors package and puts them back in their specific contexts.
IT puts the messages back with their contexts. That way, we know right away when errors used and how to generate their messages.
It uses custom interfaces to reason about errors. Errors that need to response with a custom status code MUST implementent this simple interface:

```go
type errorWithStatus interface {
	HTTPErrorStatusCode() int
}
```

This interface is very straightforward to implement. It also preserves Go errors real behavior, getting the message is as simple as using the `Error()` method.

I included helper functions to generate errors that use custom status code in `errors/errors.go`.

By doing this, we remove the hard dependency we have eeverywhere to our custom errors package. Yes, you can use it as a helper to generate error, but it's still very easy to generate errors without it.

Please, read this fantastic blog post about errors in Go: http://dave.cheney.net/2014/12/24/inspecting-errors

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-26 15:49:09 -05:00
Vincent Demeester
b2a15a2226 Merge pull request #20725 from runcom/fix-subid-files-parsing
pkg: idtools: fix subid files parsing
2016-02-26 21:28:08 +01:00
Phil Estes
995386735c Add synchronization and closure to IO pipes in userns path
The execdriver pipes setup uses OS pipes with fds so that they can be
chown'ed to the remapped root user for proper access. Recent flakiness
in certain short-lived tests (usually via the "exec" path) reveals that
the copy routines are not completing before exit/tear-down.

This fix adds synchronization and proper closure such that these
routines exit successfully.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-26 13:47:34 -05:00
Justin Cormack
39b799ac53 Add some uses of personality syscall to default seccomp filter
We generally want to filter the personality(2) syscall, as it
allows disabling ASLR, and turning on some poorly supported
emulations that have been the target of CVEs. However the use
cases for reading the current value, setting the default
PER_LINUX personality, and setting PER_LINUX32 for 32 bit
emulation are fine.

See issue #20634

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-26 18:43:08 +01:00
David Calavera
e330d0749c Merge pull request #20703 from riyazdf/notary-v0.2.0-vendor
Vendor in notary v0.2.0
2016-02-26 08:53:07 -08:00
Brian Goff
c47674efda Merge pull request #20428 from jfrazelle/generate-conversion
generate seccomp profile convert type
2016-02-26 10:28:23 -05:00
Antonio Murdaca
bf04d68db2 pkg: idtools: fix subid files parsing
Since Docker is already skipping newlines in /etc/sub{uid,gid},
this patch skips commented out lines - otherwise Docker fails to start.
Add unit test also.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-26 15:42:05 +01:00
Sebastiaan van Stijn
9792308b84 Merge pull request #20515 from raesene/patch-1
Update security.md with basic User Namespace info.
2016-02-26 14:02:46 +01:00
Sebastiaan van Stijn
d622494c3b Merge pull request #20722 from thaJeztah/remove-vivid-reference
remove leftover Ubuntu 15.04 from install docs
2016-02-26 13:59:36 +01:00
Sebastiaan van Stijn
1ca064cb62 remove leftover Ubuntu 15.04 from install docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-26 13:00:27 +01:00
Riyaz Faizullabhoy
0bb1acee37 bumping miekg/pkcs11 dependency for go1.6
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-02-25 21:29:37 -08:00
Brian Goff
6748cc10ac Merge pull request #20655 from hqhq/hq_fix_update_memoryswap
Fix problems when update swap memory
2016-02-25 22:28:53 -05:00
David Calavera
6c35350bab Merge pull request #20263 from Microsoft/jjh/testunit-fileutils
Windows CI: Fixes panic in test-unit for FileUtils
2016-02-25 17:35:32 -08:00
David Calavera
dd53ab14e4 Merge pull request #20481 from HackToday/addcheckfd
Add check for non-systemd fd use case
2016-02-25 16:38:53 -08:00
David Calavera
d8b6e62f50 Merge pull request #20580 from BrianBland/crossRepoPushRetry
Improve auth fallback behavior for cross-repository push
2016-02-25 16:37:04 -08:00
Sebastiaan van Stijn
5cb4693300 Merge pull request #20673 from Microsoft/jjh/testkill
Windows CI: Port TestKill*
2016-02-26 01:11:51 +01:00
Brian Goff
f31014197c Add finer-grained locking for aufs
```
benchmark                       old ns/op       new ns/op     delta
BenchmarkConcurrentAccess-8     10269529748     26834747      -99.74%

benchmark                       old allocs     new allocs     delta
BenchmarkConcurrentAccess-8     309948         7232           -97.67%

benchmark                       old bytes     new bytes     delta
BenchmarkConcurrentAccess-8     23943576      1578441       -93.41%
```

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-25 18:06:41 -05:00
Riyaz Faizullabhoy
84dc2d9e70 Vendor in notary v0.2.0
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-02-25 13:40:00 -08:00
Tibor Vass
6fa5576e30 Merge pull request #20697 from tiborvass/tls-remote-daemon-tests
Support TLS remote test daemon
2016-02-25 16:16:40 -05:00
Tibor Vass
2b819b76df Merge pull request #20663 from calavera/standalone_middlewares
Make server middleware standalone functions.
2016-02-25 15:01:07 -05:00
Brian Goff
55c91f2ab9 Fix some issues with concurrency in aufs.
Adds a benchmark to measure performance under concurrent actions.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-25 14:32:13 -05:00
Tibor Vass
f4a1e3db99 Support TLS remote test daemon
This will allow us to have a windows-to-linux CI, where the linux host
can be anywhere, connecting with TLS.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-25 14:12:17 -05:00
Michael Crosby
6582013207 Merge pull request #20633 from crosbymichael/unit-file
Add "Delegate=yes" to docker's service file
2016-02-25 10:47:46 -08:00
Michael Crosby
d16737f971 Add "Delegate=yes" to docker's service file
We need to add delegate yes to docker's service file so that it can
manage the cgroups of the processes that it launches without systemd
interfering with them and moving the processes after it is reloaded.

```
       Delegate=
           Turns on delegation of further resource control partitioning to
           processes of the unit. For unprivileged services (i.e. those
           using the User= setting), this allows processes to create a
           subhierarchy beneath its control group path. For privileged
           services and scopes, this ensures the processes will have all
           control group controllers enabled.
```

This is the proper fix for issue #20152

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-25 10:32:09 -08:00
Alexander Morozov
60e2d5e0b0 Merge pull request #20681 from icecrime/aaronl_maintainer
Add @aaronlehmann to maintainers
2016-02-25 09:18:28 -08:00
Vincent Demeester
61d24e769d Merge pull request #20572 from runcom/sudo-user
resolve the config file from the sudo user
2016-02-25 16:05:25 +01:00
Antonio Murdaca
e4a6a889be Merge pull request #20695 from vdemeester/fix-windowsTP4-check
Fix TestExecApiStartWithDetach on WindowsTP4
2016-02-25 16:04:23 +01:00
Vincent Demeester
21c8511123 Fix TestExecApiStartWithDetach on WindowsTP4
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-25 14:27:22 +01:00
Vincent Demeester
41f2a674b8 Merge pull request #20691 from vincentbernat/doc/simplify-overlay
docs: simplify some steps of the overlay network guide
2016-02-25 13:31:13 +01:00
Vincent Bernat
db5ded0dfc docs: simplify some steps of the overlay network guide
Instead of using a process expansion to feed the right arguments to
docker to run on "mh-keystore", just moves up the next step which makes
"mh-keystore" the default target. This makes the guide a bit shorter and
easier to understand.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2016-02-25 13:17:26 +01:00
Sebastiaan van Stijn
7cf03700f8 Merge pull request #20679 from Microsoft/jjh/testrestart
Windows CI: Port docker_cli_restart_test.go
2016-02-25 10:17:25 +01:00
Vincent Demeester
13b6733ee8 Merge pull request #20685 from estesp/userns-dev-fuse-fix
Filter auto-created device list if user namespaces enabled
2016-02-25 10:01:13 +01:00
Wen Cheng Ma
bc72883fe1 Enhancement of docker ps before and since filters
This enhancement is to fix the wrong list results on
`docker ps` before and since filters specifying the non-running container.

Fixes issue #20431

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-02-25 16:58:31 +08:00
Vincent Demeester
4c014296a1 Merge pull request #20687 from CWSpear/patch-1
Add the Local Persist plugin to docs
2016-02-25 09:39:07 +01:00
Sebastiaan van Stijn
ca7ce05e81 Merge pull request #20677 from Microsoft/jjh/testclilogs
Windows CI: Port docker_cli_logs_test.go
2016-02-25 09:38:23 +01:00
Vincent Demeester
0ad04242b4 Merge pull request #20682 from cpuguy83/fix_volplugin_panics
Fix panic when plugin responds with null volume
2016-02-25 09:32:54 +01:00
Vincent Demeester
9f1ad7850c Merge pull request #20674 from Microsoft/jjh/testlogsapi
Windows CI: Port TestLogsAPI*
2016-02-25 09:11:15 +01:00
Vincent Demeester
a13945dd16 Merge pull request #20680 from cpuguy83/close_plugin_req_body_on_error
Close resp body on plugin call error
2016-02-25 09:10:17 +01:00
Vincent Demeester
abfc480f4b Merge pull request #20664 from Microsoft/jjh/busyboxtop
Windows CI: Integrity check for busybox top
2016-02-25 09:09:37 +01:00
Vincent Demeester
3f7c078aab Merge pull request #20683 from zhangjianfnst/fix-flaws-in-man
Fix some flaws in man.
2016-02-25 09:01:32 +01:00
Vincent Demeester
46c0c5e86b Merge pull request #20671 from nakulpathak3/readme-extension
Add .md extension to readme for markdown rendering
2016-02-25 08:40:00 +01:00
Cameron Spear
cc085be7cc Add the Local Persist plugin
I wasn't 100% sure if it was appropriate to add plugin here, but @thaJeztah invited me to do so, so here it is!

(see https://github.com/CWSpear/local-persist/issues/17#issuecomment-188523784)

Signed-off-by: Cameron Spear <cameronspear@gmail.com>
2016-02-24 23:29:58 -08:00
Liron Levin
ca5c2abecf Fix #20508 - Authz plugin enabled with large text/JSON POST payload corrupts body
Based on the discussion, we have changed the following:

1. Send body only if content-type is application/json (based on the
Docker official daemon REST specification, this is the provided for all
APIs that requires authorization.

2. Correctly verify that the msg body is smaller than max cap (this was
the actual bug). Fix includes UT.

3. Minor: Check content length > 0 (it was -1 for load, altough an
attacker can still modify this)

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-02-25 08:11:55 +02:00
Phil Estes
9a554e8c37 Filter auto-created device list if user namespaces enabled
Because devices will be bind-mounted instead of using `mknod`, we need
to make sure the source exists and filter the list by only those whose
source is a valid path/current device entry.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-25 00:11:36 -05:00
John Howard
10bd587d77 Windows CI: Port docker_cli_logs_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-24 20:19:48 -08:00
David Calavera
cee4ff1c4a Merge pull request #20647 from coolljt0725/fix_20638
Fix exec start api with detach and AttachStdin at same time. fixes #2…
2016-02-24 20:17:15 -08:00
Brian Bland
1d3480f9ba Improve fallback behavior for cross-repository push
Attempt layer mounts from up to 3 source repositories, possibly
falling back to a standard blob upload for cross repository pushes.
Addresses compatiblity issues with token servers which do not grant
multiple repository scopes, resulting in an authentication failure for
layer mounts, which would otherwise cause the push to terminate with an
error.

Signed-off-by: Brian Bland <brian.bland@docker.com>
2016-02-24 19:13:35 -08:00
Lei Jitang
b9366c9609 Fix configuration reloading
There are five options 'debug' 'labels' 'cluster-store' 'cluster-store-opts'
and 'cluster-advertise' that can be reconfigured, configure any of these
options should not affect other options which may have configured in flags.
But this is not true, for example, I start a daemon with -D to enable the
debugging, and after a while, I want reconfigure the 'label', so I add a file
'/etc/docker/daemon.json' with content '"labels":["test"]' and send SIGHUP to daemon
to reconfigure the daemon, it work, but the debugging of the daemon is also diabled.
I don't think this is a expeted behaviour.
This patch also have some minor refactor of reconfiguration of cluster-advertiser.
Enable user to reconfigure cluster-advertiser without cluster-store in config file
since cluster-store could also be already set in flag, and we only want to reconfigure
the cluster-advertiser.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-24 21:12:14 -05:00
Lei Jitang
fb0ac1afd9 Fix exec start api with detach and AttachStdin at same time. fixes #20638
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-24 21:04:44 -05:00
Jian Zhang
877e6d76a4 Fix some flaws in man.
Signed-off-by: Jian Zhang <zhangjian.fnst@cn.fujitsu.com>
2016-02-25 09:48:21 +08:00
Brian Goff
96c79a1934 Fix panic when plugin responds with null volume
In cases where the a plugin responds with both a null or empty volume
and a null or empty Err, the daemon would panic.
This is because we assumed the idiom if `err` is nil, then `v` must not
be but in reality the plugin may return whatever it wants and we want to
make sure it doesn't harm the daemon.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-24 20:45:38 -05:00
Arnaud Porterie
5a264f2806 Add @aaronlehmann to maintainers
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-24 17:31:12 -08:00
Brian Goff
93ad9c31fc Close resp body on plugin call error
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-24 20:09:51 -05:00
John Howard
281c1ced6d Windows CI: Port docker_cli_restart_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-24 15:21:56 -08:00
Sebastiaan van Stijn
0f01b21702 Merge pull request #20630 from tkopczynski/10084-cmd-entrypoint
Docs: add note about CMD and ENTRYPOINT commands
2016-02-25 00:19:30 +01:00
Tomasz Kopczynski
1ed84770c5 Docs: add note about CMD and ENTRYPOINT commands
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-02-24 22:57:25 +01:00
John Howard
00f65ae810 Windows CI: Port TestLogsAPI*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-24 13:43:52 -08:00
John Howard
03e2ff322b Windows CI: Port TestKill*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-24 13:33:25 -08:00
Rory McCune
c1e53ad1aa Update security.md with basic User Namespace info.
Just some suggested wording to update this page to take account of User Namespaces being available as of 1.10.

Signed-off-by: Rory McCune <rorym@mccune.org.uk>
2016-02-24 20:53:00 +00:00
Nakul Pathak
0f35bb92fe Add .md extension to readme for markdown rendering
Signed-off-by: Nakul Pathak <nakulpathak3@hotmail.com>
2016-02-24 20:39:46 +00:00
David Calavera
1ba44a832f Make server middleware standalone functions.
Removing direct dependencies from the server configuration.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-24 14:48:52 -05:00
John Howard
6a931c3590 Windows CI: Integrity check for busybox top
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-24 11:00:47 -08:00
Mike Danese
123f22004b vendor: add dependencies of gcplogs driver
The added dependencies are:
* golang.org/x/oauth2
* google.golang.org/api
* google.golang.org/cloud

Signed-off-by: Mike Danese <mikedanese@google.com>
2016-02-24 10:42:32 -08:00
Alexander Morozov
a7fefcf16c Merge pull request #20641 from cpuguy83/revert_inotify_changes
Revert fsnotify changes
2016-02-24 10:10:03 -08:00
Arnaud Porterie
467c8b1a6a Merge pull request #20637 from Microsoft/jjh/fixteststartattachmultiplecontainers
Windows CI: Fix TestStartAttachMultipleContainers
2016-02-24 08:46:00 -08:00
Brian Goff
f9524a4d24 add file poller panic fix from 1.10.2
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-24 10:17:29 -05:00
Sebastiaan van Stijn
efb915800a Merge pull request #20649 from runcom/fedora-update-userns
docs: reference: commandline: daemon: fedora 23+ has mapping files
2016-02-24 16:04:02 +01:00
Antonio Murdaca
eb902ef257 docs: reference: commandline: daemon: fedora 23+ has mapping files
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-24 15:43:28 +01:00
Antonio Murdaca
afde6450ee resolve the config file from the sudo user
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-24 15:41:00 +01:00
Sebastiaan van Stijn
5fdfb2985b Merge pull request #20619 from Microsoft/jjh/useraccounts
Windows: Updates for virtual user account
2016-02-24 13:48:27 +01:00
Sebastiaan van Stijn
2cc54a2e57 Merge pull request #20643 from estesp/userns-chkconfig-redhat
Add check for RHEL7/CentOS7 experimental userns disabled
2016-02-24 11:42:26 +01:00
Sebastiaan van Stijn
034a1a8dfd Merge pull request #20017 from calavera/expose_volumes_in_ps
Add mounts to docker ps.
2016-02-24 11:08:21 +01:00
Qiang Huang
fa3b197157 Restore container configs when update failed
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-02-24 14:23:48 +08:00
Qiang Huang
8ae6f6ac28 Support update swap memory only
We should support update swap memory without memory.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-02-24 13:36:47 +08:00
Phil Estes
2355151556 Add check for RHEL7/CentOS7 experimental userns disabled
Add a check in `check-config.sh` to see if we are running on a RHEL7 or
CentOS7 system, which may report that CONFIG_USERNS is OK/enabled, but
user namespaces still won't work because of the experimental feature
flag added by Redhat.

This will add a warning if it is actually disabled and notes what has to
be added to the grub/boot command line to enable it.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-23 23:28:24 -06:00
Brian Goff
91fdfdd537 Revert "use pubsub instead of filenotify to follow json logs"
This reverts commit b1594c59f5.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-23 21:43:52 -05:00
Brian Goff
f78091897a Revert "pkg: remove unused filenotify"
This reverts commit ee99b5f2e9.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-23 21:43:46 -05:00
Brian Goff
d3bffa1639 Revert "vendor: remove fsnotify"
This reverts commit bc195e1558.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-23 21:43:27 -05:00
Arnaud Porterie
2d0c3d1328 Merge pull request #20631 from LK4D4/update_libcontainer
Update libcontainer to 2c3115481ee1782ad687a9e0b4834f89533c2acf
2016-02-23 16:24:46 -08:00
John Howard
ef9f13af3d Windows CI: Fix TestStartAttachMultipleContainers
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-23 16:24:35 -08:00
Anusha Ragunathan
204c7808f9 Always create apt-ftparchive.conf.
The Releases file(s) and other bits for EOL-ed distros such as Ubuntu
Vivid should remain untouched when we are releasing debs.

However, few files in https://apt.dockerproject.org/repo/dists/ubuntu-vivid/
were being updated for the docker 1.10 release including the Release files.
This is due to apt-ftparchive generating index files for vivid as well,
due to the stale apt-ftparchive.conf

This change always creates config using suites in contrib/reprepro/suites.sh.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-02-23 16:06:43 -08:00
Arnaud Porterie
a9e6274224 Merge pull request #20627 from tophj-ibm/fix-flaky-oom-tests
Fix flaky OOM tests
2016-02-23 15:37:32 -08:00
Morgan Bauer
67629c8b52 do not turn post-processing on for linux-cgo term
- fixes #15373
 - remove set OPOST output flag for termios
 - remove latent os.Exit call

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2016-02-23 14:14:58 -08:00
David Calavera
2ed1806b2c Merge pull request #20610 from justechn/fix_docs
Fix docs
2016-02-23 13:45:29 -08:00
Alexander Morozov
4fc5bd295e Update libcontainer to 2c3115481ee1782ad687a9e0b4834f89533c2acf
It includes fix for parsing systemd cgroup names

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-23 13:37:20 -08:00
John Howard
b368a9f9b7 Windows CI: Fixes panic in test-unit for FileUtils
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-23 13:31:45 -08:00
Christopher Jones
3abf2a7741 Fix flaky OOM tests
If cgroup swap memory limit isn't enabled, then
the -m flag doesn't work and the container that is created for
both of these tests is very large. Because we are trying to run the
containers out of memory, this takes a very long time and causes the
tests to fail most of the time.

Follow-up to #17913

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-02-23 15:26:26 -05:00
Tibor Vass
9ec015edff Merge pull request #20618 from icecrime/fix_TestExec
Fix flaky TestExec
2016-02-23 13:44:04 -05:00
Ryan McLaughlin
d14cef441d fixing the path of the key pair
Signed-off-by: Ryan McLaughlin <ryanmclaughlin@gmail.com>

Fixed a bit of grammar

Signed-off-by: Ryan McLaughlin <ryanmclaughlin@gmail.com>
2016-02-23 11:32:28 -07:00
Arnaud Porterie
0a7755ab4e Fix flaky TestExec
The container started with `-d` as part of the test requires a `waitRun`
to ensure it is actually running before attempting any other operation.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-23 09:51:09 -08:00
John Howard
800c9e81ea Windows: Updates for virtual user account
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-23 09:47:52 -08:00
Nalin Dahyabhai
6cdc4ba6cd Try to handle changing names for journal packages
When checking if we have the development files for libsystemd's journal
APIs, check for either 'libsystemd >= 209' and 'libsystemd-journal'.  If
we find 'libsystemd', define the 'journald' tag, which defaults to using
the 'libsystemd.pc' file.  If we find the older 'libsystemd-journal',
define both the 'journald' and 'journald_compat' tags, which causes the
'libsystemd-journal.pc' file to be consulted instead.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2016-02-23 12:24:27 -05:00
David Calavera
bd4fb00fb6 Add mounts to docker ps.
- Allow to filter containers by volume with `--filter volume=name` and `filter volume=/dest`.
- Show their names in the list with the custom format `{{ .Mounts }}`.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-23 12:10:24 -05:00
Brian Goff
0f18fa939c Merge pull request #20591 from nerdalert/logrus_dbg_msg
Fixed logrus client/server mismatch debug msg
2016-02-23 11:59:37 -05:00
Vincent Demeester
20fc13b56d Merge pull request #20613 from aidanhs/aphs-ipv6-docs-followup
Update docs for enableipv6
2016-02-23 17:57:58 +01:00
David Calavera
9d882cbb44 Merge pull request #20581 from stweil/master
Fix some typos in comments and strings
2016-02-23 08:20:53 -08:00
David Calavera
1e02a0810e Merge pull request #20590 from HackToday/fixdoc
Fix doc format issue
2016-02-23 08:20:03 -08:00
Aidan Hobson Sayers
82d486848d Update docs for enableipv6
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2016-02-23 16:10:54 +00:00
Sebastiaan van Stijn
98d6dedde3 Merge pull request #20597 from zhuguihua/fix_markdown_style_error_in_man_page
Fix markdown style error in man page
2016-02-23 16:15:46 +01:00
Sebastiaan van Stijn
f3b5fdc23d Merge pull request #20514 from calavera/github_templates
Add tempates for new issues and pull requests.
2016-02-23 15:27:52 +01:00
Vincent Demeester
783d6c64cf Merge pull request #20500 from ZJUshuaizhou/master
Update docker_remote_api_v1.22.md
2016-02-23 14:54:01 +01:00
Doug Davis
dbec35ffd3 Merge pull request #20598 from wenchma/typo
Fix typo
2016-02-23 07:28:50 -05:00
Shijiang Wei
d7af031114 make the json log writer much faster
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-23 19:28:06 +08:00
Wen Cheng Ma
8474bbff45 Fix typo
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-02-23 17:27:55 +08:00
Zhu Guihua
2aa4280d93 Fix markdown style error in man page
Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
2016-02-23 16:10:17 +08:00
ZJUshuaizhou
220a188ae8 update all the versions from v1.19 to v1.23
update v1.22

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>

update all the versions docs

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>

revert v1,20

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>

update v1,20

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>

revert v1,20

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>

update v1,20

Signed-off-by: ZJUshuaizhou <21551191@zju.edu.cn>
2016-02-23 14:34:27 +08:00
Brent Salisbury
a499ad8e4e Fixed logrus client/server mismatch debug msg
Signed-off-by: Brent Salisbury <brent@docker.com>
2016-02-22 23:36:33 -05:00
Kai Qiang Wu(Kennan)
4d4d1e7f82 Fix doc format issue
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-23 03:42:10 +00:00
Brian Goff
0d808683a1 Merge pull request #20588 from WeiZhang555/typo
Fix typo
2016-02-22 21:30:01 -05:00
Zhang Wei
2264bd95b6 Fix typo
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-23 10:25:24 +08:00
David Calavera
921c744bc3 Merge pull request #20579 from MHBauer/cleanup
consistent variable names in api/server/router
2016-02-22 15:20:48 -08:00
David Calavera
9cac2716f7 Add tempates for new issues and pull requests.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-22 14:59:50 -05:00
Stefan Weil
2eee613326 Fix some typos in comments and strings
Most of them were found and fixed by codespell.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-02-22 20:27:15 +01:00
Morgan Bauer
9021506502 consistent variable names in api/server/router
- banish 'daemon'

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2016-02-22 10:53:47 -08:00
Brian Goff
40397d8059 Merge pull request #20552 from Microsoft/jjh/dockerfilereliability
Windows CI: Making dockerfile WAAAAAY faster
2016-02-22 13:11:23 -05:00
Vincent Demeester
4a087e4e6b Merge pull request #20557 from hsinko/fix_api_docs
Fix tiny error. And Previous PR missed to update docker_remote_api v1.22 and v1.23
2016-02-22 14:43:50 +01:00
hsinko
5642cdeac5 Update docker_remote_api_v1.22.md and v1.23 to complete the docs
Signed-off-by: hsinko <21551195@zju.edu.cn>

id in example request should be a exact value

Signed-off-by: hsinko <21551195@zju.edu.cn>

revert v1.22 doc

Signed-off-by: hsinko <21551195@zju.edu.cn>

fix tiny errors

Signed-off-by: hsinko <21551195@zju.edu.cn>
2016-02-22 20:49:10 +08:00
Vincent Demeester
5d33ff7e9d Merge pull request #20562 from albers/completion-update--restart
Add bash completion for `docker update --restart`
2016-02-22 13:44:31 +01:00
Vincent Demeester
0542f66823 Merge pull request #20561 from albers/completion-etwlogs
Add bash completion for etwlogs logging driver
2016-02-22 13:42:46 +01:00
Vincent Demeester
074442df7a Merge pull request #20482 from zhuguihua/fix_storage_driver_options_in_man_page
fix storage driver options in man page
2016-02-22 10:40:52 +01:00
Zhu Guihua
13deb4a245 fix storage driver options in man page
Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
2016-02-22 17:34:19 +08:00
Kai Qiang Wu(Kennan)
3c69d340eb Add check for non-systemd fd use case
We make the check more user-friendly, and users can learn
start docker with wrong fd used.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-22 01:53:38 +00:00
Harald Albers
dd4aa7f0e9 bash completion for docker update --restart
Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-21 10:21:28 -08:00
Harald Albers
1cd6b545ec bash completion for etwlogs logging driver
Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-21 09:58:42 -08:00
Vincent Demeester
675617bc85 Merge pull request #20549 from estesp/unskip-authz-events
Unskip authz events test after fixes
2016-02-21 09:32:28 +01:00
Vincent Demeester
1b811a8930 Merge pull request #20541 from tracylihui/20536-fix
Update docker_remote_api_v1.21.md to complete the docs
2016-02-21 09:27:50 +01:00
John Howard
c7089b4b46 Windows CI: Making dockerfile WAAAAAY faster
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-20 22:45:08 -08:00
tracylihui
cc2ff8c921 Update docs/reference/api to complete the docs
Signed-off-by: tracylihui <793912329@qq.com>
2016-02-21 10:28:07 +08:00
Phil Estes
4781d5c4fb Unskip authz events test after fixes
Now that the various fixes are all committed, let's see if this gets
less flaky now.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-20 20:19:54 -06:00
Vincent Demeester
3646b14ecd Merge pull request #20528 from cloojure/patch-3
Update dockernetworks.md
2016-02-20 23:25:51 +01:00
Vincent Demeester
41a2bac7cf Merge pull request #20542 from longliqiang88/master2.201
Update doc docker_remote_api_v1.20.md
2016-02-20 19:18:28 +01:00
Sebastiaan van Stijn
d006e32a91 Merge pull request #20519 from lblackstone/update-packager-readme
Update Packagers readme with seccomp info
2016-02-20 19:17:11 +01:00
longliqiang88
47e3ea7dd1 Update doc docker_remote_api_v1.20.md
Update doc docker_remote_api_v1.20.md
Signed-off-by: longliqiang88 <394564827@qq.com>
2016-02-20 19:32:20 +08:00
tracylihui
df3ede95eb Update docker_remote_api_v1.21.md to complete the docs
Signed-off-by: tracylihui <793912329@qq.com>
2016-02-20 19:17:19 +08:00
Antonio Murdaca
076b3558fc Merge pull request #20509 from estesp/cleanup-authz-test
Clean up authz integration-cli test
2016-02-20 12:10:29 +01:00
Sebastiaan van Stijn
dc0a69cbcd Merge pull request #20535 from hsinko/dev
A wrong word
2016-02-20 11:57:29 +01:00
Vincent Demeester
fe275414fe Merge pull request #19116 from WeiZhang555/19025-update-restart
Update RestartPolicy of container
2016-02-20 11:39:31 +01:00
Zhang Wei
ff3ea4c90f Update RestartPolicy of container
Add `--restart` flag for `update` command, so we can change restart
policy for a container no matter it's running or stopped.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-20 17:06:32 +08:00
hsinko
0b64280195 Update configure-dns.md
Modify word error
Signed-off-by: hsinko <21551195@zju.edu.cn>
2016-02-20 11:51:59 +08:00
Tibor Vass
6668326aa8 Merge pull request #20471 from calavera/userland_proxy_config_fix
Avoid setting default truthy values from flags that are not set.
2016-02-19 21:00:37 -05:00
Alan Thompson
549fa67dae Update dockernetworks.md
Fix truncated sentence

Signed-off-by: Alan Thompson <cloojure@gmail.com>
2016-02-19 16:57:13 -08:00
Tibor Vass
3d65e7126c Merge pull request #20446 from estesp/fix-userns-cp
Fix copy chown settings to not default to real root
2016-02-19 19:45:44 -05:00
Phil Estes
fe015c5ce0 Allow post-start load of busybox to remove restarts
The restarts in the authz plugin test suite seems to be causing
flakiness in CI, and can be avoided by separating the daemon start and
busybox image load.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-19 18:44:36 -06:00
David Calavera
64785ff146 Merge pull request #20521 from estesp/vendor-engine-api-fix
Update engine-api vendoring to latest commit
2016-02-19 15:41:17 -08:00
Arnaud Porterie
b9195cd6d4 Merge pull request #20464 from cpuguy83/fix_events_flakiness
Fix events test flakiness.
2016-02-19 15:39:27 -08:00
David Calavera
31cb96dcfa Avoid setting default truthy values from flags that are not set.
When the value for a configuration option in the file is `false`,
and the default value for a flag is `true`, we should not
take the value from the later as final value for the option,
because the user explicitly set `false`.

This change overrides the default value in the flagSet with
the value in the configuration file so we get the correct
result when we merge the two configurations together.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-19 18:39:10 -05:00
Phil Estes
1c2db56d2f Update engine-api vendoring to latest commit
This picks up the change for `Content-Type` which will help solve issues
with authz plugins.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-19 16:20:27 -06:00
Levi Blackstone
b25b9b5709 Update Packagers readme with seccomp info
Signed-off-by: Levi Blackstone <levi.blackstone@rackspace.com>
2016-02-19 15:36:34 -06:00
Antonio Murdaca
11435b674b add seccomp default profile fix tests
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-19 13:32:54 -08:00
Jessica Frazelle
ad600239bc generate seccomp profile convert type
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-19 13:32:54 -08:00
David Calavera
e51457eea8 Merge pull request #20513 from tonistiigi/retake-ref
Fix releasing reference on deletion error
2016-02-19 13:25:26 -08:00
Jess Frazelle
a657cfd68b Merge pull request #20417 from redbaron/fix-deferred-removal-detection
Fix libdevmapper deferred removal detection
2016-02-19 13:58:18 -07:00
Jess Frazelle
3b62a610ec Merge pull request #20288 from tiborvass/debian-jessie
Switch Dockerfile to debian:jessie ... AGAIN
2016-02-19 13:51:30 -07:00
Brian Goff
0e72550c5b Merge pull request #20383 from HackToday/addsort
Make network ls output order
2016-02-19 15:42:48 -05:00
Brian Goff
48701888c2 Merge pull request #20389 from HackToday/addvolumesupport
Make volume ls output order
2016-02-19 15:41:34 -05:00
Arnaud Porterie
9d70aef2c7 Merge pull request #20511 from icecrime/skip_flaky_test
Temporarily skip TestAuthZPluginAllowEventStream
2016-02-19 10:57:30 -08:00
Tonis Tiigi
64530c8e47 Fix releasing reference on deletion error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-02-19 10:42:29 -08:00
Arnaud Porterie
6e0f873f05 Temporarily skip TestAuthZPluginAllowEventStream
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-19 10:32:05 -08:00
Tibor Vass
aa1fdf42da Merge pull request #20253 from aaronlehmann/smarter-tls-fallback
Smarter push/pull fallback from TLS to plaintext
2016-02-19 13:16:53 -05:00
Phil Estes
074561b0ec Clean up authz integration-cli test
- Order the flow of the handlers more cleanly--read req, do actions,
  write response.
- Add "always allowed" endpoints to handle `/_ping` and `/info` usage
  from the test framework/daemon start/restart management

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-19 10:12:39 -08:00
Vincent Demeester
06af9471f8 Merge pull request #20386 from zhangjianfnst/fix-some-flaws-in-docs
Fix some flaws in docs
2016-02-19 17:07:50 +01:00
Sebastiaan van Stijn
d6576ad9f0 Merge pull request #20504 from fuzzbomb/20503-document-names-format-placeholder-docker-ps-man-page
Document .Names format placeholder in docker-ps man page, fixes #20503.
2016-02-19 16:34:23 +01:00
Andrew Macpherson
22d22eb9e1 Document .Names format placeholder in docker-ps man page, fixes #20503.
Signed-off-by: Andrew Macpherson <hopscotch23@gmail.com>
2016-02-19 15:13:34 +00:00
Sebastiaan van Stijn
787fe507bf Merge pull request #20479 from qunhu/master
fix docs
2016-02-19 15:55:33 +01:00
Sebastiaan van Stijn
33997ba69c Merge pull request #20487 from wenchma/typo-error
Fix typo error of dockernetworks.md
2016-02-19 15:24:59 +01:00
Zhang Wei
439433099e Clean redundant error message for export
When execute `docker export -o path xxx` and path is a directory docker
has no privilege to write to, daemon will print lots of error logs that
most of them are duplicated and redundant.

This will remove unnecessary error logs and print only once.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-19 18:50:11 +08:00
Wen Cheng Ma
f03050cc4c Fix typo error of dockernetworks.md
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-02-19 17:18:52 +08:00
huqun
b96bbf26db fix docs
Signed-off-by: huqun  <huqun@zju.edu.cn>
2016-02-19 13:51:14 +08:00
Arnaud Porterie
117a982d2e Merge pull request #20419 from aboch/cr
Allow passing global datastore to libnetwork and v0.7.0-dev1 vendoring
2016-02-18 17:39:46 -08:00
Jian Zhang
cdc7f26715 Fix some flaws in docs
Signed-off-by: Jian Zhang <zhangjian.fnst@cn.fujitsu.com>
2016-02-19 09:27:03 +08:00
David Calavera
c96564a76c Merge pull request #20433 from runcom/fixies
runconfig: opts: parse: lowercase errors
2016-02-18 17:08:01 -08:00
Arnaud Porterie
7068722678 Merge pull request #20458 from aaronlehmann/migration-close-gzip-writer
Close tarsplit gzip writer when creating tar-split.json.gz files during layer migration
2016-02-18 16:48:50 -08:00
Arnaud Porterie
6a8342d63d Merge pull request #20460 from Microsoft/jjh/latestw2lciscripts
Check in latest Win2Lin Jenkins scripts
2016-02-18 15:58:24 -08:00
Phil Estes
40be5dba47 Fix copy chown settings to not default to real root
This corrects `docker cp` behavior when user namespaces are enabled.
Instead of chown'ing copied-in files to real root (0,0), the code
queries for the remapped root uid & gid and sets the chown option
properly.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-18 14:44:13 -08:00
David Calavera
319bbff799 Merge pull request #20381 from cpuguy83/20378_fix_multiple_deref
Fix issue with multiple volume refs with same name
2016-02-18 13:51:10 -08:00
David Calavera
22ff08e5b2 Merge pull request #20452 from icecrime/roadmap_update
Update ROADMAP.md
2016-02-18 13:50:27 -08:00
Sebastiaan van Stijn
b52cd79cf4 Merge pull request #20459 from ozlerhakan/master
add a new sub-section to each volume page
2016-02-18 22:40:52 +01:00
Brian Goff
abbf2aa6dd Fix events test flakiness.
Since channel is getting a send instead of a close now, this can cause
random issues ranging through the list of channels if the channel is
unbuffered since the send may be blocked.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-18 16:10:29 -05:00
Madhu Venugopal
c9bec2be2a Config-reload IT
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-18 12:22:56 -08:00
Santhosh Manohar
e5293f97f2 IT case for sending invalid query to embedded DNS server
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-02-18 12:14:19 -08:00
Alessandro Boch
ed364b69df Invoke ReloadConfiguration on network controller
- It reverts fa163f5619 plus a small change
  in order to allow passing the global scope datastore
  to libnetwork after damon boot.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-02-18 12:14:14 -08:00
John Howard
d86f0d9b6d Check in latest Win2Lin Jenkins scripts
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-18 11:59:08 -08:00
ozlerhakan
910ea8adf6 add a section to each volume page
Signed-off-by: ozlerhakan <hakan.ozler@kodcu.com>
2016-02-18 21:52:15 +02:00
Arnaud Porterie
038c3b8287 Merge pull request #20426 from calavera/remove_channel_close
Remove channel close.
2016-02-18 11:13:30 -08:00
Aaron Lehmann
1c05c65f6f Close tarsplit gzip writer when creating tar-split.json.gz files during layer migration
There is a missing call to Close on the gzip.Writer that is used to
compress newly created tar-split files during layer migration. This can
result in corrupt tar-split files that later cause docker push and
docker save to fail. The Close call is necessary to flush buffered data
to the stream.

Fixes: #20104

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-18 10:55:38 -08:00
David Calavera
2e6c841b82 Merge pull request #17513 from aidanhs/aphs-expose-ipv6-default-bridge
Expose bridge IPv6 setting to `docker network inspect`
2016-02-18 10:35:04 -08:00
Sebastiaan van Stijn
84d2d6acdd Merge pull request #20438 from YeZhenan/nodejs_web_app-update
update the dockfile of dockerizing a Node.js app.
2016-02-18 19:17:59 +01:00
David Calavera
2f283f3cd8 Merge pull request #20447 from cpuguy83/fix_netnone
Fix net=none w/ TestDaemonNoSpaceleftOnDeviceError
2016-02-18 10:10:26 -08:00
Arnaud Porterie
3b65dda2ed Update ROADMAP.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-18 09:39:25 -08:00
Brian Goff
aae454cb52 Merge pull request #20292 from Microsoft/jjh/testunit-pkgarchivestep2
Windows CI: test-unit on pkg\archive part 2
2016-02-18 12:12:09 -05:00
Brian Goff
e7b2523751 Merge pull request #20442 from cpuguy83/fix_flakey_TestAuthZPluginAllowEventStream
Fix flakey TestAuthZPluginAllowEventStream
2016-02-18 12:07:20 -05:00
Brian Goff
1fb144cb23 Merge pull request #20365 from calavera/remove_debug_from_server
Remove all docker debugging knowledge from the server.
2016-02-18 12:06:23 -05:00
Brian Goff
8e0e9e0f24 Fix net=none w/ TestDaemonNoSpaceleftOnDeviceError
Broken by bcb9adf49e

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-18 11:34:34 -05:00
Tianon Gravi
fb00fe5ea3 Merge pull request #20434 from cmehay/power8
Update to Golang 1.6 in Power8 Dockerfile
2016-02-18 08:33:38 -08:00
Brian Goff
be5939f407 Merge pull request #20333 from rhatdan/mqueue
/dev/mqueue should never be mounted readonly
2016-02-18 11:02:17 -05:00
Brian Goff
4cf9b725f2 Fix flakey TestAuthZPluginAllowEventStream
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-18 10:19:19 -05:00
Sebastiaan van Stijn
1f97f2232d Merge pull request #20415 from thaJeztah/improve-seccomp-warning
Be more explicit on seccomp availability
2016-02-18 15:18:36 +01:00
Zhenan Ye
883b0567f2 update the file of dockerizing a Node.js app.
Signed-off-by: Zhenan Ye <21551168@zju.edu.cn>
2016-02-18 06:12:11 -08:00
Sebastiaan van Stijn
13839a6d32 Be more explicit on seccomp availability
Seccomp is only *compiled* in binaries built for
distros that ship with seccomp 2.2.1 or higher,
and in the static binaries.

The static binaries are not really useful for
RHEL and CentOS, because devicemapper does
not work properly with the static binaries,
so static binaries is only an option for Ubuntu
and Debian.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-18 14:57:47 +01:00
Sebastiaan van Stijn
a9c73b1a7e Merge pull request #20425 from HackToday/fixindex
Fix wrong index marking
2016-02-18 14:49:15 +01:00
Christophe Mehay
7f0ca59ec2 Update to Golang 1.6 in Power8 Dockerfile
Signed-off-by: Christophe Mehay <cmehay@online.net>
2016-02-18 14:42:19 +01:00
Antonio Murdaca
d266142230 runconfig: opts: parse: lowercase errors
also fix wrong function comment

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-18 11:21:44 +01:00
Sebastiaan van Stijn
3406903fa2 Merge pull request #20423 from HackToday/fixdoc
Add sudo for related command
2016-02-18 10:00:43 +01:00
David Calavera
0109510830 Remove channel close.
Send a message instead, discarding duplicated messages.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-17 22:52:06 -05:00
Kai Qiang Wu(Kennan)
0b4e0ce7cd Fix wrong index marking
The index was wrong set in docs, so let's fix it

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-18 03:08:21 +00:00
Kai Qiang Wu(Kennan)
f7fe2f0992 Add sudo for related command
The du need sudo to perform to get correct results.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-18 02:58:26 +00:00
Aaron Lehmann
79db131a35 Change APIEndpoint to contain the URL in a parsed format
This allows easier URL handling in code that uses APIEndpoint.
If we continued to store the URL unparsed, it would require redundant
parsing whenver we want to extract information from it. Also, parsing
the URL earlier should give improve validation.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-17 17:48:15 -08:00
Alessandro Boch
196b27211b Vendoring libnetwork v0.7.0-dev.3
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-02-17 17:07:33 -08:00
Maxim Ivanov
24152a4231 Fix libdevmapper deferred removal detection
When linking, position of `-l` flags is important since
they muse come _after_ any object files which uses symbols
from a specified library, that is due to --as-needed binutils
ld flag enabled by default

Signed-off-by: Maxim Ivanov <ivanov.maxim@gmail.com>
2016-02-17 23:56:21 +00:00
David Calavera
776c5ee299 Merge pull request #20382 from HuKeping/fixbug
Bugfix: the actions when pull from notary should not contains `push`
2016-02-17 15:20:26 -08:00
David Calavera
e9234d8aaf Merge pull request #20411 from aaronlehmann/strengthen-TestPullFromCentralRegistryImplicitRefParts
Improve resilience of TestPullFromCentralRegistryImplicitRefParts
2016-02-17 15:08:20 -08:00
David Calavera
61aa025faf Merge pull request #20372 from tonistiigi/fix-empty-diffid
Fix migration diffid atomic write
2016-02-17 15:03:42 -08:00
David Calavera
9a81f206b3 Merge pull request #20408 from cpuguy83/use_pool_for_pubsub_wg
Use pool for pubsub `Publish`'s waitgroups
2016-02-17 14:46:13 -08:00
Alexander Morozov
929f62e64d Merge pull request #20187 from cyphar/vendor-runc
[carry 19752] vendor: update runc/libcontainer to v0.0.8
2016-02-17 13:59:00 -08:00
David Calavera
647d3266ea Merge pull request #20260 from Microsoft/jjh/testunit-pkggitutils
Windows CI: Unit tests - port pkg\gitutils
2016-02-17 13:50:17 -08:00
David Calavera
b26c21f704 Merge pull request #20407 from tiborvass/backmerge-1.10.1
Backmerge 1.10.1 fixes to master
2016-02-17 13:45:43 -08:00
Aaron Lehmann
8842011153 Improve resilience of TestPullFromCentralRegistryImplicitRefParts
Sometimes transient network issues will cause
TestPullFromCentralRegistryImplicitRefParts to end up pulling with the
v1 protocol. This violates the assumptions behind the test. To make the
test more robust, allow a few retries if any pull ends up using the v1
protocol.

Fixes #17214

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-17 13:08:51 -08:00
Sebastiaan van Stijn
6b70964fea Merge pull request #20375 from tiborvass/fix-yum-index-output
Fix index generator for apt/yum packages
2016-02-17 21:36:02 +01:00
Brian Goff
58d98f8288 Use pool for pubsub Publish's waitgroups
benchmark             old ns/op      new ns/op      delta
BenchmarkPubSub-8     1036494796     1032443513     -0.39%

benchmark             old allocs     new allocs     delta
BenchmarkPubSub-8     2467           1441           -41.59%

benchmark             old bytes     new bytes     delta
BenchmarkPubSub-8     212216        187792        -11.51%

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-17 14:36:57 -05:00
Alexander Morozov
0cc9720c2a Merge pull request #20406 from aaronlehmann/integration-test-format-string
Fix format string in TestExecApiCreateContainerPaused
2016-02-17 11:28:42 -08:00
Tonis Tiigi
55080fc03b Don’t stop daemon on migration hard failure
Also changes missing storage layer for container
RWLayer to a soft failure.

Fixes #20147

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 2798d7a6a6)
2016-02-17 14:26:30 -05:00
Tonis Tiigi
50a498ea1c Verify layer tarstream
This adds verification for getting layer data out
of layerstore. These failures should only be possible
if layer metadata files have been manually changed
of if something is wrong with tar-split algorithm.

Failing early makes sure we don’t upload invalid data
to the registries where it would fail after someone
tries to pull it.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit e29e580f7f)
2016-02-17 14:26:16 -05:00
Alexander Morozov
11257dc729 Merge pull request #20403 from runcom/use-test-req
integration-cli: use Devicemapper test requirement instead of checkin…
2016-02-17 11:17:26 -08:00
Aaron Lehmann
2210b15e08 Fix format string in TestExecApiCreateContainerPaused
It was s% instead of %s.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-17 11:05:51 -08:00
Antonio Murdaca
337ee2aa63 integration-cli: use Devicemapper test requirement instead of checking strings
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-17 18:18:18 +01:00
Aleksa Sarai
093dd39686 vendor: update runc/libcontainer
This includes all of v0.0.8 as well as a few bug fixes that popped up
during vendoring.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-02-18 01:42:36 +11:00
Brian Goff
7eed9a642e Merge pull request #20396 from cyphar/remove-fsnotify
remove fsnotify
2016-02-17 09:41:31 -05:00
Aleksa Sarai
bc195e1558 vendor: remove fsnotify
It is not longer used by us, so hack/vendor.sh complains because it
removes unused files (but also complains about removing an entire
vendored project).

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-02-18 00:12:53 +11:00
Aleksa Sarai
ee99b5f2e9 pkg: remove unused filenotify
pkg/filenotify isn't used anymore and it causes problems with
hack/vendor.sh (nothing uses it, so hack/vendor.sh will remove the
vendored code).

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-02-18 00:11:43 +11:00
Kai Qiang Wu(Kennan)
60ffd6c880 Make volume ls output order
Fixes: #20384
Add order support for volume ls to make it easy
to external users to consume.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-17 09:01:27 +00:00
Vincent Demeester
2a9e6ace70 Merge pull request #20385 from WeiZhang555/fix-docs
Fix docs
2016-02-17 08:55:02 +01:00
Phil Estes
5c78515430 Merge pull request #20366 from LK4D4/socks_proxy
Add support for forwarding Docker client through SOCKS proxy
2016-02-16 22:29:49 -08:00
Kai Qiang Wu(Kennan)
838ed1866b Make network ls output order
Fixes: #20328
We sort network ls output with incresing order,
it may make output more easy to consume for users.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-17 04:35:36 +00:00
Zhang Wei
899335022f Fix docs
Fix wrong descriptions in docs

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-17 11:55:56 +08:00
Arnaud Porterie
bebad9e5c1 Merge pull request #20379 from crosbymichael/exec-test
Require linux for TestExecAfterContainerRestart
2016-02-16 19:26:13 -08:00
Tibor Vass
7acd3987d3 Fix index generator for apt/yum packages
Some @_@ characters could become visible if filename is longer than 44
characters.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-16 21:54:07 -05:00
Brian Goff
0fe31306d1 Fix issue with multiple volume refs with same name
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-16 21:46:13 -05:00
HuKeping
6b8a2a0fe4 Bugfix: the actions when pull from notary should not contains push
Signed-off-by: Hu Keping <hukeping@huawei.com>
2016-02-17 10:36:09 +08:00
Michael Crosby
46e41dc2f8 Require linux for TestExecAfterContainerRestart
All the other exec tests require linux except this one and it is
causing failures in the TP4 test runs.

ref:
https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP4/1076/console

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-02-16 17:50:50 -08:00
Alexander Morozov
eae59c4226 Merge pull request #20374 from icecrime/20357_test_logs_since_future_follow
Fix flaky TestLogsSinceFutureFollow
2016-02-16 15:23:19 -08:00
David Calavera
c795d0bab9 Merge pull request #19689 from cednation/etwlogs
Windows: Add ETW logging driver plug-in
2016-02-16 15:01:17 -08:00
Sebastiaan van Stijn
c66d9f5627 Merge pull request #20373 from bastiaanb/fix/docs-trailing-slash-in-dockerfile-copy-example
add missing trailing slash in ADD and COPY /absoluteDir examples.
2016-02-16 23:10:47 +01:00
Alexander Morozov
0f5624d374 Merge pull request #20367 from tonistiigi/fix-import-gzip
Fix docker import on compressed data
2016-02-16 14:09:46 -08:00
Alexander Morozov
8545fdc6dd Merge pull request #19498 from mountkin/refactor-jsonfilelog-reader
use pubsub instead of filenotify to follow json logs
2016-02-16 13:55:48 -08:00
Bastiaan Bakker
f982f08c50 add missing trailing slash in ADD and COPY /absoluteDir examples. According to the specs they are mandatory.
Signed-off-by: Bastiaan Bakker <bbakker@xebia.com>
2016-02-16 22:52:16 +01:00
Arnaud Porterie
4928121992 Fix flaky TestLogsSinceFutureFollow
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-16 13:49:44 -08:00
Cedric Davies
3fe60bbf95 Windows: Add ETW logging driver plug-in
Signed-off-by: Cedric Davies <cedricda@microsoft.com>
2016-02-16 13:24:49 -08:00
David Calavera
80187df257 Merge pull request #19986 from vishh/expose-root-dir
Expose docker's root directory by default as part of `docker info`.
2016-02-16 12:57:57 -08:00
Jess Frazelle
d445eb4808 Merge pull request #20353 from rhatdan/selinux
Only relabel /var/lib/docker on initial install
2016-02-16 12:15:20 -08:00
Tonis Tiigi
056013f97b Fix migration diffid atomic write
Fixes #20267

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-02-16 11:51:35 -08:00
Tonis Tiigi
e1c2eb0d35 Fix docker import on compressed data
Fixes #20296

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-02-16 11:19:23 -08:00
David Calavera
e8f569b324 Remove all docker debugging knowledge from the server.
It should be explicitly told whether to enable the profiler or not.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-16 14:11:16 -05:00
Alexander Morozov
05002c2501 Add support for forwarding Docker client through SOCKS proxy
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-16 11:09:28 -08:00
Vishnu kannan
6a3176d4fe Expose docker's root directory by default as part of docker info.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 10:40:15 -08:00
Jess Frazelle
15d7fa77e1 Merge pull request #20305 from cyphar/fix-apparmor-version-checks
Fix apparmor version checks
2016-02-16 10:11:08 -08:00
Alexander Morozov
16effc66c0 Vendor new engine-api and go-connections
There is SOCKS5 proxy support in new versions.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-16 10:05:01 -08:00
David Calavera
556b1369de Merge pull request #20308 from mountkin/fix-20069
request a new token before downloading each layer
2016-02-16 09:55:23 -08:00
Dan Walsh
443ada574d Only relabel /var/lib/docker on initial install
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-02-16 08:27:59 -05:00
Sebastiaan van Stijn
48d4e2d953 Merge pull request #20352 from glensc/x-bit
add execute bit to contrib/report-issue.sh
2016-02-16 12:52:30 +01:00
Elan Ruusamäe
5b62b71093 add execute bit to contrib/report-issue.sh
Signed-off-by: Elan Ruusamäe <glen@delfi.ee>
2016-02-16 12:55:15 +02:00
Sebastiaan van Stijn
3004c61865 Merge pull request #20341 from MichaelCurrie/patch-1
Fix typo
2016-02-16 11:16:29 +01:00
Sebastiaan van Stijn
957bdd9df9 Merge pull request #20343 from HackToday/fixpara
Fix the typo
2016-02-16 11:14:57 +01:00
Kai Qiang Wu(Kennan)
c33cdf9ee3 Fix the typo
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-16 07:00:01 +00:00
Michael Currie
765880a46a Fix typo
Signed-off-by: MichaelCurrie <mcurrie@bruceforceresearch.com>
2016-02-16 02:51:40 +00:00
Vincent Demeester
b16536aeb5 Merge pull request #20336 from robert-wallis/docs-run-typo
Fixing mismatched network name.
2016-02-15 22:32:31 +01:00
Robert Wallis
8779a4ca62 Fixing mismatched network name.
Using `my-net` to be consistent with:
https://docs.docker.com/engine/reference/run/

Signed-off-by: Robert Wallis <smilingrob@gmail.com>
2016-02-15 13:17:05 -08:00
Dan Walsh
adb2e3fedc /dev/mqueue should never be mounted readonly
If user specifies --read-only flag it should not effect /dev/mqueue.
This is causing SELinux issues in docker-1.10.  --read-only blows up
on SELinux enabled machines.  Mounting /dev/mqueue read/only would also
blow up any tool that was going to use /dev/mqueue.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-02-15 14:56:07 -05:00
Vincent Demeester
e5a79c5d99 Merge pull request #20330 from thaJeztah/docs-typos
Fix documentation typos
2016-02-15 16:58:49 +01:00
Sebastiaan van Stijn
7da5784b10 Fix documentation typos
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-15 15:46:56 +01:00
Shijiang Wei
1e0f1ec525 optimize pubsub.Publish function
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-15 19:25:21 +08:00
Shijiang Wei
b1594c59f5 use pubsub instead of filenotify to follow json logs
inotify event is trigged immediately there's data written to disk.
But at the time that the inotify event is received, the json line might
not fully saved to disk. If the json decoder tries to decode in such
case, an io.UnexpectedEOF will be trigged.
We used to retry for several times to mitigate the io.UnexpectedEOF error.
But there are still flaky tests caused by the partial log entries.

The daemon knows exactly when there are new log entries emitted. We can
use the pubsub package to notify all the log readers instead of inotify.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>

try to fix broken test. will squash once tests pass

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-15 19:25:16 +08:00
Aleksa Sarai
284d9d451e apparmor: use correct version for ptrace denial suppression
Ubuntu ships apparmor_parser 2.9 erroniously as "2.8.95". Fix the
incorrect version check for >=2.8, when in fact 2.8 deosn't support the
required feature.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-02-15 20:36:29 +11:00
Aleksa Sarai
4bf7a84c96 apparmor: fix version checks to work properly
Using {{if major}}{{if minor}} doesn't work as expected when the major
version changes. In addition, this didn't support patch levels (which is
necessary in some cases when distributions ship apparmor weirdly).

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-02-15 20:36:07 +11:00
Vincent Demeester
46a61b7240 Merge pull request #20257 from Microsoft/10662-TestBuildCI6
Sixth set of TestBuild CI Enabling for Windows
2016-02-14 10:35:27 +01:00
Shijiang Wei
05b05a358f request a new token before downloading each layer
Fixes #20069

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-14 16:56:07 +08:00
Darren Stahl
5fc0de2688 Sixth set of TestBuild CI Enabling for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-13 20:54:59 -08:00
Brian Goff
389a38e1e5 Merge pull request #20281 from FrederikNS/master
Fish tab completion lists all containers on "docker rm -f"
2016-02-13 15:41:52 -05:00
Vincent Demeester
7d9532552b Merge pull request #20280 from rhuss/patch-2
Add network mode `none` to list of possible values
2016-02-13 14:21:27 +01:00
Roland Huß
c80b36c938 Extended explanation of NetworkMode's value
* Add network mode `none` to list of possible values for API version 1.15 - 1.23
* For API version 1.21 - 1.23 add explanation that any other value is taken as a custom network's name

Signed-off-by: Roland Huß <roland@jolokia.org>
2016-02-13 10:00:51 +01:00
Antonio Murdaca
5a9a435d40 Merge pull request #20290 from calavera/fix_stop_signal_merge
Inherit StopSignal from Dockerfile.
2016-02-13 09:26:11 +01:00
Tibor Vass
f27b5dda4a Switch Dockerfile to debian:jessie
Fixes broken-pipe issue when piping s3cmd to grep -q, by removing the -q
flag and redirecting to /dev/null instead.

Add net-tools for ifconfig, because some tests rely on ifconfig.

Harmonize all Dockerfiles in this direction.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-12 21:49:54 -05:00
Jess Frazelle
b384fd6b1b Merge pull request #20141 from cmehay/power8
Build golang 1.6 in power8 Dockerfile
2016-02-12 20:36:57 -05:00
Tianon Gravi
beade8276a Merge pull request #20293 from jfrazelle/fix-release-script
dont clean the db
2016-02-12 16:30:00 -08:00
Jess Frazelle
79edcc5172 Merge pull request #20198 from cpuguy83/check_drivers_b4_vol_create
Check drivers before vol create
2016-02-12 18:41:48 -05:00
John Howard
d6b7819185 Windows CI: test-unit on pkg\archive part 2
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-12 15:40:41 -08:00
Jess Frazelle
64a4605892 Merge pull request #20278 from aaronlehmann/build-authconfig
Pass authentication credentials through to build
2016-02-12 18:37:49 -05:00
Sebastiaan van Stijn
4fea2be134 Merge pull request #20284 from Microsoft/jjh/testunit-pkgarchivestep1
Windows CI: test-unit pkg\archive step 1
2016-02-13 00:37:17 +01:00
David Calavera
bda194491e Merge pull request #20287 from duglin/DebugVerCheck
Lower warning about old client to a debug
2016-02-12 15:34:02 -08:00
David Calavera
a252516ec1 Inherit StopSignal from Dockerfile.
Make sure the image configuration is not overriden by the default
value in the `create` flag.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-12 17:56:40 -05:00
Aaron Lehmann
5e8af46fda Smarter push/pull TLS fallback
With the --insecure-registry daemon option (or talking to a registry on
a local IP), the daemon will first try TLS, and then try plaintext if
something goes wrong with the push or pull. It doesn't make sense to try
plaintext if a HTTP request went through while using TLS. This commit
changes the logic to keep track of host/port combinations where a TLS
attempt managed to do at least one HTTP request (whether the response
code indicated success or not). If the host/port responded to a HTTP
using TLS, we won't try to make plaintext HTTP requests to it.

This will result in better error messages, which sometimes ended up
showing the result of the plaintext attempt, like this:

    Error response from daemon: Get
    http://myregistrydomain.com:5000/v2/: malformed HTTP response
    "\x15\x03\x01\x00\x02\x02"

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-12 13:47:48 -08:00
Jessica Frazelle
477e1fc989 dont clean the db
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-12 13:13:50 -08:00
David Calavera
b734d0e8cc Merge pull request #20285 from moxiegirl/fix-user-guide
Update the userguide to fix user feedback
2016-02-12 11:07:03 -08:00
Jess Frazelle
94b0a6b2d9 Merge pull request #20277 from tiborvass/pgp-mit-fallback
Add pgp.mit.edu fallback in Dockerfile
2016-02-12 13:56:11 -05:00
Doug Davis
059ad5d0a9 Lower warning about old client to a debug
Ideally I would love to just remove this check entirely because its
seems pretty useless.  An old client talking to a new server isn't
an error condition, nor is it something to even worry about - its a normal
part of life.  Flooding my screen (and logs) with a warning that isn't
something I (as an admin) need to be concerned about is silly and a
distraction when I need to look for real issues.  If anything this should
be printed on the cli not the daemon since its the cli that needs to be
concerned, not the daemon.

However, since when you debug an issue it might be interesting to know the
client is old I decided to pull back a little and just change it from
a Warning to a Debug logrus call instead.

If others want it removed I still do that though  :-)

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-02-12 10:53:40 -08:00
Aaron Lehmann
6fed46aeb9 Pass authentication credentials through to build
In Docker 1.10 and earlier, "docker build" can do a build FROM a private
repository that hasn't yet been pulled. This doesn't work on master. I
bisected this to https://github.com/docker/docker/pull/19414.
AuthConfigs is deserialized from the HTTP request, but not included in
the builder options.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-12 10:50:16 -08:00
Frederik Nordahl Jul Sabroe
2541a23c3a Fish completion lists all containers on "docker rm -f"
Signed-off-by: Frederik Nordahl Jul Sabroe <frederikns@gmail.com>
2016-02-12 19:14:35 +01:00
John Howard
1a714e76a2 Windows CI: test-unit pkg\archive step 1
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-12 10:13:44 -08:00
Mary Anthony
bf76b1d686 Update the userguide to fix user feedback
Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-12 10:08:59 -08:00
David Calavera
3a3c953806 Merge pull request #20266 from npcode/fix-docs-dockernetworks-three-options
Fix an erratum; s/two/three/
2016-02-12 09:58:48 -08:00
Tibor Vass
91cdadf37e Add pgp.mit.edu fallback in Dockerfile
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-12 11:54:47 -05:00
Vincent Demeester
c312eab74e Merge pull request #20265 from rhuss/patch-1
Fix some formatting
2016-02-12 17:23:17 +01:00
Morgan Bauer
fffff202fc Merge pull request #20261 from tophj-ibm/change-test-to-use-variable
Change integration test to use declared variable
2016-02-12 07:52:51 -08:00
Yi EungJun
8c93958fcb Fix an erratum; s/two/three/
There are three options because the new one was added at 6f863cf.

Signed-off-by: Yi EungJun <eungjun.yi@navercorp.com>
2016-02-13 00:14:35 +09:00
Tibor Vass
bd758053b5 Merge pull request #20264 from qunhu/master
fix grammar error
2016-02-12 10:07:45 -05:00
Vincent Demeester
e17afedfe0 Merge pull request #20247 from aaronlehmann/distribution-errors
Push/pull errors improvement and cleanup
2016-02-12 11:57:25 +01:00
Roland Huß
03b25e024e Fix some formatting
* Codified example container names
* Emphasised 'link' vs 'legacy link' (instead of using code markup)
* Add a missing ``` for a code example

Signed-off-by: Roland Huß <roland@jolokia.org>
2016-02-12 10:34:55 +01:00
huqun
f609fb4d83 fix grammar error
it is not very important,but I think the modification makes the coders read more conviently!

Signed-off-by: huqun  <huqun@zju.edu.cn>
2016-02-12 16:11:31 +08:00
Vincent Demeester
27ab98e846 Merge pull request #20258 from Microsoft/jjh/testunit-authz
Windows CI: test-unit turn off pkg\authorisation
2016-02-12 08:33:20 +01:00
Vincent Demeester
991cb36d76 Merge pull request #20259 from Microsoft/jjh/testunit-pkgfilenotify
Windows CI: test-unit for pkg\filenotify
2016-02-12 08:32:43 +01:00
Vincent Demeester
659bf08281 Merge pull request #20249 from Microsoft/jjh/testunit-pkgintegration
Windows CI: Fix test-unit for pkg\integration
2016-02-12 08:32:03 +01:00
Arnaud Porterie
9511856e16 Merge pull request #20202 from anusha-ragunathan/arm-dummy-interface
Add "dummy" network module for arm images.
2016-02-11 19:02:25 -08:00
Brian Goff
3723013a1f Merge pull request #20256 from jfrazelle/make-tests-faster
make tests faster no apt-key
2016-02-11 22:01:13 -05:00
Christopher Jones
ce1059973a Change integration test to use variable
Followup to #20246, changes the test to use already declared variable

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-02-11 21:20:00 -05:00
John Howard
eaf41b7410 Windows CI: Unit tests - port pkg\gitutils
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-11 18:19:17 -08:00
John Howard
28ee6fe7ca Windows CI: test-unit for pkg\filenotify
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-11 17:47:26 -08:00
Aidan Hobson Sayers
d736a9d2c3 Add docs for --ipv6 option, also add --internal as appropriate
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2016-02-12 01:42:15 +00:00
John Howard
57faef5c71 Windows CI: test-unit turn off pkg\authorisation
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-11 17:42:12 -08:00
David Calavera
5ca6d3bafd Merge pull request #20250 from vieux/fix_misspell
fix common misspells
2016-02-11 17:22:06 -08:00
Aaron Lehmann
8f26fe4f59 Push/pull errors improvement and cleanup
Several improvements to error handling:

- Introduce ImageConfigPullError type, wrapping errors related to
  downloading the image configuration blob in schema2. This allows for a
  more descriptive error message to be seen by the end user.

- Change some logrus.Debugf calls that display errors to logrus.Errorf.
  Add log lines in the push/pull fallback cases to make sure the errors
  leading to the fallback are shown.

- Move error-related types and functions which are only used by the
  distribution package out of the registry package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-11 16:28:56 -08:00
Jessica Frazelle
0d02f2a011 make tests faster no apt-key
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-11 16:28:00 -08:00
David Calavera
2a16099f57 Merge pull request #20241 from aaronlehmann/fallback-on-no-auth-credentials
Fall back to V1 when there are no basic auth credentials
2016-02-11 16:18:26 -08:00
David Calavera
46ec01bd12 Merge pull request #20246 from tophj-ibm/19368-fix-flaky-network-test
Fix flaky test, TestDockerNetworkHostModeUngracefulDaemonRestart
2016-02-11 15:50:40 -08:00
Victor Vieux
99a396902f fix common misspell
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-02-11 15:49:36 -08:00
John Howard
41d3bb43f4 Windows CI: Fix test-unit for pkg\integration
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-11 15:06:22 -08:00
Jess Frazelle
2a64d400b3 Merge pull request #20114 from jfrazelle/fix-release-script
get os arch for release script
2016-02-11 17:28:23 -05:00
Aidan Hobson Sayers
dfb00652aa Expose bridge IPv6 setting to docker network inspect
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2016-02-11 22:13:47 +00:00
Sebastiaan van Stijn
73ee139d7a Merge pull request #20245 from jfrazelle/20082-cap-add-docs-updates
update cap-add docs for seccomp
2016-02-11 22:52:26 +01:00
Vincent Demeester
4cdd0403cd Merge pull request #20218 from icecrime/fix_remote_integration-cli
Improve remote integration-cli tests
2016-02-11 22:51:20 +01:00
Alexander Morozov
02a37a281c Merge pull request #20239 from calavera/remove_server_port_allocation
Move listeners and port allocation outside the server.
2016-02-11 13:50:48 -08:00
Christopher Jones
045aee2002 Fix flaky test, TestDockerNetworkHostModeUngracefulDaemonRestart
Fixes #19368 by waiting until all container statuses are running
before killing the daemon

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-02-11 16:47:40 -05:00
Jessica Frazelle
1e92e5fdaa update cap-add docs for seccomp
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-11 13:47:08 -08:00
David Calavera
931e78df1b Merge pull request #20231 from vdemeester/move-getcontext-away
Move getContext… function to builder package
2016-02-11 13:38:57 -08:00
Vincent Demeester
312f5e435b Move getContext… function to builder package
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-11 20:59:59 +01:00
David Calavera
34c29277c2 Move listeners and port allocation outside the server.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-11 14:42:49 -05:00
Anusha Ragunathan
f3b2233d12 Add "dummy" network module for arm images.
A few libnetwork integration tests require that the kernel be configured
with the "dummy" network interface and has the module loaded. However,
the dummy module is not available by default on arm images. This ensures
that it is built and loaded.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-02-11 10:53:51 -08:00
Aaron Lehmann
7b81bc147c Fall back to V1 when there are no basic auth credentials
This makes the behavior consistent with having incorrect credentials.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-11 10:48:11 -08:00
Aaron Lehmann
4436f07ef4 Update vendored docker/distribution
The registry/client/auth package now provides ErrNoBasicAuthCredentials.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-11 10:28:18 -08:00
Brian Goff
944e4cab2e Merge pull request #20124 from calavera/fix_vendor_codec_cleanup
Do not purge github.com/ugorji/go/codec from vendor.
2016-02-11 12:51:35 -05:00
Sebastiaan van Stijn
d4d0b8a42b Merge pull request #20234 from kiawin/20232-improve-overriding-user-command-details
Improve usage details on overriding USER command in Docker run refere…
2016-02-11 18:18:26 +01:00
Phil Estes
6672d7de20 Merge pull request #20214 from mavenugo/vin0.7.0-dev.1
Vendor libnetwork v0.7.0-dev.2
2016-02-11 12:12:58 -05:00
Brian Goff
f6523a44cc Merge pull request #20233 from tianon/busybox-dbus
Remove "--group-add dbus" from busybox example (no dbus group in busybox anymore)
2016-02-11 11:43:28 -05:00
David Calavera
803e3d4d1e Merge pull request #20230 from estesp/zfs-ref-counting
Add proper refcounting to zfs graphdriver
2016-02-11 08:27:26 -08:00
David Calavera
d11a2c758a Do not purge github.com/ugorji/go/codec from vendor.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-11 11:22:55 -05:00
Tianon Gravi
b1e5c773b2 Remove "--group-add dbus" from busybox example (no dbus group in busybox anymore)
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-02-11 08:20:28 -08:00
Sian Lerk Lau
bc3e02b9ec Improve usage details on overriding USER command in Docker run reference page
Signed-off-by: Sian Lerk Lau <kiawin@gmail.com>
2016-02-12 00:05:32 +08:00
Brian Goff
acd8baccff Merge pull request #20209 from aaronlehmann/upper-case-hostnames
Allow uppercase characters in image reference hostname
2016-02-11 10:50:05 -05:00
Sebastiaan van Stijn
f923e5a5a4 Merge pull request #19720 from vdemeester/carry-pr-18912
Carry #18912 : Docker Remote API documentation update
2016-02-11 16:40:59 +01:00
Brian Goff
2edd5f698c Merge pull request #19840 from aaronlehmann/resumable-downloads
Add support for resuming downloads on transfer failure
2016-02-11 10:32:17 -05:00
Arnaud Porterie
a943c40150 Improve remote integration-cli tests
Progress toward being able to run integration-cli campaign using a
client hitting a remote host.

Most of these fixes imply flagging tests that assume they are running on
the same host than the Daemon. Also fixes the `contrib/httpserver` image
that couldn't run because of a dynamically linked Go binary inside the
busybox image.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-11 07:31:49 -08:00
Anonmily
2c60a9cba2 Docker Remote API documentation update
I was confused for the longest time on how to actually use and make requests against the remote API, so I think that it might help for those getting started with it to know how to actually test it out via curl. I added in parts on how to access the remote API via curl against the default unix socket, and also on how to configure the docker daemon to expose the API on a TCP port as well if desired.

Signed-off-by: Michelle Liu <michelle@michelleliu.io>
2016-02-11 16:28:15 +01:00
Brian Goff
e7cd3b0897 Merge pull request #20222 from vdemeester/update-shakers-vendor-licence
Update shakers vendoring to include the LICENSE 😇
2016-02-11 10:23:10 -05:00
Madhu Venugopal
b2e609176d Vendor libnetwork v0.7.0-dev.2
- Expose EnableIPV6 option
- discoverapi refactoring
- Fixed a few typos & docs update
- Fixes https://github.com/docker/docker/issues/20140

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-11 07:09:53 -08:00
Vincent Demeester
2cca097ea8 Merge pull request #20052 from aditirajagopal/19301-overlay-network-unique-hostname
Overlay Network needs Unique Hostname
2016-02-11 15:41:54 +01:00
Sebastiaan van Stijn
89f94ec03b Merge pull request #20161 from tkopczynski/docs-before-since-filters
docker ps before and since filters documentation
2016-02-11 15:32:50 +01:00
Vincent Demeester
5627e400fe Merge pull request #20216 from Microsoft/jjh/testunit-pkgplugins-v2
Windows CI: test-unit on pkg\plugins
2016-02-11 12:39:08 +01:00
Sebastiaan van Stijn
d18c0d88f4 Merge pull request #20213 from Microsoft/jjh/testunit-pkgmount
Windows CI: Unit Test - pkg/mount is Unix specific
2016-02-11 12:27:38 +01:00
Sebastiaan van Stijn
8c0b1218c0 Merge pull request #20219 from moxiegirl/remove-tutorial-build
Update Dockerfile
2016-02-11 12:15:53 +01:00
Vincent Demeester
9ee8f0ad9d Update shakers vendoring to include the LICENSE 😇
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-11 08:38:09 +01:00
Phil Estes
922986b76e Add proper refcounting to zfs graphdriver
Fixes issues with layer remounting (e.g. a running container which then
has `docker cp` used to copy files in or out) by applying the same
refcounting implementation that exists in other graphdrivers like
overlay and aufs.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-11 01:00:54 -05:00
Mary Anthony
8d673d9471 Update Dockerfile
Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-10 20:40:30 -08:00
John Howard
4b3001e85a Windows CI: test-unit on pkg\plugins
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 19:28:30 -08:00
Arnaud Porterie
e2a0618fb1 Merge pull request #20184 from fkautz/pr_out_adding_backup_key_server_in_install_script
Adding backup key server in install script
2016-02-10 19:08:49 -08:00
John Howard
d509e61540 Windows CI: Unit Test - pkg/mount is Unix specific
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 18:09:15 -08:00
Brian Goff
3403a01b07 Remove back-compat hacks from for volume plugins.
Hacks were added as interim support for 1.10 but should not be needed
for 1.11.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-10 20:43:20 -05:00
Brian Goff
00ec6102d9 Probe all drivers if volume driver not specified
This fixes an issue where `docker run -v foo:/bar --volume-driver
<remote driver>` -> daemon restart -> `docker run -v foo:/bar` would
make a `local` volume after the restart instead of using the existing
volume from the remote driver.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-10 20:43:15 -05:00
David Calavera
dfebb6074f Merge pull request #20210 from Microsoft/jjh/hcswin32-v2
Windows: Revendor HCS to use revised error scheme
2016-02-10 17:20:14 -08:00
Sebastiaan van Stijn
ae8551c144 Merge pull request #19903 from londoncalling/cloud-installs-rel-a
added better what's next topics to point to new machine docs related …
2016-02-11 01:33:26 +01:00
David Calavera
9be87be582 Merge pull request #20170 from Microsoft/10662-TestBuildCI5
Fifth set of TestBuild CI enables for Windows
2016-02-10 16:02:26 -08:00
Alexander Morozov
f1bf015ed8 Merge pull request #20208 from Microsoft/jjh/testunit-layer
Windows CI UnitTest TestLayerSize-->Unix
2016-02-10 15:30:14 -08:00
Alexander Morozov
95d827cda2 Merge pull request #20207 from Microsoft/jjh/fix18077-v2
Windows: Fix Isolation
2016-02-10 15:29:39 -08:00
John Howard
54263a9393 Windows: Use new error code mechanism from HCS
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 14:48:24 -08:00
Victoria Bialas
4e9e95fe8d added better what's next topics to point to new machine docs related to Issue #18282
updated cloud install example per Olivier's comments, added better command examples

updates per @thaJeztah comments

fixed links per @theJeztah comments, renamed cloud.md to overview.md for better URL name

updates per @moxiegirl comments, added alias for renamed file, modified links, changed a title

fixed link errors

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-02-10 14:19:05 -08:00
John Howard
fadbbd335c Windows: Revendor HCSShim@43858ef3
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 14:14:45 -08:00
Aaron Lehmann
e2afab9c4a Allow uppercase characters in image reference hostname
This PR makes restores the pre-Docker 1.10 behavior of allowing
uppercase characters in registry hostnames.

Note that this only applies to hostnames, not remote image names.
Previous versions also prohibited uppercase letters after the hostname,
but Docker 1.10 extended this to the hostname itself.

- Vendor updated docker/distribution.

- Add a check to "normalize" that rejects remote names with uppercase
  letters.

- Add test cases to TestTagValidPrefixedRepo and
  TestTagInvalidUnprefixedRepo

Fixes: #20056

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-10 14:03:41 -08:00
John Howard
298d280143 Windows CI UnitTest TestLayerSize-->Unix
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 13:57:26 -08:00
John Howard
dfdce6e35c Revendor engine-api @ ddfd776c
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 13:26:35 -08:00
John Howard
d4b0732499 Windows: Fix 'isolation'
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 13:19:19 -08:00
Alexander Morozov
2658341b5f Merge pull request #20205 from calavera/remove_last_daemon_references
Remove daemon dependency from api/server.
2016-02-10 13:13:53 -08:00
Vincent Demeester
ab0102d671 Merge pull request #19814 from Microsoft/10662-TestBuildCI3
Third set of TestBuild* CI enabling for Windows
2016-02-10 21:49:39 +01:00
Darren Stahl
0adcce10a1 Fifth set of TestBuild CI enables for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-10 12:37:58 -08:00
Brian Goff
d2d66e9d55 Merge pull request #20201 from Microsoft/jjh/objectidentifier
Windows CI: Another reliability fix
2016-02-10 15:29:42 -05:00
David Calavera
1af76ef597 Remove daemon dependency from api/server.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-10 15:16:59 -05:00
John Howard
7853193edb Windows CI: Another reliability fix
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-10 11:07:29 -08:00
David Calavera
e18eb6ef39 Merge pull request #20165 from vdemeester/move-validatecontextdirectory-to-builder
Move validateContextDirectory to builder package.
2016-02-10 08:35:25 -08:00
Phil Estes
7e44d0ca58 Merge pull request #20183 from hypriot/fix-20002-for-multiarch
Fix TestAuthZPluginAllowEventStream for multiarch
2016-02-10 09:42:35 -05:00
Antonio Murdaca
c2ebdb3e57 Merge pull request #19835 from ncdc/resize-after-attach
Move resize after attaching
2016-02-10 15:32:51 +01:00
Brian Goff
f9abd42b98 Merge pull request #20181 from mavenugo/v0.6.1-rc2
Vendor libnetwork v0.6.1-rc2
2016-02-10 09:25:55 -05:00
Brian Goff
cfa806378e Merge pull request #20174 from tophj-ibm/remove-power-from-logrus-tests
PPC64LE: Remove testing logrus output from ppc64le
2016-02-10 09:07:47 -05:00
Dan Walsh
dc8259f0ac Add a parent man page for docker volumes command
It is difficult to gather information about docker volumes command
without a parent man page.

This man page attempts to explain docker volumes and then references
the command man pages.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-02-10 09:04:41 -05:00
Sebastiaan van Stijn
e54ac9b3a1 Merge pull request #20173 from duglin/FixEnvDoc
Make it clear that env vars must be simple
2016-02-10 13:22:29 +00:00
Christophe Mehay
b8a9812b92 Build golang 1.6 in power8 Dockerfile
Signed-off-by: Christophe Mehay <cmehay@online.net>
2016-02-10 10:08:53 +01:00
Frederick F. Kautz IV
5e0b8b99d1 Adding backup key server in install script
Signed-off-by: Frederick F. Kautz IV <fkautz@redhat.com>
2016-02-09 23:26:45 -08:00
Stefan Scherer
36a974a1a6 Fix TestAuthZPluginAllowEventStream for multiarch
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-02-10 07:28:50 +01:00
Madhu Venugopal
84705f15d9 Vendor libnetwork v0.6.1-rc2
- Fixes #20132 #20140 #20019

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-09 21:46:50 -08:00
Tibor Vass
61efb4d084 Merge pull request #20135 from vdemeester/20087-fix-since-before-filters
Fix the since and before filter behavior
2016-02-09 21:13:00 -05:00
David Calavera
321f291324 Merge pull request #19661 from shishir-a412ed/tests_rootfs_pr
Tests for PR # 19123: daemon option (--storage-opt dm.basesize) for increasing the base device size on daemon restart
2016-02-09 17:30:48 -08:00
Tibor Vass
0b4a7fb06d Merge pull request #20133 from mlaventure/dont-bind-mount-mqueue
Prevent mqueue from implicitely becoming a bind mount with --ipc=host
2016-02-09 19:55:57 -05:00
Darren Stahl
4603a7259e Third set of TestBuild* CI enabling for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-09 15:19:38 -08:00
David Calavera
d6870238e3 Merge pull request #19985 from Microsoft/CombineSetupWorkingDir
Combine SetupWorkingDirectory for Linux and Windows
2016-02-09 15:18:49 -08:00
David Calavera
b3cb0d196d Merge pull request #18943 from cpuguy83/fix_write_flusher
Remove Exists from backend
2016-02-09 15:16:03 -08:00
Christopher Jones
736e93a468 Remove testing logrus output from ppc64le
This removes two tests on ppc64le.

There is an old bug with a syscall on power #8653, that causes
logrus to default to using logfmt. These two tests look for
logrus format specific strings, and fail if they don't see it.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-02-09 18:02:18 -05:00
Vincent Demeester
08d0a8384f Merge pull request #20059 from Microsoft/10662-TestBuildCI4
Fourth set of enabling Builder CI tests for Windows
2016-02-09 23:19:28 +01:00
David Calavera
cb4a22b1a9 Merge pull request #20167 from jfrazelle/butts
remove tasksmax, people on newer kernels can add it themselves
2016-02-09 14:18:51 -08:00
Kenfe-Mickael Laventure
dba5a7f243 Disable TestRunMountshmmqueuefromhost when using userns
Since we now automatically mount the mqueue device inside the
container (instead of bind mounting the one from the host), when
trying to start a container with --ipc=host, the mount will fail with
EPERM.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-02-09 14:16:08 -08:00
Kenfe-Mickael Laventure
f7d4abdc00 Prevent mqueue from implicitely becoming a bind mount with --ipc=host
Currently, when running a container with --ipc=host, if /dev/mqueue is
a standard directory on the hos the daemon will bind mount it allowing
the container to create/modify files on the host.

This commit forces /dev/mqueue to always be of type mqueue except when
the user explicitely requested something to be bind mounted to
/dev/mqueue.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-02-09 14:16:08 -08:00
Aaron Lehmann
056bf9f25e Attempt to resume downloads after certain errors
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-09 14:12:28 -08:00
Aaron Lehmann
f425529e7e Move temporary download file to download descriptor scope
This will allow it to be reused between download attempts in a
subsequent commit.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-09 14:12:28 -08:00
Jessica Frazelle
6241250824 remove tasksmax, people on newer kernels can add it themselves
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-09 14:07:23 -08:00
Vincent Demeester
fc6122a947 Move validateContextDirectory to builder package.
This feels like it's where it belongs and it makes it exported
again (which is needed for libcompose that was using it before 1.10).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-09 22:19:09 +01:00
Brian Goff
fa860c86ff Merge pull request #20158 from cpuguy83/carry_19504
Dockerfile,contrib,hack: remove buildpack-deps
2016-02-09 14:58:37 -05:00
Tomasz Kopczynski
27fc78abdd Before and since filters documentation
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-02-09 20:37:33 +01:00
Brian Goff
a77b7dd227 cleanup attach api calls
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-09 14:26:51 -05:00
Brian Goff
3434860d54 Fix horribly broken TestGetContainerStatsNoStream
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-09 14:25:05 -05:00
Brian Goff
ae4ee974e8 Move stream flushes to backend
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-09 14:25:02 -05:00
Brian Goff
96f1a1a10b Cleanup WriteFlusher
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-09 14:02:26 -05:00
David Calavera
10226ac845 Merge pull request #19983 from srust/volume_get_compat_hack
[1.10] Fix volume driver API compatibility mode (a little)
2016-02-09 10:47:30 -08:00
Sebastiaan van Stijn
a03c2a005a Merge pull request #20157 from chadswen/fix-typo-toolbox-upgrade
Fix typo in Docker Toolbox upgrade section
2016-02-09 18:14:30 +00:00
Brian Goff
7c9e9afeb7 use debian:jessie for ensure-syscall-test
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-09 13:13:38 -05:00
Sebastiaan van Stijn
9f2f52de8e Merge pull request #20090 from albers/completion-map-values
Improve key specific bash subcompletions
2016-02-09 17:39:35 +00:00
Chad Swenson
1435c9ea21 Fix typo in Docker Toolbox upgrade section
Signed-off-by: Chad Swenson <chadswen@gmail.com>
2016-02-09 11:36:45 -06:00
Alexander Morozov
d2a2f5bedc Merge pull request #20117 from twistlock/userns_tests
Move userns cli test to a separate file, remove experimental flag
2016-02-09 09:10:44 -08:00
David Calavera
01a1925792 Merge pull request #20130 from Microsoft/sjw/windows_save_fix
Fixing 'docker save' on Windows.
2016-02-09 07:47:58 -08:00
Shishir Mahajan
07184599f7 Tests for PR # 19123: daemon option (--storage-opt dm.basesize) for increasing the base device size on daemon restart
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2016-02-09 10:47:31 -05:00
Sebastiaan van Stijn
f5ed72c931 Merge pull request #20116 from muthu-r/master
Add Horcrux volume plugin to plugins.md
2016-02-09 09:59:26 +00:00
Vincent Demeester
b41dba58a0 Fix the since and before filter behavior
Filters should not include stopped container if `-a` is not specified.
Right now, before and since filter are acting as --before and --since
deprecated flags. This commit is fixing that.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-09 09:26:20 +01:00
Liron Levin
df636ef45a Move userns cli test to a separate file, remove experimental flag
Signed-off-by: Liron Levin <liron@twistlock.com>
2016-02-09 09:31:09 +02:00
Stephen Rust
c3985bdf79 Fix volume driver API compatibility mode (a little)
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2016-02-08 23:12:29 -05:00
Stefan J. Wernli
041a9510c6 Fixing 'docker save' on Windows.
Save was failing file integrity checksums due to bugs in both
Windows and Docker. This commit includes fixes to file time handling
in tarexport and system.chtimes that are necessary along with
the Windows platform fixes to correctly support save. With this
change, sysfile_backups for windowsfilter driver are no longer
needed, so that code is removed.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2016-02-08 18:08:49 -08:00
Doug Davis
d579490b2b Make it clear that env vars must be simple
Closes #20169

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-02-08 18:02:37 -08:00
Muthukumar R
58427fd8a6 Add Horcrux volume plugin to plugins.md
Signed-off-by: Muthukumar R <muthur@gmail.com>
2016-02-08 15:16:56 -08:00
David Calavera
ac9d1b7b47 Merge pull request #20118 from aditirajagopal/20110-update-client-lib-projects
Update List of Client Library Projects
2016-02-08 15:06:53 -08:00
Tibor Vass
8c6887c54d Merge pull request #19772 from calavera/decouple-server-routers
[Carry 19133] Decouple server routers from the daemon package.
2016-02-08 17:54:49 -05:00
David Calavera
3846951fce Merge pull request #20106 from jfrazelle/go-generate-json-default-profile
add default seccomp profile as json
2016-02-08 14:48:34 -08:00
Aditi Rajagopal
47dbb59e5b Update List of Client Library Projects
Resolves: #20110
Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>
2016-02-08 16:16:42 -06:00
Tibor Vass
54b67fe12f Merge pull request #19711 from coolljt0725/fix_19679
Clean up container rootf mounts on daemon start, fixes #19679
2016-02-08 16:21:50 -05:00
Aditi Rajagopal
3024604054 Overlay Network needs Unique Hostname
Resolves: #19301
Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>
2016-02-08 15:14:38 -06:00
Jessica Frazelle
9bc771af9d add validation for generating default secccomp profile
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-08 13:04:52 -08:00
David Calavera
14c63189a1 Merge pull request #20109 from thaJeztah/add_tcp_tls_proto
Fix 'tcp+tls' protocol not being accepted
2016-02-08 11:22:33 -08:00
Jess Frazelle
4c807379cb Merge pull request #20112 from endophage/notary_go15
adding note about go version 1.5 requirement for hardware signing
2016-02-08 14:19:42 -05:00
Jessica Frazelle
26da52d4a5 get os arch for release script
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-08 10:57:04 -08:00
David Lawrence
1cc950b52e adding note about go version 1.5 requirement for hardware signing
Signed-off-by: David Lawrence <david.lawrence@docker.com> (github: endophage)
2016-02-08 10:25:02 -08:00
David Calavera
efdbe2ba5a Merge pull request #20068 from ilkka/patch-1
Tweak VM volume mapping paragraph
2016-02-08 09:54:23 -08:00
David Calavera
06d8f504f7 Move backend types to their own package.
- Remove duplicated structs that we already have in engine-api.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-08 12:42:17 -05:00
Sebastiaan van Stijn
878a0dc85c Fix 'tcp+tls' protocol not being accepted
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-08 17:34:39 +00:00
Alexander Morozov
862f073694 Merge pull request #20002 from twistlock/19575_authz_plugin_support_events
Fix 19575: Docker events doesn't work with authorization plugin
2016-02-08 09:10:39 -08:00
Lukas Waslowski
dd93571c69 Decouple the "container" router from the actual daemon implementation.
This is done by moving the following types to api/types/config.go:
  - ContainersConfig
  - ContainerAttachWithLogsConfig
  - ContainerWsAttachWithLogsConfig
  - ContainerLogsConfig
  - ContainerStatsConfig

Remove dependency on "version" package from types.ContainerStatsConfig.
Decouple the "container" router from the "daemon/exec" implementation.

* This is done by making daemon.ContainerExecInspect() return an interface{}
value. The same trick is already used by daemon.ContainerInspect().

Improve documentation for router packages.
Extract localRoute and router into separate files.
Move local.router to image.imageRouter.

Changes:
  - Move local/image.go to image/image_routes.go.
  - Move local/local.go to image/image.go
  - Rename router to imageRouter.
  - Simplify imports for image/image.go (remove alias for router package).

Merge router/local package into router package.
Decouple the "image" router from the actual daemon implementation.
Add Daemon.GetNetworkByID and Daemon.GetNetworkByName.
Decouple the "network" router from the actual daemon implementation.

This is done by replacing the daemon.NetworkByName constant with
an explicit GetNetworkByName method.

Remove the unused Daemon.GetNetwork method and the associated constants NetworkByID and NetworkByName.

Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-08 11:30:57 -05:00
Jessica Frazelle
d57816de02 add default seccomp profile as json
profile is created by go generate

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-08 08:19:21 -08:00
Jess Frazelle
e6573a5d18 Merge pull request #19876 from rhatdan/mqueue
Make mqueue container specific
2016-02-08 10:57:15 -05:00
David Calavera
c30a8f42cb Merge pull request #20060 from mavenugo/cos
Vendor libnetwork v0.6.1-rc1
2016-02-07 19:06:49 -08:00
Harald Albers
7e31a96d22 Improve key specific bash subcompletions
The obscure `case "${words[$cword-2]}$prev=" in` idiom is no
longer used for key specific completions in options with map values.

The `__docker_map_key_of_current_option()` function does a much
better job.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-07 11:19:04 -08:00
Harald Albers
6f9bd6c1b8 Check key specific bash subcompletions first
This is a refactoring in preparation of cleaning up the handling
of key specific subcompletions.

The new `__docker_map_key_of_current_option()` function will be used
instead of the `__docker_map_key_of_current_option()` idiom in the
following commit.
As this function is very specific, checks using it should be executed
before those checking for `$prev`.

This commit just moves the checks without any modification.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-07 10:57:46 -08:00
Alexander Morozov
415dd86886 Merge pull request #20078 from cpuguy83/carry_17329
Carry 17329
2016-02-07 08:59:36 -08:00
Sebastiaan van Stijn
534bad6010 Merge pull request #20075 from eallrich/20074-fix-docker-inspect-command
Adding --format= flag
2016-02-07 16:34:12 +00:00
Brian Goff
e9ab596238 carry 17329
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-06 13:46:21 -05:00
Evan Allrich
78ba5d58e6 Adding --format= flag
Signed-off-by: Evan Allrich <evan@unguku.com>
2016-02-06 09:39:20 -06:00
Ilkka Laukkanen
a3c290536a Tweak VM volume mapping paragraph
The wording looked like there was maybe a copy-paste error there, I tried to make it a bit more clear.

Signed-off-by: Ilkka Laukkanen <ilkka@ilkka.io>
2016-02-06 13:35:02 +02:00
Antonio Murdaca
78f2b8d87d Merge pull request #20058 from tonistiigi/fix-parent-reset
Clear old parent reference on resetting image parent
2016-02-06 10:38:35 +01:00
Madhu Venugopal
2da61086ea Vendor libnetwork v0.6.1-rc1
- Fixes #20026. Programming iptables in container use native API.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-05 18:20:22 -08:00
Brian Goff
a70d9957c3 Merge pull request #20049 from kesarion/patch-1
added dockerizer library
2016-02-05 20:52:07 -05:00
Darren Stahl
eed648ac5a Fourth set of enabling Builder CI tests for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-05 17:46:06 -08:00
Tonis Tiigi
4852932494 Clear old parent reference on resetting image parent
On migration 2 different images can end up with same
content addressable ID, meaning `SetParent` will be called
multiple times. Previous version did not clear the old
in-memory reference.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-02-05 17:05:19 -08:00
Jess Frazelle
b3bacb42af Merge pull request #20054 from jfrazelle/fix-generation
fix deb generate
2016-02-05 15:40:27 -08:00
David Calavera
a93cb2b856 Merge pull request #20045 from estesp/zfs-userns-permissions-fix
Fix ZFS permissions bug with user namespaces
2016-02-05 15:32:43 -08:00
Jessica Frazelle
f5afe02b69 fix deb generate
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-05 15:31:12 -08:00
David Calavera
fa8f4aa539 Merge pull request #20050 from tomxtobin/fix-at-sign-docs
Fix mention of at sign in docs
2016-02-05 14:08:20 -08:00
Alexandru Sfirlogea
1cceb854a7 added dockerizer library
Signed-off-by: Kesarion <alexandru.sfirlogea@gmail.com>
Signed-off-by: Alexandru Sfirlogea <alexandru.sfirlogea@gmail.com>
2016-02-05 23:49:36 +02:00
Tom X. Tobin
7f275315ed Fix mention of at sign in docs
The at sign (`@`) was being referred to in the documentation as an
ampersand (`&`).

Signed-off-by: Tom X. Tobin <tomxtobin@tomxtobin.com>
2016-02-05 16:47:57 -05:00
Brian Goff
25941b5020 Merge pull request #20003 from liubogithub/btrfs
Graphdriver/btrfs: Avoid using single d.Get()
2016-02-05 16:35:12 -05:00
David Calavera
f7f1730316 Merge pull request #20038 from doertedev/master
Grep for installed AND held packages.
2016-02-05 13:31:30 -08:00
Alexander Morozov
9f0095f14a Merge pull request #19887 from aaronlehmann/vendor-resumable-downloads
Vendor updated distribution for resumable downloads
2016-02-05 12:58:53 -08:00
Sebastiaan van Stijn
66af3cad7a Merge pull request #20035 from thaJeztah/add-seccomp-compatibility-note
Add note that seccomp 2.2.1 or higher is required
2016-02-05 21:36:35 +01:00
Liron Levin
5ffc810df2 Fix 19575: Docker events doesn't work with authorization plugin
To support the requirement of blocking the request after the daemon
responded the authorization plugin use a `response recorder` that replay
the response after the flow ends.

This commit adds support for commands that hijack the connection and
flushes data via the http.Flusher interface. This resolves the error
with the event endpoint.

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-02-05 22:30:01 +02:00
Sebastiaan van Stijn
6ab52f9f00 Add note that seccomp 2.2.1 or higher is required
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-05 21:26:03 +01:00
Phil Estes
aef0995b02 Fix ZFS permissions bug with user namespaces
Fix root directory of the mountpoint being owned by real root. This is
unique to ZFS because of the way file mountpoints are created using the
ZFS tooling, and the remapping that happens at layer unpack doesn't
impact this root (already created) holding directory for the layer.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-05 14:37:33 -05:00
Darren Stahl
6791230320 Combine SetupWorkingDirectory for Linux and Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-05 10:27:10 -08:00
Stefan Staudenmeyer
b3d66ff010 Use grep -qE instead of egrep which is deprecated.
Signed-off-by: Stefan Staudenmeyer <doerte@instana.com>
2016-02-05 18:55:39 +01:00
Sebastiaan van Stijn
1573960dca Merge pull request #20041 from calavera/missing_debug_client_info_doc
Add missing debug client mode info in docs.
2016-02-05 18:35:01 +01:00
David Calavera
4aac8a60b2 Add missing debug client mode info in docs.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-05 12:29:54 -05:00
Stefan Staudenmeyer
996ca75413 Grep for installed AND held packages.
Signed-off-by: Stefan Staudenmeyer <doerte@instana.com>
2016-02-05 17:41:57 +01:00
moxiegirl
e59922a557 Merge pull request #20032 from thaJeztah/fix-systemd-404
Fix incorrect alias for systemd docs
2016-02-05 08:26:15 -08:00
Dan Walsh
ba38d58659 Make mqueue container specific
mqueue can not be mounted on the host os and then shared into the container.
There is only one mqueue per mount namespace, so current code ends up leaking
the /dev/mqueue from the host into ALL containers.  Since SELinux changes the
label of the mqueue, only the last container is able to use the mqueue, all
other containers will get a permission denied.  If you don't have SELinux protections
sharing of the /dev/mqueue allows one container to interact in potentially hostile
ways with other containers.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-02-05 16:50:35 +01:00
Sebastiaan van Stijn
039a155ffa Merge pull request #20031 from hypriot/fix-typo-chocolatey
Fix typo in Chocolatey
2016-02-05 16:25:21 +01:00
Sebastiaan van Stijn
50dba63845 Fix incorrect alias for systemd docs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-05 16:18:26 +01:00
Stefan Scherer
4688efc3ed Fix typo in Chocolatey
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-02-05 16:15:20 +01:00
Sebastiaan van Stijn
d13e8d8446 Merge pull request #20028 from tomxtobin/fix-man-typo
Fix typo in config-json man page
2016-02-05 15:56:06 +01:00
Tom X. Tobin
c75581c855 Fix typo in config-json man page
In the NAME section: "confg.json" -> "config.json"

Signed-off-by: Tom X. Tobin <tomxtobin@tomxtobin.com>
2016-02-05 09:52:01 -05:00
Lei Jitang
fae09e2569 Add progress bar to docker load
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-05 02:24:23 -05:00
David Calavera
98aa1d24a3 Merge pull request #20010 from thaJeztah/update-release-checklist
Release checklist - bump versions earlier
2016-02-04 18:07:06 -08:00
David Calavera
d4c8d0519d Merge pull request #20011 from Microsoft/MinimalBaseImage
Move base image selection to a utility function
2016-02-04 18:06:30 -08:00
Aaron Lehmann
4d437a29d2 Vendor updated distribution for resumable downloads
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-04 17:33:37 -08:00
Brian Goff
675fe313ee Merge pull request #20009 from anusha-ragunathan/to-slash
Fix ReadAll to run on Windows.
2016-02-04 19:58:20 -05:00
Jess Frazelle
2da5ad3bb0 Merge pull request #20005 from Microsoft/jjh/testrunrestartmaxretries
Windows CI: Up timeout TestRunRestartMaxRetries
2016-02-04 16:07:42 -08:00
Sebastiaan van Stijn
3f869bfe78 Merge pull request #20013 from thaJeztah/fix-migration-header
Fix Header on migration page
2016-02-05 00:51:13 +01:00
Sebastiaan van Stijn
0a6e0c43d9 Fix Header on migration page
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-05 00:35:49 +01:00
Darren Stahl
96c5221626 Move base image selection to a utility function
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-02-04 15:06:34 -08:00
Sebastiaan van Stijn
354dabf3ca Release checklist - bump versions earlier
Bump both API and VERSION directly after the release
branch is created. All changes to master after that
are (by default) for the *next* release.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-04 23:45:49 +01:00
Anusha Ragunathan
691555fc8b Fix ReadAll to run on Windows.
filepath.Clean converts filenames to filenames with native path
separators. Use ToSlash to normalize.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-02-04 14:01:17 -08:00
Brian Goff
18204ea616 Merge pull request #19357 from chenchun/internal
Display `internal` flag on `network inspect`
2016-02-04 16:31:12 -05:00
Tibor Vass
da58ee42bb Merge pull request #19984 from calavera/vendor_engine_api_master
Vendor engine-api with client context changes.
2016-02-04 16:20:06 -05:00
Jess Frazelle
9a9bbacae5 Merge pull request #20006 from tiborvass/merge_release_v1.10.0
Merge release v1.10.0
2016-02-04 12:48:10 -08:00
Tibor Vass
91028ad8f4 Change version to 1.11.0-dev
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-04 15:44:35 -05:00
Tibor Vass
05adb0bdbb Bump version to v1.10.0
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-04 15:39:02 -05:00
John Howard
4a2122e020 Windows CI: Up timeout TestRunRestartMaxRetries
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-04 11:59:13 -08:00
Jess Frazelle
8038e32237 Merge pull request #19918 from WeiZhang555/restarting
Fix error for restarting container
2016-02-04 11:36:32 -08:00
David Calavera
fe53be4e17 Apply context changes to the client.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-04 13:59:57 -05:00
David Calavera
d8355ead9e Vendor engine-api, go-connections and go-winio.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-04 13:59:57 -05:00
Liu Bo
b2e27fee53 Graphdriver/btrfs: Avoid using single d.Get()
For btrfs driver, in d.Create(), Get() of parentDir is called but not followed
by Put().

If we apply SElinux mount label, we need to mount btrfs subvolumes in d.Get(),
without a Put() would end up with a later Remove() failure on
"Device resourse is busy".

This calls the subvolume helper function directly in d.Create().

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
2016-02-04 10:25:24 -08:00
unclejack
49a45d80f2 Dockerfile,contrib,hack: remove buildpack-deps
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2016-02-04 20:22:34 +02:00
Tianon Gravi
61464701fa Merge pull request #19727 from pandrew/improve_test-deb-install
improve test-deb-install
2016-02-04 10:09:47 -08:00
Paul Liljenberg
620b8250e8 improve test-deb-install
This PR adds support for using the DOCKER_BUILD_PKGS env var to
better help defining what packege to build. It also adds support
for the integration-daemon so we can run it as a bundle.

Signed-off-by: Paul Liljenberg <liljenberg.paul@gmail.com>

add directory test

Adds missing directory test. This helps verifying that
DOCKER_BUILD_PKGS is a directory and exists before continueing.

Signed-off-by: Paul Liljenberg <liljenberg.paul@gmail.com>

fix indent

Signed-off-by: Paul Liljenberg <liljenberg.paul@gmail.com>
2016-02-04 18:14:08 +01:00
Jess Frazelle
60821c6dfd Merge pull request #19997 from boucher/patch-2
Pass KEEPBUNDLE in Docker build environment.
2016-02-04 08:37:12 -08:00
David Calavera
3329c94e25 Merge pull request #19994 from runcom/fix-test-for-19936
integration-cli: fix minimum and default api version test
2016-02-04 08:33:07 -08:00
David Calavera
e2bfedbc40 Merge pull request #19998 from estesp/remove-stray-printf
Remove stray printf
2016-02-04 08:29:11 -08:00
Jess Frazelle
a1b07a8010 Merge pull request #19999 from thaJeztah/carry-19668-wheezy-journald
(carry 19668) don't try to install journald driver on wheezy
2016-02-04 07:44:42 -08:00
Sebastiaan van Stijn
6c2b014d5e dont try to install journald driver on wheezy
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-04 16:22:23 +01:00
Phil Estes
77590d4dae Remove stray printf
This came in with the Windows CI work and I assume was meant for local
debug, but adds a bare printf line to the test output.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2016-02-04 10:13:31 -05:00
Ross Boucher
d23778168d Pass KEEPBUNDLE in Docker build environment.
This is an alternate solution to the problem described in #19969.

Signed-off-by: Ross Boucher <rboucher@gmail.com>
2016-02-04 09:42:41 -05:00
Antonio Murdaca
fe6b88e3fa integration-cli: fix minimum and default api version test
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-04 13:58:08 +01:00
Zhang Wei
3c0a91d227 Fix error for restarting container
Fix error message for `--net container:b` and `--ipc container:b`,
container `b` is a restarting container.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-04 20:14:50 +08:00
Antonio Murdaca
38e774d32c Merge pull request #19949 from Microsoft/jjh/testapiresize
Windows CI: Port docker_api_resize_test.go
2016-02-04 10:11:32 +01:00
Chun Chen
c199506b59 Display internal flag on network inspect
Also adds internal network tests for bridge network

Signed-off-by: Chun Chen <ramichen@tencent.com>
2016-02-04 15:28:37 +08:00
John Howard
4080ce35e0 Windows CI: Port docker_api_resize_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-03 20:30:06 -08:00
Tibor Vass
66a4e557f9 Merge pull request #19702 from tiborvass/host-specific-passthru-token
Add test to make sure the new registry pass-thru token is only sent to the intended hosts
2016-02-03 21:57:32 -05:00
Sebastiaan van Stijn
a03e85b448 Merge pull request #19877 from HackToday/fixdoc
Add support details for storage driver
2016-02-04 03:07:15 +01:00
Lei Jitang
af614a19dc Clean up container rootf mounts on daemon start fixes #19679
When the daemon shutdown ungracefully, it will left the running
containers' rootfs still be mounted. This will cause some error
when trying to remove the containers.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-03 20:52:32 -05:00
Jess Frazelle
d47812dd1d Merge pull request #19886 from AndrewGuenther/185160-init-socket-fix
Wait to fire start event until socket is created
2016-02-03 17:38:52 -08:00
Jess Frazelle
dcde68b955 Merge pull request #19952 from WeiZhang555/fix-err-restarting-1
Fix error message for pause a restarting container
2016-02-03 17:34:19 -08:00
Tibor Vass
f0a58947ab Merge pull request #19979 from mavenugo/gccgoci
Use waitRun in TestDockerNetworkHostModeUngracefulDaemonRestart
2016-02-03 20:33:52 -05:00
Jess Frazelle
e74c07b947 Merge pull request #19980 from tonistiigi/fix-microsoft-vendor-dir
Remove case sensitive duplicate dir in vendor
2016-02-03 17:32:14 -08:00
Kai Qiang Wu(Kennan)
feab8b179e Add support details for storage driver
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-04 00:51:02 +00:00
Jess Frazelle
ea4086ea91 Merge pull request #19982 from tianon/seccomp-completion
Add some basic bash completion for seccomp values
2016-02-03 16:15:12 -08:00
Madhu Venugopal
76a765140e Use waitRun in TestDockerNetworkHostModeUngracefulDaemonRestart
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-03 14:44:55 -08:00
Jess Frazelle
1ae6da75c8 Merge pull request #19858 from felixge/vboxfs-sendfile-warning
docs: point out known issue with nginx/vboxfs
2016-02-03 13:50:34 -08:00
Tianon Gravi
75aa7dbe4f Add some basic bash completion for seccomp values
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-02-03 13:48:34 -08:00
Jess Frazelle
fdcce4ac03 Merge pull request #19942 from LK4D4/fix_vet_errors
Fix minor vet warnings
2016-02-03 13:31:11 -08:00
Tibor Vass
7ecba9c668 Merge pull request #19973 from icecrime/cross_platforms_logout
Remove unnecessary call to `/info` endpoint
2016-02-03 16:26:43 -05:00
Alexander Morozov
57025bd588 Merge pull request #19972 from jfrazelle/fix-opensuse
fix opensuse rpm
2016-02-03 13:19:51 -08:00
Arnaud Porterie
243d0d6bbe Remove unnecessary call to /info
Avoid using the `/info` endpoint in the `login` and `logout` workflows
when the Registry endpoint is overriden by the user through the command
line.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-03 13:10:25 -08:00
Tonis Tiigi
b9a395c85d Remove case sensitive duplicate dir in vendor
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-02-03 13:06:32 -08:00
Tibor Vass
7e236e623b Merge pull request #19975 from aaronlehmann/resolve-auth-config
Introduce a client-side version of resolveAuthConfig
2016-02-03 15:57:29 -05:00
Tibor Vass
3fa0d09e74 Merge pull request #19971 from aaronlehmann/revert-19743
Revert "Set idle timeouts for HTTP reads and writes in communications with the registry"
2016-02-03 15:33:29 -05:00
Vincent Demeester
e17f2e7f04 Merge pull request #19976 from mbanikazemi/docs-kuryr
Add Kuryr Network Plugin to the docs
2016-02-03 21:13:48 +01:00
Vincent Demeester
9123a24cc8 Merge pull request #19962 from marsmensch/doc_breaking_formatting_fix
Fix formatting in breaking changes doc
2016-02-03 20:43:52 +01:00
Mohammad Banikazemi
4904210d9c Add Kuryr Network Plugin to the docs
Signed-off-by: Mohammad Banikazemi <mb@us.ibm.com>
2016-02-03 14:21:54 -05:00
Alexander Morozov
3b80b1947c Merge pull request #19943 from aboch/ec
Store endpoint config on network connect to a stopped container
2016-02-03 11:06:35 -08:00
Alexander Morozov
bce70cdc2c Merge pull request #18680 from aaronlehmann/duplicate-pull-complete-message
Avoid outputting last progress item twice
2016-02-03 11:01:45 -08:00
Aaron Lehmann
ff17cd0bf0 Introduce a client-side version of resolveAuthConfig
This is similar to the version in the registry package, but uses the
daemon's default index (as opposed to the default for the client's
platform) if using the "official index".

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-03 11:01:29 -08:00
Jess Frazelle
ea28ca4350 Merge pull request #19870 from hqhq/hq_sync_Dockerfile
Sync with Dockerfile
2016-02-03 10:57:36 -08:00
Alexander Morozov
28a7577a02 Merge pull request #19959 from WeiZhang555/fix-cli-print-err
Remove redundant error message
2016-02-03 10:56:19 -08:00
Alexander Morozov
7a20a270bc Fix minor vet warnings
Also use Asserts where it's possible.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-02-03 10:43:01 -08:00
Jessica Frazelle
1cbd772629 fix opensuse rpm
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-03 10:34:17 -08:00
Arnaud Porterie
8ee7ad2209 Enable cross-platforms logout from Registry
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-03 10:32:22 -08:00
Florian Maier
f0df677913 Fix formatting in breaking changes doc
Signed-off-by: Florian Maier <contact@marsmenschen.com>
2016-02-03 19:22:14 +01:00
Aaron Lehmann
cbda80aaff Revert "Set idle timeouts for HTTP reads and writes in communications with the registry"
This reverts commit 84b2162c1a.

The intent of this commit was to set an idle timeout on a HTTP
connection. If a read took more than 60 seconds to complete, or a write
took more than 60 seconds to complete, the connection would be
considered dead.

This doesn't work properly, because the HTTP internals apparently read
from the connection concurrently while writing. An upload that doesn't
complete in 60 seconds leads to a timeout.

Fixes #19967

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-02-03 09:59:56 -08:00
Phil Estes
b2c162a0b3 Merge pull request #19966 from twistlock/user_namespace__unnecessary_text_in_error
user namespaces: duplicate dot in user namespaces error message
2016-02-03 12:51:51 -05:00
Phil Estes
e3f96b093a Merge pull request #19964 from vdemeester/factor-prefix-and-slash-platform
Add a getPrefixAndSlashFromDaemonPlatform …
2016-02-03 11:16:29 -05:00
Vincent Demeester
98c4f0bbc3 Merge pull request #18966 from mariusGundersen/machine-readable-state
Expose the machine readable state of a container when listing containers
2016-02-03 16:41:45 +01:00
Liron Levin
858f852da4 user namespaces: duplicate dot in user namespaces error message
duplicate dot in user namespaces error message:

$ docker run -ti --net=host ubuntu /bin/bash
docker: Error response from daemon: Cannot share the host or a
container's network namespace when user namespaces are enabled..

Signed-off-by: Liron Levin <liron@twistlock.com>
2016-02-03 16:56:34 +02:00
Vincent Demeester
382c96ee7b Add a getPrefixAndSlashFromDaemonPlatform …
… to limit code duplication in integration tests :P

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-03 15:16:00 +01:00
Vincent Demeester
bc08203314 Merge pull request #19948 from Microsoft/jjh/testclirm
Windows CI: Port docker_cli_rm_test.go
2016-02-03 15:05:21 +01:00
Felix Geisendörfer
9afdd436cd docs: point out known issue with nginx/vboxfs
see https://github.com/docker/docker/issues/18666

Signed-off-by: Felix Geisendörfer <felix@debuggable.com>
2016-02-03 15:02:48 +01:00
Sebastiaan van Stijn
f37e10aee3 Merge pull request #19961 from coolljt0725/check_nil
1.10.0-rc3: Check nil before set resource.OomKillDisable
2016-02-03 14:52:18 +01:00
Zhang Wei
2c63ac3a97 Fix error message for pause a restarting container
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-03 21:20:27 +08:00
Sebastiaan van Stijn
0736dba624 Merge pull request #19947 from Microsoft/jjh/testclistart
Windows CI: Port docker_cli_start_test.go
2016-02-03 13:40:55 +01:00
Qiang Huang
d8d47f428d Sync with Dockerfile
Add support for seccomp and buildpack-deps, and
updated some commit numbers.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-02-03 12:09:52 +00:00
Sebastiaan van Stijn
b75d0929b1 Merge pull request #19914 from coolljt0725/fix_top_restart
Fix docker top a restarting container
2016-02-03 11:28:10 +01:00
Lei Jitang
09a33b5f60 Check nil before set resource.OomKillDisable
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-03 04:31:00 -05:00
Vincent Demeester
4ef06e9ef1 Merge pull request #19946 from Microsoft/jjh/stats
Windows: Turn off stats
2016-02-03 09:28:25 +01:00
Vincent Demeester
052e5f222e Merge pull request #19940 from bfirsh/add-1.10-migration-docs
Add 1.10 migration docs
2016-02-03 08:52:17 +01:00
Sebastiaan van Stijn
f3263201ab Merge pull request #19951 from icecrime/18546_carry
Carry #18546
2016-02-03 08:51:54 +01:00
Zhang Wei
894266c1bb Remove redundant error message
Currently some commands including `kill`, `pause`, `restart`, `rm`,
`rmi`, `stop`, `unpause`, `udpate`, `wait` will print a lot of error
message on client side, with a lot of redundant messages, this commit is
trying to remove the unuseful and redundant information for user.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-03 15:45:20 +08:00
David Calavera
d2bc2f081f Merge pull request #19945 from amitkris/master
bump logrus to v0.9.0
2016-02-02 21:10:30 -08:00
Arnaud Porterie
fa160753c1 Merge pull request #19954 from Microsoft/jjh/disableclientsetstls
Disable flakey TestClientSetsTLSServerName
2016-02-02 20:09:16 -08:00
John Howard
6b8341a2d5 Disable flakey TestClientSetsTLSServerName
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 19:56:31 -08:00
Arnaud Porterie
2fd35de274 Fix typo
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-02 19:07:58 -08:00
Troy Denton
0e14754766 Update networkingcontainers.md
updated line on how to exit the container after the ping test - in my environment (Ubuntu 14.04.1, bash) ctrl-c does not work to exit the shell, and `exit` must be used instead.

Signed-off-by: Troy Denton <Troy.Denton@younessleeptechnologies.com>
2016-02-02 19:05:55 -08:00
John Howard
07fd173225 Windows CI: Port docker_cli_rm_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 18:43:50 -08:00
John Howard
b47749102d Windows CI: Port docker_cli_start_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 18:23:29 -08:00
Lei Jitang
5566ccb7aa Fix docker top a restarting container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-02-02 21:05:01 -05:00
John Howard
55268f4e91 Windows: Turn off stats
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 17:59:11 -08:00
Ben Firshman
c8f263c73d Add 1.10 migration docs
Originally from https://blog.docker.com/2016/01/docker-1-10-rc/

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-02-02 17:54:33 -08:00
Amit Krishnan
408092e56b bump logrus to v0.9.0
Signed-off-by: Amit Krishnan <amit.krishnan@oracle.com>
2016-02-02 17:53:51 -08:00
Arnaud Porterie
6f88a3d7d3 Merge pull request #19939 from Microsoft/jjh/testcreate
Windows CI: TestCreate* porting
2016-02-02 17:48:43 -08:00
Alessandro Boch
9b63e4e7f5 Store endpoint config on network connect to a stopped container
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-02-02 17:25:44 -08:00
Alexander Morozov
c2bf90eb59 Merge pull request #19935 from Microsoft/jjh/onemorereliabilityhack
Windows CI: One more reliability hack
2016-02-02 16:49:29 -08:00
Alexander Morozov
1bc4c99372 Merge pull request #19761 from HackToday/enhancesortattr
Sort the attributes for events
2016-02-02 16:08:23 -08:00
John Howard
5e3fdd3c20 Windows CI: TestCreate* porting
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 16:00:39 -08:00
Alexander Morozov
83ee24e52b Merge pull request #19911 from Microsoft/jstarks/npipe
Windows: Add support for named pipe protocol
2016-02-02 15:59:45 -08:00
Arnaud Porterie
85a32baa3b Merge pull request #19901 from calavera/debug_cli_tests
Always show debug information in the info output
2016-02-02 15:56:55 -08:00
Arnaud Porterie
5ba3edd486 Merge pull request #19915 from wenchma/add_net_bind_test
Add integration test for network host bind option
2016-02-02 15:34:13 -08:00
Antonio Murdaca
2a35a1a6dc Merge pull request #19936 from vieux/fix_min_version
fix error message on version too low
2016-02-03 00:21:07 +01:00
Alexander Morozov
01cc315322 Merge pull request #19800 from wenchma/19425-TestApiStatsNetworkStats
Optimize TestApiStatsNetworkStats and TestApiStatsNetworkStatsVersioning
2016-02-02 14:56:51 -08:00
Alexander Morozov
67d6154cc2 Merge pull request #19917 from WeiZhang555/add-lock
Lock container when set state to restarting
2016-02-02 14:55:51 -08:00
Victor Vieux
0fd9b4067d fix error message on version too low
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-02-02 14:16:15 -08:00
David Calavera
9f315dd328 Add regression tests for client debug flag.
- Add client debug info to the `docker info` command.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-02 16:57:36 -05:00
John Howard
14c53160d7 Windows CI: One more reliability hack
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 13:15:35 -08:00
Tibor Vass
b6a6ed7200 Merge pull request #19932 from calavera/fix_config_validation
Make sure flat options are not parsed as config structures.
2016-02-02 15:36:25 -05:00
David Calavera
b6766e3063 Make sure flat options are not parsed as config structures.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-02 14:45:37 -05:00
Brian Goff
51620020af Merge pull request #19927 from jfrazelle/update-comment
update comment
2016-02-02 14:37:43 -05:00
Arnaud Porterie
6b7a3f0c82 Merge pull request #19926 from Microsoft/jjh/refixcihack
Windows CI: Re-do TP4 CI reliability hack
2016-02-02 11:02:08 -08:00
Sebastiaan van Stijn
f830cec78a Merge pull request #19868 from HackToday/fixwindows
Fix windows CI test
2016-02-02 19:58:29 +01:00
Tibor Vass
6bde64ab2d Merge pull request #19894 from samneirinck/powershell-support
Add powershell completion support
2016-02-02 13:50:45 -05:00
Tibor Vass
b6168e6845 Merge pull request #19929 from icecrime/delegation_exp
Delegation is not experimental
2016-02-02 13:41:44 -05:00
Arnaud Porterie
e516b5651b Delegation is not experimental
Change wording that described user delegation as an experimental
feature.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-02 10:32:14 -08:00
Arnaud Porterie
7abc7b383c Merge pull request #18605 from fgimenez/9969-add-sni-support
Added cli SNI integration test
2016-02-02 10:12:44 -08:00
Jessica Frazelle
9b8d328666 update comment
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-02-02 10:03:52 -08:00
Tianon Gravi
63ad7df2aa Merge pull request #19851 from hqhq/hq_remove_libseccompa
Cleanup libseccomp.a hack since dockerinit is gone
2016-02-02 09:52:35 -08:00
John Howard
6f0831930f Windows CI: Re-do TP4 CI reliability hack
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-02 09:36:18 -08:00
Sebastiaan van Stijn
202cccc3d3 Merge pull request #19924 from moxiegirl/title-per-scott
Changing menu label from Engine > Docker Engine
2016-02-02 18:14:37 +01:00
Sebastiaan van Stijn
6144d24b03 Merge pull request #19923 from thaJeztah/update-etc-hosts-docs
Add note about legacy links
2016-02-02 18:09:22 +01:00
Sebastiaan van Stijn
1cfab85c0e Add note about legacy links
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-02 18:06:09 +01:00
Mary Anthony
c49b6ce4e1 Changing menu label from Engine > Docker Engine
Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-02 09:03:45 -08:00
Sebastiaan van Stijn
4d4c284ef4 Merge pull request #19817 from icecrime/breaking_changes
Add doc page for breaking changes
2016-02-02 17:43:32 +01:00
Vincent Demeester
ef52a53c34 Merge pull request #19865 from mavenugo/ndocs
Docs cleanup for networking features added in 1.10
2016-02-02 17:36:46 +01:00
Arnaud Porterie
4f37e14e9c Merge pull request #18362 from runcom/tunable-SetMaxThreads
daemon_unix: set golang runtime max threads
2016-02-02 08:36:28 -08:00
Vincent Demeester
2b56501480 Merge pull request #19909 from Microsoft/jjh/testunit-daemon
Windows CI: Fix test-unit for daemon
2016-02-02 16:18:02 +01:00
Sebastiaan van Stijn
877f88267b Merge pull request #19920 from thaJeztah/fix-memoryswap-docs
Fix memory-swap description in older API versions
2016-02-02 15:25:42 +01:00
Madhu Venugopal
6f863cfa18 Docs cleanup for networking features added in v1.10
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-02-02 06:10:41 -08:00
Sebastiaan van Stijn
1c95b858ac Fix memory-swap description in older API versions
A value of -1 disables the *limit* so enables unlimited swap

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-02-02 14:49:14 +01:00
Sebastiaan van Stijn
390077fcdc Merge pull request #19912 from HackToday/fiximage
Correct old virtual size
2016-02-02 14:06:58 +01:00
Kai Qiang Wu(Kennan)
1ab7d76f30 Correct old virtual size
In new content addressable model, image no longer
have virtual size column, it is now 'size'. So we
need to update related docs about them.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-02 12:28:33 +00:00
Zhang Wei
155714c596 Lock container when set state to restarting
After exec driver run, container lock is lost, so we should lock
container when changing its state to `restarting`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-02-02 19:50:06 +08:00
Wen Cheng Ma
4f1d876e4c Add integration test for network host bind option
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-02-02 18:01:04 +08:00
Vincent Demeester
5cdc0dfce3 Merge pull request #19822 from Microsoft/jjh/testexeccli
Windows CI: Initial porting CLI TestExec*
2016-02-02 08:32:28 +01:00
Kai Qiang Wu(Kennan)
7ed10d4a4c Fix windows CI test
The windows CI is not clean in some tests, this try address that.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-02 04:54:14 +00:00
John Howard
42f2621b0e Windows CI: Fix test-unit for daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-01 20:40:57 -08:00
John Starks
0906195fbb Windows: Add support for named pipe protocol
This adds an npipe protocol option for Windows hosts, akin to unix
sockets for Linux hosts. This should become the default transport
for Windows, but this change does not yet do that.

It also does not add support for the client side yet since that
code is in engine-api, which will have to be revendored separately.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-02-01 19:46:30 -08:00
Brian Goff
a39ad952ec Merge pull request #19889 from Microsoft/jjh/reliabilitytake2
Windows CI: TP4 reliability hack
2016-02-01 22:30:51 -05:00
Brian Goff
a034ac66eb Merge pull request #19902 from Microsoft/jstarks/revendor_hcsshim_fix_docker_crash
Revendor Microsoft/hcsshim and vendor Microsoft/go-winio
2016-02-01 22:30:08 -05:00
Tibor Vass
ec6bfebc0f Merge pull request #19907 from tiborvass/tty-debug
Prevent stdin from hanging
2016-02-01 21:57:32 -05:00
Brian Goff
193ef9f0c1 Merge pull request #19861 from fangyuan930917/19350-remove-Info
remove the unused Info interface in daemon/execdriver/driver.go
2016-02-01 21:44:39 -05:00
Brian Goff
3c0c115ec8 Merge pull request #19896 from calavera/same_rm_error_message
Make error message consistent when removing containers fail.
2016-02-01 21:19:42 -05:00
John Howard
2ebcb48cf1 Windows CI: TP4 reliability hack
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-01 18:02:57 -08:00
Tibor Vass
51795c0836 Skip Close()-ing stdin on Darwin. The Return.
This was accidentally removed in https://github.com/docker/docker/pull/16289
Now adding it back.

Signed-off-by: Tibor Vass <tibor@docker.com>
2016-02-01 20:38:01 -05:00
Alexander Morozov
f1e8d2c295 Merge pull request #19899 from aboch/vnd
Vendoring libnetwork 0.6.0-rc7
2016-02-01 17:10:31 -08:00
Fangyuan Gao
5d07d83ee0 remove the unused Info interface in daemon/execdriver/driver.go and related code
Signed-off-by: Fangyuan Gao <21551127@zju.edu.cn>
2016-02-02 09:04:52 +08:00
Tibor Vass
19eaa71e85 Merge pull request #19891 from icecrime/windows_login_issue
Enable cross-platforms login to Registry
2016-02-01 19:50:54 -05:00
David Calavera
85475f7dea Merge pull request #19794 from calavera/14358-disable-colors
[Carry 18621] Allow disabling of colored Docker logs via daemon flag.
2016-02-01 15:37:44 -08:00
John Starks
7ccc0e2101 Revendor Microsoft/hcsshim and vendor Microsoft/go-winio
This update changes the way hcsshim invokes Windows DLLs to avoid races
with the garbage collector. It also now uses go-winio to access the
pipes used for communication with processes running in the container;
this reduces the number of threads used by docker.exe, improving
scalability.

Signed-off-by: John Starks <jostarks@microsoft.com>
2016-02-01 23:11:25 +00:00
David Calavera
1734571539 Merge pull request #19893 from cpuguy83/19890_debugs_for_all
handle debug mode for clients
2016-02-01 14:53:37 -08:00
Alessandro Boch
b80f761b14 Vendoring libnetwork 0.6.0-rc7
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-02-01 14:52:18 -08:00
Sebastiaan van Stijn
cf93b0bce1 Merge pull request #19898 from joelwurtz/patch-1
Update docker-php link library from stage1
2016-02-01 23:37:11 +01:00
Sebastiaan van Stijn
d95c487213 Merge pull request #19714 from vdemeester/carry-pr-18787
Carry #18787: Update Instructions for Docker Remote API access
2016-02-01 23:26:40 +01:00
David Calavera
898599171e Add test to make sure raw logs are properly activated.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-01 16:52:31 -05:00
Joel Wurtz
9928b244e9 Update docker-php library from stage1
Signed-off-by: Joel Wurtz <joel.wurtz@gmail.com>
2016-02-01 22:45:34 +01:00
Arnaud Porterie
680cf1c8f4 Merge pull request #19553 from anusha-ragunathan/rm-daemonbuilder
Remove package daemonbuilder.
2016-02-01 13:20:00 -08:00
Vincent Woo
87a450a37f Allow disabling of colored Docker logs via daemon flag.
Signed-off-by: Vincent Woo <me@vincentwoo.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-01 16:19:18 -05:00
David Calavera
245d6e83a9 Merge pull request #19416 from mlaventure/warn-on-rm-detach
Print an info message when detaching a container started with --rm
2016-02-01 13:17:23 -08:00
Arnaud Porterie
a898478a79 Merge pull request #19570 from WeiZhang555/18679-flaky-test
Fix flaky test `TestGetContainerStatsRmRunning`
2016-02-01 13:15:20 -08:00
Brian Goff
c28bba0460 Merge pull request #19725 from WeiZhang555/opt-TestRunSeccompDefaultProfile
Optimize `TestRunSeccompDefaultProfile`
2016-02-01 16:01:51 -05:00
David Calavera
0c620d62c2 Merge pull request #19708 from wenchma/19425-TestDaemonCorruptedLogDriverAddress
Optimize slow bottleneck tests of TestDaemonCorruptedLogDriverAddress
2016-02-01 12:59:37 -08:00
David Calavera
50de9fdff1 Make error message consistent when removing containers fail.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-02-01 15:32:50 -05:00
Arnaud Porterie
b2d3615337 Add doc page for breaking changes
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-01 11:55:49 -08:00
Brian Goff
78b0defcf3 handle debug mode for clients
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-02-01 14:36:40 -05:00
Arnaud Porterie
960710bd81 Enable cross-platforms login to Registry
Use a daemon-defined Registry URL for `docker login`. This allows a
Windows client interacting with a Linux daemon to properly use the
default Registry endpoint instead of the Windows specific one.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-02-01 11:18:54 -08:00
David Calavera
c19c08b97a Merge pull request #19885 from tophj-ibm/fix-integration-cli-suite-requirements
Fix integration-cli suite setup requirements
2016-02-01 11:13:39 -08:00
John Howard
a9379b4af2 Windows CI: Initial porting CLI TestExec*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-02-01 10:19:21 -08:00
Anusha Ragunathan
9c332b164f Remove package daemonbuilder.
Currently, daemonbuilder package (part of daemon) implemented the
builder backend. However, it was a very thin wrapper around daemon
methods and caused an implementation dependency for api/server build
endpoint. api/server buildrouter should only know about the backend
implementing the /build API endpoint.

Removing daemonbuilder involved moving build specific methods to
respective files in the daemon, where they fit naturally.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-02-01 09:57:38 -08:00
Andrew Guenther
9f401254bd Wait to fire start event until socket is created
Previously, this check only worked if no host was specified and was
hard coded to check for "/var/run/docker.sock"

This change generalizes that check and captures any specified socket
and waits for it to be created.

Caveat: This will only check the first socket specified, but it is an
improvement over none at all.

Fixes #185160

Signed-off-by: Andrew Guenther <guenther.andrew.j@gmail.com>
2016-02-01 08:40:26 -08:00
Alexander Morozov
69c381c8d1 Merge pull request #19857 from aboch/vnd
Vendoring libnetwork 0.6.0-rc6
2016-02-01 08:32:02 -08:00
Sam Neirinck
3b35a5b604 Add powershell completion support
Initial version of powershell tab completion. It completes
commands and container names.

Signed-off-by: Sam Neirinck <sam@samneirinck.com>
2016-02-01 17:12:15 +01:00
Brian Goff
967848419a Merge pull request #19873 from HackToday/refactorfs
Make btrfs call same interface as others
2016-02-01 10:36:59 -05:00
Sebastiaan van Stijn
c2d6831fc4 Merge pull request #19695 from Microsoft/10662-TestBuildCI2
Second set of enabling TestBuild CI for Windows
2016-02-01 16:29:52 +01:00
Vincent Demeester
ec67c8c4b6 Merge pull request #19867 from Microsoft/jjh/disableunreliabletests
Windows CI: Turn off unreliable TP4 tests
2016-02-01 13:50:26 +01:00
Sebastiaan van Stijn
179cd3e8bc Merge pull request #19882 from vdemeester/add-ipfs-volume-plugin
Add docker-volume-ipfs plugin to the list.
2016-02-01 13:41:19 +01:00
Vincent Demeester
b01886a556 Add docker-volume-ipfs plugin to the list.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-02-01 13:30:15 +01:00
Vincent Demeester
63335df3d4 Merge pull request #19883 from quofelix/master
Added link to Quobyte's volume plugin.
2016-02-01 13:10:17 +01:00
Felix Hupfeld
518c20787b Added link to Quobyte's volume plugin.
Signed-off-by: Felix Hupfeld <felix@quobyte.com>
2016-02-01 12:51:05 +01:00
Lei Jitang
743978e3ba Merge pull request #19875 from Qiaohai8866/master
change 'host:port' to `host:port`
2016-02-01 18:47:14 +08:00
qg
7d1018545f change 'host:port' to host:port
Signed-off-by: Gang Qiao <qiaohai8866@gmail.com>
2016-02-01 17:22:16 +08:00
Kai Qiang Wu(Kennan)
feda5d7684 Make btrfs call same interface as others
Most storage drivers call graphdriver.GetFSMagic(home),
it is more clean to easy to maintain. So btrfs need to
adopt such change.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-01 07:50:21 +00:00
Antonio Murdaca
0f124979c2 Merge pull request #19872 from ZhuWeiyang/fix-ubuntulinux-upgrade
Fix upgrade command in ubuntulinux
2016-02-01 07:11:40 +01:00
Weiyang Zhu
a80c404cc6 Fix upgrade command
Signed-off-by: Weiyang Zhu <cnresonant@gmail.com>
2016-02-01 12:59:21 +08:00
Wen Cheng Ma
695b7e8d11 Optimize TestApiStatsNetworkStats and TestApiStatsNetworkStatsVersioning
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-02-01 10:26:27 +08:00
Kai Qiang Wu(Kennan)
746f6af9aa Sort the attributes for events
This is add support for #19559
We tried sort it in client side, and it sort follow go
sort : sorts a slice of strings in increasing order.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-02-01 00:18:33 +00:00
John Howard
59f4369f1a Windows CI: Turn off unreliable TP4 tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-31 15:51:56 -08:00
Sebastiaan van Stijn
40ce2574b4 Merge pull request #19864 from pra85/patch-1
Fix typo
2016-01-31 22:58:19 +01:00
Prayag Verma
86beb6e27e Fix typo
Signed-off-by: Prayag Verma <prayag.verma@gmail.com>
2016-02-01 01:25:59 +05:30
Marius Gundersen
2ed72a5d93 Expose the machine readable state of a container when listing containers
Updated documentation to reflect the new State property in the inspect remote api

Updated API changes for 1.23

Signed-off-by: Marius Gundersen <me@mariusgundersen.net>
2016-01-31 18:40:37 +01:00
Sebastiaan van Stijn
6f86bcee76 Merge pull request #19856 from moxiegirl/carry-close-19240
Updating for CAS changes and new select a driver section
2016-01-31 15:52:14 +01:00
Zhang Wei
9a9ce80a0f Fix flaky test TestGetContainerStatsRmRunning
Remove racey code to fix flaky test

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-31 15:34:22 +08:00
Alessandro Boch
f943fd7d24 Vendoring libnetwork 0.6.0-rc6
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-01-30 20:03:03 -08:00
Nigel
89923c1f32 Updating for CAS changes and new select a driver section
Adding changes requested by @jamtur01 and wrapping to 80 chars
Adding typo fixes and replacing tabs with 4xspaces
Closes and fixes #19240
Updating with content addressable storage model changes

Signed-off-by: Nigel <nigelpoulton@hotmail.com>
2016-01-30 18:03:04 -08:00
Antonio Murdaca
140a74347d daemon_unix: set golang runtime max threads
SetMaxThreads from runtime/debug in Golang is called to set max threads
value to 90% of /proc/sys/kernel/threads-max

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-30 21:37:24 +01:00
Antonio Murdaca
5f5a752bcf Merge pull request #19847 from Microsoft/jjh/revert19790
Revert PR 19790 (breaks windowsTP4 CI on cache bust)
2016-01-30 20:28:21 +01:00
Sebastiaan van Stijn
d069e8e7b7 Merge pull request #19846 from shin-/remote_api_container_update_doc
Update example request for container update in docs.
2016-01-30 08:05:55 -08:00
Brian Goff
d695cf8de7 Merge pull request #19638 from runcom/remove-redunant-function
cleanup and move stuff where needed
2016-01-30 10:12:38 -05:00
Doug Davis
80c7258e11 Merge pull request #19852 from WeiZhang555/warn-info
Change log level
2016-01-30 09:58:47 -05:00
Federico Gimenez
4ba168b4cb Added cli SNI integration test
Signed-off-by: Federico Gimenez <fgimenez@coit.es>
2016-01-30 15:29:24 +01:00
Antonio Murdaca
667c2245ad Merge pull request #19820 from Microsoft/jjh/testexecapi
Windows CI: Port TestExecApi* tests
2016-01-30 11:50:01 +01:00
Vincent Demeester
6b57380173 Merge pull request #19646 from nishanttotla/19277-CustomInfoField
Display SystemStatus field in docker info
2016-01-30 11:48:01 +01:00
Antonio Murdaca
98ef10f64e Merge pull request #19839 from Microsoft/jjh/testevents
Windows CI: Porting TestEvents*
2016-01-30 11:47:44 +01:00
Zhang Wei
98f74f8383 Change log level
Warning should be printed with real `logrus.Warn`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-30 18:46:16 +08:00
Qiang Huang
a605d641d7 Cleanup libseccomp.a hack since dockerinit is gone
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-01-30 16:17:13 +08:00
Sebastiaan van Stijn
317c89ce9e Merge pull request #19838 from brahmaroutu/fix_notary_gccgo_s390x
Need -lpthread to compile Notary
2016-01-29 22:33:57 -08:00
John Howard
54320d8d18 Signed-off-by: John Howard <jhoward@microsoft.com>
Revert "Combine SetupWorkingDirectory for Linux and Windows"

This reverts commit ec31741ca1.
2016-01-29 20:49:39 -08:00
Brian Goff
0c09dda80f Merge pull request #19841 from aaronlehmann/compress-panic
Fix panic on network timeout during push
2016-01-29 22:15:13 -05:00
Zhang Wei
2e9bb7870a Optimize TestRunSeccompDefaultProfile
Optimize performance of `TestRunSeccompDefaultProfile`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-30 10:42:06 +08:00
Joffrey F
5f0643b082 Update example request for container update in docs.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-29 18:35:29 -08:00
Brian Goff
9c3cca23e9 Merge pull request #19815 from Microsoft/jjh/testruncreatevolumesinsymlinkdir
Fix TestRunCreateVolumesInSymlinkDir
2016-01-29 21:07:51 -05:00
Brian Goff
c8fb886dba Merge pull request #19823 from Microsoft/jjh/maximus5
Improvements to ANSI emulation in conemu
2016-01-29 21:07:22 -05:00
Nishant Totla
6c5e8dd4c2 Adding SystemStatus field for /info endpoint
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-01-29 16:26:43 -08:00
Jess Frazelle
c006c02611 Merge pull request #19735 from jfrazelle/add-repo-scripts
add scripts to clean experimental rpms and debs
2016-01-29 15:52:18 -08:00
Aaron Lehmann
e273445dd4 Fix panic on network timeout during push
`Upload` already closes the reader returned by `compress` and the
progressreader passed into it, before returning. But even so, the
io.Copy inside compress' goroutine needs to attempt a read from the
progressreader to notice that it's closed, and this read has a side
effect of outputting a progress message. If this happens after `Upload`
returns, it can result in a write to a closed channel. Change `compress`
to return a channel that allows the caller to wait for its goroutine to
finish before freeing any resources connected to the reader that was
passed to it.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-29 14:34:50 -08:00
Arnaud Porterie
46018c3cee Merge pull request #19837 from cpuguy83/carry_19085
Carry 19085 -- Improve & cleanup documentation comments
2016-01-29 14:30:25 -08:00
Christopher Jones
d800a4e1ba Fix integration-cli suite setup requirements
This PR moves the testRequires check from within setupRegistry
and setupNotary to when the Suite itself starts up.

This fixes a bug where testRequires() in setupRegistry() would
succeed and start registry, but testRequires() in setupNotary()
would fail. This immediately exits the goroutine with registry
still running.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-01-29 16:35:20 -05:00
Jess Frazelle
e23f24bbbd Merge pull request #18176 from hypriot/17802-build-first-debian-package-for-arm
add support for building first ARM-based debian package
2016-01-29 13:26:20 -08:00
Kenfe-Mickael Laventure
1ebeb2c9b4 Print an info message when detaching a container started with --rm
Closes #17516

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-01-29 13:19:23 -08:00
David Calavera
35ef3efe9a Merge pull request #19805 from WeiZhang555/test-inspect
Make test code consistent
2016-01-29 12:43:58 -08:00
John Howard
bf33742026 Windows CI: Porting TestEvents*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-29 12:33:56 -08:00
Brian Goff
9c09a79ba5 update doc string
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-29 15:25:25 -05:00
David Calavera
d38cee5e0d Merge pull request #19516 from tophj-ibm/update-registry-on-dockerfile-ppc64le
Update registry version in Dockerfile.ppc64le
2016-01-29 11:53:42 -08:00
Srini Brahmaroutu
6b09413f6b Need -lpthread to compile Notary
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2016-01-29 19:52:39 +00:00
Sebastiaan van Stijn
cfa547922d Merge pull request #19824 from wenchma/name_to_id_for_stats
Change container name to id as actual results
2016-01-29 10:58:42 -08:00
David Calavera
ca48f7350c Merge pull request #19806 from liusdu/forbid-null-login
forbid login of a null-string username
2016-01-29 10:34:16 -08:00
David Calavera
7cc012333f Merge pull request #19836 from jfrazelle/update-completions-for-disable-content-trust
update bash completions for push and pull
2016-01-29 10:29:59 -08:00
Jessica Frazelle
c40f487c5c update bash completions for push and pull
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-29 10:14:36 -08:00
John Howard
90b0292b5b Fix TestRunCreateVolumesInSymlinkDir
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-29 09:28:48 -08:00
Zhang Wei
62a856e912 Assert error in body of function inspectField*
1. Replace raw `docker inspect -f xxx` with `inspectField`, to make code
cleaner and more consistent
2. assert the error in function `inspectField*` so we don't need to
assert the return value of it every time, this will make inspect easier.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-29 23:39:07 +08:00
Liu Hua
755df347fb forbid login of a null-string username
With this patch, the client blocks this type login, no sending
useless messages to daemon and registry. This saves lots of time.

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2016-01-29 22:39:22 +08:00
Antonio Murdaca
a7d1aeceec postImagesCreate: move auth config decode when it's needed
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-29 14:07:54 +01:00
Antonio Murdaca
505a56d6da api: client: remove redunant function to encode auth
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-29 14:07:54 +01:00
Vincent Demeester
6c6729ef5b Merge pull request #19793 from calavera/full_login_prompt
Always prompt for a password when asking for credentials.
2016-01-29 12:39:57 +01:00
Vincent Demeester
5f63c54192 Merge pull request #19790 from Microsoft/CombineSetupWorkingDir
Combine SetupWorkingDirectory for Linux and Windows
2016-01-29 08:52:08 +01:00
Wen Cheng Ma
d76fba0191 Change container name to id as actual results
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-01-29 13:54:28 +08:00
John Howard
506722bf9f Improvements to ANSI emulation in conemu
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-28 20:37:42 -08:00
Sebastiaan van Stijn
7d13f2fb7d Merge pull request #19563 from Microsoft/10662-TestBuildCI1
First batch of Windows-Windows TestBuild CI enabling
2016-01-28 17:13:45 -08:00
Tibor Vass
4da9cd5df6 Merge pull request #19795 from jfrazelle/release-checklist
some cleanup to release checklist
2016-01-28 16:43:57 -08:00
Tibor Vass
17be787dca Merge pull request #19811 from albers/completion-user
Improve bash completion for users and groups
2016-01-28 16:39:26 -08:00
Arnaud Porterie
f746cf0440 Merge pull request #19796 from Microsoft/10662-RemoveTestBuildHistory
Temporarily removing TestBuildHistory on Windows for perf reasons
2016-01-28 16:34:55 -08:00
John Howard
9642c8170a Windows CI: Port TestExecApi* tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-28 16:26:06 -08:00
Tibor Vass
f3df50d115 distribution: add test to ensure pass-thru registry token is host-bound
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-01-28 16:23:06 -08:00
Govinda Fichtner
7b31ed432e add support for building first ARM debian package
Signed-off-by: Govinda Fichtner <govinda.fichtner@googlemail.com>
2016-01-29 00:21:17 +01:00
Darren Stahl
2b95f012db Second set of enabling TestBuild CI for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-01-28 13:43:22 -08:00
Darren Stahl
87839b345e Temporarily removing TestBuildHistory on Windows for perf reasons
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-01-28 13:42:02 -08:00
Brian Goff
5ee4ad1d77 Merge pull request #19812 from jgeiger/patch-1
Fix typos in create.go
2016-01-28 16:12:06 -05:00
Joey Geiger
318b4f0b5f Fix typos in create.go
There were a few spelling issues that I noticed when reading about shared mounts.

Signed-off-by: jgeiger <joey.geiger@irco.com>
2016-01-28 14:08:11 -07:00
David Calavera
630a5a23c7 Merge pull request #19766 from anujbahuguna/master
Adding biologist Christiane Nüsslein Volhard and AI pioneer Marvin Mi…
2016-01-28 11:06:24 -08:00
Brian Goff
0b7acaf4b9 Merge pull request #19733 from calavera/auth_error_on_post_create
Respond with 401 when there is an unauthorized error from the registry.
2016-01-28 13:44:58 -05:00
Harald Albers
0e5ea96fa6 Improve bash completion for users and groups
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-28 09:48:47 -08:00
Anuj Bahuguna
2d459a1600 Adding biologist Christiane Nüsslein Volhard and AI pioneer Marvin Minsky
Signed-off-by: Anuj Bahuguna anujbahuguna.dev@gmail.com

Signed-off-by: Anuj Bahuguna <anujbahuguna.dev@gmail.com>
2016-01-28 14:33:58 +00:00
Vincent Demeester
725b5b595b Merge pull request #19801 from albers/completion-journald-opt-tag
bash completion for journald tag support
2016-01-28 08:58:41 +01:00
Harald Albers
11fe3edacb bash completion for journald tag support
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-28 08:41:37 +01:00
Vincent Demeester
7ee1aaf06d Merge pull request #19769 from HackToday/fixubuntudoc
Make install instruction consistent
2016-01-28 08:31:45 +01:00
Vincent Demeester
adb9fa7362 Merge pull request #19401 from wenchma/18410-default_net_driver
docs: document options for default network driver
2016-01-28 08:30:30 +01:00
Vincent Demeester
36b5e63179 Merge pull request #19773 from coolljt0725/fix_message
Correct the info message when stop container
2016-01-28 08:29:42 +01:00
Kai Qiang Wu(Kennan)
b02552124b Make install instruction consistent
Right now in ubuntu section, instruction is not consistent
for sudo, so it is better to keep it style same.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-28 06:54:59 +00:00
Wen Cheng Ma
ebd1f70165 docs: document options for default network driver
Fixes issue #18410

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-01-28 11:49:07 +08:00
Darren Stahl
ec31741ca1 Combine SetupWorkingDirectory for Linux and Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-01-27 16:17:35 -08:00
Jessica Frazelle
ca8a4935aa make docs better for scripts as well
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-27 15:57:24 -08:00
Jessica Frazelle
9ca8386c57 add scripts to clean experimental rpms and debs
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-27 15:54:53 -08:00
Jessica Frazelle
404d20861c some cleanup
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-27 15:39:01 -08:00
David Calavera
3dd01713d8 Merge pull request #17849 from daehyeok/remove_empty_file
Remove output file when save/export fail
2016-01-27 15:31:29 -08:00
David Calavera
8ed06af044 Always prompt for a password when asking for credentials.
There is a weird behavior where we don't ask for a password
when the user you type in the prompt is the same you have configured
in the config file.

This is the source of many frustrations and also a bug.
If the authentication with a registry fails because the password
is incorrect, we won't ask for the password again with the current logic.

With this change, we also stop calling `CmdLogin` directly when
authentication fails. We don't need to parse flags from the cli or
setting up input destriptiors again, like the current behavior is doing.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-27 18:26:48 -05:00
Jess Frazelle
07312af8fa Merge pull request #19747 from cpuguy83/nogc
Turn off GC during `make binary`
2016-01-27 15:02:38 -08:00
Sebastiaan van Stijn
e5b1f29ac3 Merge pull request #19788 from cyli/vendor-notary
Include a new version of notary with less verbose INFO+ logging
2016-01-27 14:35:32 -08:00
David Calavera
7a016578db Merge pull request #18041 from jnummelin/feature/fluent-logger-ignore-connect-error-flag
Added flag to ignore fluentd connect error on container start
2016-01-27 14:25:24 -08:00
Sebastiaan van Stijn
c1191eb0e8 Merge pull request #19741 from jfrazelle/better-apparmor-docs
way better apparmor docs
2016-01-27 14:22:54 -08:00
Jessica Frazelle
a6701790ee way better apparmor docs
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-27 14:08:42 -08:00
David Calavera
0f5aa19593 Merge pull request #19767 from icecrime/factorize_sleeping_container
Factorize sleeping containers
2016-01-27 13:42:56 -08:00
Vincent Demeester
7beccdc609 Merge pull request #19721 from bboreham/doc-ip-failure
Improve wording about re-assigning IP addresses
2016-01-27 22:17:06 +01:00
Brian Goff
f4e5eb3f86 Merge pull request #19775 from coolljt0725/fix_prepare_mount
daemon: don't prepare mountpoint for restart container
2016-01-27 16:11:12 -05:00
Sebastiaan van Stijn
b9c8fc5ac9 Merge pull request #19748 from tkopczynski/18884-daemon-not-running-faq
FAQ: add docker daemon unavailable note
2016-01-27 13:10:41 -08:00
Tomasz Kopczynski
83c1fd6f53 FAQ: add docker daemon unavailable note
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
2016-01-27 21:18:02 +01:00
David Calavera
7bca932182 Respond with 401 when there is an unauthorized error from the registry.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-27 13:55:33 -05:00
Brian Goff
9672afa339 Add DOCKER_BUILD_GOGC to tweak GOGC for compile
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-27 13:35:26 -05:00
Vincent Demeester
fff1511c56 Merge pull request #19564 from bobrik/journald-tag
Add tag support to journald logging driver, closes #19556
2016-01-27 19:21:23 +01:00
Aditi Rajagopal
3fd25d98b8 Update Instructions for Docker Remote API access
Update the location of cert.pem and key.pem to use within the
~/.docker folder
Resolves: #18778

Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>
2016-01-27 18:49:31 +01:00
cyli
71a1caddf0 Include a new version of notary with less verbose INFO+ logging
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-01-27 09:46:26 -08:00
Jess Frazelle
c39c7e6edf Merge pull request #19760 from cyli/re-vendor-notary
Re-vendor Notary and docker/go
2016-01-27 09:36:26 -08:00
Jess Frazelle
6b2c1ed4c0 Merge pull request #19784 from vdemeester/oh-tools-it
Fix TOOLS.md jenkins plugin link :)
2016-01-27 09:34:29 -08:00
Bryan Boreham
caad94d7bb Improve wording about re-assigning IP addresses
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2016-01-27 17:11:12 +00:00
Arnaud Porterie
777ee34b07 Factorize sleeping containers
Add `runSleepingContainer` and `runSleepingContainerInImage` helper
functions to factor out the way to run system-specific idle containers.

Define a sleeping container as command `top` in image `busybox` for
Unix and as command `sleep 60` in image `busybox` for Windows. Provide a
single point of code to update those.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-01-27 08:48:08 -08:00
Brian Goff
ae14e6cc0a Merge pull request #19071 from icecrime/incremental_builds
Enable incremental builds
2016-01-27 11:21:01 -05:00
Vincent Demeester
8544913754 Fix TOOLS.md jenkins plugin link :)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-01-27 16:33:20 +01:00
Brian Goff
c17d4b4ebb Merge pull request #19779 from sillyousu/19777-fix-volume-store-dereference-deadlock
fix dead lock in volume store dereference
2016-01-27 09:28:11 -05:00
Antonio Murdaca
c1b168664f Merge pull request #19764 from Microsoft/jjh/testinspectapi
Windows CI: PortTestInspectApi*
2016-01-27 14:08:28 +01:00
Ivan Babrou
5a3351883b Add tag support to journald logging driver, closes #19556
Signed-off-by: Ivan Babrou <ibobrik@gmail.com>
2016-01-27 10:52:19 +00:00
Vincent Demeester
38424b73d9 Merge pull request #19778 from albers/completion-volume-ls-dangling
Improve bash completion for `docker volume ls -f dangling`
2016-01-27 09:54:24 +01:00
Pei Su
f5310652d3 fix dead lock in volume store dereference
Signed-off-by: Pei Su <sillyousu@gmail.com>
2016-01-27 16:34:10 +08:00
Harald Albers
a381efcf39 Improve bash completion for docker volume ls -f dangling
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-27 09:32:14 +01:00
Vincent Demeester
805a107df4 Merge pull request #19736 from albers/completion-network-rm-custom
Let bash completion for `docker network rm` only complete custom networks
2016-01-27 09:07:47 +01:00
Lei Jitang
6716a3a167 Correct the info message when stop container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-01-27 03:06:45 -05:00
Sebastiaan van Stijn
ab8da94531 Merge pull request #19759 from thaJeztah/docs-for-19688
Fix docs for tmpfs (pr 19688)
2016-01-27 00:05:38 -08:00
Sebastiaan van Stijn
386392f799 Fix docs for tmpfs (pr 19688)
Underlying files are no longer copied to the tmpfs.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-01-26 23:52:14 -08:00
Lei Jitang
0feeab2e43 daemon: don't prepare mountpoint for restart container
The restart container has already prepared the mountpoint, there is
no need to do that again. This can speed up the daemon start if
the restart container has a volume and the volume driver is not
available.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-01-27 02:43:40 -05:00
Sebastiaan van Stijn
857093fbca Merge pull request #19754 from jfrazelle/revised-release-docs
updates to release checklist
2016-01-26 23:32:18 -08:00
Sebastiaan van Stijn
872b927c76 Merge pull request #19753 from jfrazelle/repo-docs
add docs for package repo maintenance
2016-01-26 23:30:21 -08:00
Jussi Nummelin
3cf82ff1ab Added flag to ignore fluentd connect error on container start
Signed-off-by: Jussi Nummelin <jussi.nummelin@gmail.com>

Changed buffer size to 1M and removed unnecessary fmt call

Signed-off-by: Jussi Nummelin <jussi.nummelin@gmail.com>

Updated docs for the new fluentd opts

Signed-off-by: Jussi Nummelin <jussi.nummelin@gmail.com>
2016-01-27 09:05:44 +02:00
David Calavera
63f8429bf0 Merge pull request #19717 from coolljt0725/fix_load
Daemon: do GetRWLayer after checking if container support the current graph driver
2016-01-26 21:55:32 -08:00
Arnaud Porterie
1445e4db32 Enable incremental builds
Remove the `-a` build flag and introduce `-i` in order to reuse
previously compiled dependencies.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-01-26 21:24:44 -08:00
Daehyeok Mun
b78c736356 Remove output file when save/export fail
Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2016-01-26 22:12:31 -07:00
Arnaud Porterie
d789618ea4 Merge pull request #19765 from Microsoft/jjh/ibrokewindowsci
Darn it, I broke CI due to multiple declarations
2016-01-26 21:05:34 -08:00
John Howard
3c61f00616 Windows CI: PortTestInspectApi*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-26 20:23:40 -08:00
John Howard
916b9db71d Windows CI: Darn it, I broke due to multiple declarations
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-26 19:58:53 -08:00
Lei Jitang
0ae94303b8 Merge pull request #19722 from WeiZhang555/exec-restarting
Forbid exec a restarting container
2016-01-27 11:43:43 +08:00
Sebastiaan van Stijn
3cf4884787 Merge pull request #19612 from Microsoft/jjh/apicontainerstest
Windows CI: Fixup docker_api_containers_test.go
2016-01-26 19:14:43 -08:00
Arnaud Porterie
603c04a789 Merge pull request #19744 from Microsoft/jjh/testhistory
Windows CI: Enable TestHistory* cli tests
2016-01-26 19:08:33 -08:00
Arnaud Porterie
864cca2287 Merge pull request #19605 from Microsoft/jjh/docker_api_images_test
Windows CI: Porting for docker_api_images_test.go
2016-01-26 19:04:25 -08:00
Arnaud Porterie
70c5e96cb8 Merge pull request #19604 from Microsoft/jjh/testrename
Windows CI: Fix TestRename*
2016-01-26 19:03:31 -08:00
Arnaud Porterie
51d4d8eff2 Merge pull request #19603 from Microsoft/jjh/testps
Windows CI: Address simple failures in TestPS*
2016-01-26 19:01:17 -08:00
Doug Davis
9b82174f93 Merge pull request #19742 from Microsoft/jjh/testrmi
Windows CI: Port TestRmi tests
2016-01-26 21:46:35 -05:00
Zhang Wei
1d2208fed9 Forbid exec a restarting container
Currently if we exec a restarting container, client will fail silently,
and daemon will print error that container can't be found which is not a
very meaningful prompt to user.

This commit will stop user from exec a restarting container and gives
more explicit error message.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-27 10:05:06 +08:00
cyli
0617521ba2 Update integration tests with new error messages, and to use different repos per test.
This way we won't encounter any problems with one test using cached data from a different
test.

Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-01-26 18:02:00 -08:00
cyli
8fd2c8791d Re-vendor notary, as well as change jfrazelle/go to docker/go.
Signed-off-by: cyli <cyli@twistedmatrix.com>
2016-01-26 18:02:00 -08:00
Lei Jitang
899f1b1870 Daemon: do GetRWLayer after checking if container use the current graph driver
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-01-26 20:20:30 -05:00
Tibor Vass
7992b353c0 Merge pull request #19737 from calavera/fix_reload_docs
Remove cluster storage advertise from reload.
2016-01-26 17:04:46 -08:00
Arnaud Porterie
3a70ab3a2c Merge pull request #19688 from crosbymichael/tmpfs-tar
Remove tar copy-up for tmpfs mounts
2016-01-26 17:03:07 -08:00
Tibor Vass
3eaf878999 Merge pull request #19751 from crosbymichael/update-libcontainer-jan26
Update libcontainer to 3d8a20bb772defc28c355534d83
2016-01-26 16:57:49 -08:00
Jessica Frazelle
6807582cdc updates to release checklist
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-26 16:20:23 -08:00
Sebastiaan van Stijn
eb729a0cb0 Merge pull request #19621 from moxiegirl/new-navigation
New navigation for 1.10
2016-01-26 16:06:29 -08:00
Jessica Frazelle
d0cb7e599e add docs for package repo maintenance
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-26 15:59:08 -08:00
Mary Anthony
e310d070f4 Creating Engine specific menu
Fixing the links
Updating with Seb's comments
Adding weight
Fixing the engine aliases
Updating after Arun pushed
Removing empty file

Signed-off-by: Mary Anthony <mary@docker.com>
2016-01-26 15:58:53 -08:00
Sebastiaan van Stijn
e23ea05e11 Merge pull request #19743 from aaronlehmann/http-idle-timeouts
Set idle timeouts for HTTP reads and writes in communications with a registry
2016-01-26 15:39:52 -08:00
Sebastiaan van Stijn
4bcb6c7fc8 Merge pull request #19150 from mikedougherty/cs-108-rpm-release
[CS-108] Adjust version string processing for RPM build
2016-01-26 15:22:14 -08:00
David Calavera
fa163f5619 Remove cluster storage advertise from reload.
Because libnetwork won't really send container information to the new
storage anyways.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-26 18:19:30 -05:00
Michael Crosby
7b5896702b Update libcontainer to 3d8a20bb772defc28c355534d83
Fixes #14203

This bump fixes the issue of having the container's pipes connection
reset by peer because of using the json.Encoder and having a \n added to
the output.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-01-26 15:00:07 -08:00
Jess Frazelle
03864c1db0 Merge pull request #19730 from jfrazelle/update-tools-urls
update tools urls and remove things we dont use
2016-01-26 14:36:28 -08:00
Tibor Vass
0e4eda1691 Merge pull request #19738 from mrjana/mh
Vendoring libnetwork v0.6.0-rc5
2016-01-26 14:14:39 -08:00
Brian Goff
146e49b039 Merge pull request #19671 from calavera/volume-dangling
Make volume dangling filter return only used volumes with `dangling=false`.
2016-01-26 17:01:20 -05:00
Michael Crosby
ae8ec4860e Move tar copy-up for tmpfs mounts
We cannot rely on the tar command for this type of operation because tar
versions, flags, and functionality can very from distro to distro.
Since this is in the container execution path it is not safe to have
this as a dependency from dockers POV where the user cannot change the
fact that docker is adding these pre and post mount commands.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-01-26 14:00:39 -08:00
Brian Goff
b775efc9bc Merge pull request #19704 from cpuguy83/speedup_build_cache
Use imageStore.Children instead of whole the Map
2016-01-26 16:59:55 -05:00
Antonio Murdaca
0b248e88ff Merge pull request #19734 from Microsoft/jjh/testtag
Windows CI: Port TestTag* cli tests
2016-01-26 22:56:36 +01:00
Sebastiaan van Stijn
d648a100c9 Merge pull request #19745 from cpuguy83/19625_docs_for_mount_prop_with_systemd
Add note about mount propagation on systemd
2016-01-26 13:51:22 -08:00
Brian Goff
7d7b2044b7 Add note about mount propagation on systemd
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-26 16:48:45 -05:00
Tibor Vass
4adb0fb310 Merge pull request #19723 from bboreham/not-preferred
Stop referring to requested IP address as "preferred"
2016-01-26 13:46:09 -08:00
Arnaud Porterie
fd5013e4fa Merge pull request #19569 from aidanhs/aphs-fix-options-api
Permit OPTIONS request against any url, fixes #19398
2016-01-26 13:39:51 -08:00
Tibor Vass
1584e63b9e Merge pull request #19731 from albers/completion-daemon--userns-remap
bash completion for `docker daemon --userns-remap`
2016-01-26 13:14:56 -08:00
John Howard
15c32f39a9 Windows CI: Enable TestHistory* cli tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-26 12:42:09 -08:00
Aaron Lehmann
84b2162c1a Set idle timeouts for HTTP reads and writes in communications with the registry
Otherwise, some operations can get stuck indefinitely when the remote
side is unresponsive.

Fixes #12823

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-26 12:40:39 -08:00
John Howard
94e5fab5ed Windows CI: Port TestRmi tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-26 12:22:37 -08:00
Darren Stahl
563a4d1b9f First batch of Windows-Windows TestBuild CI enabling
Signed-off-by: Darren Stahl <darst@microsoft.com>
2016-01-26 12:15:13 -08:00
Sebastiaan van Stijn
589c8a879f Update notary to 1.10-3 in all Dockerfiles
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-01-26 11:51:22 -08:00
Mike Dougherty
0410023367 Adjust version string processing for RPM build
This will only trim off the last '-' separated token to be checked for
RC status. This allows including a 'cs#' token in the version string.

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-01-26 11:49:59 -08:00
Jana Radhakrishnan
730a6d2fc2 Vendoring libnetwork v0.6.0-rc5
- Cleanup stale overlay sandboxes

Fixes #19694

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-01-26 11:44:43 -08:00
David Calavera
9e2b63e0ae Fix bash completion for docker volume ls --dangling=false.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-26 14:29:37 -05:00
Brian Goff
1350e8b7b8 Use imageStore.Children instead of whole the Map
daemon cache was getting the whole image map and then iterating through
it to find children. This information is already stored in the image
store.

Prior to this change building the docker repo with a full cache took 30
seconds.
After it takes between 15 seconds or less (As low as 9 seconds).
This is an improvement on docker 1.9.1 which hovered around 17 seconds.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-26 14:12:56 -05:00
Harald Albers
0e1bfdd43e Let bash completion for docker network rm only complete custom networks
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-26 10:57:38 -08:00
John Howard
1723c6477f Windows CI: Port TestTag* cli tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-26 10:41:31 -08:00
Jess Frazelle
b5420be597 Merge pull request #19013 from hqhq/add_support_docker_aarch64
Add support for build and test docker on arm64
2016-01-26 10:33:48 -08:00
Harald Albers
62f366490b bash completion for docker daemon --userns-remap
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-26 10:24:47 -08:00
Jessica Frazelle
8ea5051e78 update tools urls and remove things we dont use
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-26 10:15:47 -08:00
Aaron Lehmann
fde2329eaa Avoid outputting last progress item twice
A watcher would output the current progress item when it was detached,
in case it missed that item earlier, which would leave the user seeing
some intermediate step of the operation. This commit changes it to only
output it on detach if it didn't already output the same item.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-26 10:03:28 -08:00
Jess Frazelle
c56e309d05 Merge pull request #19712 from runcom/test-requires-apparmor
integration-cli: require Apparmor
2016-01-26 09:18:29 -08:00
Arnaud Porterie
269a6d7d36 Merge pull request #19705 from mavenugo/18222
Vendor libnetwork v0.6.0-rc4 & corresponding changes in engine for port-map sandobx handling.
2016-01-26 09:16:57 -08:00
Arnaud Porterie
7a97e938e2 Merge pull request #19490 from cyphar/remove-dockerinit
Remove dockerinit once and for all
2016-01-26 08:27:35 -08:00
Bryan Boreham
7126ecd0ad Stop referring to requested IP address as "preferred",
since it is an error if that address is unavailable.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2016-01-26 15:13:26 +00:00
Doug Davis
fc8e344297 Merge pull request #19715 from coolljt0725/fix_test_daemon
Test utils: fix daemon start utils
2016-01-26 10:08:50 -05:00
Doug Davis
e5b5c0ebe8 Merge pull request #19713 from WeiZhang555/opt-TestEventsContainerFailStartDie
Optimize `TestEventsContainerFailStartDie`
2016-01-26 09:32:52 -05:00
Aleksa Sarai
71c63aa72e vendor: update engine-api
This removes all references to InitPath and InitSha1, as well as pulling
in a few other minor engine-api fixes.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-01-27 00:34:31 +11:00
Lei Jitang
e88258ca2e Test utils: fix daemon start utils
User call `Start` could with args, and the args could
contains `--storage-driver`, but in `Start`, it will add
`--storage-driver` even though user has specified `--storage-driver`
in args.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-01-26 08:31:50 -05:00
Aleksa Sarai
e72192be40 *: remove documentation references to dockerinit
While the documentation is very patchy on dockerinit, remove all
references in packaging documentation to the now purged dockerinit.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-01-26 23:47:02 +11:00
Aleksa Sarai
4357ed4a73 *: purge dockerinit from source code
dockerinit has been around for a very long time. It was originally used
as a way for us to do configuration for LXC containers once the
container had started. LXC is no longer supported, and /.dockerinit has
been dead code for quite a while. This removes all code and references
in code to dockerinit.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-01-26 23:47:02 +11:00
Madhu Venugopal
e38463b277 Move port-mapping ownership closer to Sandbox (from Endpoint)
https://github.com/docker/libnetwork/pull/810 provides the more complete
solution for moving the Port-mapping ownership away from endpoint and
into Sandbox. But, this PR makes the best use of existing libnetwork
design and get a step closer to the gaol.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-26 03:59:03 -08:00
Zhang Wei
4f7dda3fb2 Optimize TestEventsContainerFailStartDie
Optimize performance of `TestEventsContainerFailStartDie`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-26 19:23:18 +08:00
Antonio Murdaca
7ac8c77877 integration-cli: require Apparmor
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-26 11:57:14 +01:00
Vincent Demeester
141a301dca Merge pull request #19154 from hqhq/hq_verify_cgroupparent
Verify cgroup-parent name for systemd cgroup
2016-01-26 11:44:31 +01:00
Vincent Demeester
613e91f36f Merge pull request #19703 from mountkin/speedup-TestEventsAttach
optimize DockerSuite.TestEventsAttach
2016-01-26 11:41:31 +01:00
Antonio Murdaca
1f2917602e Merge pull request #19103 from vdemeester/events-with-attributes
Add the possibility to log event with specific attributes
2016-01-26 11:01:23 +01:00
Vincent Demeester
cca1e5b2eb Merge pull request #19706 from pwnall/patch-2
Add missing words in selectadriver.md
2016-01-26 10:57:17 +01:00
Vincent Demeester
4158b671f3 Merge pull request #19701 from aaronlehmann/remove-downloads-on-error
Remove temporary layer download file on error
2016-01-26 10:55:43 +01:00
Wen Cheng Ma
07d2c31810 Optimize slow bottleneck tests of TestDaemonCorruptedLogDriverAddress
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-01-26 14:53:10 +08:00
Tibor Vass
07e2dedecb Merge pull request #19057 from dnephin/remove_version_from_registry_pkg
Remove dockerversion from registry package
2016-01-25 22:45:06 -08:00
Arnaud Porterie
c5380f9118 Merge pull request #19468 from jfrazelle/refactor-sec-profiles-into-own-pkg
Refactor sec profiles their own packages
2016-01-25 22:18:56 -08:00
Victor Costan
e5e90347d2 Add missing words in selectadriver.md
Signed-off-by: Victor Costan <costan@gmail.com>
2016-01-26 01:06:59 -05:00
Madhu Venugopal
7029d9e6ad Vendor libnetwork v0.6.0-rc4
- Add Endpoints() API to Sandbox interface
- Fixes #19677

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-25 19:51:21 -08:00
Sebastiaan van Stijn
5b0183e91c Merge pull request #19683 from calavera/network_config_file
Allow network configuration via daemon config file.
2016-01-25 18:59:20 -08:00
Shijiang Wei
77a0f77e7f optimize DockerSuite.TestEventsAttach
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-01-26 10:45:45 +08:00
Aaron Lehmann
5a363ce60b Remove temporary layer download file on error
Currently, the temporary file storing downloaded layer data is only
removed after a successful download or a digest verification error. A
transport-level error does not cause it to be removed. This is a
regression from 1.9 that could cause disk usage to grow until the Docker
daemon is restarted.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-25 18:20:18 -08:00
Tibor Vass
58c2488d07 Merge pull request #19568 from cpuguy83/17907_fix_rmv
On container rm, don't remove named mountpoints
2016-01-25 18:13:57 -08:00
Tibor Vass
ced2d37901 Merge pull request #19687 from tianon/debian-wheezy
Change the way we install from backports in the deb builder (to force deps too)
2016-01-25 17:13:49 -08:00
Tibor Vass
2cb8fdd327 Merge pull request #19673 from aboch/epcs
Save endpoint config only if endpoint creation succeeds
2016-01-25 16:50:47 -08:00
David Calavera
d4ccd948e9 Merge pull request #19676 from cpuguy83/19672_fix_force_rm
Fix removing mountpoints on container rm fail
2016-01-25 16:44:25 -08:00
Sebastiaan van Stijn
8d096114f2 Merge pull request #19680 from mavenugo/rc2-vin
Vendor libnetwork v0.6.0-rc3
2016-01-25 16:07:56 -08:00
David Calavera
c539be8833 Allow network configuration via daemon config file.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-25 18:54:56 -05:00
Sebastiaan van Stijn
2b97c96742 Merge pull request #19074 from arun-gupta/couchbase
adding docs for Dockerizing Couchbase service
2016-01-25 15:46:56 -08:00
Sebastiaan van Stijn
31adcc96d0 Merge pull request #19682 from aaronlehmann/transfer-release-race
Fix watching a released transfer
2016-01-25 15:37:47 -08:00
Tibor Vass
f7abff4f81 Merge pull request #19560 from aboch/mn
Reject multiple networks on container creation request
2016-01-25 14:57:51 -08:00
Tianon Gravi
722fac7a73 Change the way we install from backports in the deb builder (to force deps too)
Also, add "libsystemd-journal-dev" to the explicit list (which is what prompted the change in how we install).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-01-25 14:49:05 -08:00
Antonio Murdaca
0f0c35960f Merge pull request #19674 from tonistiigi/19652-fix-create-error-message
Fix error message in container creation
2016-01-25 23:47:57 +01:00
David Calavera
cf44f17258 Merge pull request #19619 from WeiZhang555/test-bottleneck-oomtrue
Optimize TestEventsOOMDisableTrue
2016-01-25 14:24:46 -08:00
Sebastiaan van Stijn
156e2f0e5c Merge pull request #19555 from hypriot/update-registry-on-dockerfile-armhf
Update registry version in Dockerfile.armhf
2016-01-25 14:14:00 -08:00
Tibor Vass
268a20af95 Merge pull request #19528 from cpuguy83/19475_abck_compat_for_vol_drivers
Add back compat for volume drivers `Get` and `Ls`
2016-01-25 13:53:51 -08:00
Alessandro Boch
733245b2e7 Save endpoint config only if endpoint creation succeeds
- Currently it is being save upfront...

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-01-25 13:43:32 -08:00
Aaron Lehmann
3e2b50ccaa Fix watching a released transfer
Things could go wrong if Watch was called after the last existing
watcher was released. The call to Watch would succeed even though it was
not really adding a watcher, and the corresponding call to Release would
close hasWatchers a second time.

The fix for this is twofold:

1. We allow transfers to gain new watchers after the watcher count has
touched zero. This means that the channel returned by Released should
not be closed until all watchers have been released AND the transfer is
no longer tracked by the transfer manager, meaning it won't be possible
for additional calls to Watch to race with closing the channel returned
by Released.

The Transfer interface has a new method called Close so the transfer can
know when the transfer manager no longer references it.

Remove the Cancel method. It's not used and should not be exported.

2. Even though (1) makes it possible to add watchers after all the
previous watchers have been released, we want to avoid doing this in
practice. A transfer that has had all its watchers released is in the
process of being cancelled, and attaching to one of these will never be
the correct behavior. Add a check if a watcher is attaching to a
cancelled transfer.  In this case, wait for the transfer to be removed
from the map and try again. This will ensure correct behavior when a
watcher tries to attach during the race window.

Either (1) or (2) should be sufficient to fix the race involved here,
but the combination is the most correct approach. (1) fixes the
low-level plumbing to be resilient to the race condition, and (2) avoids
using it in a racy way.

Fixes #19606

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-25 13:28:02 -08:00
David Calavera
1431b623a4 Make volume dangling filter return only used volumes with dangling=false.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-25 16:26:51 -05:00
Madhu Venugopal
6ac9a2f410 Vendor libnetwork v0.6.0-rc3
- Fixes docker/docker#19576
- Fixed embedded DNS to listen in TCP as well
- Fixed a race-condition in IPAM to choose non-overlapping subnet for concurrent requests

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-25 13:22:47 -08:00
Brian Goff
dd7d1c8a02 On container rm, don't remove named mountpoints
This makes it so when calling `docker run --rm`, or `docker rm -v`, only
volumes specified without a name, e.g. `docker run -v /foo` instead of
`docker run -v awesome:/foo` are removed.

Note that all volumes are named, some are named by the user, some get a
generated name. This is specifically about how the volume was specified
on `run`, assuming that if the user specified it with a name they expect
it to persist after the container is cleaned up.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-25 15:51:28 -05:00
Alessandro Boch
cfa515fd9d Reject multiple networks on container creation
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-01-25 12:50:01 -08:00
Brian Goff
0eed34755e Fix removing mountpoints on container rm fail
Ensure that the the container's mountpoints are cleaned up if the
container is force removed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-25 15:49:56 -05:00
Tonis Tiigi
8a68315c38 Fix error message in container creation
Error message was different if image was specified with the full ID.

Fixes #19652

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-01-25 11:45:20 -08:00
David Calavera
15cc67b73d Merge pull request #19615 from runcom/add-registry-with-auth-testsuite
integration-cli: add suite for testing registries with auth
2016-01-25 11:12:16 -08:00
Brian Goff
997e61add9 Merge pull request #19658 from wenchma/19425-daemon_ipv6
Optimize slow bottleneck tests of TestDaemonIPv6FixedCIDR
2016-01-25 14:04:54 -05:00
David Calavera
7e1b0ea5d7 Merge pull request #19629 from thaJeztah/fix-api-order
Fix remove API order in menu
2016-01-25 11:02:24 -08:00
Brian Goff
d02ed72e30 Merge pull request #19666 from jfrazelle/19620-fix-url
add trailing slash
2016-01-25 12:12:47 -05:00
Brian Goff
48d7cbea55 Merge pull request #19663 from mountkin/speedup-TestDaemonRestartWithContainerRunning
speed up DockerDaemonSuite.TestDaemonRestartWithContainerRunning
2016-01-25 12:08:24 -05:00
Jessica Frazelle
0f379fab31 add trailing slash
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-25 09:01:46 -08:00
Zhang Wei
6bf5b3db9a Optimize slow integration test
Optimize `TestEventsOOMDisableTrue` performance

It's part of #19425 issue.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-26 00:07:20 +08:00
Shijiang Wei
c983996e0b speed up DockerDaemonSuite.TestDaemonRestartWithContainerRunning
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-01-25 23:45:13 +08:00
Wen Cheng Ma
73849a5c82 Optimize slow bottleneck tests of TestDaemonIPv6FixedCIDR and TestDaemonIPv6FixedCIDRAndMac
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-01-25 23:43:49 +08:00
Brian Goff
9211fc36a9 Merge pull request #19655 from sdurrheimer/zsh-completion-cp-follow-link
Add zsh completion for 'docker cp -L --follow-link'
2016-01-25 09:28:26 -05:00
Sebastiaan van Stijn
5719dca1d7 Merge pull request #19657 from sdurrheimer/zsh-completion-new-syslog-over-tls-options
Add zsh completion for new 'docker daemon --log-opt syslog-tls-ca-cer…
2016-01-25 01:21:57 -08:00
Sebastiaan van Stijn
9609cb7344 Merge pull request #19656 from sdurrheimer/zsh-completion-daemon-cluster-store-opt
Add zsh completion for new 'docker daemon --cluster-store-opt discove…
2016-01-25 01:21:23 -08:00
Steve Durrheimer
b3cd453b84 Add zsh completion for new 'docker daemon --log-opt syslog-tls-ca-cert syslog-tls-cert syslog-tls-key syslog-tls-skip-verify' options
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-25 08:21:15 +01:00
Steve Durrheimer
995d1d09ce Add zsh completion for new 'docker daemon --cluster-store-opt discovery.heartbeat discovery.ttl kv.path' options
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-25 08:14:46 +01:00
Steve Durrheimer
490ea6961c Add zsh completion for 'docker cp -L --follow-link'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-25 08:09:30 +01:00
Brian Goff
714587196b Merge pull request #19643 from albers/completion-nospace
fix minor bash completion issue on OSX (compopt)
2016-01-24 20:58:33 -05:00
Vincent Demeester
96009914b0 Merge pull request #19639 from Microsoft/jjh/incontainerlogic
Windows CI: In container logic flaw
2016-01-24 22:19:23 +01:00
Vincent Demeester
84e4fb8b0a Merge pull request #19641 from albers/completion-syslog-tls
bash completion for syslog over TLS log driver
2016-01-24 22:14:54 +01:00
Antonio Murdaca
0764706dcc Merge pull request #19636 from albers/completion-daemon--cluster-store-opt
bash completion for new `--cluster-store-opt` values
2016-01-24 22:12:37 +01:00
Vincent Demeester
460f491457 Merge pull request #19642 from albers/completion-tag-f
Remove completion for `docker tag -f`
2016-01-24 22:10:23 +01:00
Antonio Murdaca
a3cfdb5a31 Merge pull request #19633 from albers/completion-ps-filter-dead
bash completion for `docker ps --filter status=dead`
2016-01-24 22:04:56 +01:00
Antonio Murdaca
672ca81869 Merge pull request #19632 from albers/completion-cp--follow-link
bash completion for `docker cp --follow-link`
2016-01-24 22:04:26 +01:00
Antonio Murdaca
65530f8014 Merge pull request #19634 from albers/completion-images--filter-dangling
bash completion for `docker images --filter dangling=false`
2016-01-24 22:04:00 +01:00
Harald Albers
6b28e1bbe2 fix minor bash completion issue on OSX (compopt)
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 10:28:36 -08:00
Harald Albers
1bd5424c38 remove zsh completion for docker tag -f
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 10:11:18 -08:00
Harald Albers
59754c4bd8 remove bash completion for docker tag -f
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 10:07:04 -08:00
Harald Albers
6723c8aa26 bash completion for syslog over TLS log driver
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 09:34:30 -08:00
John Howard
5601fc8507 Windows CI: In container logic flaw
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-24 09:22:50 -08:00
Harald Albers
17eb18899e bash completion for --cluster-store-opt kv.path discovery.{heartbeat,ttl}
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 07:24:12 -08:00
Harald Albers
7f345f2ec4 bash completion for docker images -f dangling=false
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 06:36:04 -08:00
Harald Albers
0f654bb5eb bash completion for docker ps --filter status=dead
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 05:57:57 -08:00
Harald Albers
7b3058b864 bash completion for docker cp --follow-link
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-24 05:39:52 -08:00
Brian Goff
7aafa76662 Merge pull request #19624 from WeiZhang555/test-case-name-consistent
Make test case name consistent
2016-01-24 07:16:11 -05:00
Vincent Demeester
42a0fd7e92 Merge pull request #19627 from pandrew/fix_warning_on_build
Fix warning
2016-01-24 12:49:47 +01:00
Sebastiaan van Stijn
42f6e8d40d Fix remove API order in menu
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-01-24 02:48:47 -08:00
Paul Liljenberg
0c7201ee73 Fixes #19614
Signed-off-by: Paul Liljenberg <liljenberg.paul@gmail.com>
2016-01-24 10:28:18 +01:00
Sebastiaan van Stijn
037d159981 Merge pull request #19622 from r4j4h/quick-doc-fix
Correcting `overlay` -> `bridge` driver in run.md
2016-01-24 00:42:36 -08:00
Jasmine Hegman
ae5fce9fe0 Correcting overlay -> bridge driver in run.md
Correcting `overlay` -> `bridge` driver in run.md to match the preceding paragraph.

Signed-off-by: Jasmine Hegman <jasmine@jhegman.com>
2016-01-24 01:34:04 -07:00
Zhang Wei
e151ad936a Make test case name consistent
Replace `Tty` with `TTY` in all test case names so that we can run
a bundle of `TTY` related test cases with TESTFLAGS like
`-check.f TestExecTTY*`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-24 16:32:52 +08:00
Sebastiaan van Stijn
a1c6642c45 Merge pull request #19610 from companycy/patch-1
docs: image layers' path in aufs-driver.md
2016-01-23 23:37:03 -08:00
Andy Goldstein
7a948f6a96 Move resize after attaching
Resize by +1 when attaching to force redrawing.

Start monitoring window size after the attach begins instead of before. This way, you see the output
from the container without having to manually resize or hit enter. This makes attach consistent with
run and exec.

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2016-01-24 02:24:00 -05:00
Sebastiaan van Stijn
717ced8dd7 Merge pull request #19602 from Microsoft/jjh/testrunexitonstdinclose
Windows CI: Fix TestRunExitOnStdinClose flakiness
2016-01-23 18:53:28 -08:00
companycy
ac1eac21c9 Update aufs-driver.md
fix typo in file path for image layers

Signed-off-by: bjcheny <companycy@gmail.com>
2016-01-24 10:03:29 +08:00
John Howard
75d107451a Windows CI: Address simple failures in TestPS*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-23 16:33:45 -08:00
Antonio Murdaca
011b4f01f4 integration-cli: add suite for testing registries with auth
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-24 01:02:49 +01:00
John Howard
2b0a742237 Windows CI: Fix api_containers_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-23 14:40:25 -08:00
Stefan Scherer
11a51649cf Update registry version in Dockerfile.armhf
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-01-23 18:46:46 +01:00
John Howard
f21fb2162e Windows CI: Fix TestRename*
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-23 09:25:10 -08:00
John Howard
80b0570671 Windows CI: Porting for docker_api_images_test.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-22 21:13:38 -08:00
Alexander Morozov
7be8f72644 Merge pull request #19600 from aaronlehmann/buildenvusage2
Slight TestBuildEnvUsage2 speedup
2016-01-22 20:38:45 -08:00
Brian Goff
f6c20d9b22 Add back compat for volume drivers Get and Ls
Use a back-compat struct to handle listing volumes for volumes we know
about (because, presumably, they are being used by a container) for
volume drivers which don't yet support `List`.

Adds a fall-back for the volume driver `Get` call, which will use
`Create` when the driver returns a `404` for `Get`. The old behavior was
to always use `Create` to get a volume reference.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-22 22:48:17 -05:00
Sebastiaan van Stijn
bf85a49509 Merge pull request #19592 from duglin/Issue15777
Add some helper text for magical ADD
2016-01-22 18:27:44 -08:00
John Howard
4bfc5d4606 Windows CI: Fix TestRunExitOnStdinClose
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-22 18:27:15 -08:00
Phil Estes
67d86d10d8 Merge pull request #19216 from scaleoutsean/master
Add GPFS filesystem IDs
2016-01-22 21:27:03 -05:00
Qiang Huang
5ce5a8e966 Verify cgroup-parent name for systemd cgroup
Fixes: #17126

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-01-22 21:17:23 -05:00
Sebastiaan van Stijn
b3af1d5242 Merge pull request #19598 from tianon/pkg-config
Add pkg-config to our Debian build environment
2016-01-22 17:33:43 -08:00
Sebastiaan van Stijn
2d30720c1e Merge pull request #19596 from Djelibeybi/fix-oracle-install-docs
Updated Oracle Linux install documentation
2016-01-22 17:27:42 -08:00
Sebastiaan van Stijn
bf28c219c5 Merge pull request #19511 from moxiegirl/19473-fix-certificate
Fixing missing certs article; consolidating security material
2016-01-22 17:20:36 -08:00
Avi Miller
081bffc1e1 Updated Oracle Linux install documentation to be more accurate.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2016-01-23 12:18:41 +11:00
Aaron Lehmann
74fafa5dd2 Slight TestBuildEnvUsage2 speedup
TestBuildEnvUsage2 was flagged in https://github.com/docker/docker/issues/19425
as one of the slowest integration tests. It's slow because it has some
comprehensive builder test cases that end up creating a lot of layers.
Even with a busybox base image, this can be expensive. It's not possible
to build "FROM scratch" because the test cases need the shell to ensure
environment variables are set correctly.

Some of the ENV and RUN statements can be combined. This causes fewer
layers to get created. Doing this produces a marginal improvement in the
runtime.

Before:

    PASS: docker_cli_build_test.go:3956: DockerSuite.TestBuildEnvUsage2 43.619s

After:

    PASS: docker_cli_build_test.go:3956: DockerSuite.TestBuildEnvUsage2 31.286s

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-22 17:13:50 -08:00
Sebastiaan van Stijn
6d1455e74b Merge pull request #19579 from cyphar/hotfix-vendor-libcontainer
Hotfix vendor libcontainer
2016-01-22 16:46:04 -08:00
Mary Anthony
4c76c665b7 Fixing missing certs article; consolidating security material
Entering comments from reviewers
Updating with Derek's comments
Fixing bad links reported by build

Signed-off-by: Mary Anthony <mary@docker.com>
2016-01-22 16:44:18 -08:00
Brian Goff
feca36b379 Merge pull request #19519 from calavera/fix_event_channel_closing_race
Fix channel closing race in event tests.
2016-01-22 19:43:28 -05:00
Jess Frazelle
789e887c73 Merge pull request #19599 from nalind/master-deb-pkg-config
Add pkg-config to our RPM build environment
2016-01-22 16:39:28 -08:00
Aidan Hobson Sayers
ada7920479 Permit OPTIONS request against any url, fixes #19398
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2016-01-23 00:31:08 +00:00
David Calavera
422827fa92 Merge pull request #19527 from aboch/epc
Move Unsupp Network & IP check to the new updateNetworkConfig() func
2016-01-22 15:54:21 -08:00
Nalin Dahyabhai
7d4f52ec6b Add pkg-config to our RPM build environment
While hack/make.sh checks for systemd headers using pkg-config, we
forgot to ensure that they were there in the images that we use for
building binaries for RPM-based distributions.  Add the right packages
to the generate.sh that we use for them, and update the copies of the
generated files that we carry in the source tree.

Notes: Fedora, CentOS, and Oracle Linux put the pkg-config command in
the "pkgconfig" package, while OpenSUSE calls the package "pkg-config".
The systemd-devel package, like systemd, is not in Oracle Linux 6.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2016-01-22 18:46:07 -05:00
Tianon Gravi
9ac671f79e Add pkg-config to our Debian build environment
This is used in `hack/make.sh` for detecting various dependencies such as `libsystemd-journal` -- without this, our packages don't support pulling logs back out of journald. 😢

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-01-22 15:22:04 -08:00
Antonio Murdaca
504a8ad295 Merge pull request #19567 from Microsoft/jjh/testpsnotshowportsofstoppedcontainer
Windows: TestPsNotShowPortsOfStoppedContainer linux only
2016-01-22 21:53:31 +01:00
Brian Goff
455a505749 Merge pull request #19190 from srust/volume_driver_parity_again
Allow external volume drivers to host anonymous volumes again
2016-01-22 15:53:06 -05:00
Phil Estes
34a83f9f2c Merge pull request #19517 from calavera/validate_config_keys
Verify that the configuration keys in the file are valid.
2016-01-22 15:01:29 -05:00
Tibor Vass
2731dbc797 Merge pull request #19509 from BrianBland/master
Fixes layer MediaTypes in manifests created from a cross-repository push
2016-01-22 14:27:47 -05:00
David Calavera
27b060492c Fix channel closing race in event tests.
Divide event matching into two functions, a matcher and
a processor. That way, the error handling doesn't call
the channel closing logic at all.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-22 13:31:46 -05:00
David Calavera
5e80ac0dd1 Make TLSOptions and LogConfig embedded structs.
That way the configuration file becomes flag, without extra keys.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-22 13:20:17 -05:00
Doug Davis
8d94a85d62 Add some helper text for magical ADD
Closes: #15777

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-01-22 10:13:13 -08:00
David Calavera
ae8f7c69e3 Merge pull request #19549 from cpuguy83/bump_plugin_api_version
Bump plugin API version
2016-01-22 09:33:29 -08:00
Jess Frazelle
21ec6d3789 Merge pull request #19146 from mikedougherty/cs-105-download-script
Create a bundle for the install script to support other domains
2016-01-22 09:25:24 -08:00
Tibor Vass
a9fc4939df Merge pull request #19573 from sanimej/libn
Vendor in libnetwork v0.6.0-rc2
2016-01-22 12:07:40 -05:00
Jess Frazelle
05b2f342fd Merge pull request #19588 from tianon/docker.default-systemd
Add a note to /etc/default/docker noting that it does not apply to systemd
2016-01-22 08:52:02 -08:00
Vincent Demeester
73ae424ed8 Merge pull request #19470 from Microsoft/jjh/confans
Windows: VirtualTerminalInput native console
2016-01-22 17:27:47 +01:00
Tibor Vass
cba7ba25f4 Merge pull request #19488 from hypriot/enable-docker-trust-suite-on-arm
Enable DockerTrustSuite for ARM again
2016-01-22 11:23:19 -05:00
Tianon Gravi
90e33640b8 Add a note to /etc/default/docker noting that it does not apply to systemd
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-01-22 07:35:02 -08:00
scaleoutsean
bdc8241da9 Add GPFS
Signed-off-by: Sean Lee <seanlee@tw.ibm.com>
2016-01-22 21:12:47 +08:00
Vincent Demeester
c91045a78b Merge pull request #19558 from LK4D4/reduce_cgroup_parsing
Refactor sysinfo usage
2016-01-22 11:18:53 +01:00
Aleksa Sarai
cc19c7df2a integration-cli: add bad --cgroup-parent tests
To ensure we don't regress on bad --cgroup-parent paths, add some
integration tests that check that the host hasn't toppled (or suddently
started to create files in the host).

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-01-22 20:16:56 +11:00
Aleksa Sarai
40b5eebb0b vendor: *: update libcontainer
This fixes a security vulnerability in Docker, which can cause a DoS
under certain circumstances. This is from the hotfix branch, so the
vendored commit is actually bf899fef451956be4abd63de6d6141d9f9096a02 in
runc master.

Signed-off-by: Aleksa Sarai <asarai@suse.com>
2016-01-22 20:15:09 +11:00
Vincent Demeester
c3a9ecedba Merge pull request #19574 from polonskiy/patch-2
fixed typo
2016-01-22 09:14:58 +01:00
Anton Polonskiy
b0873c2c50 fixed typo
Signed-off-by: Anton Polonskiy <anton.polonskiy@gmail.com>
2016-01-22 09:27:53 +02:00
Santhosh Manohar
da9eadb066 IT for service/network name with '.', corrected libnetwork flag for DNS
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-21 20:49:02 -08:00
Santhosh Manohar
02c9d48144 Vendor in libnetwork v0.6.0-rc2
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-21 20:46:28 -08:00
Mike Dougherty
51dad1185a Create a bundle for the install script to support other domains
For the CS Engine we need to have an install script like OSS does, but
the locations are all different, as is the GPG key used. This is
accomplished here by slightly altering the script itself and adding a
simple 'sed' based bundle for make.sh.

This install script is used in to change the URLs instead of sed in
release.sh.

Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-01-21 20:42:20 -08:00
Doug Davis
6f22d9ec4e Merge pull request #19562 from MHBauer/nospace-checktheoutput
check the output, not the errcode
2016-01-21 22:09:41 -05:00
John Howard
845dc1b24c Windows: TestPsNotShowPortsOfStoppedContainer linux only
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-21 18:48:21 -08:00
Arun Gupta
e25d47db27 adding docs for Dockerizing Couchbase service
cleaning up instructions, removing redundant output

Signed-off-by: Arun Gupta <arun.gupta@gmail.com>

adding the latest feedback

Signed-off-by: Arun Gupta <arun.gupta@gmail.com>
2016-01-21 17:58:43 -08:00
Jessica Frazelle
bed0bb7d01 move default seccomp profile into package
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-21 16:55:29 -08:00
Jessica Frazelle
35e50119fc move default apparmor policy into package
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-21 16:55:27 -08:00
Phil Estes
3233f45609 Merge pull request #19263 from jfrazelle/update-aa-parser
refactor aaparser pkg, add unit tests
2016-01-21 19:40:53 -05:00
Jess Frazelle
6e16ec2b9c Merge pull request #19529 from Microsoft/jjh/dockerfile
Windows: Update dockerfile for Windows to Windows CI
2016-01-21 15:46:08 -08:00
Morgan Bauer
bcb9adf49e check the output, not the errcode
- errcode of 1 can be returned for cases other than the 'no space left' case

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2016-01-21 15:23:20 -08:00
Brian Goff
9ae51b3e0f Merge pull request #19383 from calavera/container_store
Extract container store from the daemon.
2016-01-21 17:20:47 -05:00
David Calavera
ed4038676f Verify that the configuration keys in the file are valid.
- Return an error if any of the keys don't match valid flags.
- Fix an issue ignoring merged values as named values.
- Fix tlsverify configuration key.
- Fix bug in mflag to avoid panics when one of the flag set doesn't have any flag.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-21 16:56:12 -05:00
Sebastiaan van Stijn
45db4fa70e Merge pull request #19557 from tiborvass/karkhaz-add-dead-to-docker-ps-documentation
Carry 19305: Added `dead` to docs for docker ps -f status=...
2016-01-21 13:46:51 -08:00
Kareem Khazem
859262a82a Added dead to docs for docker ps -f status=...
It is possible to invoke `docker ps -f status=dead`, but the
documentation for docker-ps does not mention `dead` as a valid option.
This commit fixes that.

Signed-off-by: Kareem Khazem <karkhaz@karkhaz.com>
2016-01-21 16:44:33 -05:00
Jess Frazelle
e287bef453 Merge pull request #19316 from Microsoft/jjh/incontainererror
Windows: In container build check
2016-01-21 13:44:19 -08:00
Tibor Vass
3ecba7089b Merge pull request #19552 from aaronlehmann/vendor-distribution-3
Vendor updated distribution package
2016-01-21 16:21:59 -05:00
John Howard
4dbd612d47 Windows: In container build check
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-21 13:15:23 -08:00
John Howard
eacd2fd4da Windows: Update dockerfile.windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-21 12:49:03 -08:00
Tibor Vass
0b7e9ef910 Merge pull request #19550 from Microsoft/jjh/testlinksmultiplewithsamename
Windows: Fix TestLinksMultipleWithSameName
2016-01-21 15:38:47 -05:00
Tibor Vass
26334b7a7d Merge pull request #19551 from aaronlehmann/fix-retry-on-enospc
Don't retry downloads when disk is full
2016-01-21 15:37:50 -05:00
Tibor Vass
d2448a0c20 Merge pull request #19524 from LK4D4/iocopy_writeto
Use bufio.Reader in io.Copy source for overlay.copyRegular
2016-01-21 15:37:12 -05:00
Tibor Vass
16faf8f1fc Merge pull request #19518 from dmcgowan/unwrap-url-error-on-retry
Unwrap URL errors on retry
2016-01-21 15:36:41 -05:00
Aaron Lehmann
921eae9d6d Vendor updated distribution package
Another day, another revendor.

This revision of distribution is more tolerant of incorrect Content-Type
headers when fetching manifests.

Fixes #19526

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-21 11:01:14 -08:00
Alessandro Boch
3b0d36dbc1 Move ErrUnsupportedNetwork* checks to updateNetworkConfig() func
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-01-21 10:56:01 -08:00
Doug Davis
b7a68d0252 Merge pull request #19548 from WeiZhang555/remove-hard-coded
Remove hard coded 'docker' string from package
2016-01-21 13:06:22 -05:00
Aaron Lehmann
4f13ec5551 Don't retry downloads when disk is full
There was already a check that prevented protocol-level fallback in this
situation, but retries within a specific protocol will still happen.
This makes it take a long time for the pull to finally error out.

This fixes slowness in TestDaemonNoSpaceleftOnDeviceError, which used to
take a long time due to the backoff between retry attempts:

PASS: docker_cli_daemon_test.go:1868: DockerDaemonSuite.TestDaemonNoSpaceleftOnDeviceError	5.882s

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-21 10:01:51 -08:00
Arnaud Porterie
eacc9fc2c3 Merge pull request #19547 from tonistiigi/revert-aufs-hardlinks
Revert "Copy aufs hardlinks to top layer"
2016-01-21 09:56:26 -08:00
John Howard
473a32ba8f Windows: Fix TestLinksMultipleWithSameName
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-21 09:52:49 -08:00
Tibor Vass
5f9375cf39 Merge pull request #19349 from jfrazelle/add-link-to-wiki
add warning if upgrading via script to migrate
2016-01-21 12:51:25 -05:00
Vincent Demeester
7aef311269 Merge pull request #19541 from albers/completion-events
Support new events in bash completion
2016-01-21 18:40:54 +01:00
Tibor Vass
7d19ca7c40 Merge pull request #19423 from jfrazelle/apparmor-no-install
disable install of docker-engine for 1.10, try to get ready for 1.11
2016-01-21 12:08:50 -05:00
Alexander Morozov
3f5e1c69b3 Use pools.Copy instead of io.Copy for overlay.copyRegular
That function is pretty heavy used on container start. Autoallocating
buffer can be painful.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-21 08:53:37 -08:00
Brian Goff
54587d861d Bump plugin API version
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-21 11:41:32 -05:00
David Calavera
aed5691644 Merge pull request #19507 from aaronlehmann/certificate-error-message
Clarify error message when a .cert file is missing a corresponding key
2016-01-21 08:29:25 -08:00
Vincent Demeester
5e143d5168 Merge pull request #19540 from A33a/A33a-patch-1
Fixed typo in "/etc/subUid"
2016-01-21 17:24:29 +01:00
David Calavera
8c0dd9d182 Merge pull request #19522 from aaronlehmann/vendor-distribution-2
Vendor updated distribution
2016-01-21 08:15:41 -08:00
Zhang Wei
d44e79a366 Remove hard coded 'docker' string from package
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-22 00:14:52 +08:00
David Calavera
72c425785c Merge pull request #19534 from hqhq/hq_fix_update_swap
Fix comment about swap limit of docker update
2016-01-21 08:12:00 -08:00
Tonis Tiigi
98d0997894 Revert "Copy aufs hardlinks to top layer"
This reverts commit ef05b83417.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-01-21 07:52:50 -08:00
Tibor Vass
757d686700 Merge pull request #19500 from cpuguy83/fix_loading_with_containerized_plugins
Fix loading with containerized plugins
2016-01-21 08:57:01 -05:00
Vincent Demeester
476edba011 Merge pull request #19483 from coolljt0725/fix_19477
Fix #19477, clean up the ports when release network
2016-01-21 14:29:29 +01:00
Harald Albers
ab01b6f385 Refactor handling of key specific subcompletions
The currently used idiom for handling key specific subcompletions
did not work here: behind `docker event -f type=network `, the completion
of networks triggered. The expected behaviour is not to complete
anything here.

In order to limit the scope of the corresponding PR, the new idiom is
currently only used in `docker events --filter`.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-21 14:24:31 +01:00
Harald Albers
fcc035848f Support new events in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-21 13:57:35 +01:00
Azat Khuyiyakhmetov
935849f17a Fixed typo in "/etc/subUid"
Signed-off-by: Azat Khuziyakhmetov <shadow_uz@mail.ru>
2016-01-21 12:46:29 +01:00
Antonio Murdaca
db25ba1486 Merge pull request #19536 from wenchma/fix_typo
Fixes the typo of docker_cli_network_unix_test.go
2016-01-21 09:42:36 +01:00
Wen Cheng Ma
2e6b1eb309 Fixes the typo of docker_cli_network_unix_test.go
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
2016-01-21 16:37:17 +08:00
Jess Frazelle
5537a92e45 Merge pull request #19377 from jfrazelle/cleanup-build-rpm-deb
Cleanup build rpm deb
2016-01-20 23:58:33 -08:00
Qiang Huang
603bc69b2c Fix comment about swap limit of docker update
The description "set `-1` to disable swap" is wrong, `build`,
`create` and `run` already fixed, we need to fix `update` as well.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-01-21 13:48:53 +08:00
Sebastiaan van Stijn
7db58948bf Merge pull request #19434 from HackToday/fixmntvolume
Refine the volume mount example
2016-01-20 20:42:24 -08:00
Sebastiaan van Stijn
13dbf52611 Merge pull request #19530 from HackToday/fixtiny
Fix the typo in ps
2016-01-20 20:41:35 -08:00
Kai Qiang Wu(Kennan)
c2b59b03df Fix the typo in ps
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-21 04:26:49 +00:00
Alexander Morozov
781a33b6e7 Reuse subsystems mountpoints between checks
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-20 19:20:59 -08:00
Brian Goff
7bf776f1c3 Merge pull request #19482 from LK4D4/up_osx_sdk
Move long compilations before Go install in Dockerfile
2016-01-20 20:11:32 -05:00
Lei Jitang
6025517b68 Fix #19477, clean up the ports when release network
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-01-20 20:09:11 -05:00
Alexander Morozov
22ebeede30 Reuse *sysinfo.SysInfo instance in verification
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-20 17:08:10 -08:00
Lei Jitang
bb8d8a645a Merge pull request #19430 from keloyang/StatsNoStreamGetCpu
remove the check of ContentLength in TestApiStatsNoStreamGetCpu
2016-01-21 09:07:00 +08:00
Aaron Lehmann
a160dd4987 Vendor updated distribution
The only changes are https://github.com/docker/distribution/pull/1379
and https://github.com/docker/distribution/pull/1380.

Fixes #19476

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-20 15:46:11 -08:00
David Calavera
ee001d87a9 Merge pull request #19514 from cpuguy83/19444_fix_links_with_same_name
Don't error out when link name in use.
2016-01-20 15:21:58 -08:00
Alexander Morozov
4a9523adc9 Merge pull request #19513 from crosbymichael/tty-restore
Move tty set and restore to caller
2016-01-20 15:05:14 -08:00
Sebastiaan van Stijn
ad87333f79 Merge pull request #19452 from mortonfox/patch-1
cgroups documentation moved
2016-01-20 14:54:24 -08:00
David Calavera
7915077a38 Merge pull request #19485 from HackToday/fixlink
Fix the ulimit link
2016-01-20 14:53:38 -08:00
Sebastiaan van Stijn
048234fcdb Merge pull request #19487 from HackToday/fixcommitcli
Fix commit wrong repository example
2016-01-20 14:45:59 -08:00
Derek McGowan
e9d5292b0c Unwrap URL errors on retry
When authorization errors are returned by the token process the error will be wrapped in url.Error.
In order to check the underlying error for retry this error message should be unwrapped.
Unwrapping this error allows failure to push due to an unauthorized response to keep from retrying, possibly resulting in later 429 responses.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-01-20 14:29:38 -08:00
Sebastiaan van Stijn
c21eb2a420 Merge pull request #19501 from vdemeester/remove-validate-vendor-from-default-bundles
Remove validate-vendor from default bundles
2016-01-20 14:29:07 -08:00
Christopher Jones
3aa778d6a0 Update registry in Dockerfile.ppc64le
This updates the Dockerfile registry version on ppc64le to be
consistent with 6309947718

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-01-20 16:57:18 -05:00
Brian Goff
332d95fd0d Don't error out when link name in use.
This preserves old behavior from sqlite links/names.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-20 16:40:56 -05:00
Michael Crosby
a1eb6029cc Move tty set and restore to caller
Fixes #19506

This fixes the issue of errors on create and the tty not being able to
be restored to its previous state because of a race where it was
in the hijack goroutine.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-01-20 13:32:19 -08:00
Alexander Morozov
7bddbdf360 Merge pull request #19503 from jfrazelle/update-logrus
bump logrus
2016-01-20 12:54:49 -08:00
Brian Bland
06e9a056ca Fixes layer MediaTypes in manifests created from a cross-repository push
Signed-off-by: Brian Bland <brian.bland@docker.com>
2016-01-20 12:23:16 -08:00
Tibor Vass
2705fa573b Merge pull request #19457 from calavera/post_config_verification
Fix post config verification without flags.
2016-01-20 14:49:32 -05:00
Aaron Lehmann
d5e2802eae Clarify error message when a .cert file is missing a corresponding key
The daemon uses two similar filename extensions to identify different
kinds of certificates. ".crt" files are interpreted as CA certificates,
and ".cert" files are interprted as client certificates. If a CA
certificate is accidentally given the extension ".cert", it will lead to
the following error message:

    Missing key ca.key for certificate ca.cert

To make this slightly less confusing, clarify the error message with a
note that CA certificates should use the extension ".crt".

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-20 11:34:59 -08:00
David Calavera
bcf155bb7a Merge pull request #19469 from crosbymichael/libcontainer-resource-hf
Update libcontainer to 47e3f834d73e76bc2a6a585b48d
2016-01-20 11:31:14 -08:00
Vincent Demeester
a866e7e2ee Merge pull request #19496 from dbarboza/19495-doc-grammar
Fix minor doc grammar issues
2016-01-20 20:26:15 +01:00
Brian Goff
cfb2c667ad Use fine-grained locks for plugin loading.
This helps ensure that only one thing is trying to intialize a plugin at
once while also keeping the global lock free during initialization.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-20 13:57:52 -05:00
David Calavera
cd3446972e Fix post config verification without flags.
- Set the daemon log level to what's set in the configuration.
- Enable TLS when TLSVerify is enabled.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-20 13:01:07 -05:00
David Calavera
fd79462af3 Merge pull request #19044 from HackToday/18890-validate-volume
Fix volume filter validation
2016-01-20 09:56:30 -08:00
Jessica Frazelle
95695aa38c bump logrus
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-20 09:51:09 -08:00
Vincent Demeester
e5bce74592 Remove validate-vendor from default bundles
Because it's triggered another way :)
See https://github.com/docker/leeroy/pull/44

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-01-20 18:29:28 +01:00
Sebastiaan van Stijn
b433e1e7fb Merge pull request #19486 from sdurrheimer/zsh-completion-network-links
Zsh completion for '--alias --net-alias --ip --ip6 --link'
2016-01-20 09:28:04 -08:00
Brian Goff
d85b9f8580 Fix loading of containerized plugins
During daemon startup, all containers are registered before any are
started.
During container registration it was calling out to initialize volumes.
If the volume uses a plugin that is running in a container, this will
cause the restart of that container to fail since the plugin is not yet
running.
This also slowed down daemon startup since volume initialization was
happening sequentially, which can be slow (and is flat out slow since
initialization would fail but take 8 seconds for each volume to do it).

This fix holds off on volume initialization until after containers are
restarted and does the initialization in parallel.

The containers that are restarted will have thier volumes initialized
because they are being started. If any of these containers are using a
plugin they will just keep retrying to reach the plugin (up to the
timeout, which is 8seconds) until the container with the plugin is up
and running.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-20 12:23:17 -05:00
Dave Barboza
f50d0d7fdb Fix minor doc grammar issues
Signed-off-by: Dave Barboza <dxbarboza@gmail.com>
2016-01-20 10:52:21 -05:00
Stefan Scherer
acb42c5fab Enable DockerTrustSuite for ARM again
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-01-20 14:58:09 +01:00
Doug Davis
bdcc3ebe41 Merge pull request #19447 from sillyousu/19407-fix-exec-store-data-race
Fix race condition in execCommandGC
2016-01-20 07:46:28 -05:00
Vincent Demeester
7646bed1ad Merge pull request #19479 from ywy1ywy/my-branch
fix a spelling error of 'dnsmasq'
2016-01-20 13:33:26 +01:00
Antonio Murdaca
e9ac149472 Merge pull request #19478 from zchee/add-arg-syntax
Add `ARG` instruction syntax for vim
2016-01-20 13:20:47 +01:00
Vincent Demeester
2ba549407a Merge pull request #19467 from sdurrheimer/zsh-completion-detach-keys
Add zsh completion for 'docker {attach,exec,run,start} --detach-keys'
2016-01-20 11:54:13 +01:00
Kai Qiang Wu(Kennan)
3c8042a0cb Fix commit wrong repository example
The old name is invalid in new repository name spec.
So we need to fix them.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-20 10:25:41 +00:00
Steve Durrheimer
fe8a6a5b67 Add zsh completion for 'docker network connect --link'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-20 10:19:03 +01:00
Steve Durrheimer
5284e037ff Add zsh completion for 'docker {network connect, create, run} --ip --ip6'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-20 10:19:03 +01:00
Steve Durrheimer
898b53fafa Add zsh completion for 'docker network connect --alias' and 'docker {create, run} --net-alias'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-20 10:19:03 +01:00
Kai Qiang Wu(Kennan)
8f3c0fdff3 Fix the ulimit link
The old link not existed, we need fix it the right one.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-20 09:18:20 +00:00
Steve Durrheimer
32bd703926 Add zsh completion for 'docker {attach,exec,run,start} --detach-keys'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-20 10:14:35 +01:00
Sebastiaan van Stijn
d45643a865 Merge pull request #19459 from sdurrheimer/zsh-completion-network-create-ipam-opt
Add zsh completion for 'docker network create --ipam-opt'
2016-01-20 00:30:30 -08:00
Vincent Demeester
87b7ff5267 Merge pull request #19465 from mavenugo/sysd
Vendor libnetwork v0.6.0-rc1
2016-01-20 09:02:21 +01:00
Alexander Morozov
c38cba3b8c Move long compilations before Go install in Dockerfile
Now we can avoid long compilations on Go update.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-19 22:43:42 -08:00
Kai Qiang Wu(Kennan)
9e3c1f2609 Refine the volume mount example
The path here should be absolute, else it would
deem it as volume name.

Also link to release page to contain static binary,
the old link not work, because it is just used to
install docker in os distro, it can not be used
as static binary directly.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-20 06:40:46 +00:00
Wenyu You
5e450bc5df fix a spelling error of 'dnsmasq'
Signed-off-by: Wenyu You <21551128@zju.edu.cn>
2016-01-20 06:12:22 +00:00
Koichi Shiraishi
b15247868c Add ARG instruction syntax for vim
Signed-off-by: Koichi Shiraishi <k@zchee.io>
2016-01-20 15:08:45 +09:00
Sebastiaan van Stijn
cd1ed858d3 Merge pull request #19471 from thaJeztah/fix-19393-increase-timeout
Fix DockerTrustSuite SetUpTest
2016-01-19 21:58:24 -08:00
Pei Su
e5e62b96ce Fix race condition in execCommandGC
`daemon.execCommandGC`
The daemon object (grep execCommandGC) iterate over a map
(grep execCommands.Commands) in a goroutine.
Lock can't protect concurrency access in this case.
Exec command storage object should return a copy of commands instead.

Signed-off-by: Pei Su <sillyousu@gmail.com>
2016-01-20 12:52:05 +08:00
Tibor Vass
7657e233f7 Merge pull request #19466 from aaronlehmann/vendor-distribution
Vendor updated docker/distribution package
2016-01-19 21:05:43 -05:00
Jessica Frazelle
0bff2515f7 add a way to only build requested pkgs
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-19 17:47:27 -08:00
Sebastiaan van Stijn
910a5fc234 Fix DockerTrustSuite SetUpTest
This hopefully makes DockerTrustSuite.SetUpTest
less flaky.

Increased the number of attempts to check
if Notary is available before giving up.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-01-19 16:45:47 -08:00
John Howard
33729d3b5a Windows: VirtualTerminalInput native console
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-19 15:59:21 -08:00
Jessica Frazelle
60d44d8b80 add warning if upgrading via script to migrate
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-19 15:41:08 -08:00
Michael Crosby
5f73ab8952 Update libcontainer to 47e3f834d73e76bc2a6a585b48d
This adds a fix for the resource struct in the cgroups type and seccomp
IsEnabled function

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-01-19 15:34:08 -08:00
Sebastiaan van Stijn
e11a7f5371 Merge pull request #19458 from dmcgowan/layerstore-error-handling
Add more robust error handling on layer store creation
2016-01-19 14:37:23 -08:00
Jess Frazelle
389784abe1 Merge pull request #19462 from tophj-ibm/fix-arm-integration-cli-requirement
Fix test requirement for ARM
2016-01-19 14:24:28 -08:00
Madhu Venugopal
8799218d01 IT for remote network driver & ungraceful restart
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-19 14:09:11 -08:00
Madhu Venugopal
ee3b42f385 Vendor libnetwork v0.6.0-rc1
- Fixes docker/docker#19404
- Fixes ungraceful daemon restart issue in systemd with remote
  network plugin (https://github.com/docker/libnetwork/issues/813)

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-19 13:50:17 -08:00
Aaron Lehmann
588e27f9a5 Vendor updated docker/distribution package
Fixes #19400

Note that this introduces an incompatibility with Docker 1.10-rc1,
because the media type used for schema1 manifests has been corrected in
the upstream distribution code. Docker 1.10-rc1 won't be able to pull
old manifests from Registry 2.3-rc0 and up, but because of this vendor
update, Docker 1.10-rc2 won't have this problem.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-19 13:28:51 -08:00
Doug Davis
c18b4943ea Merge pull request #19460 from LK4D4/remove_comment
Remove obsolete comment
2016-01-19 15:29:46 -05:00
Christopher Jones
d12f4babdd Fix test requirement for ARM
Correctly passes the DOCKER_ENGINE_GOARCH env var
to the testing environment

Also fixes logic for skipping a test if on ARM.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-01-19 15:23:46 -05:00
Alexander Morozov
3dc8829a83 Remove obsolete comment
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-01-19 12:17:40 -08:00
Steve Durrheimer
da26fc26b2 Add zsh completion for 'docker network create --ipam-opt' + Reordering for better maintainability
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-19 21:16:16 +01:00
Sebastiaan van Stijn
4b63689679 Merge pull request #19385 from runcom/better-git-error
api: client: build: do not fall through if git isn't installed
2016-01-19 11:39:05 -08:00
Derek McGowan
caef48f4e2 Add more robust error handling on layer store creation
Add continue when layer fails on store creation
Trim whitespace from layerstore files to keep trailing space from failing a layer load

Fixes #19449

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2016-01-19 11:17:08 -08:00
David Calavera
3c82fad441 Extract container store from the daemon.
- Generalize in an interface.
- Stop abusing of List for everything.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-01-19 13:21:41 -05:00
Morton Fox
596836e0e4 cgroups documentation moved
Signed-off-by: Morton Fox <github@qslw.com>
2016-01-19 11:26:58 -05:00
Antonio Murdaca
167cc42986 api: client: build: do not fall through if git isn't installed
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-19 16:50:14 +01:00
Tibor Vass
30e42a2799 Merge pull request #19432 from jfrazelle/fix-x32
add send, recv, and x32 so we can install i386 pkgs on amd64
2016-01-19 10:20:01 -05:00
Tibor Vass
e8ce350669 Merge pull request #19424 from aaronlehmann/revert-multiple-pull-errors
Revert reporting of multiple pull errors
2016-01-19 09:51:54 -05:00
Vincent Demeester
011ca5f206 Merge pull request #19426 from sanimej/restart
Vendoring miekg/dns @ 75e6e86cc601825c5dbcd4e0c209eab180997cd7
2016-01-19 10:28:33 +01:00
Vincent Demeester
05e36d254f Merge pull request #19437 from HackToday/fixulimit
Fix ulimit command form
2016-01-19 10:26:02 +01:00
Vincent Demeester
25f4f71512 Merge pull request #19436 from HackToday/fixhostdev
Fix add host device example
2016-01-19 10:25:08 +01:00
Sebastiaan van Stijn
0f04f3ba9f Merge pull request #19433 from HackToday/fixclidoc
Fix the privileged example
2016-01-19 00:37:30 -08:00
Kai Qiang Wu(Kennan)
98e5a8efcc Fix ulimit command form
The ulimit is builtin, so we need shell form to execute it.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-19 07:44:58 +00:00
Antonio Murdaca
6a1100cafc Merge pull request #19429 from mavenugo/epv21
nil ptr check for endpointsettings when used with older clients
2016-01-19 08:43:04 +01:00
Kai Qiang Wu(Kennan)
62b525f75d Fix add host device example
The example is not right in parameter, and also
one command is same as first one, it should be typo
before, we should use 'rw' as example for that.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-19 07:00:58 +00:00
Kai Qiang Wu(Kennan)
3cc5550003 Fix the privileged example
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-19 06:41:49 +00:00
Lei Jitang
42ee908b3f Merge pull request #19431 from WeiZhang555/19422-default-network
bugfix: prevent creating network 'default'
2016-01-19 14:18:20 +08:00
yangshukui
d474f7fb86 remove the check of ContentLength in TestApiStatsNoStreamGetCpu
Signed-off-by: yangshukui <yangshukui@huawei.com>
2016-01-19 12:06:01 +08:00
Jessica Frazelle
308eff99e8 add send, recv, and x32 so we can install i386 pkgs on amd64
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-18 19:24:01 -08:00
Zhang Wei
31dae442c8 bugfix: prevent creating network 'default'
Default is predefined network and is reserved, so we should stop user
from creating network with name `default`

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-01-19 11:06:36 +08:00
Madhu Venugopal
35dbce109b nil ptr check for endpointsettings when used with older clients
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-18 17:15:59 -08:00
Brian Goff
b6be645197 Merge pull request #19420 from clnperez/close-notify-fix
Move closeNotify to fix panic with newer golang
2016-01-18 20:08:25 -05:00
Aaron Lehmann
87338bf0fa Revert reporting of multiple pull errors
Revert the portions of #17617 that report all errors when a pull
falls back, and go back to just reporting the last error. This was nice
to have, but causes some UX issues because nonexistent images show
additional "unauthorized" errors.

Keep the part of the PR that handled ENOSPC, as this appears to work
even without tracking multiple errors.

Fixes #19419

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-18 15:49:08 -08:00
Jess Frazelle
637f49b5af Merge pull request #19196 from Microsoft/jjh/tp4ci
Windows CI: Setup for testing against Windows
2016-01-18 15:22:08 -08:00
Jess Frazelle
416de85359 Merge pull request #19412 from hypriot/skip-tests-on-arm
Skip failing tests on ARM to get red/green feedback from Jenkins
2016-01-18 14:40:46 -08:00
Jessica Frazelle
c4bc9657b9 disable install of docker-engine for 1.10, try to get ready for 1.11
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-18 13:38:29 -08:00
Antonio Murdaca
a495c148a5 Merge pull request #19414 from anusha-ragunathan/postBuild
Make daemonbuilder.Docker leaner.
2016-01-18 21:46:49 +01:00
Christy Perez
2df5dafdaf Move closeNotify to fix panic with newer golang
This is happening now due to improvements in net/http:
99fb19194c

To test, change the go version in the Dockerfile:
-ENV GO_VERSION 1.5.3
+ENV GO_VERSION 1.6beta2

More info here: https://github.com/golang/go/issues/14001

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-01-18 14:24:25 -06:00
Brian Goff
3044a08326 Merge pull request #19372 from cloudflare/fix-log-copier
only close LogDriver after LogCopier is done
2016-01-18 14:38:34 -05:00
Brian Goff
2cd74f9932 Merge pull request #19391 from cdauth/systemd_tasks_max
Set TasksMax in addition to LimitNPROC in systemd service files
2016-01-18 13:33:07 -05:00
Jess Frazelle
afa9b75c7c Merge pull request #19310 from tophj-ibm/add-registry-remove-notary-on-power
update registry and remove notary on ppc64le
2016-01-18 09:51:02 -08:00
Jess Frazelle
a7652ad276 Merge pull request #19410 from tophj-ibm/add-gccgo-target-to-makefile
Add gccgo target to Makefile
2016-01-18 09:50:44 -08:00
Daniel Dao
84e14754e1 only close LogDriver after LogCopier is done
this prevents the copier from sending messages in the buffer to the closed
driver. If the copied took longer than the timeout to drain the buffer, this
aborts the copier read loop and return back so we can cleanup resources
properly.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-01-18 17:47:57 +00:00
Anusha Ragunathan
14215ed5a1 Make daemonbuilder.Docker leaner.
Currently builder.Backend is implemented by daemonbuilder.Docker{} for
the daemon. This registration happens in the API/server code. However,
this is too implementation specific. Ideally we should be able to specify
that docker daemon (or any other) is implementing the Backend and abstract
the implementation details. So we should remove package daemonbuilder
dependency in build_routes.go

With this change, daemonbuilder.Docker is nothing more than the daemon.
A follow on change will remove the daemonbuilder package and move relevant
methods under daemon, so that API only knows about the backend.

Also cleanup code in api/client/build.go. docker cli always performs build
context tar download for remoteURLs and sends an empty remoteContext. So
remove relevant dead code.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-01-18 09:16:11 -08:00
Tianon Gravi
8a4b4f5950 Merge pull request #19409 from albers/completion-network-links
bash completion for container linking and aliasing
2016-01-18 08:36:33 -08:00
Tianon Gravi
f5299b64aa Merge pull request #19411 from albers/completion-network-create--internal
Update bash completion for `docker network create`
2016-01-18 08:34:59 -08:00
Stefan Scherer
4f339570cb Skip failing tests on ARM to get red/green feedback from Jenkins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-01-18 17:00:15 +01:00
Harald Albers
6ae4ffb6e5 bash completion for docker network create --internal, --ipam-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-18 07:50:26 -08:00
Christopher Jones
06f48a26f8 Add gccgo target to Makefile
Adds a gccgo target to the Makefile

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-01-18 10:40:45 -05:00
Harald Albers
67fe772ca6 bash completion for container linking and aliasing
Signed-off-by: Harald Albers <github@albersweb.de>
2016-01-18 07:11:19 -08:00
Kai Qiang Wu(Kennan)
66c253cbf7 Fix volume filter validation
Fixes: #18890
This fix add same filter validation logic as images. We should
add such check to make sure filters work make sense to end-users

Right now, we keep old use 1 as filter, but in long term, it should
be have same interface checking as images, it could be improved in
other patches.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
2016-01-18 10:07:42 +00:00
Santhosh Manohar
bccf653082 Vendoring miekg/dns @ 75e6e86cc601825c5dbcd4e0c209eab180997cd7
- Fixes the issue of Shutdown() not working, resulting in hung
  goroutines

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-17 08:17:13 -08:00
Vincent Demeester
1d8ccc6ae7 Add the possibility to log event with specific attributes
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-01-17 12:14:01 +01:00
Candid Dauth
105778343a Set TasksMax in addition to LimitNPROC in systemd service files
systemd sets an additional limit on processes and threads that defaults to 512 when run under Linux >= 4.3.
See more information here: http://unix.stackexchange.com/a/255603/59955

Signed-off-by: Candid Dauth <cdauth@cdauth.eu>
2016-01-16 18:45:41 +01:00
Brian Goff
82401a4b13 Merge pull request #19386 from sdurrheimer/zsh-completion-network-create-internal
Add zsh completion for 'docker network create --internal'
2016-01-16 08:04:05 -05:00
Brian Goff
a2b72dc4ba Merge pull request #19387 from sdurrheimer/zsh-completion-network-connect-disconnect-stopped-containers
Modify zsh completion for connecting/disconnecting non-running contai…
2016-01-16 07:57:13 -05:00
Steve Durrheimer
0a9508e821 Modify zsh completion for connecting/disconnecting non-running containers to networks
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-16 12:59:20 +01:00
Steve Durrheimer
581a55d54c Add zsh completion for 'docker network create --internal'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-16 12:53:50 +01:00
Sebastiaan van Stijn
f1c6cd57fa Merge pull request #19320 from cilium-team/fixing-inspect-api-container-volume-driver
Fixing TestInspectApiContainerVolumeDriver
2016-01-16 01:04:32 -08:00
Sebastiaan van Stijn
785493226b Merge pull request #19379 from thaJeztah/update-windows-dockerfile
Switch Windows Dockerfile to golang 1.5.3
2016-01-16 01:00:19 -08:00
Sebastiaan van Stijn
d232ed4cea Merge pull request #19382 from Collinux/master
Fixed typo in experimental/plugins_graphdriver.md
2016-01-15 18:51:29 -08:00
Collin Guarino
aabe39be01 Fixed typo in experimental/plugins_graphdriver.md
Signed-off-by: Collin Guarino <collin.guarino@gmail.com>
2016-01-15 21:33:36 -05:00
Jess Frazelle
b69243e951 Merge pull request #19169 from Djelibeybi/fix-ol6-build
Restoring the RPM build process for Oracle Linux 6
2016-01-15 16:56:11 -08:00
Sebastiaan van Stijn
e281f640c6 Switch Windows Dockerfile to golang 1.5.3
Also renamed the env-variable to match what
we use in other locations (for easier finding)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-01-15 15:52:53 -08:00
Jess Frazelle
4e9ee2a239 Merge pull request #19373 from Microsoft/jjh/makefile
Windows: Update makefile
2016-01-15 15:42:47 -08:00
Jess Frazelle
b70d615222 Merge pull request #18348 from hypriot/add-dockerfile-for-windows
Add initial support building Windows docker in docker
2016-01-15 15:42:11 -08:00
Jessica Frazelle
3466e5c911 fix selinux version for contrib/builder generation
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-15 15:29:43 -08:00
David Calavera
15e5cd14d6 Merge pull request #19255 from hqhq/hq_build_args_makefile
Add DOCKER_BUILD_ARGS support for make build
2016-01-15 14:21:37 -08:00
Alexander Morozov
790e648c06 Merge pull request #19340 from Microsoft/jjh/rsrcfix
Windows: Remove linkmode internal hack
2016-01-15 14:10:56 -08:00
Vincent Demeester
c476b2e3b5 Merge pull request #19041 from Akasurde/11556
Updated documentation related to apt-cacher-ng
2016-01-15 22:44:46 +01:00
Alexander Morozov
402ba93f68 Merge pull request #19374 from Microsoft/jjh/termdeadcode
Windows: Remove dead/unused code
2016-01-15 13:30:23 -08:00
Phil Estes
dd104eb91d Merge pull request #19345 from tianon/fast-syscall-compile
Switch "syscall-test" image from "debian:jessie" to "buildpack-deps:jessie" so that "gcc" is already included
2016-01-15 16:06:14 -05:00
John Howard
76ebd3dd17 Windows: Remove dead code
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-15 12:48:40 -08:00
Phil Estes
bc13e4a99e Merge pull request #19369 from cpuguy83/19362_fix_exec_panic
Fix panic on starting exec more than once
2016-01-15 15:17:52 -05:00
John Howard
08fe0a18f8 Windows: Update makefile
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-15 11:45:13 -08:00
David Calavera
b63b43dc4c Merge pull request #19219 from runcom/add-log
integration-cli: log error when starting registry
2016-01-15 09:44:47 -08:00
Daniel Nephin
61a49bb6ba Remove the use of dockerversion from the registry package
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-15 12:43:54 -05:00
Brian Goff
1a60a805bf Fix panic on starting exec more than once
Issue was caused when exec is tarted, exits, then stated again.
In this case, `Close` is called twice, which closes a channel twice.

Changes execConfig.ExitCode to a pointer so we can test if the it has
been set or not.
This allows us to return early when the exec has already been run.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-01-15 11:57:23 -05:00
Tibor Vass
012a3b6e74 Merge pull request #19365 from tiborvass/bump_apiversion_to_v1.23
Bump API Version to v1.23
2016-01-15 10:48:15 -05:00
Tibor Vass
a0fab35fe8 Bump API Version to v1.23
Signed-off-by: Tibor Vass <tibor@docker.com>
2016-01-15 10:44:02 -05:00
Qiang Huang
66d24c2b44 Add support for build and test docker on arm64
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-01-15 14:25:03 +00:00
Stefan Scherer
6c88b8efea Add initial support building Windows docker in docker
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-01-15 00:20:50 +01:00
Tianon Gravi
9b2aab3fc8 Switch "syscall-test" image from "debian:jessie" to "buildpack-deps:jessie" so that "gcc" is already included
This results in a significant time savings during repeated builds (since we don't have to re-download gcc for every test run).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2016-01-14 13:51:30 -08:00
John Howard
6ca5a2c476 Windows: Remove linkmode internal hack
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-14 13:09:28 -08:00
André Martins
693b5c4298 Fixing TestInspectApiContainerVolumeDriver
Currently the TestInspectApiContainerVolumeDriver is testing the
existence of a volume driver without specifing any volume driver.
This commit fixes that.

Signed-off-by: André Martins <aanm90@gmail.com>
2016-01-14 03:22:53 +00:00
Christopher Jones
7465a3149f update registry and remove notary on ppc64le
ppc64le now installs the second registry used for
f11b6a2ab3

Also, removed notary until the change to go 1.5.1+

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
2016-01-13 13:55:29 -05:00
Jessica Frazelle
446f498eba refactor aaparser pkg, add unit tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-13 08:43:12 -08:00
Abhijeet Kasurde
ac627fbb38 Updated documentation related to apt-cacher-ng
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2016-01-12 05:14:45 -05:00
Qiang Huang
d104ddb564 Add DOCKER_BUILD_ARGS support for make build
We always need proxy for build, so we always use "docker build"
command instead of "make build", but now for some reasons, we need
macro defined in Makefile, so it would be helpful if we can use
"make build" without touching Dockerfile.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-01-12 15:15:17 +08:00
John Howard
a4b77dc1af Windows CI: Setup for testing against Windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-01-11 11:52:03 -08:00
Antonio Murdaca
55cec657bb integration-cli: log error when starting registry
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-01-11 20:16:13 +01:00
Stephen Rust
7c70ad058f Allow external volume drivers to host anonymous volumes and copy existing data from image.
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2016-01-08 15:06:42 -05:00
Lukas Waslowski
a4ce361ac8 Improve docs for Daemon.TagImage and dockerfile.BuildFromConfig.
Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
2016-01-08 14:51:09 +01:00
Avi Miller
c64f9407a4 Add missing ? to specfile variable.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2016-01-08 11:06:21 +11:00
Avi Miller
28f52bd06a Restoring the RPM build process for Oracle Linux 6 and updating the docker-engine.spec
file to require the Unbreakable Enterprise Kernel Release 4 on both Oracle Linux 6
and Oracle Linux 7.

The UEK R4 provides the required kernel functionality for VxLAN support
required by Docker 1.9 and user namespace support required for 1.10+.

The build of Docker on Oracle Linux 6 requires some manipulation of the build
environment so that the CGO compiler uses the UEK R4 headers instead of the old
default kernel headers.

Signed-off-by: Avi Miller <avi.miller@oracle.com>
2016-01-08 08:09:47 +11:00
3105 changed files with 349325 additions and 77166 deletions

51
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,51 @@
<!--
If you are reporting a new issue, make sure that we do not have any duplicates
already open. You can ensure this by searching the issue list for this
repository. If there is a duplicate, please close your issue and add a comment
to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to
include the BUG REPORT INFORMATION shown below. If you fail to provide this
information within 7 days, we cannot debug your issue and will close it. We
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
---------------------------------------------------
BUG REPORT INFORMATION
---------------------------------------------------
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.):**
**Steps to reproduce the issue:**
1.
2.
3.
**Describe the results you received:**
**Describe the results you expected:**
**Additional information you deem important (e.g. issue happens only occasionally):**

30
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,30 @@
<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/docker/docker/blob/master/CONTRIBUTING.md
** Make sure all your commits include a signature generated with `git commit -s` **
For additional information on our contributing process, read our contributing
guide https://docs.docker.com/opensource/code/
If this is a bug fix, make sure your description includes "fixes #xxxx", or
"closes #xxxx"
Please provide the following information:
-->
**- What I did**
**- How I did it**
**- How to verify it**
**- Description for the changelog**
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
**- A picture of a cute animal (not mandatory but encouraged)**

14
.gitignore vendored
View File

@@ -7,20 +7,13 @@
*.test
.*.swp
.DS_Store
# a .bashrc may be added to customize the build environment
.bashrc
.dotcloud
.flymake*
.git/
.gopath/
.hg/
.vagrant*
Vagrantfile
a.out
autogen/
bin
build_src
bundles/
docker/docker
cmd/dockerd/dockerd
cmd/docker/docker
dockerversion/version_autogen.go
docs/AWS_S3_BUCKET
docs/GITCOMMIT
@@ -34,5 +27,4 @@ docs/changed-files
man/man1
man/man5
man/man8
pyenv
vendor/pkg/

View File

@@ -90,10 +90,12 @@ Sven Dowideit <SvenDowideit@home.org.au>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@fosiki.com>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@docker.com>
Sven Dowideit <SvenDowideit@home.org.au> <¨SvenDowideit@home.org.au¨>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@home.org.au>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@users.noreply.github.com>
Sven Dowideit <SvenDowideit@home.org.au> <sven@t440s.home.gateway>
<alexl@redhat.com> <alexander.larsson@gmail.com>
Alexandr Morozov <lk4d4math@gmail.com>
Alexander Morozov <lk4d4@docker.com> <lk4d4math@gmail.com>
Alexander Morozov <lk4d4@docker.com>
<git.nivoc@neverbox.com> <kuehnle@online.de>
O.S. Tezer <ostezer@gmail.com>
<ostezer@gmail.com> <ostezer@users.noreply.github.com>
@@ -106,7 +108,9 @@ Roberto G. Hashioka <roberto.hashioka@docker.com> <roberto_hashioka@hotmail.com>
Sridhar Ratnakumar <sridharr@activestate.com>
Sridhar Ratnakumar <sridharr@activestate.com> <github@srid.name>
Liang-Chi Hsieh <viirya@gmail.com>
Aleksa Sarai <cyphar@cyphar.com>
Aleksa Sarai <asarai@suse.de>
Aleksa Sarai <asarai@suse.de> <asarai@suse.com>
Aleksa Sarai <asarai@suse.de> <cyphar@cyphar.com>
Will Weaver <monkey@buildingbananas.com>
Timothy Hobbs <timothyhobbs@seznam.cz>
Nathan LeClaire <nathan.leclaire@docker.com> <nathan.leclaire@gmail.com>
@@ -117,24 +121,27 @@ Nathan LeClaire <nathan.leclaire@docker.com> <nathanleclaire@gmail.com>
<marc@marc-abramowitz.com> <msabramo@gmail.com>
Matthew Heon <mheon@redhat.com> <mheon@mheonlaptop.redhat.com>
<bernat@luffy.cx> <vincent@bernat.im>
<bernat@luffy.cx> <Vincent.Bernat@exoscale.ch>
<p@pwaller.net> <peter@scraperwiki.com>
<andrew.weiss@outlook.com> <andrew.weiss@microsoft.com>
Francisco Carriedo <fcarriedo@gmail.com>
<julienbordellier@gmail.com> <git@julienbordellier.com>
<ahmetb@microsoft.com> <ahmetalpbalkan@gmail.com>
<lk4d4@docker.com> <lk4d4math@gmail.com>
<arnaud.porterie@docker.com> <icecrime@gmail.com>
<baloo@gandi.net> <superbaloo+registrations.github@superbaloo.net>
Brian Goff <cpuguy83@gmail.com>
<cpuguy83@gmail.com> <bgoff@cpuguy83-mbp.home>
<ewindisch@docker.com> <eric@windisch.us>
<eric@windisch.us> <ewindisch@docker.com>
<frank.rosquin+github@gmail.com> <frank.rosquin@gmail.com>
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@docker.com> Jessie Frazelle <jfrazelle@users.noreply.github.com>
<jess@docker.com> <jfrazelle@users.noreply.github.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>
<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>
@@ -142,6 +149,8 @@ Jessica Frazelle <jess@docker.com> Jessie Frazelle <jfrazelle@users.noreply.gith
Thomas LEVEIL <thomasleveil@gmail.com> Thomas LÉVEIL <thomasleveil@users.noreply.github.com>
<oi@truffles.me.uk> <timruffles@googlemail.com>
<Vincent.Bernat@exoscale.ch> <bernat@luffy.cx>
Antonio Murdaca <antonio.murdaca@gmail.com> <amurdaca@redhat.com>
Antonio Murdaca <antonio.murdaca@gmail.com> <runcom@redhat.com>
Antonio Murdaca <antonio.murdaca@gmail.com> <me@runcom.ninja>
Antonio Murdaca <antonio.murdaca@gmail.com> <runcom@linux.com>
Antonio Murdaca <antonio.murdaca@gmail.com> <runcom@users.noreply.github.com>
@@ -151,8 +160,10 @@ Deshi Xiao <dxiao@redhat.com> <xiaods@gmail.com>
Doug Davis <dug@us.ibm.com> <duglin@users.noreply.github.com>
Jacob Atzen <jacob@jacobatzen.dk> <jatzen@gmail.com>
Jeff Nickoloff <jeff.nickoloff@gmail.com> <jeff@allingeek.com>
<jess@docker.com> <princess@docker.com>
John Howard (VM) <John.Howard@microsoft.com> John Howard <jhoward@microsoft.com>
John Howard (VM) <John.Howard@microsoft.com> <jhowardmsft@users.noreply.github.com>
John Howard (VM) <John.Howard@microsoft.com>
John Howard (VM) <John.Howard@microsoft.com> <john.howard@microsoft.com>
John Howard (VM) <John.Howard@microsoft.com> <jhoward@microsoft.com>
Madhu Venugopal <madhu@socketplane.io> <madhu@docker.com>
Mary Anthony <mary.anthony@docker.com> <mary@docker.com>
Mary Anthony <mary.anthony@docker.com> moxiegirl <mary@docker.com>
@@ -169,3 +180,75 @@ bin liu <liubin0329@users.noreply.github.com> <liubin0329@gmail.com>
John Howard (VM) <John.Howard@microsoft.com> jhowardmsft <jhoward@microsoft.com>
Ankush Agarwal <ankushagarwal11@gmail.com> <ankushagarwal@users.noreply.github.com>
Tangi COLIN <tangicolin@gmail.com> tangicolin <tangicolin@gmail.com>
Allen Sun <allen.sun@daocloud.io>
Adrien Gallouët <adrien@gallouet.fr> <angt@users.noreply.github.com>
<aanm90@gmail.com> <martins@noironetworks.com>
Anuj Bahuguna <anujbahuguna.dev@gmail.com>
Anusha Ragunathan <anusha.ragunathan@docker.com> <anusha@docker.com>
Avi Miller <avi.miller@oracle.com> <avi.miller@gmail.com>
Brent Salisbury <brent.salisbury@docker.com> <brent@docker.com>
Chander G <chandergovind@gmail.com>
Chun Chen <ramichen@tencent.com> <chenchun.feed@gmail.com>
Ying Li <cyli@twistedmatrix.com>
Daehyeok Mun <daehyeok@gmail.com> <daehyeok@daehyeok-ui-MacBook-Air.local>
<dqminh@cloudflare.com> <dqminh89@gmail.com>
Daniel, Dao Quang Minh <dqminh@cloudflare.com>
Daniel Nephin <dnephin@docker.com> <dnephin@gmail.com>
Dave Tucker <dt@docker.com> <dave@dtucker.co.uk>
Doug Tangren <d.tangren@gmail.com>
Frederick F. Kautz IV <fkautz@redhat.com> <fkautz@alumni.cmu.edu>
Ben Golub <ben.golub@dotcloud.com>
Harold Cooper <hrldcpr@gmail.com>
hsinko <21551195@zju.edu.cn> <hsinko@users.noreply.github.com>
Josh Hawn <josh.hawn@docker.com> <jlhawn@berkeley.edu>
Justin Cormack <justin.cormack@docker.com>
<justin.cormack@docker.com> <justin.cormack@unikernel.com>
<justin.cormack@docker.com> <justin@specialbusservice.com>
Kamil Domański <kamil@domanski.co>
Lei Jitang <leijitang@huawei.com>
<leijitang@huawei.com> <leijitang@gmail.com>
Linus Heckemann <lheckemann@twig-world.com>
<lheckemann@twig-world.com> <anonymouse2048@gmail.com>
Lynda O'Leary <lyndaoleary29@gmail.com>
<lyndaoleary29@gmail.com> <lyndaoleary@hotmail.com>
Marianna Tessel <mtesselh@gmail.com>
Michael Huettermann <michael@huettermann.net>
Moysés Borges <moysesb@gmail.com>
<moysesb@gmail.com> <moyses.furtado@wplex.com.br>
Nigel Poulton <nigelpoulton@hotmail.com>
Qiang Huang <h.huangqiang@huawei.com>
<h.huangqiang@huawei.com> <qhuang@10.0.2.15>
Boaz Shuster <ripcurld.github@gmail.com>
Shuwei Hao <haosw@cn.ibm.com>
<haosw@cn.ibm.com> <haoshuwei24@gmail.com>
Soshi Katsuta <soshi.katsuta@gmail.com>
<soshi.katsuta@gmail.com> <katsuta_soshi@cyberagent.co.jp>
Stefan Berger <stefanb@linux.vnet.ibm.com>
<stefanb@linux.vnet.ibm.com> <stefanb@us.ibm.com>
Stephen Day <stephen.day@docker.com>
<stephen.day@docker.com> <stevvooe@users.noreply.github.com>
Toli Kuznets <toli@docker.com>
Tristan Carel <tristan@cogniteev.com>
<tristan@cogniteev.com> <tristan.carel@gmail.com>
Vincent Demeester <vincent@sbr.pm>
<vincent@sbr.pm> <vincent+github@demeester.fr>
Vishnu Kannan <vishnuk@google.com>
xlgao-zju <xlgao@zju.edu.cn> xlgao <xlgao@zju.edu.cn>
yuchangchun <yuchangchun1@huawei.com> y00277921 <yuchangchun1@huawei.com>
<zij@case.edu> <zjaffee@us.ibm.com>
<anujbahuguna.dev@gmail.com> <abahuguna@fiberlink.com>
<eungjun.yi@navercorp.com> <semtlenori@gmail.com>
<haosw@cn.ibm.com> <haoshuwei1989@163.com>
Hao Shu Wei <haosw@cn.ibm.com>
<matt.bentley@docker.com> <mbentley@mbentley.net>
<MihaiBorob@gmail.com> <MihaiBorobocea@gmail.com>
<redmond.martin@gmail.com> <xgithub@redmond5.com>
<redmond.martin@gmail.com> <martin@tinychat.com>
<srbrahma@us.ibm.com> <sbrahma@us.ibm.com>
<suda.akihiro@lab.ntt.co.jp> <suda.kyoto@gmail.com>
<thomas@gazagnaire.org> <thomas@gazagnaire.com>
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>

533
AUTHORS

File diff suppressed because it is too large Load Diff

View File

@@ -2,9 +2,575 @@
Items starting with `DEPRECATE` are important deprecation notices. For more
information on the list of deprecated flags and APIs please have a look at
https://docs.docker.com/misc/deprecated/ where target removal dates can also
https://docs.docker.com/engine/deprecated/ where target removal dates can also
be found.
## 1.12.0 (2016-07-14)
### Builder
+ New `HEALTHCHECK` Dockerfile instruction to support user-defined healthchecks [#23218](https://github.com/docker/docker/pull/23218)
+ New `SHELL` Dockerfile instruction to specify the default shell when using the shell form for commands in a Dockerfile [#22489](https://github.com/docker/docker/pull/22489)
+ Add `#escape=` Dockerfile directive to support platform-specific parsing of file paths in Dockerfile [#22268](https://github.com/docker/docker/pull/22268)
+ Add support for comments in `.dockerignore` [#23111](https://github.com/docker/docker/pull/23111)
* Support for UTF-8 in Dockerfiles [#23372](https://github.com/docker/docker/pull/23372)
* Skip UTF-8 BOM bytes from `Dockerfile` and `.dockerignore` if exist [#23234](https://github.com/docker/docker/pull/23234)
* Windows: support for `ARG` to match Linux [#22508](https://github.com/docker/docker/pull/22508)
- Fix error message when building using a daemon with the bridge network disabled [#22932](https://github.com/docker/docker/pull/22932)
### Contrib
* Enable seccomp for Centos 7 and Oracle Linux 7 [#22344](https://github.com/docker/docker/pull/22344)
- Remove MountFlags in systemd unit to allow shared mount propagation [#22806](https://github.com/docker/docker/pull/22806)
### Distribution
+ Add `--max-concurrent-downloads` and `--max-concurrent-uploads` daemon flags useful for situations where network connections don't support multiple downloads/uploads [#22445](https://github.com/docker/docker/pull/22445)
* Registry operations now honor the `ALL_PROXY` environment variable [#22316](https://github.com/docker/docker/pull/22316)
* Provide more information to the user on `docker load` [#23377](https://github.com/docker/docker/pull/23377)
### Logging
+ Syslog logging driver now supports DGRAM sockets [#21613](https://github.com/docker/docker/pull/21613)
+ Add `--details` option to `docker logs` to also display log tags [#21889](https://github.com/docker/docker/pull/21889)
+ Enable syslog logger to have access to env and labels [#21724](https://github.com/docker/docker/pull/21724)
+ An additional syslog-format option `rfc5424micro` to allow microsecond resolution in syslog timestamp [#21844](https://github.com/docker/docker/pull/21844)
* Inherit the daemon log options when creating containers [#21153](https://github.com/docker/docker/pull/21153)
* Remove `docker/` prefix from log messages tag and replace it with `{{.DaemonName}}` so that users have the option of changing the prefix [#22384](https://github.com/docker/docker/pull/22384)
### Networking
+ Built-in Virtual-IP based internal and ingress load-balancing using IPVS [#23361](https://github.com/docker/docker/pull/23361)
+ Secured multi-host overlay networking using encrypted control-plane and Data-plane [#23361](https://github.com/docker/docker/pull/23361)
+ MacVlan driver is out of experimental [#23524](https://github.com/docker/docker/pull/23524)
+ Add `driver` filter to `network ls` [#22319](https://github.com/docker/docker/pull/22319)
+ Adding `network` filter to `docker ps --filter` [#23300](https://github.com/docker/docker/pull/23300)
+ Add `--link-local-ip` flag to `create`, `run` and `network connect` to specify a container's link-local address [#23415](https://github.com/docker/docker/pull/23415)
+ Add network label filter support [#21495](https://github.com/docker/docker/pull/21495)
* Removed dependency on external KV-Store for Overlay networking in Swarm-Mode [#23361](https://github.com/docker/docker/pull/23361)
* Add container's short-id as default network alias [#21901](https://github.com/docker/docker/pull/21901)
* `run` options `--dns` and `--net=host` are no longer mutually exclusive [#22408](https://github.com/docker/docker/pull/22408)
- Fix DNS issue when renaming containers with generated names [#22716](https://github.com/docker/docker/pull/22716)
- Allow both `network inspect -f {{.Id}}` and `network inspect -f {{.ID}}` to address inconsistency with inspect output [#23226](https://github.com/docker/docker/pull/23226)
### Plugins (experimental)
+ New `plugin` command to manager plugins with `install`, `enable`, `disable`, `rm`, `inspect`, `set` subcommands [#23446](https://github.com/docker/docker/pull/23446)
### Remote API (v1.24) & Client
+ Split the binary into two: `docker` (client) and `dockerd` (daemon) [#20639](https://github.com/docker/docker/pull/20639)
+ Add `before` and `since` filters to `docker images --filter` [#22908](https://github.com/docker/docker/pull/22908)
+ Add `--limit` option to `docker search` [#23107](https://github.com/docker/docker/pull/23107)
+ Add `--filter` option to `docker search` [#22369](https://github.com/docker/docker/pull/22369)
+ Add security options to `docker info` output [#21172](https://github.com/docker/docker/pull/21172) [#23520](https://github.com/docker/docker/pull/23520)
+ Add insecure registries to `docker info` output [#20410](https://github.com/docker/docker/pull/20410)
+ Extend Docker authorization with TLS user information [#21556](https://github.com/docker/docker/pull/21556)
+ devicemapper: expose Mininum Thin Pool Free Space through `docker info` [#21945](https://github.com/docker/docker/pull/21945)
* API now returns a JSON object when an error occurs making it more consistent [#22880](https://github.com/docker/docker/pull/22880)
- Prevent `docker run -i --restart` from hanging on exit [#22777](https://github.com/docker/docker/pull/22777)
- Fix API/CLI discrepancy on hostname validation [#21641](https://github.com/docker/docker/pull/21641)
- Fix discrepancy in the format of sizes in `stats` from HumanSize to BytesSize [#21773](https://github.com/docker/docker/pull/21773)
- authz: when request is denied return forbbiden exit code (403) [#22448](https://github.com/docker/docker/pull/22448)
### Runtime
+ Add `--live-restore` daemon flag to keep containers running when daemon shuts down, and regain control on startup [#23213](https://github.com/docker/docker/pull/23213)
+ Ability to add OCI-compatible runtimes (via `--add-runtime` daemon flag) and select one with `--runtime` on `create` and `run` [#22983](https://github.com/docker/docker/pull/22983)
+ New `overlay2` graphdriver for Linux 4.0+ with multiple lower directory support [#22126](https://github.com/docker/docker/pull/22126)
+ New load/save image events [#22137](https://github.com/docker/docker/pull/22137)
+ Add support for reloading daemon configuration through systemd [#22446](https://github.com/docker/docker/pull/22446)
+ Add disk quota support for btrfs [#19651](https://github.com/docker/docker/pull/19651)
+ Add disk quota support for zfs [#21946](https://github.com/docker/docker/pull/21946)
+ Add support for `docker run --pid=container:<id>` [#22481](https://github.com/docker/docker/pull/22481)
+ Align default seccomp profile with selected capabilities [#22554](https://github.com/docker/docker/pull/22554)
+ Add a `daemon reload` event when the daemon reloads its configuration [#22590](https://github.com/docker/docker/pull/22590)
+ Add `trace` capability in the pprof profiler to show execution traces in binary form [#22715](https://github.com/docker/docker/pull/22715)
+ Add a `detach` event [#22898](https://github.com/docker/docker/pull/22898)
+ Add support for setting sysctls with `--sysctl` [#19265](https://github.com/docker/docker/pull/19265)
+ Add `--storage-opt` flag to `create` and `run` allowing to set `size` on devicemapper [#19367](https://github.com/docker/docker/pull/19367)
* Undeprecate the `-c` short alias of `--cpu-shares` on `run`, `build`, `create`, `update` [#22621](https://github.com/docker/docker/pull/22621)
* Prevent from using aufs and overlay graphdrivers on an eCryptfs mount [#23121](https://github.com/docker/docker/pull/23121)
- Fix issues with tmpfs mount ordering [#22329](https://github.com/docker/docker/pull/22329)
- Created containers are no longer listed on `docker ps -a -f exited=0` [#21947](https://github.com/docker/docker/pull/21947)
- Fix an issue where containers are stuck in a "Removal In Progress" state [#22423](https://github.com/docker/docker/pull/22423)
- Fix bug that was returning an HTTP 500 instead of a 400 when not specifying a command on run/create [#22762](https://github.com/docker/docker/pull/22762)
- Fix bug with `--detach-keys` whereby input matching a prefix of the detach key was not preserved [#22943](https://github.com/docker/docker/pull/22943)
- SELinux labeling is now disabled when using `--privileged` mode [#22993](https://github.com/docker/docker/pull/22993)
- If volume-mounted into a container, `/etc/hosts`, `/etc/resolv.conf`, `/etc/hostname` are no longer SELinux-relabeled [#22993](https://github.com/docker/docker/pull/22993)
- Fix inconsistency in `--tmpfs` behavior regarding mount options [#22438](https://github.com/docker/docker/pull/22438)
- Fix an issue where daemon hangs at startup [#23148](https://github.com/docker/docker/pull/23148)
- Ignore SIGPIPE events to prevent journald restarts to crash docker in some cases [#22460](https://github.com/docker/docker/pull/22460)
- Containers are not removed from stats list on error [#20835](https://github.com/docker/docker/pull/20835)
- Fix `on-failure` restart policy when daemon restarts [#20853](https://github.com/docker/docker/pull/20853)
- Fix an issue with `stats` when a container is using another container's network [#21904](https://github.com/docker/docker/pull/21904)
### Swarm Mode
+ New `swarm` command to manage swarms with `init`, `join`, `leave`, `update` subcommands [#23361](https://github.com/docker/docker/pull/23361)
+ New `service` command to manage swarm-wide services with `create`, `inspect`, `update`, `remove`, `tasks` subcommands [#23361](https://github.com/docker/docker/pull/23361)
+ New `node` command to manage nodes with `accept`, `promote`, `demote`, `inspect`, `update`, `tasks`, `ls` and `rm` subcommands [#23361](https://github.com/docker/docker/pull/23361)
+ (experimental) New `stack` and `deploy` commands to manage and deploy multi-service applications [#23522](https://github.com/docker/docker/pull/23522)
### Volume
+ Add support for local and global volume scopes (analogous to network scopes) [#22077](https://github.com/docker/docker/pull/22077)
+ Allow volume drivers to provide a `Status` field [#21006](https://github.com/docker/docker/pull/21006)
+ Add name/driver filter support for volume [#21361](https://github.com/docker/docker/pull/21361)
* Mount/Unmount operations now receives an opaque ID to allow volume drivers to differentiate between two callers [#21015](https://github.com/docker/docker/pull/21015)
- Fix issue preventing to remove a volume in a corner case [#22103](https://github.com/docker/docker/pull/22103)
- Windows: Enable auto-creation of host-path to match Linux [#22094](https://github.com/docker/docker/pull/22094)
### DEPRECATION
* 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)
* Remove deprecated `-f`/`--force` flag on docker tag [#23090](https://github.com/docker/docker/pull/23090)
* Remove deprecated `/containers/<id|name>/copy` endpoint [#22149](https://github.com/docker/docker/pull/22149)
* Remove deprecated `docker ps` flags `--since` and `--before` [#22138](https://github.com/docker/docker/pull/22138)
* Deprecate the old 3-args form of `docker import` [#23273](https://github.com/docker/docker/pull/23273)
## 1.11.2 (2016-05-31)
### Networking
- Fix a stale endpoint issue on overlay networks during ungraceful restart ([#23015](https://github.com/docker/docker/pull/23015))
- Fix an issue where the wrong port could be reported by `docker inspect/ps/port` ([#22997](https://github.com/docker/docker/pull/22997))
### Runtime
- Fix a potential panic when running `docker build` ([#23032](https://github.com/docker/docker/pull/23032))
- Fix interpretation of `--user` parameter ([#22998](https://github.com/docker/docker/pull/22998))
- Fix a bug preventing container statistics to be correctly reported ([#22955](https://github.com/docker/docker/pull/22955))
- Fix an issue preventing container to be restarted after daemon restart ([#22947](https://github.com/docker/docker/pull/22947))
- Fix issues when running 32 bit binaries on Ubuntu 16.04 ([#22922](https://github.com/docker/docker/pull/22922))
- Fix a possible deadlock on image deletion and container attach ([#22918](https://github.com/docker/docker/pull/22918))
- Fix an issue where containers fail to start after a daemon restart if they depend on a containerized cluster store ([#22561](https://github.com/docker/docker/pull/22561))
- Fix an issue causing `docker ps` to hang on CentOS when using devicemapper ([#22168](https://github.com/docker/docker/pull/22168), [#23067](https://github.com/docker/docker/pull/23067))
- Fix a bug preventing to `docker exec` into a container when using devicemapper ([#22168](https://github.com/docker/docker/pull/22168), [#23067](https://github.com/docker/docker/pull/23067))
## 1.11.1 (2016-04-26)
### Distribution
- Fix schema2 manifest media type to be of type `application/vnd.docker.container.image.v1+json` ([#21949](https://github.com/docker/docker/pull/21949))
### Documentation
+ Add missing API documentation for changes introduced with 1.11.0 ([#22048](https://github.com/docker/docker/pull/22048))
### Builder
* Append label passed to `docker build` as arguments as an implicit `LABEL` command at the end of the processed `Dockerfile` ([#22184](https://github.com/docker/docker/pull/22184))
### Networking
- Fix a panic that would occur when forwarding DNS query ([#22261](https://github.com/docker/docker/pull/22261))
- Fix an issue where OS threads could end up within an incorrect network namespace when using user defined networks ([#22261](https://github.com/docker/docker/pull/22261))
### Runtime
- Fix a bug preventing labels configuration to be reloaded via the config file ([#22299](https://github.com/docker/docker/pull/22299))
- Fix a regression where container mounting `/var/run` would prevent other containers from being removed ([#22256](https://github.com/docker/docker/pull/22256))
- Fix an issue where it would be impossible to update both `memory-swap` and `memory` value together ([#22255](https://github.com/docker/docker/pull/22255))
- Fix a regression from 1.11.0 where the `/auth` endpoint would not initialize `serveraddress` if it is not provided ([#22254](https://github.com/docker/docker/pull/22254))
- Add missing cleanup of container temporary files when cancelling a schedule restart ([#22237](https://github.com/docker/docker/pull/22237))
- Remove scary error message when no restart policy is specified ([#21993](https://github.com/docker/docker/pull/21993))
- Fix a panic that would occur when the plugins were activated via the json spec ([#22191](https://github.com/docker/docker/pull/22191))
- Fix restart backoff logic to correctly reset delay if container ran for at least 10secs ([#22125](https://github.com/docker/docker/pull/22125))
- Remove error message when a container restart get cancelled ([#22123](https://github.com/docker/docker/pull/22123))
- Fix an issue where `docker` would not correctly clean up after `docker exec` ([#22121](https://github.com/docker/docker/pull/22121))
- Fix a panic that could occur when serving concurrent `docker stats` commands ([#22120](https://github.com/docker/docker/pull/22120))`
- Revert deprecation of non-existent host directories auto-creation ([#22065](https://github.com/docker/docker/pull/22065))
- Hide misleading rpc error on daemon shutdown ([#22058](https://github.com/docker/docker/pull/22058))
## 1.11.0 (2016-04-13)
**IMPORTANT**: With Docker 1.11, a Linux docker installation is now made of 4 binaries (`docker`, [`docker-containerd`](https://github.com/docker/containerd), [`docker-containerd-shim`](https://github.com/docker/containerd) and [`docker-runc`](https://github.com/opencontainers/runc)). If you have scripts relying on docker being a single static binaries, please make sure to update them. Interaction with the daemon stay the same otherwise, the usage of the other binaries should be transparent. A Windows docker installation remains a single binary, `docker.exe`.
### Builder
- Fix a bug where Docker would not use the correct uid/gid when processing the `WORKDIR` command ([#21033](https://github.com/docker/docker/pull/21033))
- Fix a bug where copy operations with userns would not use the proper uid/gid ([#20782](https://github.com/docker/docker/pull/20782), [#21162](https://github.com/docker/docker/pull/21162))
### Client
* Usage of the `:` separator for security option has been deprecated. `=` should be used instead ([#21232](https://github.com/docker/docker/pull/21232))
+ The client user agent is now passed to the registry on `pull`, `build`, `push`, `login` and `search` operations ([#21306](https://github.com/docker/docker/pull/21306), [#21373](https://github.com/docker/docker/pull/21373))
* Allow setting the Domainname and Hostname separately through the API ([#20200](https://github.com/docker/docker/pull/20200))
* Docker info will now warn users if it can not detect the kernel version or the operating system ([#21128](https://github.com/docker/docker/pull/21128))
- Fix an issue where `docker stats --no-stream` output could be all 0s ([#20803](https://github.com/docker/docker/pull/20803))
- Fix a bug where some newly started container would not appear in a running `docker stats` command ([#20792](https://github.com/docker/docker/pull/20792))
* Post processing is no longer enabled for linux-cgo terminals ([#20587](https://github.com/docker/docker/pull/20587))
- Values to `--hostname` are now refused if they do not comply with [RFC1123](https://tools.ietf.org/html/rfc1123) ([#20566](https://github.com/docker/docker/pull/20566))
+ Docker learned how to use a SOCKS proxy ([#20366](https://github.com/docker/docker/pull/20366), [#18373](https://github.com/docker/docker/pull/18373))
+ Docker now supports external credential stores ([#20107](https://github.com/docker/docker/pull/20107))
* `docker ps` now supports displaying the list of volumes mounted inside a container ([#20017](https://github.com/docker/docker/pull/20017))
* `docker info` now also reports Docker's root directory location ([#19986](https://github.com/docker/docker/pull/19986))
- Docker now prohibits login in with an empty username (spaces are trimmed) ([#19806](https://github.com/docker/docker/pull/19806))
* Docker events attributes are now sorted by key ([#19761](https://github.com/docker/docker/pull/19761))
* `docker ps` no longer shows exported port for stopped containers ([#19483](https://github.com/docker/docker/pull/19483))
- Docker now cleans after itself if a save/export command fails ([#17849](https://github.com/docker/docker/pull/17849))
* Docker load learned how to display a progress bar ([#17329](https://github.com/docker/docker/pull/17329), [#120078](https://github.com/docker/docker/pull/20078))
### Distribution
- Fix a panic that occurred when pulling an image with 0 layers ([#21222](https://github.com/docker/docker/pull/21222))
- Fix a panic that could occur on error while pushing to a registry with a misconfigured token service ([#21212](https://github.com/docker/docker/pull/21212))
+ All first-level delegation roles are now signed when doing a trusted push ([#21046](https://github.com/docker/docker/pull/21046))
+ OAuth support for registries was added ([#20970](https://github.com/docker/docker/pull/20970))
* `docker login` now handles token using the implementation found in [docker/distribution](https://github.com/docker/distribution) ([#20832](https://github.com/docker/docker/pull/20832))
* `docker login` will no longer prompt for an email ([#20565](https://github.com/docker/docker/pull/20565))
* Docker will now fallback to registry V1 if no basic auth credentials are available ([#20241](https://github.com/docker/docker/pull/20241))
* Docker will now try to resume layer download where it left off after a network error/timeout ([#19840](https://github.com/docker/docker/pull/19840))
- Fix generated manifest mediaType when pushing cross-repository ([#19509](https://github.com/docker/docker/pull/19509))
- Fix docker requesting additional push credentials when pulling an image if Content Trust is enabled ([#20382](https://github.com/docker/docker/pull/20382))
### Logging
- Fix a race in the journald log driver ([#21311](https://github.com/docker/docker/pull/21311))
* Docker syslog driver now uses the RFC-5424 format when emitting logs ([#20121](https://github.com/docker/docker/pull/20121))
* Docker GELF log driver now allows to specify the compression algorithm and level via the `gelf-compression-type` and `gelf-compression-level` options ([#19831](https://github.com/docker/docker/pull/19831))
* Docker daemon learned to output uncolorized logs via the `--raw-logs` options ([#19794](https://github.com/docker/docker/pull/19794))
+ Docker, on Windows platform, now includes an ETW (Event Tracing in Windows) logging driver named `etwlogs` ([#19689](https://github.com/docker/docker/pull/19689))
* Journald log driver learned how to handle tags ([#19564](https://github.com/docker/docker/pull/19564))
+ The fluentd log driver learned the following options: `fluentd-address`, `fluentd-buffer-limit`, `fluentd-retry-wait`, `fluentd-max-retries` and `fluentd-async-connect` ([#19439](https://github.com/docker/docker/pull/19439))
+ Docker learned to send log to Google Cloud via the new `gcplogs` logging driver. ([#18766](https://github.com/docker/docker/pull/18766))
### Misc
+ When saving linked images together with `docker save` a subsequent `docker load` will correctly restore their parent/child relationship ([#21385](https://github.com/docker/docker/pull/21385))
+ Support for building the Docker cli for OpenBSD was added ([#21325](https://github.com/docker/docker/pull/21325))
+ Labels can now be applied at network, volume and image creation ([#21270](https://github.com/docker/docker/pull/21270))
* The `dockremap` is now created as a system user ([#21266](https://github.com/docker/docker/pull/21266))
- Fix a few response body leaks ([#21258](https://github.com/docker/docker/pull/21258))
- Docker, when run as a service with systemd, will now properly manage its processes cgroups ([#20633](https://github.com/docker/docker/pull/20633))
* `docker info` now reports the value of cgroup KernelMemory or emits a warning if it is not supported ([#20863](https://github.com/docker/docker/pull/20863))
* `docker info` now also reports the cgroup driver in use ([#20388](https://github.com/docker/docker/pull/20388))
* Docker completion is now available on PowerShell ([#19894](https://github.com/docker/docker/pull/19894))
* `dockerinit` is no more ([#19490](https://github.com/docker/docker/pull/19490),[#19851](https://github.com/docker/docker/pull/19851))
+ Support for building Docker on arm64 was added ([#19013](https://github.com/docker/docker/pull/19013))
+ Experimental support for building docker.exe in a native Windows Docker installation ([#18348](https://github.com/docker/docker/pull/18348))
### Networking
- Fix panic if a node is forcibly removed from the cluster ([#21671](https://github.com/docker/docker/pull/21671))
- Fix "error creating vxlan interface" when starting a container in a Swarm cluster ([#21671](https://github.com/docker/docker/pull/21671))
* `docker network inspect` will now report all endpoints whether they have an active container or not ([#21160](https://github.com/docker/docker/pull/21160))
+ Experimental support for the MacVlan and IPVlan network drivers has been added ([#21122](https://github.com/docker/docker/pull/21122))
* Output of `docker network ls` is now sorted by network name ([#20383](https://github.com/docker/docker/pull/20383))
- Fix a bug where Docker would allow a network to be created with the reserved `default` name ([#19431](https://github.com/docker/docker/pull/19431))
* `docker network inspect` returns whether a network is internal or not ([#19357](https://github.com/docker/docker/pull/19357))
+ Control IPv6 via explicit option when creating a network (`docker network create --ipv6`). This shows up as a new `EnableIPv6` field in `docker network inspect` ([#17513](https://github.com/docker/docker/pull/17513))
* Support for AAAA Records (aka IPv6 Service Discovery) in embedded DNS Server ([#21396](https://github.com/docker/docker/pull/21396))
- Fix to not forward docker domain IPv6 queries to external servers ([#21396](https://github.com/docker/docker/pull/21396))
* Multiple A/AAAA records from embedded DNS Server for DNS Round robin ([#21019](https://github.com/docker/docker/pull/21019))
- Fix endpoint count inconsistency after an ungraceful dameon restart ([#21261](https://github.com/docker/docker/pull/21261))
- Move the ownership of exposed ports and port-mapping options from Endpoint to Sandbox ([#21019](https://github.com/docker/docker/pull/21019))
- Fixed a bug which prevents docker reload when host is configured with ipv6.disable=1 ([#21019](https://github.com/docker/docker/pull/21019))
- Added inbuilt nil IPAM driver ([#21019](https://github.com/docker/docker/pull/21019))
- Fixed bug in iptables.Exists() logic [#21019](https://github.com/docker/docker/pull/21019)
- Fixed a Veth interface leak when using overlay network ([#21019](https://github.com/docker/docker/pull/21019))
- Fixed a bug which prevents docker reload after a network delete during shutdown ([#20214](https://github.com/docker/docker/pull/20214))
- Make sure iptables chains are recreated on firewalld reload ([#20419](https://github.com/docker/docker/pull/20419))
- Allow to pass global datastore during config reload ([#20419](https://github.com/docker/docker/pull/20419))
- For anonymous containers use the alias name for IP to name mapping, ie:DNS PTR record ([#21019](https://github.com/docker/docker/pull/21019))
- Fix a panic when deleting an entry from /etc/hosts file ([#21019](https://github.com/docker/docker/pull/21019))
- Source the forwarded DNS queries from the container net namespace ([#21019](https://github.com/docker/docker/pull/21019))
- Fix to retain the network internal mode config for bridge networks on daemon reload ([#21780] (https://github.com/docker/docker/pull/21780))
- Fix to retain IPAM driver option configs on daemon reload ([#21914] (https://github.com/docker/docker/pull/21914))
### Plugins
- Fix a file descriptor leak that would occur every time plugins were enumerated ([#20686](https://github.com/docker/docker/pull/20686))
- Fix an issue where Authz plugin would corrupt the payload body when faced with a large amount of data ([#20602](https://github.com/docker/docker/pull/20602))
### Runtime
- 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))
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))
+ Docker Windows gained a minimal `top` implementation ([#21354](https://github.com/docker/docker/pull/21354))
* Docker learned to report the faulty exe when a container cannot be started due to its condition ([#21345](https://github.com/docker/docker/pull/21345))
* Docker with device mapper will now refuse to run if `udev sync` is not available ([#21097](https://github.com/docker/docker/pull/21097))
- Fix a bug where Docker would not validate the config file upon configuration reload ([#21089](https://github.com/docker/docker/pull/21089))
- Fix a hang that would happen on attach if initial start was to fail ([#21048](https://github.com/docker/docker/pull/21048))
- Fix an issue where registry service options in the daemon configuration file were not properly taken into account ([#21045](https://github.com/docker/docker/pull/21045))
- Fix a race between the exec and resize operations ([#21022](https://github.com/docker/docker/pull/21022))
- Fix an issue where nanoseconds were not correctly taken in account when filtering Docker events ([#21013](https://github.com/docker/docker/pull/21013))
- Fix the handling of Docker command when passed a 64 bytes id ([#21002](https://github.com/docker/docker/pull/21002))
* Docker will now return a `204` (i.e http.StatusNoContent) code when it successfully deleted a network ([#20977](https://github.com/docker/docker/pull/20977))
- Fix a bug where the daemon would wait indefinitely in case the process it was about to killed had already exited on its own ([#20967](https://github.com/docker/docker/pull/20967)
* The devmapper driver learned the `dm.min_free_space` option. If the mapped device free space reaches the passed value, new device creation will be prohibited. ([#20786](https://github.com/docker/docker/pull/20786))
+ Docker can now prevent processes in container to gain new privileges via the `--security-opt=no-new-privileges` flag ([#20727](https://github.com/docker/docker/pull/20727))
- Starting a container with the `--device` option will now correctly resolves symlinks ([#20684](https://github.com/docker/docker/pull/20684))
+ Docker now relies on [`containerd`](https://github.com/docker/containerd) and [`runc`](https://github.com/opencontainers/runc) to spawn containers. ([#20662](https://github.com/docker/docker/pull/20662))
- Fix docker configuration reloading to only alter value present in the given config file ([#20604](https://github.com/docker/docker/pull/20604))
+ Docker now allows setting a container hostname via the `--hostname` flag when `--net=host` ([#20177](https://github.com/docker/docker/pull/20177))
+ Docker now allows executing privileged container while running with `--userns-remap` if both `--privileged` and the new `--userns=host` flag are specified ([#20111](https://github.com/docker/docker/pull/20111))
- Fix Docker not cleaning up correctly old containers upon restarting after a crash ([#19679](https://github.com/docker/docker/pull/19679))
* Docker will now error out if it doesn't recognize a configuration key within the config file ([#19517](https://github.com/docker/docker/pull/19517))
- Fix container loading, on daemon startup, when they depends on a plugin running within a container ([#19500](https://github.com/docker/docker/pull/19500))
* `docker update` learned how to change a container restart policy ([#19116](https://github.com/docker/docker/pull/19116))
* `docker inspect` now also returns a new `State` field containing the container state in a human readable way (i.e. one of `created`, `restarting`, `running`, `paused`, `exited` or `dead`)([#18966](https://github.com/docker/docker/pull/18966))
+ Docker learned to limit the number of active pids (i.e. processes) within the container via the `pids-limit` flags. NOTE: This requires `CGROUP_PIDS=y` to be in the kernel configuration. ([#18697](https://github.com/docker/docker/pull/18697))
- `docker load` now has a `--quiet` option to suppress the load output ([#20078](https://github.com/docker/docker/pull/20078))
- Fix a bug in neighbor discovery for IPv6 peers ([#20842](https://github.com/docker/docker/pull/20842))
- Fix a panic during cleanup if a container was started with invalid options ([#21802](https://github.com/docker/docker/pull/21802))
- Fix a situation where a container cannot be stopped if the terminal is closed ([#21840](https://github.com/docker/docker/pull/21840))
### Security
* Object with the `pcp_pmcd_t` selinux type were given management access to `/var/lib/docker(/.*)?` ([#21370](https://github.com/docker/docker/pull/21370))
* `restart_syscall`, `copy_file_range`, `mlock2` joined the list of allowed calls in the default seccomp profile ([#21117](https://github.com/docker/docker/pull/21117), [#21262](https://github.com/docker/docker/pull/21262))
* `send`, `recv` and `x32` were added to the list of allowed syscalls and arch in the default seccomp profile ([#19432](https://github.com/docker/docker/pull/19432))
* Docker Content Trust now requests the server to perform snapshot signing ([#21046](https://github.com/docker/docker/pull/21046))
* Support for using YubiKeys for Content Trust signing has been moved out of experimental ([#21591](https://github.com/docker/docker/pull/21591))
### Volumes
* Output of `docker volume ls` is now sorted by volume name ([#20389](https://github.com/docker/docker/pull/20389))
* Local volumes can now accept options similar to the unix `mount` tool ([#20262](https://github.com/docker/docker/pull/20262))
- Fix an issue where one letter directory name could not be used as source for volumes ([#21106](https://github.com/docker/docker/pull/21106))
+ `docker run -v` now accepts a new flag `nocopy`. This tells the runtime not to copy the container path content into the volume (which is the default behavior) ([#21223](https://github.com/docker/docker/pull/21223))
## 1.10.3 (2016-03-10)
### Runtime
- Fix Docker client exiting with an "Unrecognized input header" error [#20706](https://github.com/docker/docker/pull/20706)
- Fix Docker exiting if Exec is started with both `AttachStdin` and `Detach` [#20647](https://github.com/docker/docker/pull/20647)
### Distribution
- Fix a crash when pushing multiple images sharing the same layers to the same repository in parallel [#20831](https://github.com/docker/docker/pull/20831)
- Fix a panic when pushing images to a registry which uses a misconfigured token service [#21030](https://github.com/docker/docker/pull/21030)
### Plugin system
- Fix issue preventing volume plugins to start when SELinux is enabled [#20834](https://github.com/docker/docker/pull/20834)
- Prevent Docker from exiting if a volume plugin returns a null response for Get requests [#20682](https://github.com/docker/docker/pull/20682)
- Fix plugin system leaking file descriptors if a plugin has an error [#20680](https://github.com/docker/docker/pull/20680)
### Security
- Fix linux32 emulation to fail during docker build [#20672](https://github.com/docker/docker/pull/20672)
It was due to the `personality` syscall being blocked by the default seccomp profile.
- Fix Oracle XE 10g failing to start in a container [#20981](https://github.com/docker/docker/pull/20981)
It was due to the `ipc` syscall being blocked by the default seccomp profile.
- Fix user namespaces not working on Linux From Scratch [#20685](https://github.com/docker/docker/pull/20685)
- Fix issue preventing daemon to start if userns is enabled and the `subuid` or `subgid` files contain comments [#20725](https://github.com/docker/docker/pull/20725)
## 1.10.2 (2016-02-22)
### Runtime
- Prevent systemd from deleting containers' cgroups when its configuration is reloaded [#20518](https://github.com/docker/docker/pull/20518)
- Fix SELinux issues by disregarding `--read-only` when mounting `/dev/mqueue` [#20333](https://github.com/docker/docker/pull/20333)
- Fix chown permissions used during `docker cp` when userns is used [#20446](https://github.com/docker/docker/pull/20446)
- Fix configuration loading issue with all booleans defaulting to `true` [#20471](https://github.com/docker/docker/pull/20471)
- Fix occasional panic with `docker logs -f` [#20522](https://github.com/docker/docker/pull/20522)
### Distribution
- Keep layer reference if deletion failed to avoid a badly inconsistent state [#20513](https://github.com/docker/docker/pull/20513)
- Handle gracefully a corner case when canceling migration [#20372](https://github.com/docker/docker/pull/20372)
- Fix docker import on compressed data [#20367](https://github.com/docker/docker/pull/20367)
- Fix tar-split files corruption during migration that later cause docker push and docker save to fail [#20458](https://github.com/docker/docker/pull/20458)
### Networking
- Fix daemon crash if embedded DNS is sent garbage [#20510](https://github.com/docker/docker/pull/20510)
### Volumes
- Fix issue with multiple volume references with same name [#20381](https://github.com/docker/docker/pull/20381)
### Security
- Fix potential cache corruption and delegation conflict issues [#20523](https://github.com/docker/docker/pull/20523)
## 1.10.1 (2016-02-11)
### Runtime
* Do not stop daemon on migration hard failure [#20156](https://github.com/docker/docker/pull/20156)
- Fix various issues with migration to content-addressable images [#20058](https://github.com/docker/docker/pull/20058)
- Fix ZFS permission bug with user namespaces [#20045](https://github.com/docker/docker/pull/20045)
- Do not leak /dev/mqueue from the host to all containers, keep it container-specific [#19876](https://github.com/docker/docker/pull/19876) [#20133](https://github.com/docker/docker/pull/20133)
- Fix `docker ps --filter before=...` to not show stopped containers without providing `-a` flag [#20135](https://github.com/docker/docker/pull/20135)
### Security
- Fix issue preventing docker events to work properly with authorization plugin [#20002](https://github.com/docker/docker/pull/20002)
### Distribution
* Add additional verifications and prevent from uploading invalid data to registries [#20164](https://github.com/docker/docker/pull/20164)
- Fix regression preventing uppercase characters in image reference hostname [#20175](https://github.com/docker/docker/pull/20175)
### Networking
- Fix embedded DNS for user-defined networks in the presence of firewalld [#20060](https://github.com/docker/docker/pull/20060)
- Fix issue where removing a network during shutdown left Docker inoperable [#20181](https://github.com/docker/docker/issues/20181) [#20235](https://github.com/docker/docker/issues/20235)
- Embedded DNS is now able to return compressed results [#20181](https://github.com/docker/docker/issues/20181)
- Fix port-mapping issue with `userland-proxy=false` [#20181](https://github.com/docker/docker/issues/20181)
### Logging
- Fix bug where tcp+tls protocol would be rejected [#20109](https://github.com/docker/docker/pull/20109)
### Volumes
- Fix issue whereby older volume drivers would not receive volume options [#19983](https://github.com/docker/docker/pull/19983)
### Misc
- Remove TasksMax from Docker systemd service [#20167](https://github.com/docker/docker/pull/20167)
## 1.10.0 (2016-02-04)
**IMPORTANT**: Docker 1.10 uses a new content-addressable storage for images and layers.
A migration is performed the first time docker is run, and can take a significant amount of time depending on the number of images present.
Refer to this page on the wiki for more information: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration
We also released a cool migration utility that enables you to perform the migration before updating to reduce downtime.
Engine 1.10 migrator can be found on Docker Hub: https://hub.docker.com/r/docker/v1.10-migrator/
### Runtime
+ New `docker update` command that allows updating resource constraints on running containers [#15078](https://github.com/docker/docker/pull/15078)
+ Add `--tmpfs` flag to `docker run` to create a tmpfs mount in a container [#13587](https://github.com/docker/docker/pull/13587)
+ Add `--format` flag to `docker images` command [#17692](https://github.com/docker/docker/pull/17692)
+ Allow to set daemon configuration in a file and hot-reload it with the `SIGHUP` signal [#18587](https://github.com/docker/docker/pull/18587)
+ Updated docker events to include more meta-data and event types [#18888](https://github.com/docker/docker/pull/18888)
This change is backward compatible in the API, but not on the CLI.
+ Add `--blkio-weight-device` flag to `docker run` [#13959](https://github.com/docker/docker/pull/13959)
+ Add `--device-read-bps` and `--device-write-bps` flags to `docker run` [#14466](https://github.com/docker/docker/pull/14466)
+ Add `--device-read-iops` and `--device-write-iops` flags to `docker run` [#15879](https://github.com/docker/docker/pull/15879)
+ Add `--oom-score-adj` flag to `docker run` [#16277](https://github.com/docker/docker/pull/16277)
+ Add `--detach-keys` flag to `attach`, `run`, `start` and `exec` commands to override the default key sequence that detaches from a container [#15666](https://github.com/docker/docker/pull/15666)
+ Add `--shm-size` flag to `run`, `create` and `build` to set the size of `/dev/shm` [#16168](https://github.com/docker/docker/pull/16168)
+ Show the number of running, stopped, and paused containers in `docker info` [#19249](https://github.com/docker/docker/pull/19249)
+ Show the `OSType` and `Architecture` in `docker info` [#17478](https://github.com/docker/docker/pull/17478)
+ Add `--cgroup-parent` flag on `daemon` to set cgroup parent for all containers [#19062](https://github.com/docker/docker/pull/19062)
+ Add `-L` flag to docker cp to follow symlinks [#16613](https://github.com/docker/docker/pull/16613)
+ New `status=dead` filter for `docker ps` [#17908](https://github.com/docker/docker/pull/17908)
* Change `docker run` exit codes to distinguish between runtime and application errors [#14012](https://github.com/docker/docker/pull/14012)
* Enhance `docker events --since` and `--until` to support nanoseconds and timezones [#17495](https://github.com/docker/docker/pull/17495)
* Add `--all`/`-a` flag to `stats` to include both running and stopped containers [#16742](https://github.com/docker/docker/pull/16742)
* Change the default cgroup-driver to `cgroupfs` [#17704](https://github.com/docker/docker/pull/17704)
* Emit a "tag" event when tagging an image with `build -t` [#17115](https://github.com/docker/docker/pull/17115)
* Best effort for linked containers' start order when starting the daemon [#18208](https://github.com/docker/docker/pull/18208)
* Add ability to add multiple tags on `build` [#15780](https://github.com/docker/docker/pull/15780)
* Permit `OPTIONS` request against any url, thus fixing issue with CORS [#19569](https://github.com/docker/docker/pull/19569)
- Fix the `--quiet` flag on `docker build` to actually be quiet [#17428](https://github.com/docker/docker/pull/17428)
- Fix `docker images --filter dangling=false` to now show all non-dangling images [#19326](https://github.com/docker/docker/pull/19326)
- Fix race condition causing autorestart turning off on restart [#17629](https://github.com/docker/docker/pull/17629)
- Recognize GPFS filesystems [#19216](https://github.com/docker/docker/pull/19216)
- Fix obscure bug preventing to start containers [#19751](https://github.com/docker/docker/pull/19751)
- Forbid `exec` during container restart [#19722](https://github.com/docker/docker/pull/19722)
- devicemapper: Increasing `--storage-opt dm.basesize` will now increase the base device size on daemon restart [#19123](https://github.com/docker/docker/pull/19123)
### Security
+ Add `--userns-remap` flag to `daemon` to support user namespaces (previously in experimental) [#19187](https://github.com/docker/docker/pull/19187)
+ Add support for custom seccomp profiles in `--security-opt` [#17989](https://github.com/docker/docker/pull/17989)
+ Add default seccomp profile [#18780](https://github.com/docker/docker/pull/18780)
+ Add `--authorization-plugin` flag to `daemon` to customize ACLs [#15365](https://github.com/docker/docker/pull/15365)
+ Docker Content Trust now supports the ability to read and write user delegations [#18887](https://github.com/docker/docker/pull/18887)
This is an optional, opt-in feature that requires the explicit use of the Notary command-line utility in order to be enabled.
Enabling delegation support in a specific repository will break the ability of Docker 1.9 and 1.8 to pull from that repository, if content trust is enabled.
* Allow SELinux to run in a container when using the BTRFS storage driver [#16452](https://github.com/docker/docker/pull/16452)
### Distribution
* Use content-addressable storage for images and layers [#17924](https://github.com/docker/docker/pull/17924)
Note that a migration is performed the first time docker is run; it can take a significant amount of time depending on the number of images and containers present.
Images no longer depend on the parent chain but contain a list of layer references.
`docker load`/`docker save` tarballs now also contain content-addressable image configurations.
For more information: https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration
* Add support for the new [manifest format ("schema2")](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md) [#18785](https://github.com/docker/docker/pull/18785)
* Lots of improvements for push and pull: performance++, retries on failed downloads, cancelling on client disconnect [#18353](https://github.com/docker/docker/pull/18353), [#18418](https://github.com/docker/docker/pull/18418), [#19109](https://github.com/docker/docker/pull/19109), [#18353](https://github.com/docker/docker/pull/18353)
* Limit v1 protocol fallbacks [#18590](https://github.com/docker/docker/pull/18590)
- Fix issue where docker could hang indefinitely waiting for a nonexistent process to pull an image [#19743](https://github.com/docker/docker/pull/19743)
### Networking
+ Use DNS-based discovery instead of `/etc/hosts` [#19198](https://github.com/docker/docker/pull/19198)
+ Support for network-scoped alias using `--net-alias` on `run` and `--alias` on `network connect` [#19242](https://github.com/docker/docker/pull/19242)
+ Add `--ip` and `--ip6` on `run` and `network connect` to support custom IP addresses for a container in a network [#19001](https://github.com/docker/docker/pull/19001)
+ Add `--ipam-opt` to `network create` for passing custom IPAM options [#17316](https://github.com/docker/docker/pull/17316)
+ Add `--internal` flag to `network create` to restrict external access to and from the network [#19276](https://github.com/docker/docker/pull/19276)
+ Add `kv.path` option to `--cluster-store-opt` [#19167](https://github.com/docker/docker/pull/19167)
+ Add `discovery.heartbeat` and `discovery.ttl` options to `--cluster-store-opt` to configure discovery TTL and heartbeat timer [#18204](https://github.com/docker/docker/pull/18204)
+ Add `--format` flag to `network inspect` [#17481](https://github.com/docker/docker/pull/17481)
+ Add `--link` to `network connect` to provide a container-local alias [#19229](https://github.com/docker/docker/pull/19229)
+ Support for Capability exchange with remote IPAM plugins [#18775](https://github.com/docker/docker/pull/18775)
+ Add `--force` to `network disconnect` to force container to be disconnected from network [#19317](https://github.com/docker/docker/pull/19317)
* Support for multi-host networking using built-in overlay driver for all engine supported kernels: 3.10+ [#18775](https://github.com/docker/docker/pull/18775)
* `--link` is now supported on `docker run` for containers in user-defined network [#19229](https://github.com/docker/docker/pull/19229)
* Enhance `docker network rm` to allow removing multiple networks [#17489](https://github.com/docker/docker/pull/17489)
* Include container names in `network inspect` [#17615](https://github.com/docker/docker/pull/17615)
* Include auto-generated subnets for user-defined networks in `network inspect` [#17316](https://github.com/docker/docker/pull/17316)
* Add `--filter` flag to `network ls` to hide predefined networks [#17782](https://github.com/docker/docker/pull/17782)
* Add support for network connect/disconnect to stopped containers [#18906](https://github.com/docker/docker/pull/18906)
* Add network ID to container inspect [#19323](https://github.com/docker/docker/pull/19323)
- Fix MTU issue where Docker would not start with two or more default routes [#18108](https://github.com/docker/docker/pull/18108)
- Fix duplicate IP address for containers [#18106](https://github.com/docker/docker/pull/18106)
- Fix issue preventing sometimes docker from creating the bridge network [#19338](https://github.com/docker/docker/pull/19338)
- Do not substitute 127.0.0.1 name server when using `--net=host` [#19573](https://github.com/docker/docker/pull/19573)
### Logging
+ New logging driver for Splunk [#16488](https://github.com/docker/docker/pull/16488)
+ Add support for syslog over TCP+TLS [#18998](https://github.com/docker/docker/pull/18998)
* Enhance `docker logs --since` and `--until` to support nanoseconds and time [#17495](https://github.com/docker/docker/pull/17495)
* Enhance AWS logs to auto-detect region [#16640](https://github.com/docker/docker/pull/16640)
### Volumes
+ Add support to set the mount propagation mode for a volume [#17034](https://github.com/docker/docker/pull/17034)
* Add `ls` and `inspect` endpoints to volume plugin API [#16534](https://github.com/docker/docker/pull/16534)
Existing plugins need to make use of these new APIs to satisfy users' expectation
For that, please use the new MIME type `application/vnd.docker.plugins.v1.2+json` [#19549](https://github.com/docker/docker/pull/19549)
- Fix data not being copied to named volumes [#19175](https://github.com/docker/docker/pull/19175)
- Fix issues preventing volume drivers from being containerized [#19500](https://github.com/docker/docker/pull/19500)
- Fix `docker volumes ls --dangling=false` to now show all non-dangling volumes [#19671](https://github.com/docker/docker/pull/19671)
- Do not remove named volumes on container removal [#19568](https://github.com/docker/docker/pull/19568)
- Allow external volume drivers to host anonymous volumes [#19190](https://github.com/docker/docker/pull/19190)
### Builder
+ Add support for `**` in `.dockerignore` to wildcard multiple levels of directories [#17090](https://github.com/docker/docker/pull/17090)
- Fix handling of UTF-8 characters in Dockerfiles [#17055](https://github.com/docker/docker/pull/17055)
- Fix permissions problem when reading from STDIN [#19283](https://github.com/docker/docker/pull/19283)
### Client
+ Add support for overriding the API version to use via an `DOCKER_API_VERSION` environment-variable [#15964](https://github.com/docker/docker/pull/15964)
- Fix a bug preventing Windows clients to log in to Docker Hub [#19891](https://github.com/docker/docker/pull/19891)
### Misc
* systemd: Set TasksMax in addition to LimitNPROC in systemd service file [#19391](https://github.com/docker/docker/pull/19391)
### Deprecations
* Remove LXC support. The LXC driver was deprecated in Docker 1.8, and has now been removed [#17700](https://github.com/docker/docker/pull/17700)
* Remove `--exec-driver` daemon flag, because it is no longer in use [#17700](https://github.com/docker/docker/pull/17700)
* Remove old deprecated single-dashed long CLI flags (such as `-rm`; use `--rm` instead) [#17724](https://github.com/docker/docker/pull/17724)
* Deprecate HostConfig at API container start [#17799](https://github.com/docker/docker/pull/17799)
* Deprecate docker packages for newly EOL'd Linux distributions: Fedora 21 and Ubuntu 15.04 (Vivid) [#18794](https://github.com/docker/docker/pull/18794), [#18809](https://github.com/docker/docker/pull/18809)
* Deprecate `-f` flag for docker tag [#18350](https://github.com/docker/docker/pull/18350)
## 1.9.1 (2015-11-21)
### Runtime
@@ -452,7 +1018,7 @@ by another client (#15489)
#### Security
- Fix tar breakout vulnerability
* Extractions are now sandboxed chroot
- Security options are no longer committed to images
- Security options are no longer comitted to images
#### Runtime
- Fix deadlock in `docker ps -f exited=1`
@@ -661,7 +1227,7 @@ by another client (#15489)
#### Runtime
* Support hairpin NAT without going through Docker server.
- devicemapper: succeed immediately when removing non-existing devices.
- devicemapper: succeed immediately when removing non-existent devices.
- devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time and unlock while sleeping).
- devicemapper: increase timeout in waitClose to 10 seconds.
- devicemapper: ensure we shut down thin pool cleanly.
@@ -782,7 +1348,7 @@ by another client (#15489)
- Improve deprecation message.
- Fix attach exit on darwin.
- devicemapper: improve handling of devicemapper devices (add per device lock, increase sleep time, unlock while sleeping).
- devicemapper: succeed immediately when removing non-existing devices.
- devicemapper: succeed immediately when removing non-existent devices.
- devicemapper: increase timeout in waitClose to 10 seconds.
- Remove goroutine leak on error.
- Update parseLxcInfo to comply with new lxc1.0 format.
@@ -878,7 +1444,7 @@ by another client (#15489)
* Update issue filing instructions
* Warn against the use of symlinks for Docker's storage folder
* Replace the Firefox example with an IceWeasel example
* Rewrite the PostgresSQL example using a Dockerfile and add more details to it
* Rewrite the PostgreSQL example using a Dockerfile and add more details to it
* Improve the OS X documentation
#### Remote API
@@ -1302,7 +1868,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Add -rm to docker run for removing a container on exit
- Remove error messages which are not actually errors
- Fix `docker rm` with volumes
- Fix some error cases where a HTTP body might not be closed
- Fix some error cases where an HTTP body might not be closed
- Fix panic with wrong dockercfg file
- Fix the attach behavior with -i
* Record termination time in state.
@@ -1636,7 +2202,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
+ Containers can expose public UDP ports (eg, '-p 123/udp')
+ Optionally specify an exact public port (eg. '-p 80:4500')
* 'docker login' supports additional options
- Dont save a container`s hostname when committing an image.
- Don't save a container`s hostname when committing an image.
#### Registry

View File

@@ -4,7 +4,7 @@ Want to hack on Docker? Awesome! We have a contributor's guide that explains
[setting up a Docker development environment and the contribution
process](https://docs.docker.com/opensource/project/who-written-for/).
![Contributors guide](docs/static_files/contributors.png)
[![Contributors guide](docs/static_files/contributors.png)](https://docs.docker.com/opensource/project/who-written-for/)
This page contains information about reporting issues as well as some tips and
guidelines useful to experienced open source contributors. Finally, make sure
@@ -58,51 +58,11 @@ When sending lengthy log-files, consider posting them as a gist (https://gist.gi
Don't forget to remove sensitive data from your logfiles before posting (you can
replace those parts with "REDACTED").
**Issue Report Template**:
```
Description of problem:
`docker version`:
`docker info`:
`uname -a`:
Environment details (AWS, VirtualBox, physical, etc.):
How reproducible:
Steps to Reproduce:
1.
2.
3.
Actual Results:
Expected Results:
Additional info:
```
##Quick contribution tips and guidelines
## Quick contribution tips and guidelines
This section gives the experienced contributor some tips and guidelines.
###Pull requests are always welcome
### Pull requests are always welcome
Not sure if that typo is worth a pull request? Found a bug and know how to fix
it? Do it! We will appreciate it. Any significant improvement should be
@@ -132,6 +92,14 @@ However, there might be a way to implement that feature *on top of* Docker.
<table class="tg">
<col width="45%">
<col width="65%">
<tr>
<td>Forums</td>
<td>
A public forum for users to discuss questions and explore current design patterns and
best practices about Docker and related projects in the Docker Ecosystem. To participate,
just log in with your Docker Hub account on <a href="https://forums.docker.com" target="_blank">https://forums.docker.com</a>.
</td>
</tr>
<tr>
<td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</td>
<td>
@@ -142,18 +110,20 @@ However, there might be a way to implement that feature *on top of* Docker.
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/opensource/get-help/#irc-quickstart" target="_blank">IRC quickstart guide</a> for an easy way to get started.
<p>
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.
</p>
</td>
</tr>
<tr>
<td>Google Groups</td>
<td>Google Group</td>
<td>
There are two groups.
<a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
is for people using Docker containers.
The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a>
group is for contributors and other people contributing to the Docker
project.
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.
</td>
</tr>
<tr>
@@ -306,10 +276,6 @@ Use your real name (sorry, no pseudonyms or anonymous contributions.)
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`.
Note that the old-style `Docker-DCO-1.1-Signed-off-by: ...` format is still
accepted, so there is no need to update outstanding pull requests to the new
format right away, but please do adjust your processes for future contributions.
### How can I become a maintainer?
The procedures for adding new maintainers are explained in the
@@ -412,7 +378,7 @@ The rules:
5. Document _all_ declarations and methods, even private ones. Declare
expectations, caveats and anything else that may be important. If a type
gets exported, having the comments already there will ensure it's ready.
6. Variable name length should be proportional to it's context and no longer.
6. Variable name length should be proportional to its context and no longer.
`noCommaALongVariableNameLikeThisIsNotMoreClearWhenASimpleCommentWouldDo`.
In practice, short methods will have short variable names and globals will
have longer names.
@@ -420,7 +386,7 @@ The rules:
and re-examine why you need a compound name. If you still think you need a
compound name, lose the underscore.
8. No utils or helpers packages. If a function is not general enough to
warrant it's own package, it has not been written generally enough to be a
warrant its own package, it has not been written generally enough to be a
part of a util package. Just leave it unexported and well-documented.
9. All tests should run with `go test` and outside tooling should not be
required. No, we don't need another unit testing framework. Assertion
@@ -429,6 +395,6 @@ The rules:
guidelines. Since you've read all the rules, you now know that.
If you are having trouble getting into the mood of idiomatic Go, we recommend
reading through [Effective Go](http://golang.org/doc/effective_go.html). The
[Go Blog](http://blog.golang.org/) is also a great resource. Drinking the
reading through [Effective Go](https://golang.org/doc/effective_go.html). The
[Go Blog](https://blog.golang.org) is also a great resource. Drinking the
kool-aid is a lot easier than going thirsty.

View File

@@ -23,25 +23,30 @@
# the case. Therefore, you don't have to disable it anymore.
#
FROM ubuntu:trusty
FROM debian:jessie
# add zfs ppa
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys E871F18B51E0147C77796AC81196BA81F6B0FC61
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
# add llvm repo
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 6084F3CF814B57C1CF12EFD515CF4D18AF4F7421
RUN echo deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main > /etc/apt/sources.list.d/llvm.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 \
apt-utils \
aufs-tools \
automake \
bash-completion \
binutils-mingw-w64 \
bsdmainutils \
btrfs-tools \
build-essential \
clang-3.8 \
clang \
createrepo \
curl \
dpkg-sig \
@@ -56,20 +61,19 @@ RUN apt-get update && apt-get install -y \
libsystemd-journal-dev \
libtool \
mercurial \
net-tools \
pkg-config \
python-dev \
python-mock \
python-pip \
python-websocket \
s3cmd=1.1.0* \
ubuntu-zfs \
xfsprogs \
libzfs-dev \
tar \
zip \
--no-install-recommends \
&& ln -snf /usr/bin/clang-3.8 /usr/local/bin/clang \
&& ln -snf /usr/bin/clang++-3.8 /usr/local/bin/clang++
&& pip install awscli==1.10.15
# Get lvm2 source for compiling statically
ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
@@ -86,13 +90,40 @@ RUN cd /usr/local/lvm2 \
&& make install_device-mapper
# 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
RUN set -x \
&& export OSXCROSS_PATH="/osxcross" \
&& git clone https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \
&& ( cd $OSXCROSS_PATH && git checkout -q $OSX_CROSS_COMMIT) \
&& curl -sSL https://s3.dockerproject.org/darwin/v2/${OSX_SDK}.tar.xz -o "${OSXCROSS_PATH}/tarballs/${OSX_SDK}.tar.xz" \
&& 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
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
# Install Go
# 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
# will need updating, to avoid errors. Ping #docker-maintainers on IRC
# with a heads-up.
ENV GO_VERSION 1.5.3
ENV GO_VERSION 1.6.3
RUN curl -fsSL "https://storage.googleapis.com/golang/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
@@ -103,9 +134,6 @@ ENV DOCKER_CROSSPLATFORMS \
freebsd/amd64 freebsd/386 freebsd/arm \
windows/amd64 windows/386
# (set an explicit GOARM of 5 for maximum compatibility)
ENV GOARM 5
# 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
@@ -124,38 +152,12 @@ 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
# Configure the container for OSX cross compilation
ENV OSX_SDK MacOSX10.11.sdk
RUN set -x \
&& export OSXCROSS_PATH="/osxcross" \
&& git clone --depth 1 https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \
&& curl -sSL https://s3.dockerproject.org/darwin/${OSX_SDK}.tar.xz -o "${OSXCROSS_PATH}/tarballs/${OSX_SDK}.tar.xz" \
&& UNATTENDED=yes OSX_VERSION_MIN=10.6 ${OSXCROSS_PATH}/build.sh
ENV PATH /osxcross/target/bin:$PATH
# install seccomp
# this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed,
# we need libseccomp.a (which the package does not provide) for dockerinit
ENV SECCOMP_VERSION 2.2.3
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
# 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
# and schema2 manifests.
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
ENV REGISTRY_COMMIT cb08de17d74bef86ce6c5abe8b240e282f5750be
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
@@ -167,32 +169,25 @@ RUN set -x \
go build -o /usr/local/bin/registry-v2-schema1 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Install notary server
ENV NOTARY_VERSION docker-v1.10-3
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
RUN set -x \
&& 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") \
&& GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \
&& 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/Godeps/_workspace:$GOPATH" \
&& GOPATH="$GOPATH/src/github.com/docker/notary/vendor:$GOPATH" \
go build -o /usr/local/bin/notary github.com/docker/notary/cmd/notary \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece
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 \
&& pip install -r test-requirements.txt
# Setup s3cmd config
RUN { \
echo '[default]'; \
echo 'access_key=$AWS_ACCESS_KEY'; \
echo 'secret_key=$AWS_SECRET_KEY'; \
} > ~/.s3cfg
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
@@ -202,7 +197,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
@@ -213,15 +208,16 @@ RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
buildpack-deps:jessie@sha256:25785f89240fbcdd8a74bdaf30dd5599a9523882c6dfc567f2e9ef7cf6f79db6 \
busybox:latest@sha256:e4f93f6ed15a0cdd342f5aae387886fba0ab98af0a102da6276eaf24d6e6ade0 \
debian:jessie@sha256:24a900d1671b269d6640b4224e7b63801880d8e3cb2bcbfaa10a5dddcf4469ed \
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)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.4 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& 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 \
@@ -236,12 +232,28 @@ RUN set -x \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Build/install the tool for embedding resources in Windows binaries
ENV RSRC_VERSION v2
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b "$RSRC_VERSION" https://github.com/akavel/rsrc.git "$GOPATH/src/github.com/akavel/rsrc" \
&& go build -v -o /usr/local/bin/rsrc github.com/akavel/rsrc \
&& 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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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

211
Dockerfile.aarch64 Normal file
View File

@@ -0,0 +1,211 @@
# This file describes the standard way to build Docker on aarch64, using docker
#
# Usage:
#
# # Assemble the full dev environment. This is slow the first time.
# docker build -t docker -f Dockerfile.aarch64 .
#
# # Mount your source in an interactive container for quick testing:
# 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
#
# 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 aarch64/ubuntu:wily
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
aufs-tools \
automake \
bash-completion \
btrfs-tools \
build-essential \
createrepo \
curl \
dpkg-sig \
g++ \
gcc \
git \
iptables \
jq \
libapparmor-dev \
libc6-dev \
libcap-dev \
libltdl-dev \
libsqlite3-dev \
libsystemd-dev \
mercurial \
net-tools \
parallel \
pkg-config \
python-dev \
python-mock \
python-pip \
python-websocket \
gccgo \
--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
# 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"; \
done
# "arch.c:78:2: error: #error the arch code needs to know about your machine type"
# Compile and install lvm2
RUN cd /usr/local/lvm2 \
&& ./configure \
--build="$(gcc -print-multiarch)" \
--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 trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
# 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 \
&& 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
# Only install one version of the registry, because old version which support
# schema1 manifests is not working on ARM64, we should skip integration-cli
# tests for schema1 manifests on ARM64.
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
RUN set -x \
&& 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") \
&& 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" \
go build -o /usr/local/bin/notary github.com/docker/notary/cmd/notary \
&& rm -rf "$GOPATH"
# 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 \
&& pip install -r test-requirements.txt
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
# 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 pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
# Register Docker's bash completion.
RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
aarch64/buildpack-deps:jessie@sha256:6aa1d6910791b7ac78265fd0798e5abd6cb3f27ae992f6f960f6c303ec9535f2 \
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)
# 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 cc29e3dded8e27ba8f65738f40d251c885030a28
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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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

@@ -11,19 +11,11 @@
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
#
# # Publish a release:
# docker run --privileged \
# -e AWS_S3_BUCKET=baz \
# -e AWS_ACCESS_KEY=foo \
# -e AWS_SECRET_KEY=bar \
# -e GPG_PASSPHRASE=gloubiboulga \
# docker hack/release.sh
#
# 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 armhf/ubuntu:trusty
FROM armhf/debian:jessie
# Packaged dependencies
RUN apt-get update && apt-get install -y \
@@ -73,14 +65,9 @@ RUN cd /usr/local/lvm2 \
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Install Go
#ENV GO_VERSION 1.5.3
# TODO update GO_TOOLS_COMMIT below when this updates to 1.5+
ENV GO_VERSION 1.4.3
RUN curl -fsSL "https://github.com/hypriot/golang-armbuilds/releases/download/v${GO_VERSION}/go${GO_VERSION}.linux-armv7.tar.gz" \
ENV GO_VERSION 1.6.3
RUN curl -fsSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-armv6l.tar.gz" \
| tar -xzC /usr/local
# temporarily using Hypriot's tarballs while we wait for official 1.6+
#RUN curl -fsSL https://golang.org/dl/go${GO_VERSION}.linux-arm6.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
@@ -92,9 +79,7 @@ ENV GOARM 7
# 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 GO_TOOLS_COMMIT 823804e1ae08dbb14eb807afc7db9993bc9e3cc3
# TODO update this sha when we upgrade to Go 1.5+
ENV GO_TOOLS_COMMIT 069d2f3bcb68257b627205f0486d6cc69a231ff9
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
@@ -103,17 +88,13 @@ RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
# Grab Go's lint tool
#ENV GO_LINT_COMMIT 32a87160691b3c96046c0c678fe57c5bef761456
# TODO update this sha when we upgrade to Go 1.5+
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 seccomp
# this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed,
# we need libseccomp.a (which the package does not provide) for dockerinit
ENV SECCOMP_VERSION 2.2.3
# install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
@@ -132,7 +113,7 @@ RUN set -x \
# both. This allows integration-cli tests to cover push/pull with both schema1
# and schema2 manifests.
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
ENV REGISTRY_COMMIT a7ae88da459b98b481a245e5b1750134724ac67d
ENV REGISTRY_COMMIT cb08de17d74bef86ce6c5abe8b240e282f5750be
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
@@ -144,20 +125,20 @@ RUN set -x \
go build -o /usr/local/bin/registry-v2-schema1 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Install notary server
ENV NOTARY_VERSION docker-v1.10-2
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
RUN set -x \
&& 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") \
&& GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \
&& 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/Godeps/_workspace:$GOPATH" \
&& GOPATH="$GOPATH/src/github.com/docker/notary/vendor:$GOPATH" \
go build -o /usr/local/bin/notary github.com/docker/notary/cmd/notary \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece
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 \
@@ -172,7 +153,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
@@ -183,15 +164,16 @@ RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
armhf/buildpack-deps:jessie@sha256:ca6cce8e5bf5c952129889b5cc15cd6aa8d995d77e55e3749bbaadae50e476cb \
armhf/busybox:latest@sha256:d98a7343ac750ffe387e3d514f8521ba69846c216778919b01414b8617cfb3d4 \
armhf/debian:jessie@sha256:094687129906d2a43cb4e5946ea379b5619c9ca8e4e27b3ba28b40f237a4150c \
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)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.4 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& 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 \
@@ -206,15 +188,30 @@ RUN set -x \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Build/install the tool for embedding resources in Windows binaries
ENV RSRC_VERSION v2
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b "$RSRC_VERSION" https://github.com/akavel/rsrc.git "$GOPATH/src/github.com/akavel/rsrc" \
&& go build -v -o /usr/local/bin/rsrc github.com/akavel/rsrc \
&& 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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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

View File

@@ -6,7 +6,7 @@
# docker build -t docker -f Dockerfile.gccgo .
#
FROM gcc:5.3
FROM gcc:6.1
# Packaged dependencies
RUN apt-get update && apt-get install -y \
@@ -23,6 +23,7 @@ RUN apt-get update && apt-get install -y \
libcap-dev \
libsqlite3-dev \
mercurial \
net-tools \
parallel \
python-dev \
python-mock \
@@ -41,10 +42,8 @@ RUN cd /usr/local/lvm2 \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# install seccomp
# this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed,
# we need libseccomp.a (which the package does not provide) for dockerinit
ENV SECCOMP_VERSION v2.2.3
# 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" \
@@ -61,7 +60,7 @@ RUN set -x \
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 e2878cbcc3a7eef99917adc1be252800b0e41ece
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
@@ -74,6 +73,30 @@ VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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"]

View File

@@ -11,19 +11,11 @@
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
#
# # Publish a release:
# docker run --privileged \
# -e AWS_S3_BUCKET=baz \
# -e AWS_ACCESS_KEY=foo \
# -e AWS_SECRET_KEY=bar \
# -e GPG_PASSPHRASE=gloubiboulga \
# docker hack/release.sh
#
# 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:5.3
FROM ppc64le/gcc:6.1
# Packaged dependencies
RUN apt-get update && apt-get install -y \
@@ -79,18 +71,45 @@ RUN cd /usr/local/lvm2 \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# TODO install Go, using gccgo as GOROOT_BOOTSTRAP (Go 1.5+ supports ppc64le properly)
# possibly a ppc64le/golang image?
# install seccomp: the version shipped in jessie is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
ENV PATH /go/bin:$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 GO_DOWNLOAD_SHA256 787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
ENV GOROOT_BOOTSTRAP /usr/local
RUN curl -fsSL "$GO_DOWNLOAD_URL" -o golang.tar.gz \
&& echo "$GO_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - \
&& 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
# TODO update this sha when we upgrade to Go 1.5+
ENV GO_TOOLS_COMMIT 069d2f3bcb68257b627205f0486d6cc69a231ff9
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
@@ -99,34 +118,42 @@ RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
# 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 registry
ENV REGISTRY_COMMIT ec87e9b6971d831f0eff752ddb54fb64693e51cd
# 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
# and schema2 manifests.
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2 github.com/docker/distribution/cmd/registry \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2-schema1 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Install notary server
ENV NOTARY_COMMIT 8e8122eb5528f621afcd4e2854c47302f17392f7
# Install notary and notary-server
ENV NOTARY_VERSION v0.3.0
RUN set -x \
&& 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_COMMIT") \
&& (cd "$GOPATH/src/github.com/docker/notary" && git checkout -q "$NOTARY_VERSION") \
&& GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/notary-server github.com/docker/notary/cmd/notary-server \
&& GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/notary github.com/docker/notary/cmd/notary \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece
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 \
@@ -141,7 +168,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux
ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
@@ -152,15 +179,16 @@ RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
ppc64le/buildpack-deps:jessie@sha256:902bfe4ef1389f94d143d64516dd50a2de75bca2e66d4a44b1d73f63ddf05dda \
ppc64le/busybox:latest@sha256:38bb82085248d5a3c24bd7a5dc146f2f2c191e189da0441f1c2ca560e3fc6f1b \
ppc64le/debian:jessie@sha256:74e06e6506b23cf8abd00250782838b2d19910824d8e7eab3d14dc1845ea10c6 \
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)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.4 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& 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 \
@@ -175,12 +203,28 @@ RUN set -x \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Build/install the tool for embedding resources in Windows binaries
ENV RSRC_VERSION v2
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b "$RSRC_VERSION" https://github.com/akavel/rsrc.git "$GOPATH/src/github.com/akavel/rsrc" \
&& go build -v -o /usr/local/bin/rsrc github.com/akavel/rsrc \
&& 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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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

View File

@@ -11,19 +11,11 @@
# # Run the test suite:
# docker run --privileged docker hack/make.sh test
#
# # Publish a release:
# docker run --privileged \
# -e AWS_S3_BUCKET=baz \
# -e AWS_ACCESS_KEY=foo \
# -e AWS_SECRET_KEY=bar \
# -e GPG_PASSPHRASE=gloubiboulga \
# docker hack/release.sh
#
# 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 s390x/gcc:5.3
FROM s390x/gcc:6.1
# Packaged dependencies
RUN apt-get update && apt-get install -y \
@@ -56,6 +48,21 @@ RUN apt-get update && apt-get install -y \
tar \
--no-install-recommends
# install seccomp: the version shipped in jessie is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
# Get lvm2 source for compiling statically
ENV LVM2_VERSION 2.02.103
RUN mkdir -p /usr/local/lvm2 \
@@ -105,28 +112,41 @@ RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint
&& go install -v github.com/golang/lint/golint
# Install registry
ENV REGISTRY_COMMIT ec87e9b6971d831f0eff752ddb54fb64693e51cd
# 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
# and schema2 manifests.
ENV REGISTRY_COMMIT_SCHEMA1 ec87e9b6971d831f0eff752ddb54fb64693e51cd
ENV REGISTRY_COMMIT 47a064d4195a9b56133891bbb13620c3ac83a827
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2 github.com/docker/distribution/cmd/registry \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT_SCHEMA1") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2-schema1 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Install notary server
ENV NOTARY_COMMIT 8e8122eb5528f621afcd4e2854c47302f17392f7
# 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
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_COMMIT") \
&& GOPATH="$GOPATH/src/github.com/docker/notary/Godeps/_workspace:$GOPATH" \
&& (cd "$GOPATH/src/github.com/docker/notary" && git checkout -q "$NOTARY_VERSION" && ln -s . vendor/src) \
&& 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" \
go build -o /usr/local/bin/notary github.com/docker/notary/cmd/notary \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT e2878cbcc3a7eef99917adc1be252800b0e41ece
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 \
@@ -141,7 +161,7 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux
ENV DOCKER_BUILDTAGS apparmor selinux seccomp
# Let us use a .bashrc file
RUN ln -sfv $PWD/.bashrc ~/.bashrc
@@ -152,15 +172,16 @@ RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker
# Get useful and necessary Hub images so we can "docker load" locally instead of pulling
COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
s390x/buildpack-deps:jessie@sha256:4d1381224acaca6c4bfe3604de3af6972083a8558a99672cb6989c7541780099 \
s390x/busybox:latest@sha256:dd61522c983884a66ed72d60301925889028c6d2d5e0220a8fe1d9b4c6a4f01b \
s390x/debian:jessie@sha256:3c478e199f60c877c00306356267798d32727dc3cd38512cdb4b060659ea9d20 \
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)
# Download man page generator
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b v1.0.4 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& 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 \
@@ -175,12 +196,28 @@ RUN set -x \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# Build/install the tool for embedding resources in Windows binaries
ENV RSRC_VERSION v2
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone --depth 1 -b "$RSRC_VERSION" https://github.com/akavel/rsrc.git "$GOPATH/src/github.com/akavel/rsrc" \
&& go build -v -o /usr/local/bin/rsrc github.com/akavel/rsrc \
&& 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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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

View File

@@ -12,10 +12,11 @@ FROM debian:jessie
# 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 \
gcc \
git \
golang \
libapparmor-dev \
libdevmapper-dev \
libsqlite3-dev \
\
@@ -29,6 +30,56 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
aufs-tools \
&& rm -rf /var/lib/apt/lists/*
# install seccomp: the version shipped in trusty is too old
ENV SECCOMP_VERSION 2.3.1
RUN set -x \
&& export SECCOMP_PATH="$(mktemp -d)" \
&& curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \
| tar -xzC "$SECCOMP_PATH" --strip-components=1 \
&& ( \
cd "$SECCOMP_PATH" \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
&& ldconfig \
) \
&& rm -rf "$SECCOMP_PATH"
# Install Go
# 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" \
| tar -xzC /usr/local
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV CGO_LDFLAGS -L/lib
# Install runc
ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
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 0ac3cd1be170d180b2baed755e8f0da547ceb267
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"
ENV AUTO_GOPATH 1
WORKDIR /usr/src/docker
COPY . /usr/src/docker

89
Dockerfile.windows Normal file
View File

@@ -0,0 +1,89 @@
# This file describes the standard way to build Docker, using a docker container on Windows
# Server 2016
#
# 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
#
# docker build -t docker -f Dockerfile.windows .
#
#
# # 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.
#
# 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'
#
# 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 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.
#
# The steps are minimised dramatically to improve performance
FROM windowsservercore
# Environment variable notes:
# - GO_VERSION must 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 \
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; \
\
Write-Host INFO: Completed
# Prepare for building
COPY . /go/src/github.com/docker/docker

View File

@@ -26,6 +26,7 @@
# the release process is clear and up-to-date.
people = [
"aaronlehmann",
"calavera",
"coolljt0725",
"cpuguy83",
@@ -33,15 +34,16 @@
"duglin",
"estesp",
"icecrime",
"jfrazelle",
"jhowardmsft",
"justincormack",
"lk4d4",
"mavenugo",
"mhbauer",
"runcom",
"tianon",
"tibor",
"tonistiigi",
"unclejack",
"vbatts",
"vdemeester"
]
@@ -69,6 +71,7 @@
# - close an issue or pull request when it's inappropriate or off-topic
people = [
"programmerq",
"thajeztah"
]
@@ -79,7 +82,7 @@
# Thank you!
people = [
# As a maintainer, Erik was responsible for the "builder", and
# 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
# (https://github.com/contiv) and various open source projects
@@ -87,6 +90,37 @@
# still stumble into him in our issue tracker, or on IRC.
"erikh",
# Jessica Frazelle, also known as the "Keyser Söze of containers",
# runs *everything* in containers. She started contributing to
# Docker with a (fun fun) change involving both iptables and regular
# 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
# 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!").
# Jess is currently working on the DCOS security team at Mesosphere,
# 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",
# Vincent "vbatts!" Batts made his first contribution to the project
# 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).
# He also contributed the "tar-split" library, an important element
# for the content-addressable store.
# Vincent is currently a member of the Open Containers Initiative
# Technical Oversight Board (TOB), besides his work at Red Hat and
# Project Atomic. You can still find him regularly hanging out in
# our repository and the #docker-dev and #docker-maintainers IRC channels
# 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),
@@ -111,6 +145,11 @@
# ADD YOURSELF HERE IN ALPHABETICAL ORDER
[people.aaronlehmann]
Name = "Aaron Lehmann"
Email = "aaron.lehmann@docker.com"
GitHub = "aaronlehmann"
[people.calavera]
Name = "David Calavera"
Email = "david.calavera@gmail.com"
@@ -156,16 +195,31 @@
Email = "james@lovedthanlost.net"
GitHub = "jamtur01"
[people.jhowardmsft]
Name = "John Howard"
Email = "jhoward@microsoft.com"
GitHub = "jhowardmsft"
[people.jfrazelle]
Name = "Jessie Frazelle"
Email = "j@docker.com"
Email = "jess@linux.com"
GitHub = "jfrazelle"
[people.justincormack]
Name = "Justin Cormack"
Email = "justin.cormack@docker.com"
GitHub = "justincormack"
[people.lk4d4]
Name = "Alexander Morozov"
Email = "lk4d4@docker.com"
GitHub = "lk4d4"
[people.mavenugo]
Name = "Madhu Venugopal"
Email = "madhu@docker.com"
GitHub = "mavenugo"
[people.mhbauer]
Name = "Morgan Bauer"
Email = "mbauer@us.ibm.com"
@@ -176,6 +230,11 @@
Email = "mary.anthony@docker.com"
GitHub = "moxiegirl"
[people.programmerq]
Name = "Jeff Anderson"
Email = "jeff@docker.com"
GitHub = "programmerq"
[people.runcom]
Name = "Antonio Murdaca"
Email = "runcom@redhat.com"
@@ -196,11 +255,6 @@
Email = "github@gone.nl"
GitHub = "thaJeztah"
[people.theadactyl]
Name = "Thea Lamkin"
Email = "thea@docker.com"
GitHub = "theadactyl"
[people.tianon]
Name = "Tianon Gravi"
Email = "admwiggin@gmail.com"

101
Makefile
View File

@@ -1,38 +1,25 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-docker-py test-integration-cli test-unit validate
.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
# 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/.*: //'))
# get OS/Arch of docker engine
DOCKER_OSARCH := $(shell bash -c 'source hack/make/.detect-daemon-osarch && echo $${DOCKER_ENGINE_OSARCH:+$$DOCKER_CLIENT_OSARCH}')
# default for linux/amd64 and others
DOCKERFILE := Dockerfile
# switch to different Dockerfile for linux/arm
ifeq ($(DOCKER_OSARCH), linux/arm)
DOCKERFILE := Dockerfile.armhf
else
ifeq ($(DOCKER_OSARCH), linux/arm64)
# TODO .arm64
DOCKERFILE := Dockerfile.armhf
else
ifeq ($(DOCKER_OSARCH), linux/ppc64le)
DOCKERFILE := Dockerfile.ppc64le
else
ifeq ($(DOCKER_OSARCH), linux/s390x)
DOCKERFILE := Dockerfile.s390x
endif
endif
endif
endif
export DOCKERFILE
DOCKER_OSARCH := $(shell bash -c 'source hack/make/.detect-daemon-osarch && echo $${DOCKER_ENGINE_OSARCH:-$$DOCKER_CLIENT_OSARCH}')
DOCKERFILE := $(shell bash -c 'source hack/make/.detect-daemon-osarch && echo $${DOCKERFILE}')
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# 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
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e KEEPBUNDLE \
-e DOCKER_BUILD_GOGC \
-e DOCKER_BUILD_PKGS \
-e DOCKER_DEBUG \
-e DOCKER_EXPERIMENTAL \
-e DOCKERFILE \
-e DOCKER_GRAPHDRIVER \
-e DOCKER_GITCOMMIT \
-e DOCKER_GRAPHDRIVER=$(DOCKER_GRAPHDRIVER) \
-e DOCKER_INCREMENTAL_BINARY \
-e DOCKER_REMAP_ROOT \
-e DOCKER_STORAGE_OPTS \
-e DOCKER_USERLANDPROXY \
@@ -47,10 +34,15 @@ DOCKER_ENVS := \
BIND_DIR := $(if $(BINDDIR),$(BINDDIR),$(if $(DOCKER_HOST),,bundles))
DOCKER_MOUNT := $(if $(BIND_DIR),-v "$(CURDIR)/$(BIND_DIR):/go/src/github.com/docker/docker/$(BIND_DIR)")
# 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")
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker-dev$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH),:$(GIT_BRANCH))
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_FLAGS := docker run --rm -i --privileged $(DOCKER_ENVS) $(DOCKER_MOUNT)
@@ -66,44 +58,69 @@ DOCKER_RUN_DOCKER := $(DOCKER_FLAGS) "$(DOCKER_IMAGE)"
default: binary
all: build
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
binary: build
binary: build ## build the linux binaries
$(DOCKER_RUN_DOCKER) hack/make.sh binary
build: bundles
docker build -t "$(DOCKER_IMAGE)" -f "$(DOCKERFILE)" .
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 .
bundles:
mkdir bundles
cross: build
cross: build ## cross build the binaries for darwin, freebsd and\nwindows
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross
deb: build
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:
docs: ## build the docs
$(MAKE) -C docs docs
rpm: build
gccgo: build-gccgo ## build the gcc-go linux binaries
$(DOCKER_FLAGS) "$(DOCKER_IMAGE)-gccgo" hack/make.sh gccgo
install: ## install the linux binaries
KEEPBUNDLE=1 hack/make.sh install-binary
rpm: build ## build the rpm packages
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary build-rpm
shell: build
shell: build ## start a shell inside the build env
$(DOCKER_RUN_DOCKER) bash
test: build
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
test-docker-py: build
test-docker-py: build ## run the docker-py tests
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-docker-py
test-integration-cli: build
test-integration-cli: build ## run the integration tests
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-integration-cli
test-unit: build
test-unit: build ## run the unit tests
$(DOCKER_RUN_DOCKER) hack/make.sh test-unit
validate: build
$(DOCKER_RUN_DOCKER) hack/make.sh validate-dco validate-gofmt validate-pkg validate-lint validate-test validate-toml validate-vet validate-vendor
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
manpages: ## Generate man pages from go source and markdown
docker build -t docker-manpage-dev -f man/Dockerfile .
docker run \
-v $(PWD):/go/src/github.com/docker/docker/ \
docker-manpage-dev
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)

View File

@@ -13,17 +13,17 @@ databases, and backend services without depending on a particular stack
or provider.
Docker began as an open-source implementation of the deployment engine which
powers [dotCloud](https://www.dotcloud.com), a popular Platform-as-a-Service.
It benefits directly from the experience accumulated over several years
of large-scale operation and support of hundreds of thousands of
applications and databases.
powered [dotCloud](http://web.archive.org/web/20130530031104/https://www.dotcloud.com/),
a popular Platform-as-a-Service. It benefits directly from the experience
accumulated over several years of large-scale operation and support of hundreds
of thousands of applications and databases.
![](docs/static_files/docker-logo-compressed.png "Docker")
![Docker logo](docs/static_files/docker-logo-compressed.png "Docker")
## Security Disclosure
Security is very important to us. If you have any issue regarding security,
please disclose the information responsibly by sending an email to
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.
## Better than VMs
@@ -148,9 +148,6 @@ on servers for running them. To get started, [check out the installation
instructions in the
documentation](https://docs.docker.com/engine/installation/).
We also offer an [interactive tutorial](https://www.docker.com/tryit/)
for quickly learning the basics of using Docker.
Usage examples
==============
@@ -167,7 +164,7 @@ Under the hood
Under the hood, Docker is built on the following components:
* The
[cgroups](https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt)
[cgroups](https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt)
and
[namespaces](http://man7.org/linux/man-pages/man7/namespaces.7.html)
capabilities of the Linux kernel
@@ -191,8 +188,8 @@ feels wrong or incomplete. Better yet, submit a PR and improve them yourself.
Getting the development builds
==============================
Want to run Docker from a master build? You can download
master builds at [master.dockerproject.org](https://master.dockerproject.org).
Want to run Docker from a master build? You can download
master builds at [master.dockerproject.org](https://master.dockerproject.org).
They are updated with each commit merged into the master branch.
Don't know how to use that super cool new feature in the master build? Check
@@ -216,7 +213,7 @@ We are always open to suggestions on process improvements, and are always lookin
<td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</td>
<td>
<p>
IRC a direct line to our most knowledgeable Docker users; we have
IRC is a direct line to our most knowledgeable Docker users; we have
both the <code>#docker</code> and <code>#docker-dev</code> group on
<strong>irc.freenode.net</strong>.
IRC is a rich chat protocol but it can overwhelm new users. You can search
@@ -225,15 +222,23 @@ We are always open to suggestions on process improvements, and are always lookin
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.
</td>
</tr>
<tr>
<td>Docker Community Forums</td>
<td>
The <a href="https://forums.docker.com/c/open-source-projects/de" target="_blank">Docker Engine</a>
group is for users of the Docker Engine project.
</td>
</tr>
<tr>
<td>Google Groups</td>
<td>
There are two groups.
<a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
is for people using Docker containers.
The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a>
group is for contributors and other people contributing to the Docker
project.
The <a href="https://groups.google.com/forum/#!forum/docker-dev"
target="_blank">docker-dev</a> group is for contributors and other people
contributing to the Docker project. You can join this group without a
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.
</td>
</tr>
<tr>
@@ -280,18 +285,18 @@ There are a number of projects under development that are based on Docker's
core technology. These projects expand the tooling built around the
Docker platform to broaden its application and utility.
* [Docker Registry](https://github.com/docker/distribution): Registry
* [Docker Registry](https://github.com/docker/distribution): Registry
server for Docker (hosting/delivery of repositories and images)
* [Docker Machine](https://github.com/docker/machine): Machine management
* [Docker Machine](https://github.com/docker/machine): Machine management
for a container-centric world
* [Docker Swarm](https://github.com/docker/swarm): A Docker-native clustering
* [Docker Swarm](https://github.com/docker/swarm): A Docker-native clustering
system
* [Docker Compose](https://github.com/docker/compose) (formerly Fig):
* [Docker Compose](https://github.com/docker/compose) (formerly Fig):
Define and run multi-container apps
* [Kitematic](https://github.com/docker/kitematic): The easiest way to use
* [Kitematic](https://github.com/docker/kitematic): The easiest way to use
Docker on Mac and Windows
If you know of another project underway that should be listed here, please help
If you know of another project underway that should be listed here, please help
us keep this list up-to-date by submitting a PR.
Awesome-Docker

View File

@@ -33,97 +33,58 @@ won't be accepting pull requests adding or removing items from this file.
# 1. Features and refactoring
## 1.1 Security
## 1.1 Runtime improvements
Security is a top objective for the Docker Engine. The most notable items we intend to provide in
the near future are:
We recently introduced [`runC`](https://runc.io) as a standalone low-level tool for container
execution. The initial goal was to integrate runC as a replacement in the Engine for the traditional
default libcontainer `execdriver`, but the Engine internals were not ready for this.
- Trusted distribution of images: the effort is driven by the [distribution](https://github.com/docker/distribution)
group but will have significant impact on the Engine
- [User namespaces](https://github.com/docker/docker/pull/12648)
- [Seccomp support](https://github.com/docker/libcontainer/pull/613)
As runC continued evolving, and the OCI specification along with it, we created
[`containerd`](https://containerd.tools/), a daemon to control and monitor multiple `runC`. This is
the new target for Engine integration, as it can entirely replace the whole `execdriver`
architecture, and container monitoring along with it.
## 1.2 Plumbing project
Docker Engine will rely on a long-running `containerd` companion daemon for all container execution
related operations. This could open the door in the future for Engine restarts without interrupting
running containers.
We define a plumbing tool as a standalone piece of software usable and meaningful on its own. In
the current state of the Docker Engine, most subsystems provide independent functionalities (such
the builder, pushing and pulling images, running applications in a containerized environment, etc)
but all are coupled in a single binary. We want to offer the users to flexibility to use only the
pieces they need, and we will also gain in maintainability by splitting the project among multiple
repositories.
## 1.2 Plugins improvements
As it currently stands, the rough design outlines is to have:
- Low level plumbing tools, each dealing with one responsibility (e.g., [runC](https://runc.io))
- Docker subsystems services, each exposing an elementary concept over an API, and relying on one or
multiple lower level plumbing tools for their implementation (e.g., network management)
- Docker Engine to expose higher level actions (e.g., create a container with volume `V` and network
`N`), while still providing pass-through access to the individual subsystems.
Docker Engine 1.7.0 introduced plugin support, initially for the use cases of volumes and networks
extensions. The plugin infrastructure was kept minimal as we were collecting use cases and real
world feedback before optimizing for any particular workflow.
The architectural details are still being worked on, but one thing we know for sure is that we need
to technically decouple the pieces.
In the future, we'd like plugins to become first class citizens, and encourage an ecosystem of
plugins. This implies in particular making it trivially easy to distribute plugins as containers
through any Registry instance, as well as solving the commonly heard pain points of plugins needing
to be treated as somewhat special (being active at all time, started before any other user
containers, and not as easily dismissed).
### 1.2.1 Runtime
## 1.3 Internal decoupling
A Runtime tool already exists today in the form of [runC](https://github.com/opencontainers/runc).
We intend to modify the Engine to directly call out to a binary implementing the Open Containers
Specification such as runC rather than relying on libcontainer to set the container runtime up.
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.
This plan will deprecate the existing [`execdriver`](https://github.com/docker/docker/tree/master/daemon/execdriver)
as different runtime backends will be implemented as separated binaries instead of being compiled
into the Engine.
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
with the concept of "special" containers opens the door for bootstrapping more Engine internals
using the same facilities.
### 1.2.2 Builder
## 1.4 Cluster capable Engine
The Builder (i.e., the ability to build an image from a Dockerfile) is already nicely decoupled,
but would benefit from being entirely separated from the Engine, and rely on the standard Engine
API for its operations.
The community has been pushing for a more cluster capable Docker Engine, and a huge effort was spent
adding features such as multihost networking, and node discovery down at the Engine level. Yet, the
Engine is currently incapable of taking scheduling decisions alone, and continues relying on Swarm
for that.
### 1.2.3 Distribution
Distribution already has a [dedicated repository](https://github.com/docker/distribution) which
holds the implementation for Registry v2 and client libraries. We could imagine going further by
having the Engine call out to a binary providing image distribution related functionalities.
There are two short term goals related to image distribution. The first is stabilize and simplify
the push/pull code. Following that is the conversion to the more secure Registry V2 protocol.
### 1.2.4 Networking
Most of networking related code was already decoupled today in [libnetwork](https://github.com/docker/libnetwork).
As with other ingredients, we might want to take it a step further and make it a meaningful utility
that the Engine would call out to instead of a library.
## 1.3 Plugins
An initiative around plugins started with Docker 1.7.0, with the goal of allowing for out of
process extensibility of some Docker functionalities, starting with volumes and networking. The
approach is to provide specific extension points rather than generic hooking facilities. We also
deliberately keep the extensions API the simplest possible, expanding as we discover valid use
cases that cannot be implemented.
At the time of writing:
- Plugin support is merged as an experimental feature: real world use cases and user feedback will
help us refine the UX to make the feature more user friendly.
- There are no immediate plans to expand on the number of pluggable subsystems.
- Golang 1.5 might add language support for [plugins](https://docs.google.com/document/d/1nr-TQHw_er6GOQRsF6T43GGhFDelrAP0NqSS_00RgZQ)
which we consider supporting as an alternative to JSON/HTTP.
## 1.4 Volume management
Volumes are not a first class citizen in the Engine today: we would like better volume management,
similar to the way network are managed in the new [CNM](https://github.com/docker/docker/issues/9983).
## 1.5 Better API implementation
The current Engine API is insufficiently typed, versioned, and ultimately hard to maintain. We
also suffer from the lack of a common implementation with [Swarm](https://github.com/docker/swarm).
## 1.6 Checkpoint/restore
Support for checkpoint/restore was [merged](https://github.com/docker/libcontainer/pull/479) in
[libcontainer](https://github.com/docker/libcontainer) and made available through [runC](https://runc.io):
we intend to take advantage of it in the Engine.
We plan to complete this effort and make Engine fully cluster capable. Multiple instances of the
Docker Engine being already capable of discovering each other and establish overlay networking for
their container to communicate, the next step is for a given Engine to gain ability to dispatch work
to another node in the cluster. This will be introduced in a backward compatible way, such that a
`docker run` invocation on a particular node remains fully deterministic.
# 2 Frozen features
@@ -139,45 +100,41 @@ The Dockerfile syntax as we know it is simple, and has proven successful in supp
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.
- 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
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 desired result is more
secure, reliable and easier to use image distribution.
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
desired result is more secure, reliable and easier to use image distribution.
Part of the problem with this part of the code base is the lack of a stable
and flexible interface. If new features are added that access the registry
without solidifying these interfaces, achieving feature parity will continue
to be elusive. While we get a handle on this situation, we are imposing a
moratorium on new code that accesses the Registry API in commands that don't
already make remote calls.
Part of the problem with this part of the code base is the lack of a stable and flexible interface.
If new features are added that access the registry without solidifying these interfaces, achieving
feature parity will continue to be elusive. While we get a handle on this situation, we are imposing
a moratorium on new code that accesses the Registry API in commands that don't already make remote
calls.
Currently, only the following commands cause interaction with a remote
registry:
Currently, only the following commands cause interaction with a remote registry:
- push
- pull
- run
- build
- search
- login
- push
- pull
- run
- build
- search
- login
In the interest of stabilizing the registry access model during this ongoing
work, we are not accepting additions to other commands that will cause remote
interaction with the Registry API. This moratorium will lift when the goals of
the distribution project have been met.
In the interest of stabilizing the registry access model during this ongoing work, we are not
accepting additions to other commands that will cause remote interaction with the Registry API. This
moratorium will lift when the goals of the distribution project have been met.

View File

@@ -1 +1 @@
1.10.0-dev
1.12.0-rc5

View File

@@ -1,92 +0,0 @@
package client
import (
"fmt"
"io"
"github.com/Sirupsen/logrus"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/signal"
"github.com/docker/engine-api/types"
)
// CmdAttach attaches to a running container.
//
// Usage: docker attach [OPTIONS] CONTAINER
func (cli *DockerCli) CmdAttach(args ...string) error {
cmd := Cli.Subcmd("attach", []string{"CONTAINER"}, Cli.DockerCommands["attach"].Description, true)
noStdin := cmd.Bool([]string{"-no-stdin"}, false, "Do not attach STDIN")
proxy := cmd.Bool([]string{"-sig-proxy"}, true, "Proxy all received signals to the process")
detachKeys := cmd.String([]string{"-detach-keys"}, "", "Override the key sequence for detaching a container")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
c, err := cli.client.ContainerInspect(cmd.Arg(0))
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 := cli.CheckTtyInput(!*noStdin, c.Config.Tty); err != nil {
return err
}
if c.Config.Tty && cli.isTerminalOut {
if err := cli.monitorTtySize(cmd.Arg(0), false); err != nil {
logrus.Debugf("Error monitoring TTY size: %s", err)
}
}
if *detachKeys != "" {
cli.configFile.DetachKeys = *detachKeys
}
options := types.ContainerAttachOptions{
ContainerID: cmd.Arg(0),
Stream: true,
Stdin: !*noStdin && c.Config.OpenStdin,
Stdout: true,
Stderr: true,
DetachKeys: cli.configFile.DetachKeys,
}
var in io.ReadCloser
if options.Stdin {
in = cli.in
}
if *proxy && !c.Config.Tty {
sigc := cli.forwardAllSignals(options.ContainerID)
defer signal.StopCatch(sigc)
}
resp, err := cli.client.ContainerAttach(options)
if err != nil {
return err
}
defer resp.Close()
if err := cli.holdHijackedConnection(c.Config.Tty, in, cli.out, cli.err, resp); err != nil {
return err
}
_, status, err := getExitCode(cli, options.ContainerID)
if err != nil {
return err
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}

View File

@@ -1,659 +0,0 @@
package client
import (
"archive/tar"
"bufio"
"bytes"
"fmt"
"io"
"io/ioutil"
"os"
"os/exec"
"path/filepath"
"regexp"
"runtime"
"strings"
"github.com/docker/docker/api"
"github.com/docker/docker/builder/dockerignore"
Cli "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/gitutils"
"github.com/docker/docker/pkg/httputils"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/jsonmessage"
flag "github.com/docker/docker/pkg/mflag"
"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"
)
type translatorFunc func(reference.NamedTagged) (reference.Canonical, error)
// CmdBuild builds a new image from the source code at a given path.
//
// If '-' is provided instead of a path or URL, Docker will build an image from either a Dockerfile or tar archive read from STDIN.
//
// Usage: docker build [OPTIONS] PATH | URL | -
func (cli *DockerCli) CmdBuild(args ...string) error {
cmd := Cli.Subcmd("build", []string{"PATH | URL | -"}, Cli.DockerCommands["build"].Description, true)
flTags := opts.NewListOpts(validateTag)
cmd.Var(&flTags, []string{"t", "-tag"}, "Name and optionally a tag in the 'name:tag' format")
suppressOutput := cmd.Bool([]string{"q", "-quiet"}, false, "Suppress the build output and print image ID on success")
noCache := cmd.Bool([]string{"-no-cache"}, false, "Do not use cache when building the image")
rm := cmd.Bool([]string{"-rm"}, true, "Remove intermediate containers after a successful build")
forceRm := cmd.Bool([]string{"-force-rm"}, false, "Always remove intermediate containers")
pull := cmd.Bool([]string{"-pull"}, false, "Always attempt to pull a newer version of the image")
dockerfileName := cmd.String([]string{"f", "-file"}, "", "Name of the Dockerfile (Default is 'PATH/Dockerfile')")
flMemoryString := cmd.String([]string{"m", "-memory"}, "", "Memory limit")
flMemorySwap := cmd.String([]string{"-memory-swap"}, "", "Swap limit equal to memory plus swap: '-1' to enable unlimited swap")
flShmSize := cmd.String([]string{"-shm-size"}, "", "Size of /dev/shm, default value is 64MB")
flCPUShares := cmd.Int64([]string{"#c", "-cpu-shares"}, 0, "CPU shares (relative weight)")
flCPUPeriod := cmd.Int64([]string{"-cpu-period"}, 0, "Limit the CPU CFS (Completely Fair Scheduler) period")
flCPUQuota := cmd.Int64([]string{"-cpu-quota"}, 0, "Limit the CPU CFS (Completely Fair Scheduler) quota")
flCPUSetCpus := cmd.String([]string{"-cpuset-cpus"}, "", "CPUs in which to allow execution (0-3, 0,1)")
flCPUSetMems := cmd.String([]string{"-cpuset-mems"}, "", "MEMs in which to allow execution (0-3, 0,1)")
flCgroupParent := cmd.String([]string{"-cgroup-parent"}, "", "Optional parent cgroup for the container")
flBuildArg := opts.NewListOpts(runconfigopts.ValidateEnv)
cmd.Var(&flBuildArg, []string{"-build-arg"}, "Set build-time variables")
isolation := cmd.String([]string{"-isolation"}, "", "Container isolation level")
ulimits := make(map[string]*units.Ulimit)
flUlimits := runconfigopts.NewUlimitOpt(&ulimits)
cmd.Var(flUlimits, []string{"-ulimit"}, "Ulimit options")
cmd.Require(flag.Exact, 1)
// For trusted pull on "FROM <image>" instruction.
addTrustedFlags(cmd, true)
cmd.ParseFlags(args, true)
var (
context io.ReadCloser
isRemote bool
err error
)
_, err = exec.LookPath("git")
hasGit := err == nil
specifiedContext := cmd.Arg(0)
var (
contextDir string
tempDir string
relDockerfile string
progBuff io.Writer
buildBuff io.Writer
)
progBuff = cli.out
buildBuff = cli.out
if *suppressOutput {
progBuff = bytes.NewBuffer(nil)
buildBuff = bytes.NewBuffer(nil)
}
switch {
case specifiedContext == "-":
context, relDockerfile, err = getContextFromReader(cli.in, *dockerfileName)
case urlutil.IsGitURL(specifiedContext) && hasGit:
tempDir, relDockerfile, err = getContextFromGitURL(specifiedContext, *dockerfileName)
case urlutil.IsURL(specifiedContext):
context, relDockerfile, err = getContextFromURL(progBuff, specifiedContext, *dockerfileName)
default:
contextDir, relDockerfile, err = getContextFromLocalDir(specifiedContext, *dockerfileName)
}
if err != nil {
if *suppressOutput && urlutil.IsURL(specifiedContext) {
fmt.Fprintln(cli.err, progBuff)
}
return fmt.Errorf("unable to prepare context: %s", err)
}
if tempDir != "" {
defer os.RemoveAll(tempDir)
contextDir = tempDir
}
if context == 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 := 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)
}
context, err = archive.TarWithOptions(contextDir, &archive.TarOptions{
Compression: archive.Uncompressed,
ExcludePatterns: excludes,
IncludeFiles: includes,
})
if err != nil {
return err
}
}
var resolvedTags []*resolvedTag
if isTrusted() {
// Wrap the tar archive to replace the Dockerfile entry with the rewritten
// Dockerfile which uses trusted pulls.
context = replaceDockerfileTarWrapper(context, relDockerfile, cli.trustedReference, &resolvedTags)
}
// Setup an upload progress bar
progressOutput := streamformatter.NewStreamFormatter().NewProgressOutput(progBuff, true)
var body io.Reader = progress.NewProgressReader(context, progressOutput, 0, "", "Sending build context to Docker daemon")
var memory int64
if *flMemoryString != "" {
parsedMemory, err := units.RAMInBytes(*flMemoryString)
if err != nil {
return err
}
memory = parsedMemory
}
var memorySwap int64
if *flMemorySwap != "" {
if *flMemorySwap == "-1" {
memorySwap = -1
} else {
parsedMemorySwap, err := units.RAMInBytes(*flMemorySwap)
if err != nil {
return err
}
memorySwap = parsedMemorySwap
}
}
var shmSize int64
if *flShmSize != "" {
shmSize, err = units.RAMInBytes(*flShmSize)
if err != nil {
return err
}
}
var remoteContext string
if isRemote {
remoteContext = cmd.Arg(0)
}
options := types.ImageBuildOptions{
Context: body,
Memory: memory,
MemorySwap: memorySwap,
Tags: flTags.GetAll(),
SuppressOutput: *suppressOutput,
RemoteContext: remoteContext,
NoCache: *noCache,
Remove: *rm,
ForceRemove: *forceRm,
PullParent: *pull,
IsolationLevel: container.IsolationLevel(*isolation),
CPUSetCPUs: *flCPUSetCpus,
CPUSetMems: *flCPUSetMems,
CPUShares: *flCPUShares,
CPUQuota: *flCPUQuota,
CPUPeriod: *flCPUPeriod,
CgroupParent: *flCgroupParent,
Dockerfile: relDockerfile,
ShmSize: shmSize,
Ulimits: flUlimits.GetList(),
BuildArgs: runconfigopts.ConvertKVStringsToMap(flBuildArg.GetAll()),
AuthConfigs: cli.configFile.AuthConfigs,
}
response, err := cli.client.ImageBuild(options)
if err != nil {
return err
}
err = jsonmessage.DisplayJSONMessagesStream(response.Body, buildBuff, cli.outFd, cli.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 *suppressOutput {
fmt.Fprintf(cli.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(cli.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 *suppressOutput {
fmt.Fprintf(cli.out, "%s", buildBuff)
}
if 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 := cli.tagTrusted(resolved.digestRef, resolved.tagRef); err != nil {
return err
}
}
}
return nil
}
// validateContextDirectory checks if all the contents of the directory
// can be read and returns an error if some files can't be read
// symlinks which point to non-existing files don't trigger an error
func validateContextDirectory(srcPath string, excludes []string) error {
contextRoot, err := getContextRoot(srcPath)
if err != nil {
return err
}
return filepath.Walk(contextRoot, func(filePath string, f os.FileInfo, err error) error {
// skip this directory/file if it's not in the path, it won't get added to the context
if relFilePath, err := filepath.Rel(contextRoot, filePath); err != nil {
return err
} else if skip, err := fileutils.Matches(relFilePath, excludes); err != nil {
return err
} else if skip {
if f.IsDir() {
return filepath.SkipDir
}
return nil
}
if err != nil {
if os.IsPermission(err) {
return fmt.Errorf("can't stat '%s'", filePath)
}
if os.IsNotExist(err) {
return nil
}
return err
}
// skip checking if symlinks point to non-existing files, such symlinks can be useful
// also skip named pipes, because they hanging on open
if f.Mode()&(os.ModeSymlink|os.ModeNamedPipe) != 0 {
return nil
}
if !f.IsDir() {
currentFile, err := os.Open(filePath)
if err != nil && os.IsPermission(err) {
return fmt.Errorf("no permission to read from '%s'", filePath)
}
currentFile.Close()
}
return nil
})
}
// 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
}
// isUNC returns true if the path is UNC (one starting \\). It always returns
// false on Linux.
func isUNC(path string) bool {
return runtime.GOOS == "windows" && strings.HasPrefix(path, `\\`)
}
// getDockerfileRelPath uses the given context directory for a `docker build`
// and returns the absolute path to the context directory, the relative path of
// the dockerfile in that context directory, and a non-nil error on success.
func getDockerfileRelPath(givenContextDir, givenDockerfile string) (absContextDir, relDockerfile string, err error) {
if absContextDir, err = filepath.Abs(givenContextDir); err != nil {
return "", "", fmt.Errorf("unable to get absolute context directory: %v", err)
}
// The context dir might be a symbolic link, so follow it to the actual
// target directory.
//
// FIXME. We use isUNC (always false on non-Windows platforms) to workaround
// an issue in golang. On Windows, EvalSymLinks does not work on UNC file
// paths (those starting with \\). This hack means that when using links
// on UNC paths, they will not be followed.
if !isUNC(absContextDir) {
absContextDir, err = filepath.EvalSymlinks(absContextDir)
if err != nil {
return "", "", fmt.Errorf("unable to evaluate symlinks in context path: %v", err)
}
}
stat, err := os.Lstat(absContextDir)
if err != nil {
return "", "", fmt.Errorf("unable to stat context directory %q: %v", absContextDir, err)
}
if !stat.IsDir() {
return "", "", fmt.Errorf("context must be a directory: %s", absContextDir)
}
absDockerfile := givenDockerfile
if absDockerfile == "" {
// No -f/--file was specified so use the default relative to the
// context directory.
absDockerfile = filepath.Join(absContextDir, api.DefaultDockerfileName)
// Just to be nice ;-) look for 'dockerfile' too but only
// use it if we found it, otherwise ignore this check
if _, err = os.Lstat(absDockerfile); os.IsNotExist(err) {
altPath := filepath.Join(absContextDir, strings.ToLower(api.DefaultDockerfileName))
if _, err = os.Lstat(altPath); err == nil {
absDockerfile = altPath
}
}
}
// If not already an absolute path, the Dockerfile path should be joined to
// the base directory.
if !filepath.IsAbs(absDockerfile) {
absDockerfile = filepath.Join(absContextDir, absDockerfile)
}
// Evaluate symlinks in the path to the Dockerfile too.
//
// FIXME. We use isUNC (always false on non-Windows platforms) to workaround
// an issue in golang. On Windows, EvalSymLinks does not work on UNC file
// paths (those starting with \\). This hack means that when using links
// on UNC paths, they will not be followed.
if !isUNC(absDockerfile) {
absDockerfile, err = filepath.EvalSymlinks(absDockerfile)
if err != nil {
return "", "", fmt.Errorf("unable to evaluate symlinks in Dockerfile path: %v", err)
}
}
if _, err := os.Lstat(absDockerfile); err != nil {
if os.IsNotExist(err) {
return "", "", fmt.Errorf("Cannot locate Dockerfile: %q", absDockerfile)
}
return "", "", fmt.Errorf("unable to stat Dockerfile: %v", err)
}
if relDockerfile, err = filepath.Rel(absContextDir, absDockerfile); err != nil {
return "", "", fmt.Errorf("unable to get relative Dockerfile path: %v", err)
}
if strings.HasPrefix(relDockerfile, ".."+string(filepath.Separator)) {
return "", "", fmt.Errorf("The Dockerfile (%s) must be within the build context (%s)", givenDockerfile, givenContextDir)
}
return absContextDir, relDockerfile, nil
}
// writeToFile copies from the given reader and writes it to a file with the
// given filename.
func writeToFile(r io.Reader, filename string) error {
file, err := os.OpenFile(filename, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(0600))
if err != nil {
return fmt.Errorf("unable to create file: %v", err)
}
defer file.Close()
if _, err := io.Copy(file, r); err != nil {
return fmt.Errorf("unable to write file: %v", err)
}
return nil
}
// getContextFromReader will read the contents of the given reader as either a
// Dockerfile or tar archive. Returns a tar archive used as a context and a
// path to the Dockerfile inside the tar.
func getContextFromReader(r io.ReadCloser, dockerfileName string) (out io.ReadCloser, relDockerfile string, err error) {
buf := bufio.NewReader(r)
magic, err := buf.Peek(archive.HeaderSize)
if err != nil && err != io.EOF {
return nil, "", fmt.Errorf("failed to peek context header from STDIN: %v", err)
}
if archive.IsArchive(magic) {
return ioutils.NewReadCloserWrapper(buf, func() error { return r.Close() }), dockerfileName, nil
}
// Input should be read as a Dockerfile.
tmpDir, err := ioutil.TempDir("", "docker-build-context-")
if err != nil {
return nil, "", fmt.Errorf("unbale to create temporary context directory: %v", err)
}
f, err := os.Create(filepath.Join(tmpDir, api.DefaultDockerfileName))
if err != nil {
return nil, "", err
}
_, err = io.Copy(f, buf)
if err != nil {
f.Close()
return nil, "", err
}
if err := f.Close(); err != nil {
return nil, "", err
}
if err := r.Close(); err != nil {
return nil, "", err
}
tar, err := archive.Tar(tmpDir, archive.Uncompressed)
if err != nil {
return nil, "", err
}
return ioutils.NewReadCloserWrapper(tar, func() error {
err := tar.Close()
os.RemoveAll(tmpDir)
return err
}), api.DefaultDockerfileName, nil
}
// getContextFromGitURL uses a Git URL as context for a `docker build`. The
// git repo is cloned into a temporary directory used as the context directory.
// Returns the absolute path to the temporary context directory, the relative
// path of the dockerfile in that context directory, and a non-nil error on
// success.
func getContextFromGitURL(gitURL, dockerfileName string) (absContextDir, relDockerfile string, err error) {
if absContextDir, err = gitutils.Clone(gitURL); err != nil {
return "", "", fmt.Errorf("unable to 'git clone' to temporary context directory: %v", err)
}
return getDockerfileRelPath(absContextDir, dockerfileName)
}
// getContextFromURL uses a remote URL as context for a `docker build`. The
// remote resource is downloaded as either a Dockerfile or a tar archive.
// Returns the tar archive used for the context and a path of the
// dockerfile inside the tar.
func getContextFromURL(out io.Writer, remoteURL, dockerfileName string) (io.ReadCloser, string, error) {
response, err := httputils.Download(remoteURL)
if err != nil {
return nil, "", fmt.Errorf("unable to download remote context %s: %v", remoteURL, err)
}
progressOutput := streamformatter.NewStreamFormatter().NewProgressOutput(out, true)
// Pass the response body through a progress reader.
progReader := progress.NewProgressReader(response.Body, progressOutput, response.ContentLength, "", fmt.Sprintf("Downloading build context from remote url: %s", remoteURL))
return getContextFromReader(ioutils.NewReadCloserWrapper(progReader, func() error { return response.Body.Close() }), dockerfileName)
}
// getContextFromLocalDir uses the given local directory as context for a
// `docker build`. Returns the absolute path to the local context directory,
// the relative path of the dockerfile in that context directory, and a non-nil
// error on success.
func getContextFromLocalDir(localDir, dockerfileName string) (absContextDir, relDockerfile string, err error) {
// When using a local context directory, when the Dockerfile is specified
// with the `-f/--file` option then it is considered relative to the
// current directory and not the context directory.
if dockerfileName != "" {
if dockerfileName, err = filepath.Abs(dockerfileName); err != nil {
return "", "", fmt.Errorf("unable to get absolute path to Dockerfile: %v", err)
}
}
return getDockerfileRelPath(localDir, dockerfileName)
}
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(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 && isTrusted() {
trustedRef, err := translator(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(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(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

@@ -0,0 +1,71 @@
// +build experimental
package bundlefile
import (
"encoding/json"
"fmt"
"io"
)
// Bundlefile stores the contents of a bundlefile
type Bundlefile struct {
Version string
Services map[string]Service
}
// Service is a service from a bundlefile
type Service struct {
Image string
Command []string `json:",omitempty"`
Args []string `json:",omitempty"`
Env []string `json:",omitempty"`
Labels map[string]string `json:",omitempty"`
Ports []Port `json:",omitempty"`
WorkingDir *string `json:",omitempty"`
User *string `json:",omitempty"`
Networks []string `json:",omitempty"`
}
// Port is a port as defined in a bundlefile
type Port struct {
Protocol string
Port uint32
}
// LoadFile loads a bundlefile from a path to the file
func LoadFile(reader io.Reader) (*Bundlefile, error) {
bundlefile := &Bundlefile{}
decoder := json.NewDecoder(reader)
if err := decoder.Decode(bundlefile); err != nil {
switch jsonErr := err.(type) {
case *json.SyntaxError:
return nil, fmt.Errorf(
"JSON syntax error at byte %v: %s",
jsonErr.Offset,
jsonErr.Error())
case *json.UnmarshalTypeError:
return nil, fmt.Errorf(
"Unexpected type at byte %v. Expected %s but received %s.",
jsonErr.Offset,
jsonErr.Type,
jsonErr.Value)
}
return nil, err
}
return bundlefile, nil
}
// Print writes the contents of the bundlefile to the output writer
// as human readable json
func Print(out io.Writer, bundle *Bundlefile) error {
bytes, err := json.MarshalIndent(*bundle, "", " ")
if err != nil {
return err
}
_, err = out.Write(bytes)
return err
}

View File

@@ -0,0 +1,79 @@
// +build experimental
package bundlefile
import (
"bytes"
"strings"
"testing"
"github.com/docker/docker/pkg/testutil/assert"
)
func TestLoadFileV01Success(t *testing.T) {
reader := strings.NewReader(`{
"Version": "0.1",
"Services": {
"redis": {
"Image": "redis@sha256:4b24131101fa0117bcaa18ac37055fffd9176aa1a240392bb8ea85e0be50f2ce",
"Networks": ["default"]
},
"web": {
"Image": "dockercloud/hello-world@sha256:fe79a2cfbd17eefc344fb8419420808df95a1e22d93b7f621a7399fd1e9dca1d",
"Networks": ["default"],
"User": "web"
}
}
}`)
bundle, err := LoadFile(reader)
assert.NilError(t, err)
assert.Equal(t, bundle.Version, "0.1")
assert.Equal(t, len(bundle.Services), 2)
}
func TestLoadFileSyntaxError(t *testing.T) {
reader := strings.NewReader(`{
"Version": "0.1",
"Services": unquoted string
}`)
_, err := LoadFile(reader)
assert.Error(t, err, "syntax error at byte 37: invalid character 'u'")
}
func TestLoadFileTypeError(t *testing.T) {
reader := strings.NewReader(`{
"Version": "0.1",
"Services": {
"web": {
"Image": "redis",
"Networks": "none"
}
}
}`)
_, err := LoadFile(reader)
assert.Error(t, err, "Unexpected type at byte 94. Expected []string but received string")
}
func TestPrint(t *testing.T) {
var buffer bytes.Buffer
bundle := &Bundlefile{
Version: "0.1",
Services: map[string]Service{
"web": {
Image: "image",
Command: []string{"echo", "something"},
},
},
}
assert.NilError(t, Print(&buffer, bundle))
output := buffer.String()
assert.Contains(t, output, "\"Image\": \"image\"")
assert.Contains(t, output,
`"Command": [
"echo",
"something"
]`)
}

View File

@@ -9,12 +9,15 @@ import (
"runtime"
"github.com/docker/docker/api"
"github.com/docker/docker/cli"
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"
)
@@ -25,7 +28,7 @@ type DockerCli struct {
init func() error
// configFile has the client configuration file
configFile *cliconfig.ConfigFile
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.
@@ -44,6 +47,10 @@ type DockerCli struct {
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
@@ -55,6 +62,41 @@ func (cli *DockerCli) Initialize() error {
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 {
@@ -62,7 +104,11 @@ func (cli *DockerCli) CheckTtyInput(attachStdin, ttyMode bool) error {
// 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 {
return errors.New("cannot enable tty mode on non tty input")
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
}
@@ -79,11 +125,48 @@ 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 *cli.ClientFlags) *DockerCli {
func NewDockerCli(in io.ReadCloser, out, err io.Writer, clientFlags *cliflags.ClientFlags) *DockerCli {
cli := &DockerCli{
in: in,
out: out,
@@ -93,37 +176,13 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, clientFlags *cli.ClientF
cli.init = func() error {
clientFlags.PostParse()
configFile, e := cliconfig.Load(cliconfig.ConfigDir())
if e != nil {
fmt.Fprintf(cli.err, "WARNING: Error loading config file:%v\n", e)
}
cli.configFile = configFile
cli.configFile = LoadDefaultConfigFile(err)
host, err := getServerHost(clientFlags.Common.Hosts, clientFlags.Common.TLSOptions)
client, err := NewAPIClientFromFlags(clientFlags, cli.configFile)
if err != nil {
return err
}
customHeaders := cli.configFile.HTTPHeaders
if customHeaders == nil {
customHeaders = map[string]string{}
}
customHeaders["User-Agent"] = "Docker-Client/" + dockerversion.Version + " (" + runtime.GOOS + ")"
verStr := api.DefaultVersion.String()
if tmpStr := os.Getenv("DOCKER_API_VERSION"); tmpStr != "" {
verStr = tmpStr
}
clientTransport, err := newClientTransport(clientFlags.Common.TLSOptions)
if err != nil {
return err
}
client, err := client.NewClient(host, verStr, clientTransport, customHeaders)
if err != nil {
return err
}
cli.client = client
if cli.in != nil {
@@ -139,6 +198,45 @@ func NewDockerCli(in io.ReadCloser, out, err io.Writer, clientFlags *cli.ClientF
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:
@@ -149,25 +247,35 @@ func getServerHost(hosts []string, tlsOptions *tlsconfig.Options) (host string,
return "", errors.New("Please specify only one -H")
}
defaultHost := opts.DefaultTCPHost
if tlsOptions != nil {
defaultHost = opts.DefaultTLSHost
}
host, err = opts.ParseHost(defaultHost, host)
host, err = opts.ParseHost(tlsOptions != nil, host)
return
}
func newClientTransport(tlsOptions *tlsconfig.Options) (*http.Transport, error) {
func newHTTPClient(host string, tlsOptions *tlsconfig.Options) (*http.Client, error) {
if tlsOptions == nil {
return &http.Transport{}, nil
// let the api client configure the default transport.
return nil, nil
}
config, err := tlsconfig.Client(*tlsOptions)
if err != nil {
return nil, err
}
return &http.Transport{
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 + ")"
}

11
api/client/commands.go Normal file
View File

@@ -0,0 +1,11 @@
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,83 +0,0 @@
package client
import (
"encoding/json"
"errors"
"fmt"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/reference"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/container"
)
// CmdCommit creates a new image from a container's changes.
//
// Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
func (cli *DockerCli) CmdCommit(args ...string) error {
cmd := Cli.Subcmd("commit", []string{"CONTAINER [REPOSITORY[:TAG]]"}, Cli.DockerCommands["commit"].Description, true)
flPause := cmd.Bool([]string{"p", "-pause"}, true, "Pause container during commit")
flComment := cmd.String([]string{"m", "-message"}, "", "Commit message")
flAuthor := cmd.String([]string{"a", "-author"}, "", "Author (e.g., \"John Hannibal Smith <hannibal@a-team.com>\")")
flChanges := opts.NewListOpts(nil)
cmd.Var(&flChanges, []string{"c", "-change"}, "Apply Dockerfile instruction to the created image")
// FIXME: --run is deprecated, it will be replaced with inline Dockerfile commands.
flConfig := cmd.String([]string{"#-run"}, "", "This option is deprecated and will be removed in a future version in favor of inline Dockerfile-compatible commands")
cmd.Require(flag.Max, 2)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var (
name = cmd.Arg(0)
repositoryAndTag = cmd.Arg(1)
repositoryName string
tag string
)
//Check if the given image name can be resolved
if repositoryAndTag != "" {
ref, err := reference.ParseNamed(repositoryAndTag)
if err != nil {
return err
}
repositoryName = ref.Name()
switch x := ref.(type) {
case reference.Canonical:
return errors.New("cannot commit to digest reference")
case reference.NamedTagged:
tag = x.Tag()
}
}
var config *container.Config
if *flConfig != "" {
config = &container.Config{}
if err := json.Unmarshal([]byte(*flConfig), config); err != nil {
return err
}
}
options := types.ContainerCommitOptions{
ContainerID: name,
RepositoryName: repositoryName,
Tag: tag,
Comment: *flComment,
Author: *flAuthor,
Changes: flChanges.GetAll(),
Pause: *flPause,
Config: config,
}
response, err := cli.client.ContainerCommit(options)
if err != nil {
return err
}
fmt.Fprintln(cli.out, response.ID)
return nil
}

View File

@@ -0,0 +1,130 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,93 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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,4 +1,4 @@
package client
package container
import (
"fmt"
@@ -7,13 +7,22 @@ import (
"path/filepath"
"strings"
Cli "github.com/docker/docker/cli"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/archive"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/system"
"github.com/docker/engine-api/types"
"github.com/spf13/cobra"
)
type copyOptions struct {
source string
destination string
followLink bool
}
type copyDirection int
const (
@@ -26,46 +35,45 @@ type cpConfig struct {
followLink bool
}
// CmdCp copies files/folders to or from a path in a container.
//
// When copying from a container, if DEST_PATH is '-' the data is written as a
// tar archive file to STDOUT.
//
// When copying to a container, if SRC_PATH is '-' the data is read as a tar
// archive file from STDIN, and the destination CONTAINER:DEST_PATH, must specify
// a directory.
//
// Usage:
// docker cp CONTAINER:SRC_PATH DEST_PATH|-
// docker cp SRC_PATH|- CONTAINER:DEST_PATH
func (cli *DockerCli) CmdCp(args ...string) error {
cmd := Cli.Subcmd(
"cp",
[]string{"CONTAINER:SRC_PATH DEST_PATH|-", "SRC_PATH|- CONTAINER:DEST_PATH"},
strings.Join([]string{
Cli.DockerCommands["cp"].Description,
// NewCopyCommand creates a new `docker cp` command
func NewCopyCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts copyOptions
cmd := &cobra.Command{
Use: `cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH`,
Short: "Copy files/folders between a container and the local filesystem",
Long: strings.Join([]string{
"Copy files/folders between a container and the local filesystem\n",
"\nUse '-' as the source to read a tar archive from stdin\n",
"and extract it to a directory destination in a container.\n",
"Use '-' as the destination to stream a tar archive of a\n",
"container source to stdout.",
}, ""),
true,
)
followLink := cmd.Bool([]string{"L", "-follow-link"}, false, "Always follow symbol link in SRC_PATH")
cmd.Require(flag.Exact, 2)
cmd.ParseFlags(args, true)
if cmd.Arg(0) == "" {
return fmt.Errorf("source can not be empty")
}
if cmd.Arg(1) == "" {
return fmt.Errorf("destination can not be empty")
Args: cli.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
if args[0] == "" {
return fmt.Errorf("source can not be empty")
}
if args[1] == "" {
return fmt.Errorf("destination can not be empty")
}
opts.source = args[0]
opts.destination = args[1]
return runCopy(dockerCli, opts)
},
}
srcContainer, srcPath := splitCpArg(cmd.Arg(0))
dstContainer, dstPath := splitCpArg(cmd.Arg(1))
flags := cmd.Flags()
flags.BoolVarP(&opts.followLink, "follow-link", "L", false, "Always follow symbol link in SRC_PATH")
return cmd
}
func runCopy(dockerCli *client.DockerCli, opts copyOptions) error {
srcContainer, srcPath := splitCpArg(opts.source)
dstContainer, dstPath := splitCpArg(opts.destination)
var direction copyDirection
if srcContainer != "" {
@@ -76,14 +84,16 @@ func (cli *DockerCli) CmdCp(args ...string) error {
}
cpParam := &cpConfig{
followLink: *followLink,
followLink: opts.followLink,
}
ctx := context.Background()
switch direction {
case fromContainer:
return cli.copyFromContainer(srcContainer, srcPath, dstPath, cpParam)
return copyFromContainer(ctx, dockerCli, srcContainer, srcPath, dstPath, cpParam)
case toContainer:
return cli.copyToContainer(srcPath, dstContainer, dstPath, cpParam)
return copyToContainer(ctx, dockerCli, srcPath, dstContainer, dstPath, cpParam)
case acrossContainers:
// Copying between containers isn't supported.
return fmt.Errorf("copying between containers is not supported")
@@ -93,39 +103,8 @@ func (cli *DockerCli) CmdCp(args ...string) error {
}
}
// We use `:` as a delimiter between CONTAINER and PATH, but `:` could also be
// in a valid LOCALPATH, like `file:name.txt`. We can resolve this ambiguity by
// requiring a LOCALPATH with a `:` to be made explicit with a relative or
// absolute path:
// `/path/to/file:name.txt` or `./file:name.txt`
//
// This is apparently how `scp` handles this as well:
// http://www.cyberciti.biz/faq/rsync-scp-file-name-with-colon-punctuation-in-it/
//
// We can't simply check for a filepath separator because container names may
// have a separator, e.g., "host0/cname1" if container is in a Docker cluster,
// so we have to check for a `/` or `.` prefix. Also, in the case of a Windows
// client, a `:` could be part of an absolute Windows path, in which case it
// is immediately proceeded by a backslash.
func splitCpArg(arg string) (container, path string) {
if system.IsAbs(arg) {
// Explicit local absolute path, e.g., `C:\foo` or `/foo`.
return "", arg
}
parts := strings.SplitN(arg, ":", 2)
if len(parts) == 1 || strings.HasPrefix(parts[0], ".") {
// Either there's no `:` in the arg
// OR it's an explicit local relative path like `./file:name.txt`.
return "", arg
}
return parts[0], parts[1]
}
func (cli *DockerCli) statContainerPath(containerName, path string) (types.ContainerPathStat, error) {
return cli.client.ContainerStatPath(containerName, path)
func statContainerPath(ctx context.Context, dockerCli *client.DockerCli, containerName, path string) (types.ContainerPathStat, error) {
return dockerCli.Client().ContainerStatPath(ctx, containerName, path)
}
func resolveLocalPath(localPath string) (absPath string, err error) {
@@ -136,7 +115,7 @@ func resolveLocalPath(localPath string) (absPath string, err error) {
return archive.PreserveTrailingDotOrSeparator(absPath, localPath), nil
}
func (cli *DockerCli) copyFromContainer(srcContainer, srcPath, dstPath string, cpParam *cpConfig) (err error) {
func copyFromContainer(ctx context.Context, dockerCli *client.DockerCli, srcContainer, srcPath, dstPath string, cpParam *cpConfig) (err error) {
if dstPath != "-" {
// Get an absolute destination path.
dstPath, err = resolveLocalPath(dstPath)
@@ -148,7 +127,7 @@ func (cli *DockerCli) copyFromContainer(srcContainer, srcPath, dstPath string, c
// if client requests to follow symbol link, then must decide target file to be copied
var rebaseName string
if cpParam.followLink {
srcStat, err := cli.statContainerPath(srcContainer, srcPath)
srcStat, err := statContainerPath(ctx, dockerCli, srcContainer, srcPath)
// If the destination is a symbolic link, we should follow it.
if err == nil && srcStat.Mode&os.ModeSymlink != 0 {
@@ -165,7 +144,7 @@ func (cli *DockerCli) copyFromContainer(srcContainer, srcPath, dstPath string, c
}
content, stat, err := cli.client.CopyFromContainer(srcContainer, srcPath)
content, stat, err := dockerCli.Client().CopyFromContainer(ctx, srcContainer, srcPath)
if err != nil {
return err
}
@@ -197,7 +176,7 @@ func (cli *DockerCli) copyFromContainer(srcContainer, srcPath, dstPath string, c
return archive.CopyTo(preArchive, srcInfo, dstPath)
}
func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string, cpParam *cpConfig) (err error) {
func copyToContainer(ctx context.Context, dockerCli *client.DockerCli, srcPath, dstContainer, dstPath string, cpParam *cpConfig) (err error) {
if srcPath != "-" {
// Get an absolute source path.
srcPath, err = resolveLocalPath(srcPath)
@@ -213,7 +192,7 @@ func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string, cpP
// Prepare destination copy info by stat-ing the container path.
dstInfo := archive.CopyInfo{Path: dstPath}
dstStat, err := cli.statContainerPath(dstContainer, dstPath)
dstStat, err := statContainerPath(ctx, dockerCli, dstContainer, dstPath)
// If the destination is a symbolic link, we should evaluate it.
if err == nil && dstStat.Mode&os.ModeSymlink != 0 {
@@ -225,7 +204,7 @@ func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string, cpP
}
dstInfo.Path = linkTarget
dstStat, err = cli.statContainerPath(dstContainer, linkTarget)
dstStat, err = statContainerPath(ctx, dockerCli, dstContainer, linkTarget)
}
// Ignore any error and assume that the parent directory of the destination
@@ -286,11 +265,39 @@ func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string, cpP
}
options := types.CopyToContainerOptions{
ContainerID: dstContainer,
Path: resolvedDstPath,
Content: content,
AllowOverwriteDirWithFile: false,
}
return cli.client.CopyToContainer(options)
return dockerCli.Client().CopyToContainer(ctx, dstContainer, resolvedDstPath, content, options)
}
// We use `:` as a delimiter between CONTAINER and PATH, but `:` could also be
// in a valid LOCALPATH, like `file:name.txt`. We can resolve this ambiguity by
// requiring a LOCALPATH with a `:` to be made explicit with a relative or
// absolute path:
// `/path/to/file:name.txt` or `./file:name.txt`
//
// This is apparently how `scp` handles this as well:
// http://www.cyberciti.biz/faq/rsync-scp-file-name-with-colon-punctuation-in-it/
//
// We can't simply check for a filepath separator because container names may
// have a separator, e.g., "host0/cname1" if container is in a Docker cluster,
// so we have to check for a `/` or `.` prefix. Also, in the case of a Windows
// client, a `:` could be part of an absolute Windows path, in which case it
// is immediately proceeded by a backslash.
func splitCpArg(arg string) (container, path string) {
if system.IsAbs(arg) {
// Explicit local absolute path, e.g., `C:\foo` or `/foo`.
return "", arg
}
parts := strings.SplitN(arg, ":", 2)
if len(parts) == 1 || strings.HasPrefix(parts[0], ".") {
// Either there's no `:` in the arg
// OR it's an explicit local relative path like `./file:name.txt`.
return "", arg
}
return parts[0], parts[1]
}

View File

@@ -0,0 +1,218 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,61 @@
package container
import (
"fmt"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/docker/docker/pkg/archive"
"github.com/spf13/cobra"
)
type diffOptions struct {
container string
}
// NewDiffCommand creates a new cobra.Command for `docker diff`
func NewDiffCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts diffOptions
cmd := &cobra.Command{
Use: "diff CONTAINER",
Short: "Inspect changes on a container's filesystem",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
return runDiff(dockerCli, &opts)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
return cmd
}
func runDiff(dockerCli *client.DockerCli, opts *diffOptions) error {
if opts.container == "" {
return fmt.Errorf("Container name cannot be empty")
}
ctx := context.Background()
changes, err := dockerCli.Client().ContainerDiff(ctx, opts.container)
if err != nil {
return err
}
for _, change := range changes {
var kind string
switch change.Kind {
case archive.ChangeModify:
kind = "C"
case archive.ChangeAdd:
kind = "A"
case archive.ChangeDelete:
kind = "D"
}
fmt.Fprintf(dockerCli.Out(), "%s %s\n", kind, change.Path)
}
return nil
}

View File

@@ -0,0 +1,59 @@
package container
import (
"errors"
"io"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type exportOptions struct {
container string
output string
}
// NewExportCommand creates a new `docker export` command
func NewExportCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts exportOptions
cmd := &cobra.Command{
Use: "export [OPTIONS] CONTAINER",
Short: "Export a container's filesystem as a tar archive",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
return runExport(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.output, "output", "o", "", "Write to a file, instead of STDOUT")
return cmd
}
func runExport(dockerCli *client.DockerCli, opts exportOptions) error {
if opts.output == "" && dockerCli.IsTerminalOut() {
return errors.New("Cowardly refusing to save to a terminal. Use the -o flag or redirect.")
}
clnt := dockerCli.Client()
responseBody, err := clnt.ContainerExport(context.Background(), opts.container)
if err != nil {
return err
}
defer responseBody.Close()
if opts.output == "" {
_, err := io.Copy(dockerCli.Out(), responseBody)
return err
}
return client.CopyToFile(opts.output, responseBody)
}

View File

@@ -0,0 +1,53 @@
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 container",
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

@@ -0,0 +1,88 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,51 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,80 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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
}

125
api/client/container/ps.go Normal file
View File

@@ -0,0 +1,125 @@
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.ExactArgs(0),
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

@@ -0,0 +1,53 @@
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 renameOptions struct {
oldName string
newName string
}
// NewRenameCommand creats a new cobra.Command for `docker rename`
func NewRenameCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts renameOptions
cmd := &cobra.Command{
Use: "rename OLD_NAME NEW_NAME",
Short: "Rename a container",
Args: cli.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.oldName = args[0]
opts.newName = args[1]
return runRename(dockerCli, &opts)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
return cmd
}
func runRename(dockerCli *client.DockerCli, opts *renameOptions) error {
ctx := context.Background()
oldName := strings.TrimSpace(opts.oldName)
newName := strings.TrimSpace(opts.newName)
if oldName == "" || newName == "" {
return fmt.Errorf("Error: Neither old nor new names may be empty")
}
if err := dockerCli.Client().ContainerRename(ctx, oldName, newName); err != nil {
fmt.Fprintf(dockerCli.Err(), "%s\n", err)
return fmt.Errorf("Error: failed to rename container named %s", oldName)
}
return nil
}

View File

@@ -0,0 +1,55 @@
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

@@ -0,0 +1,76 @@
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
}

334
api/client/container/run.go Normal file
View File

@@ -0,0 +1,334 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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 flagErrorFunc(cmd *cobra.Command, err error) error {
return cli.StatusError{
Status: cli.FlagErrorFunc(cmd, err).Error(),
StatusCode: 125,
}
}
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

@@ -0,0 +1,153 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,233 @@
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

@@ -0,0 +1,238 @@
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,8 +1,7 @@
package client
package container
import (
"bytes"
"sync"
"testing"
"github.com/docker/engine-api/types"
@@ -19,14 +18,14 @@ func TestDisplay(t *testing.T) {
NetworkTx: 800 * 1024 * 1024,
BlockRead: 100 * 1024 * 1024,
BlockWrite: 800 * 1024 * 1024,
mu: sync.RWMutex{},
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%\t104.9 MB / 2.147 GB\t4.88%\t104.9 MB / 838.9 MB\t104.9 MB / 838.9 MB\n"
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)
}

View File

@@ -0,0 +1,57 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,59 @@
package container
import (
"fmt"
"strings"
"text/tabwriter"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type topOptions struct {
container string
args []string
}
// NewTopCommand creates a new cobra.Command for `docker top`
func NewTopCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts topOptions
cmd := &cobra.Command{
Use: "top CONTAINER [ps OPTIONS]",
Short: "Display the running processes of a container",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.container = args[0]
opts.args = args[1:]
return runTop(dockerCli, &opts)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
flags := cmd.Flags()
flags.SetInterspersed(false)
return cmd
}
func runTop(dockerCli *client.DockerCli, opts *topOptions) error {
ctx := context.Background()
procList, err := dockerCli.Client().ContainerTop(ctx, opts.container, opts.args)
if err != nil {
return err
}
w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0)
fmt.Fprintln(w, strings.Join(procList.Titles, "\t"))
for _, proc := range procList.Processes {
fmt.Fprintln(w, strings.Join(proc, "\t"))
}
w.Flush()
return nil
}

View File

@@ -0,0 +1,51 @@
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)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
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

@@ -0,0 +1,22 @@
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

@@ -0,0 +1,52 @@
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 waitOptions struct {
containers []string
}
// NewWaitCommand creates a new cobra.Command for `docker wait`
func NewWaitCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts waitOptions
cmd := &cobra.Command{
Use: "wait CONTAINER [CONTAINER...]",
Short: "Block until a container stops, then print its exit code",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.containers = args
return runWait(dockerCli, &opts)
},
}
cmd.SetFlagErrorFunc(flagErrorFunc)
return cmd
}
func runWait(dockerCli *client.DockerCli, opts *waitOptions) error {
ctx := context.Background()
var errs []string
for _, container := range opts.containers {
status, err := dockerCli.Client().ContainerWait(ctx, container)
if err != nil {
errs = append(errs, err.Error())
} else {
fmt.Fprintf(dockerCli.Out(), "%d\n", status)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,177 +0,0 @@
package client
import (
"fmt"
"io"
"os"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/reference"
"github.com/docker/docker/registry"
runconfigopts "github.com/docker/docker/runconfig/opts"
"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"
)
func (cli *DockerCli) pullImage(image string) error {
return cli.pullImageCustomOut(image, cli.out)
}
func (cli *DockerCli) pullImageCustomOut(image string, out io.Writer) error {
ref, err := reference.ParseNamed(image)
if err != nil {
return err
}
var tag string
switch x := reference.WithDefaultTag(ref).(type) {
case reference.Canonical:
tag = x.Digest().String()
case reference.NamedTagged:
tag = x.Tag()
}
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(ref)
if err != nil {
return err
}
// Resolve the Auth config relevant for this server
encodedAuth, err := cli.encodeRegistryAuth(repoInfo.Index)
if err != nil {
return err
}
options := types.ImageCreateOptions{
Parent: ref.Name(),
Tag: tag,
RegistryAuth: encodedAuth,
}
responseBody, err := cli.client.ImageCreate(options)
if err != nil {
return err
}
defer responseBody.Close()
return jsonmessage.DisplayJSONMessagesStream(responseBody, out, cli.outFd, cli.isTerminalOut, nil)
}
type cidFile struct {
path string
file *os.File
written bool
}
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 (cli *DockerCli) createContainer(config *container.Config, hostConfig *container.HostConfig, networkingConfig *networktypes.NetworkingConfig, cidfile, name string) (*types.ContainerCreateResponse, error) {
var containerIDFile *cidFile
if cidfile != "" {
var err error
if containerIDFile, err = newCIDFile(cidfile); err != nil {
return nil, err
}
defer containerIDFile.Close()
}
ref, err := reference.ParseNamed(config.Image)
if err != nil {
return nil, err
}
ref = reference.WithDefaultTag(ref)
var trustedRef reference.Canonical
if ref, ok := ref.(reference.NamedTagged); ok && isTrusted() {
var err error
trustedRef, err = cli.trustedReference(ref)
if err != nil {
return nil, err
}
config.Image = trustedRef.String()
}
//create the container
response, err := cli.client.ContainerCreate(config, hostConfig, networkingConfig, name)
//if image not found try to pull it
if err != nil {
if client.IsErrImageNotFound(err) {
fmt.Fprintf(cli.err, "Unable to find image '%s' locally\n", ref.String())
// we don't want to write to stdout anything apart from container.ID
if err = cli.pullImageCustomOut(config.Image, cli.err); err != nil {
return nil, err
}
if ref, ok := ref.(reference.NamedTagged); ok && trustedRef != nil {
if err := cli.tagTrusted(trustedRef, ref); err != nil {
return nil, err
}
}
// Retry
var retryErr error
response, retryErr = cli.client.ContainerCreate(config, hostConfig, networkingConfig, name)
if retryErr != nil {
return nil, retryErr
}
} else {
return nil, err
}
}
for _, warning := range response.Warnings {
fmt.Fprintf(cli.err, "WARNING: %s\n", warning)
}
if containerIDFile != nil {
if err = containerIDFile.Write(response.ID); err != nil {
return nil, err
}
}
return &response, nil
}
// CmdCreate creates a new container from a given image.
//
// Usage: docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
func (cli *DockerCli) CmdCreate(args ...string) error {
cmd := Cli.Subcmd("create", []string{"IMAGE [COMMAND] [ARG...]"}, Cli.DockerCommands["create"].Description, true)
addTrustedFlags(cmd, true)
// These are flags not stored in Config/HostConfig
var (
flName = cmd.String([]string{"-name"}, "", "Assign a name to the container")
)
config, hostConfig, networkingConfig, cmd, err := runconfigopts.Parse(cmd, args)
if err != nil {
cmd.ReportError(err.Error(), true)
os.Exit(1)
}
if config.Image == "" {
cmd.Usage()
return nil
}
response, err := cli.createContainer(config, hostConfig, networkingConfig, hostConfig.ContainerIDFile, *flName)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "%s\n", response.ID)
return nil
}

44
api/client/credentials.go Normal file
View File

@@ -0,0 +1,44 @@
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,47 +0,0 @@
package client
import (
"fmt"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/archive"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdDiff shows changes on a container's filesystem.
//
// Each changed file is printed on a separate line, prefixed with a single
// character that indicates the status of the file: C (modified), A (added),
// or D (deleted).
//
// Usage: docker diff CONTAINER
func (cli *DockerCli) CmdDiff(args ...string) error {
cmd := Cli.Subcmd("diff", []string{"CONTAINER"}, Cli.DockerCommands["diff"].Description, true)
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
if cmd.Arg(0) == "" {
return fmt.Errorf("Container name cannot be empty")
}
changes, err := cli.client.ContainerDiff(cmd.Arg(0))
if err != nil {
return err
}
for _, change := range changes {
var kind string
switch change.Kind {
case archive.ChangeModify:
kind = "C"
case archive.ChangeAdd:
kind = "A"
case archive.ChangeDelete:
kind = "D"
}
fmt.Fprintf(cli.out, "%s %s\n", kind, change.Path)
}
return nil
}

View File

@@ -4,6 +4,8 @@ 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"
@@ -15,12 +17,13 @@ import (
//
// Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
func (cli *DockerCli) CmdExec(args ...string) error {
cmd := Cli.Subcmd("exec", []string{"CONTAINER COMMAND [ARG...]"}, Cli.DockerCommands["exec"].Description, true)
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 execConfig.Container == "" || err != nil {
if container == "" || err != nil {
return Cli.StatusError{StatusCode: 1}
}
@@ -31,7 +34,9 @@ func (cli *DockerCli) CmdExec(args ...string) error {
// Send client escape keys
execConfig.DetachKeys = cli.configFile.DetachKeys
response, err := cli.client.ContainerExecCreate(*execConfig)
ctx := context.Background()
response, err := cli.client.ContainerExecCreate(ctx, container, *execConfig)
if err != nil {
return err
}
@@ -53,7 +58,7 @@ func (cli *DockerCli) CmdExec(args ...string) error {
Tty: execConfig.Tty,
}
if err := cli.client.ContainerExecStart(execID, execStartCheck); err != nil {
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()
@@ -82,17 +87,17 @@ func (cli *DockerCli) CmdExec(args ...string) error {
}
}
resp, err := cli.client.ContainerExecAttach(execID, *execConfig)
resp, err := cli.client.ContainerExecAttach(ctx, execID, *execConfig)
if err != nil {
return err
}
defer resp.Close()
errCh = promise.Go(func() error {
return cli.holdHijackedConnection(execConfig.Tty, in, out, stderr, resp)
return cli.HoldHijackedConnection(ctx, execConfig.Tty, in, out, stderr, resp)
})
if execConfig.Tty && cli.isTerminalIn {
if err := cli.monitorTtySize(execID, true); err != nil {
if err := cli.MonitorTtySize(ctx, execID, true); err != nil {
fmt.Fprintf(cli.err, "Error monitoring TTY size: %s\n", err)
}
}
@@ -103,7 +108,7 @@ func (cli *DockerCli) CmdExec(args ...string) error {
}
var status int
if _, status, err = getExecExitCode(cli, execID); err != nil {
if _, status, err = cli.getExecExitCode(ctx, execID); err != nil {
return err
}
@@ -126,13 +131,11 @@ func ParseExec(cmd *flag.FlagSet, args []string) (*types.ExecConfig, error) {
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
container string
)
cmd.Require(flag.Min, 2)
if err := cmd.ParseFlags(args, true); err != nil {
return nil, err
}
container = cmd.Arg(0)
parsedArgs := cmd.Args()
execCmd = parsedArgs[1:]
@@ -141,7 +144,6 @@ func ParseExec(cmd *flag.FlagSet, args []string) (*types.ExecConfig, error) {
Privileged: *flPrivileged,
Tty: *flTty,
Cmd: execCmd,
Container: container,
Detach: *flDetach,
}

View File

@@ -23,7 +23,6 @@ func TestParseExec(t *testing.T) {
&arguments{
[]string{"container", "command"},
}: {
Container: "container",
Cmd: []string{"command"},
AttachStdout: true,
AttachStderr: true,
@@ -31,7 +30,6 @@ func TestParseExec(t *testing.T) {
&arguments{
[]string{"container", "command1", "command2"},
}: {
Container: "container",
Cmd: []string{"command1", "command2"},
AttachStdout: true,
AttachStderr: true,
@@ -44,7 +42,6 @@ func TestParseExec(t *testing.T) {
AttachStdout: true,
AttachStderr: true,
Tty: true,
Container: "container",
Cmd: []string{"command"},
},
&arguments{
@@ -54,7 +51,6 @@ func TestParseExec(t *testing.T) {
AttachStdout: false,
AttachStderr: false,
Detach: true,
Container: "container",
Cmd: []string{"command"},
},
&arguments{
@@ -65,7 +61,6 @@ func TestParseExec(t *testing.T) {
AttachStderr: false,
Detach: true,
Tty: true,
Container: "container",
Cmd: []string{"command"},
},
}
@@ -103,9 +98,6 @@ func compareExecConfig(config1 *types.ExecConfig, config2 *types.ExecConfig) boo
if config1.AttachStdout != config2.AttachStdout {
return false
}
if config1.Container != config2.Container {
return false
}
if config1.Detach != config2.Detach {
return false
}

View File

@@ -1,45 +0,0 @@
package client
import (
"errors"
"io"
"os"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdExport exports a filesystem as a tar archive.
//
// The tar archive is streamed to STDOUT by default or written to a file.
//
// Usage: docker export [OPTIONS] CONTAINER
func (cli *DockerCli) CmdExport(args ...string) error {
cmd := Cli.Subcmd("export", []string{"CONTAINER"}, Cli.DockerCommands["export"].Description, true)
outfile := cmd.String([]string{"o", "-output"}, "", "Write to a file, instead of STDOUT")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
var (
output = cli.out
err error
)
if *outfile != "" {
output, err = os.Create(*outfile)
if err != nil {
return err
}
} else if cli.isTerminalOut {
return errors.New("Cowardly refusing to save to a terminal. Use the -o flag or redirect.")
}
responseBody, err := cli.client.ContainerExport(cmd.Arg(0))
if err != nil {
return err
}
defer responseBody.Close()
_, err = io.Copy(output, responseBody)
return err
}

View File

@@ -31,6 +31,7 @@ const (
repositoryHeader = "REPOSITORY"
tagHeader = "TAG"
digestHeader = "DIGEST"
mountsHeader = "MOUNTS"
)
type containerContext struct {
@@ -142,6 +143,25 @@ func (c *containerContext) Label(name string) string {
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
@@ -214,9 +234,10 @@ func (c *baseSubContext) addHeader(header string) {
}
func stripNamePrefix(ss []string) []string {
sss := make([]string, len(ss))
for i, s := range ss {
ss[i] = s[1:]
sss[i] = s[1:]
}
return ss
return sss
}

View File

@@ -12,7 +12,7 @@ import (
func TestContainerPsContext(t *testing.T) {
containerID := stringid.GenerateRandomID()
unix := time.Now().Unix()
unix := time.Now().Add(-65 * time.Second).Unix()
var ctx containerContext
cases := []struct {
@@ -55,7 +55,7 @@ func TestContainerPsContext(t *testing.T) {
{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, "Less than a second", runningForHeader, ctx.RunningFor},
{types.Container{Created: unix}, true, "About a minute", runningForHeader, ctx.RunningFor},
}
for _, c := range cases {

View File

@@ -9,6 +9,7 @@ import (
"text/template"
"github.com/docker/docker/reference"
"github.com/docker/docker/utils/templates"
"github.com/docker/engine-api/types"
)
@@ -54,7 +55,7 @@ func (c *Context) preformat() {
}
func (c *Context) parseFormat() (*template.Template, error) {
tmpl, err := template.New("").Parse(c.finalFormat)
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)
@@ -113,35 +114,27 @@ type ImageContext struct {
func (ctx ContainerContext) Write() {
switch ctx.Format {
case tableFormatKey:
ctx.Format = defaultContainerTableFormat
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}}
image: {{.Image}}
command: {{.Command}}
created_at: {{.CreatedAt}}
status: {{.Status}}
names: {{.Names}}
labels: {{.Labels}}
ports: {{.Ports}}
`
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}}
`
ctx.Format += `size: {{.Size}}\n`
}
}
}
ctx.buffer = bytes.NewBufferString("")
ctx.preformat()
if ctx.table && ctx.Size {
ctx.finalFormat += "\t{{.Size}}"
}
tmpl, err := ctx.parseFormat()
if err != nil {
@@ -162,6 +155,10 @@ ports: {{.Ports}}
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:
@@ -207,42 +204,98 @@ virtual_size: {{.Size}}
}
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{}
repoTags := image.RepoTags
repoDigests := image.RepoDigests
if len(repoTags) == 1 && repoTags[0] == "<none>:<none>" && len(repoDigests) == 1 && repoDigests[0] == "<none>@<none>" {
// dangling image - clear out either repoTags or repoDigests so we only show it once below
repoDigests = []string{}
}
// combine the tags and digests lists
tagsAndDigests := append(repoTags, repoDigests...)
for _, repoAndRef := range tagsAndDigests {
repo := "<none>"
tag := "<none>"
digest := "<none>"
if !strings.HasPrefix(repoAndRef, "<none>") {
ref, err := reference.ParseNamed(repoAndRef)
for _, refString := range append(image.RepoTags) {
ref, err := reference.ParseNamed(refString)
if err != nil {
continue
}
repo = ref.Name()
switch x := ref.(type) {
case reference.Canonical:
digest = x.Digest().String()
case reference.NamedTagged:
tag = x.Tag()
if nt, ok := ref.(reference.NamedTagged); ok {
repoTags[ref.Name()] = append(repoTags[ref.Name()], nt.Tag())
}
}
imageCtx := &imageContext{
trunc: ctx.Trunc,
i: image,
repo: repo,
tag: tag,
digest: digest,
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

View File

@@ -63,7 +63,7 @@ containerID2 ubuntu "" 24 hours ago
},
Size: true,
},
"IMAGE SIZE\nubuntu 0 B\nubuntu 0 B\n",
"IMAGE\nubuntu\nubuntu\n",
},
{
ContainerContext{
@@ -230,6 +230,25 @@ func TestContainerContextWriteWithNoContainers(t *testing.T) {
},
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",
},
}
@@ -282,7 +301,6 @@ func TestImageContextWrite(t *testing.T) {
},
`REPOSITORY TAG IMAGE ID CREATED SIZE
image tag1 imageID1 24 hours ago 0 B
image <none> imageID1 24 hours ago 0 B
image tag2 imageID2 24 hours ago 0 B
<none> <none> imageID3 24 hours ago 0 B
`,
@@ -293,7 +311,7 @@ image tag2 imageID2 24 hours ago
Format: "table {{.Repository}}",
},
},
"REPOSITORY\nimage\nimage\nimage\n<none>\n",
"REPOSITORY\nimage\nimage\n<none>\n",
},
{
ImageContext{
@@ -303,7 +321,6 @@ image tag2 imageID2 24 hours ago
Digest: true,
},
`REPOSITORY DIGEST
image <none>
image sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
image <none>
<none> <none>
@@ -316,7 +333,7 @@ image <none>
Quiet: true,
},
},
"REPOSITORY\nimage\nimage\nimage\n<none>\n",
"REPOSITORY\nimage\nimage\n<none>\n",
},
{
ImageContext{
@@ -325,7 +342,7 @@ image <none>
Quiet: true,
},
},
"imageID1\nimageID1\nimageID2\nimageID3\n",
"imageID1\nimageID2\nimageID3\n",
},
{
ImageContext{
@@ -336,8 +353,7 @@ image <none>
Digest: true,
},
`REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
image tag1 <none> imageID1 24 hours ago 0 B
image <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf imageID1 24 hours ago 0 B
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
`,
@@ -350,7 +366,7 @@ image tag2 <none>
},
Digest: true,
},
"imageID1\nimageID1\nimageID2\nimageID3\n",
"imageID1\nimageID2\nimageID3\n",
},
// Raw Format
{
@@ -365,12 +381,6 @@ image_id: imageID1
created_at: %s
virtual_size: 0 B
repository: image
tag: <none>
image_id: imageID1
created_at: %s
virtual_size: 0 B
repository: image
tag: tag2
image_id: imageID2
@@ -383,7 +393,7 @@ image_id: imageID3
created_at: %s
virtual_size: 0 B
`, expectedTime, expectedTime, expectedTime, expectedTime),
`, expectedTime, expectedTime, expectedTime),
},
{
ImageContext{
@@ -394,13 +404,6 @@ virtual_size: 0 B
},
fmt.Sprintf(`repository: image
tag: tag1
digest: <none>
image_id: imageID1
created_at: %s
virtual_size: 0 B
repository: image
tag: <none>
digest: sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf
image_id: imageID1
created_at: %s
@@ -420,7 +423,7 @@ image_id: imageID3
created_at: %s
virtual_size: 0 B
`, expectedTime, expectedTime, expectedTime, expectedTime),
`, expectedTime, expectedTime, expectedTime),
},
{
ImageContext{
@@ -430,7 +433,6 @@ virtual_size: 0 B
},
},
`image_id: imageID1
image_id: imageID1
image_id: imageID2
image_id: imageID3
`,
@@ -442,7 +444,7 @@ image_id: imageID3
Format: "{{.Repository}}",
},
},
"image\nimage\nimage\n<none>\n",
"image\nimage\n<none>\n",
},
{
ImageContext{
@@ -451,7 +453,7 @@ image_id: imageID3
},
Digest: true,
},
"image\nimage\nimage\n<none>\n",
"image\nimage\n<none>\n",
},
}

View File

@@ -2,46 +2,51 @@ package client
import (
"io"
"os"
"sync"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/pkg/term"
"github.com/docker/engine-api/types"
)
func (cli *DockerCli) holdHijackedConnection(setRawTerminal bool, inputStream io.ReadCloser, outputStream, errorStream io.Writer, resp types.HijackedResponse) error {
// 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
oldState *term.State
err error
restoreOnce sync.Once
)
if inputStream != nil && setRawTerminal && cli.isTerminalIn && os.Getenv("NORAW") == "" {
oldState, err = term.SetRawTerminal(cli.inFd)
if err != nil {
if inputStream != nil && tty {
if err := cli.setRawTerminal(); err != nil {
return err
}
defer term.RestoreTerminal(cli.inFd, oldState)
defer func() {
restoreOnce.Do(func() {
cli.restoreTerminal(inputStream)
})
}()
}
receiveStdout := make(chan error, 1)
if outputStream != nil || errorStream != nil {
go func() {
defer func() {
if inputStream != nil {
if setRawTerminal && cli.isTerminalIn {
term.RestoreTerminal(cli.inFd, oldState)
}
inputStream.Close()
}
}()
// When TTY is ON, use regular copy
if setRawTerminal && outputStream != nil {
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.Debugf("[hijack] End of stdout")
logrus.Debug("[hijack] End of stdout")
receiveStdout <- err
}()
}
@@ -50,7 +55,14 @@ func (cli *DockerCli) holdHijackedConnection(setRawTerminal bool, inputStream io
go func() {
if inputStream != nil {
io.Copy(resp.Conn, inputStream)
logrus.Debugf("[hijack] End of stdin")
// 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 {
@@ -67,11 +79,16 @@ func (cli *DockerCli) holdHijackedConnection(setRawTerminal bool, inputStream io
}
case <-stdinDone:
if outputStream != nil || errorStream != nil {
if err := <-receiveStdout; err != nil {
logrus.Debugf("Error receiveStdout: %s", err)
return err
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,74 +0,0 @@
package client
import (
"fmt"
"strconv"
"strings"
"text/tabwriter"
"time"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/stringutils"
"github.com/docker/go-units"
)
// CmdHistory shows the history of an image.
//
// Usage: docker history [OPTIONS] IMAGE
func (cli *DockerCli) CmdHistory(args ...string) error {
cmd := Cli.Subcmd("history", []string{"IMAGE"}, Cli.DockerCommands["history"].Description, true)
human := cmd.Bool([]string{"H", "-human"}, true, "Print sizes and dates in human readable format")
quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only show numeric IDs")
noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
history, err := cli.client.ImageHistory(cmd.Arg(0))
if err != nil {
return err
}
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
if *quiet {
for _, entry := range history {
if *noTrunc {
fmt.Fprintf(w, "%s\n", entry.ID)
} else {
fmt.Fprintf(w, "%s\n", stringid.TruncateID(entry.ID))
}
}
w.Flush()
return nil
}
var imageID string
var createdBy string
var created string
var size string
fmt.Fprintln(w, "IMAGE\tCREATED\tCREATED BY\tSIZE\tCOMMENT")
for _, entry := range history {
imageID = entry.ID
createdBy = strings.Replace(entry.CreatedBy, "\t", " ", -1)
if *noTrunc == false {
createdBy = stringutils.Truncate(createdBy, 45)
imageID = stringid.TruncateID(entry.ID)
}
if *human {
created = units.HumanDuration(time.Now().UTC().Sub(time.Unix(entry.Created, 0))) + " ago"
size = units.HumanSize(float64(entry.Size))
} else {
created = time.Unix(entry.Created, 0).Format(time.RFC3339)
size = strconv.FormatInt(entry.Size, 10)
}
fmt.Fprintf(w, "%s\t%s\t%s\t%s\t%s\n", imageID, created, createdBy, size, entry.Comment)
}
w.Flush()
return nil
}

View File

@@ -0,0 +1,70 @@
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
}

432
api/client/image/build.go Normal file
View File

@@ -0,0 +1,432 @@
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 []string
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),
}
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.StringSliceVar(&options.labels, "label", []string{}, "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),
}
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

@@ -0,0 +1,99 @@
package image
import (
"fmt"
"strconv"
"strings"
"text/tabwriter"
"time"
"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/docker/pkg/stringutils"
"github.com/docker/go-units"
"github.com/spf13/cobra"
)
type historyOptions struct {
image string
human bool
quiet bool
noTrunc bool
}
// NewHistoryCommand create a new `docker history` command
func NewHistoryCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts historyOptions
cmd := &cobra.Command{
Use: "history [OPTIONS] IMAGE",
Short: "Show the history of an image",
Args: cli.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.image = args[0]
return runHistory(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.human, "human", "H", true, "Print sizes and dates in human readable format")
flags.BoolVarP(&opts.quiet, "quiet", "q", false, "Only show numeric IDs")
flags.BoolVar(&opts.noTrunc, "no-trunc", false, "Don't truncate output")
return cmd
}
func runHistory(dockerCli *client.DockerCli, opts historyOptions) error {
ctx := context.Background()
history, err := dockerCli.Client().ImageHistory(ctx, opts.image)
if err != nil {
return err
}
w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0)
if opts.quiet {
for _, entry := range history {
if opts.noTrunc {
fmt.Fprintf(w, "%s\n", entry.ID)
} else {
fmt.Fprintf(w, "%s\n", stringid.TruncateID(entry.ID))
}
}
w.Flush()
return nil
}
var imageID string
var createdBy string
var created string
var size string
fmt.Fprintln(w, "IMAGE\tCREATED\tCREATED BY\tSIZE\tCOMMENT")
for _, entry := range history {
imageID = entry.ID
createdBy = strings.Replace(entry.CreatedBy, "\t", " ", -1)
if opts.noTrunc == false {
createdBy = stringutils.Truncate(createdBy, 45)
imageID = stringid.TruncateID(entry.ID)
}
if opts.human {
created = units.HumanDuration(time.Now().UTC().Sub(time.Unix(entry.Created, 0))) + " ago"
size = units.HumanSize(float64(entry.Size))
} else {
created = time.Unix(entry.Created, 0).Format(time.RFC3339)
size = strconv.FormatInt(entry.Size, 10)
}
fmt.Fprintf(w, "%s\t%s\t%s\t%s\t%s\n", imageID, created, createdBy, size, entry.Comment)
}
w.Flush()
return nil
}

103
api/client/image/images.go Normal file
View File

@@ -0,0 +1,103 @@
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

@@ -0,0 +1,86 @@
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)
}

67
api/client/image/load.go Normal file
View File

@@ -0,0 +1,67 @@
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
}

85
api/client/image/pull.go Normal file
View File

@@ -0,0 +1,85 @@
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)
}

62
api/client/image/push.go Normal file
View File

@@ -0,0 +1,62 @@
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

@@ -0,0 +1,70 @@
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
}

57
api/client/image/save.go Normal file
View File

@@ -0,0 +1,57 @@
package image
import (
"errors"
"io"
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type saveOptions struct {
images []string
output string
}
// NewSaveCommand creates a new `docker save` command
func NewSaveCommand(dockerCli *client.DockerCli) *cobra.Command {
var opts saveOptions
cmd := &cobra.Command{
Use: "save [OPTIONS] IMAGE [IMAGE...]",
Short: "Save one or more images to a tar archive (streamed to STDOUT by default)",
Args: cli.RequiresMinArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
opts.images = args
return runSave(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVarP(&opts.output, "output", "o", "", "Write to a file, instead of STDOUT")
return cmd
}
func runSave(dockerCli *client.DockerCli, opts saveOptions) error {
if opts.output == "" && dockerCli.IsTerminalOut() {
return errors.New("Cowardly refusing to save to a terminal. Use the -o flag or redirect.")
}
responseBody, err := dockerCli.Client().ImageSave(context.Background(), opts.images)
if err != nil {
return err
}
defer responseBody.Close()
if opts.output == "" {
_, err := io.Copy(dockerCli.Out(), responseBody)
return err
}
return client.CopyToFile(opts.output, responseBody)
}

135
api/client/image/search.go Normal file
View File

@@ -0,0 +1,135 @@
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 }

41
api/client/image/tag.go Normal file
View File

@@ -0,0 +1,41 @@
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,79 +0,0 @@
package client
import (
"github.com/docker/docker/api/client/formatter"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
)
// CmdImages lists the images in a specified repository, or all top-level images if no repository is specified.
//
// Usage: docker images [OPTIONS] [REPOSITORY]
func (cli *DockerCli) CmdImages(args ...string) error {
cmd := Cli.Subcmd("images", []string{"[REPOSITORY[:TAG]]"}, Cli.DockerCommands["images"].Description, true)
quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only show numeric IDs")
all := cmd.Bool([]string{"a", "-all"}, false, "Show all images (default hides intermediate images)")
noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Don't truncate output")
showDigests := cmd.Bool([]string{"-digests"}, false, "Show digests")
format := cmd.String([]string{"-format"}, "", "Pretty-print images using a Go template")
flFilter := opts.NewListOpts(nil)
cmd.Var(&flFilter, []string{"f", "-filter"}, "Filter output based on conditions provided")
cmd.Require(flag.Max, 1)
cmd.ParseFlags(args, true)
// Consolidate all filter flags, and sanity check them early.
// They'll get process in the daemon/server.
imageFilterArgs := filters.NewArgs()
for _, f := range flFilter.GetAll() {
var err error
imageFilterArgs, err = filters.ParseFlag(f, imageFilterArgs)
if err != nil {
return err
}
}
var matchName string
if cmd.NArg() == 1 {
matchName = cmd.Arg(0)
}
options := types.ImageListOptions{
MatchName: matchName,
All: *all,
Filters: imageFilterArgs,
}
images, err := cli.client.ImageList(options)
if err != nil {
return err
}
f := *format
if len(f) == 0 {
if len(cli.ImagesFormat()) > 0 && !*quiet {
f = cli.ImagesFormat()
} else {
f = "table"
}
}
imagesCtx := formatter.ImageContext{
Context: formatter.Context{
Output: cli.out,
Format: f,
Quiet: *quiet,
Trunc: !*noTrunc,
},
Digest: *showDigests,
Images: images,
}
imagesCtx.Write()
return nil
}

View File

@@ -1,80 +0,0 @@
package client
import (
"fmt"
"io"
"os"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/jsonmessage"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/reference"
"github.com/docker/engine-api/types"
)
// CmdImport creates an empty filesystem image, imports the contents of the tarball into the image, and optionally tags the image.
//
// The URL argument is the address of a tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) file or a path to local file relative to docker client. If the URL is '-', then the tar file is read from STDIN.
//
// Usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
func (cli *DockerCli) CmdImport(args ...string) error {
cmd := Cli.Subcmd("import", []string{"file|URL|- [REPOSITORY[:TAG]]"}, Cli.DockerCommands["import"].Description, true)
flChanges := opts.NewListOpts(nil)
cmd.Var(&flChanges, []string{"c", "-change"}, "Apply Dockerfile instruction to the created image")
message := cmd.String([]string{"m", "-message"}, "", "Set commit message for imported image")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var (
in io.Reader
tag string
src = cmd.Arg(0)
srcName = src
repository = cmd.Arg(1)
changes = flChanges.GetAll()
)
if cmd.NArg() == 3 {
fmt.Fprintf(cli.err, "[DEPRECATED] The format 'file|URL|- [REPOSITORY [TAG]]' has been deprecated. Please use file|URL|- [REPOSITORY[:TAG]]\n")
tag = cmd.Arg(2)
}
if repository != "" {
//Check if the given image name can be resolved
if _, err := reference.ParseNamed(repository); err != nil {
return err
}
}
if src == "-" {
in = cli.in
} else if !urlutil.IsURL(src) {
srcName = "-"
file, err := os.Open(src)
if err != nil {
return err
}
defer file.Close()
in = file
}
options := types.ImageImportOptions{
Source: in,
SourceName: srcName,
RepositoryName: repository,
Message: *message,
Tag: tag,
Changes: changes,
}
responseBody, err := cli.client.ImageImport(options)
if err != nil {
return err
}
defer responseBody.Close()
return jsonmessage.DisplayJSONMessagesStream(responseBody, cli.out, cli.outFd, cli.isTerminalOut, nil)
}

View File

@@ -4,9 +4,13 @@ import (
"fmt"
"strings"
"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"
)
@@ -19,7 +23,7 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
cmd.ParseFlags(args, true)
info, err := cli.client.Info()
info, err := cli.client.Info(context.Background())
if err != nil {
return err
}
@@ -37,15 +41,20 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
// 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. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.")
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.")
}
}
}
ioutils.FprintfIfNotEmpty(cli.out, "Execution Driver: %s\n", info.ExecutionDriver)
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, "Plugins:\n")
fmt.Fprintf(cli.out, " Volume:")
fmt.Fprintf(cli.out, " %s", strings.Join(info.Plugins.Volume, " "))
fmt.Fprintf(cli.out, "\n")
@@ -59,6 +68,33 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
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, " Managers: %d\n", info.Swarm.Managers)
fmt.Fprintf(cli.out, " Nodes: %d\n", info.Swarm.Nodes)
}
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)
@@ -67,16 +103,15 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
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, "Debug mode (server): %v\n", 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)
fmt.Fprintf(cli.out, " Init SHA1: %s\n", info.InitSha1)
fmt.Fprintf(cli.out, " Init Path: %s\n", info.InitPath)
fmt.Fprintf(cli.out, " Docker Root Dir: %s\n", info.DockerRootDir)
}
ioutils.FprintfIfNotEmpty(cli.out, "Http Proxy: %s\n", info.HTTPProxy)
@@ -87,8 +122,8 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
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)
}
fmt.Fprintf(cli.out, "Registry: %v\n", info.IndexServerAddress)
}
// Only output these warnings if the server does not support these features
@@ -99,6 +134,9 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
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")
}
@@ -134,11 +172,25 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
ioutils.FprintfIfTrue(cli.out, "Experimental: %v\n", info.ExperimentalBuild)
if info.ClusterStore != "" {
fmt.Fprintf(cli.out, "Cluster store: %s\n", 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)
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,9 +1,9 @@
package client
import (
"encoding/json"
"fmt"
"text/template"
"golang.org/x/net/context"
"github.com/docker/docker/api/client/inspect"
Cli "github.com/docker/docker/cli"
@@ -11,123 +11,85 @@ import (
"github.com/docker/engine-api/client"
)
var funcMap = template.FuncMap{
"json": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
}
// CmdInspect displays low-level information on one or more containers or images.
// CmdInspect displays low-level information on one or more containers, images or tasks.
//
// Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
// Usage: docker inspect [OPTIONS] CONTAINER|IMAGE|TASK [CONTAINER|IMAGE|TASK...]
func (cli *DockerCli) CmdInspect(args ...string) error {
cmd := Cli.Subcmd("inspect", []string{"CONTAINER|IMAGE [CONTAINER|IMAGE...]"}, Cli.DockerCommands["inspect"].Description, true)
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 or container)")
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" {
if *inspectType != "" && *inspectType != "container" && *inspectType != "image" && *inspectType != "task" {
return fmt.Errorf("%q is not a valid value for --type", *inspectType)
}
var elementSearcher inspectSearcher
ctx := context.Background()
var elementSearcher inspect.GetRefFunc
switch *inspectType {
case "container":
elementSearcher = cli.inspectContainers(*size)
elementSearcher = cli.inspectContainers(ctx, *size)
case "image":
elementSearcher = cli.inspectImages(*size)
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(*size)
elementSearcher = cli.inspectAll(ctx, *size)
}
return cli.inspectElements(*tmplStr, cmd.Args(), elementSearcher)
return inspect.Inspect(cli.out, cmd.Args(), *tmplStr, elementSearcher)
}
func (cli *DockerCli) inspectContainers(getSize bool) inspectSearcher {
func (cli *DockerCli) inspectContainers(ctx context.Context, getSize bool) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
return cli.client.ContainerInspectWithRaw(ref, getSize)
return cli.client.ContainerInspectWithRaw(ctx, ref, getSize)
}
}
func (cli *DockerCli) inspectImages(getSize bool) inspectSearcher {
func (cli *DockerCli) inspectImages(ctx context.Context, getSize bool) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
return cli.client.ImageInspectWithRaw(ref, getSize)
return cli.client.ImageInspectWithRaw(ctx, ref, getSize)
}
}
func (cli *DockerCli) inspectAll(getSize bool) inspectSearcher {
func (cli *DockerCli) inspectTasks(ctx context.Context) inspect.GetRefFunc {
return func(ref string) (interface{}, []byte, error) {
c, rawContainer, err := cli.client.ContainerInspectWithRaw(ref, getSize)
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(ref, getSize)
i, rawImage, err := cli.client.ImageInspectWithRaw(ctx, ref, getSize)
if err != nil {
if client.IsErrImageNotFound(err) {
return nil, nil, fmt.Errorf("Error: No such image or container: %s", ref)
// 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, err
return i, rawImage, nil
}
return nil, nil, err
}
return c, rawContainer, err
return c, rawContainer, nil
}
}
type inspectSearcher func(ref string) (interface{}, []byte, error)
func (cli *DockerCli) inspectElements(tmplStr string, references []string, searchByReference inspectSearcher) error {
elementInspector, err := cli.newInspectorWithTemplate(tmplStr)
if err != nil {
return Cli.StatusError{StatusCode: 64, Status: err.Error()}
}
var inspectErr error
for _, ref := range references {
element, raw, err := searchByReference(ref)
if err != nil {
inspectErr = err
break
}
if err := elementInspector.Inspect(element, raw); err != nil {
inspectErr = err
break
}
}
if err := elementInspector.Flush(); err != nil {
cli.inspectErrorStatus(err)
}
if status := cli.inspectErrorStatus(inspectErr); status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
func (cli *DockerCli) inspectErrorStatus(err error) (status int) {
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
}
return
}
func (cli *DockerCli) newInspectorWithTemplate(tmplStr string) (inspect.Inspector, error) {
elementInspector := inspect.NewIndentedInspector(cli.out)
if tmplStr != "" {
tmpl, err := template.New("").Funcs(funcMap).Parse(tmplStr)
if err != nil {
return nil, fmt.Errorf("Template parsing error: %s", err)
}
elementInspector = inspect.NewTemplateInspector(cli.out, tmpl)
}
return elementInspector, nil
}

View File

@@ -6,6 +6,10 @@ import (
"fmt"
"io"
"text/template"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/cli"
"github.com/docker/docker/utils/templates"
)
// Inspector defines an interface to implement to process elements
@@ -30,6 +34,56 @@ func NewTemplateInspector(outputStream io.Writer, tmpl *template.Template) Inspe
}
}
// NewTemplateInspectorFromString creates a new TemplateInspector from a string
// which is compiled into a template.
func NewTemplateInspectorFromString(out io.Writer, tmplStr string) (Inspector, error) {
if tmplStr == "" {
return NewIndentedInspector(out), nil
}
tmpl, err := templates.Parse(tmplStr)
if err != nil {
return nil, fmt.Errorf("Template parsing error: %s", err)
}
return NewTemplateInspector(out, tmpl), nil
}
// GetRefFunc is a function which used by Inspect to fetch an object from a
// reference
type GetRefFunc func(ref string) (interface{}, []byte, error)
// Inspect fetches objects by reference using GetRefFunc and writes the json
// representation to the output writer.
func Inspect(out io.Writer, references []string, tmplStr string, getRef GetRefFunc) error {
inspector, err := NewTemplateInspectorFromString(out, tmplStr)
if err != nil {
return cli.StatusError{StatusCode: 64, Status: err.Error()}
}
var inspectErr error
for _, ref := range references {
element, raw, err := getRef(ref)
if err != nil {
inspectErr = err
break
}
if err := inspector.Inspect(element, raw); err != nil {
inspectErr = err
break
}
}
if err := inspector.Flush(); err != nil {
logrus.Errorf("%s\n", err)
}
if inspectErr != nil {
return cli.StatusError{StatusCode: 1, Status: inspectErr.Error()}
}
return nil
}
// Inspect executes the inspect template.
// It decodes the raw element into a map if the initial execution fails.
// This allows docker cli to parse inspect structs injected with Swarm fields.
@@ -39,13 +93,35 @@ func (i *TemplateInspector) Inspect(typedElement interface{}, rawElement []byte)
if rawElement == nil {
return fmt.Errorf("Template parsing error: %v", err)
}
return i.tryRawInspectFallback(rawElement, err)
return i.tryRawInspectFallback(rawElement)
}
i.buffer.Write(buffer.Bytes())
i.buffer.WriteByte('\n')
return nil
}
// tryRawInspectFallback executes the inspect template with a raw interface.
// This allows docker cli to parse inspect structs injected with Swarm fields.
func (i *TemplateInspector) tryRawInspectFallback(rawElement []byte) error {
var raw interface{}
buffer := new(bytes.Buffer)
rdr := bytes.NewReader(rawElement)
dec := json.NewDecoder(rdr)
if rawErr := dec.Decode(&raw); rawErr != nil {
return fmt.Errorf("unable to read inspect data: %v", rawErr)
}
tmplMissingKey := i.tmpl.Option("missingkey=error")
if rawErr := tmplMissingKey.Execute(buffer, raw); rawErr != nil {
return fmt.Errorf("Template parsing error: %v", rawErr)
}
i.buffer.Write(buffer.Bytes())
i.buffer.WriteByte('\n')
return nil
}
// Flush write the result of inspecting all elements into the output stream.
func (i *TemplateInspector) Flush() error {
if i.buffer.Len() == 0 {

View File

@@ -1,40 +0,0 @@
// +build !go1.5
package inspect
import (
"bytes"
"encoding/json"
"fmt"
"strings"
)
// tryeRawInspectFallback executes the inspect template with a raw interface.
// This allows docker cli to parse inspect structs injected with Swarm fields.
// Unfortunately, go 1.4 doesn't fail executing invalid templates when the input is an interface.
// It doesn't allow to modify this behavior either, sending <no value> messages to the output.
// We assume that the template is invalid when there is a <no value>, if the template was valid
// we'd get <nil> or "" values. In that case we fail with the original error raised executing the
// template with the typed input.
func (i *TemplateInspector) tryRawInspectFallback(rawElement []byte, originalErr error) error {
var raw interface{}
buffer := new(bytes.Buffer)
rdr := bytes.NewReader(rawElement)
dec := json.NewDecoder(rdr)
if rawErr := dec.Decode(&raw); rawErr != nil {
return fmt.Errorf("unable to read inspect data: %v", rawErr)
}
if rawErr := i.tmpl.Execute(buffer, raw); rawErr != nil {
return fmt.Errorf("Template parsing error: %v", rawErr)
}
if strings.Contains(buffer.String(), "<no value>") {
return fmt.Errorf("Template parsing error: %v", originalErr)
}
i.buffer.Write(buffer.Bytes())
i.buffer.WriteByte('\n')
return nil
}

View File

@@ -1,29 +0,0 @@
// +build go1.5
package inspect
import (
"bytes"
"encoding/json"
"fmt"
)
func (i *TemplateInspector) tryRawInspectFallback(rawElement []byte, _ error) error {
var raw interface{}
buffer := new(bytes.Buffer)
rdr := bytes.NewReader(rawElement)
dec := json.NewDecoder(rdr)
if rawErr := dec.Decode(&raw); rawErr != nil {
return fmt.Errorf("unable to read inspect data: %v", rawErr)
}
tmplMissingKey := i.tmpl.Option("missingkey=error")
if rawErr := tmplMissingKey.Execute(buffer, raw); rawErr != nil {
return fmt.Errorf("Template parsing error: %v", rawErr)
}
i.buffer.Write(buffer.Bytes())
i.buffer.WriteByte('\n')
return nil
}

View File

@@ -4,7 +4,8 @@ import (
"bytes"
"strings"
"testing"
"text/template"
"github.com/docker/docker/utils/templates"
)
type testElement struct {
@@ -13,7 +14,7 @@ type testElement struct {
func TestTemplateInspectorDefault(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.DNS}}")
tmpl, err := templates.Parse("{{.DNS}}")
if err != nil {
t.Fatal(err)
}
@@ -32,7 +33,7 @@ func TestTemplateInspectorDefault(t *testing.T) {
func TestTemplateInspectorEmpty(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.DNS}}")
tmpl, err := templates.Parse("{{.DNS}}")
if err != nil {
t.Fatal(err)
}
@@ -48,7 +49,7 @@ func TestTemplateInspectorEmpty(t *testing.T) {
func TestTemplateInspectorTemplateError(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.Foo}}")
tmpl, err := templates.Parse("{{.Foo}}")
if err != nil {
t.Fatal(err)
}
@@ -66,7 +67,7 @@ func TestTemplateInspectorTemplateError(t *testing.T) {
func TestTemplateInspectorRawFallback(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.Dns}}")
tmpl, err := templates.Parse("{{.Dns}}")
if err != nil {
t.Fatal(err)
}
@@ -85,7 +86,7 @@ func TestTemplateInspectorRawFallback(t *testing.T) {
func TestTemplateInspectorRawFallbackError(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.Dns}}")
tmpl, err := templates.Parse("{{.Dns}}")
if err != nil {
t.Fatal(err)
}
@@ -102,7 +103,7 @@ func TestTemplateInspectorRawFallbackError(t *testing.T) {
func TestTemplateInspectorMultiple(t *testing.T) {
b := new(bytes.Buffer)
tmpl, err := template.New("test").Parse("{{.DNS}}")
tmpl, err := templates.Parse("{{.DNS}}")
if err != nil {
t.Fatal(err)
}

View File

@@ -1,33 +0,0 @@
package client
import (
"fmt"
"strings"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdKill kills one or more running container using SIGKILL or a specified signal.
//
// Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdKill(args ...string) error {
cmd := Cli.Subcmd("kill", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["kill"].Description, true)
signal := cmd.String([]string{"s", "-signal"}, "KILL", "Signal to send to the container")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var errs []string
for _, name := range cmd.Args() {
if err := cli.client.ContainerKill(name, *signal); err != nil {
errs = append(errs, fmt.Sprintf("Failed to kill container (%s): %s", name, err))
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, "\n"))
}
return nil
}

View File

@@ -1,45 +0,0 @@
package client
import (
"io"
"os"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/jsonmessage"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdLoad loads an image from a tar archive.
//
// The tar archive is read from STDIN by default, or from a tar archive file.
//
// Usage: docker load [OPTIONS]
func (cli *DockerCli) CmdLoad(args ...string) error {
cmd := Cli.Subcmd("load", nil, Cli.DockerCommands["load"].Description, true)
infile := cmd.String([]string{"i", "-input"}, "", "Read from a tar archive file, instead of STDIN")
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
var input io.Reader = cli.in
if *infile != "" {
file, err := os.Open(*infile)
if err != nil {
return err
}
defer file.Close()
input = file
}
response, err := cli.client.ImageLoad(input)
if err != nil {
return err
}
defer response.Body.Close()
if response.JSON {
return jsonmessage.DisplayJSONMessagesStream(response.Body, cli.out, cli.outFd, cli.isTerminalOut, nil)
}
_, err = io.Copy(cli.out, response.Body)
return err
}

View File

@@ -1,143 +0,0 @@
package client
import (
"bufio"
"fmt"
"io"
"os"
"runtime"
"strings"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/registry"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
)
// CmdLogin logs in or registers a user to a Docker registry service.
//
// If no server is specified, the user will be logged into or registered to the registry's index server.
//
// Usage: docker login SERVER
func (cli *DockerCli) CmdLogin(args ...string) error {
cmd := Cli.Subcmd("login", []string{"[SERVER]"}, Cli.DockerCommands["login"].Description+".\nIf no server is specified \""+registry.IndexServer+"\" is the default.", true)
cmd.Require(flag.Max, 1)
var username, password, email string
cmd.StringVar(&username, []string{"u", "-username"}, "", "Username")
cmd.StringVar(&password, []string{"p", "-password"}, "", "Password")
cmd.StringVar(&email, []string{"e", "-email"}, "", "Email")
cmd.ParseFlags(args, true)
// On Windows, force the use of the regular OS stdin stream. Fixes #14336/#14210
if runtime.GOOS == "windows" {
cli.in = os.Stdin
}
serverAddress := registry.IndexServer
if len(cmd.Args()) > 0 {
serverAddress = cmd.Arg(0)
}
promptDefault := func(prompt string, configDefault string) {
if configDefault == "" {
fmt.Fprintf(cli.out, "%s: ", prompt)
} else {
fmt.Fprintf(cli.out, "%s (%s): ", prompt, configDefault)
}
}
readInput := func(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)
}
authconfig, ok := cli.configFile.AuthConfigs[serverAddress]
if !ok {
authconfig = types.AuthConfig{}
}
if username == "" {
promptDefault("Username", authconfig.Username)
username = readInput(cli.in, cli.out)
username = strings.TrimSpace(username)
if username == "" {
username = authconfig.Username
}
}
// Assume that a different username means they may not want to use
// the password or email from the config file, so prompt them
if username != authconfig.Username {
if password == "" {
oldState, err := term.SaveState(cli.inFd)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "Password: ")
term.DisableEcho(cli.inFd, oldState)
password = readInput(cli.in, cli.out)
fmt.Fprint(cli.out, "\n")
term.RestoreTerminal(cli.inFd, oldState)
if password == "" {
return fmt.Errorf("Error : Password Required")
}
}
if email == "" {
promptDefault("Email", authconfig.Email)
email = readInput(cli.in, cli.out)
if email == "" {
email = authconfig.Email
}
}
} else {
// However, if they don't override the username use the
// password or email from the cmd line if specified. IOW, allow
// then to change/override them. And if not specified, just
// use what's in the config file
if password == "" {
password = authconfig.Password
}
if email == "" {
email = authconfig.Email
}
}
authconfig.Username = username
authconfig.Password = password
authconfig.Email = email
authconfig.ServerAddress = serverAddress
cli.configFile.AuthConfigs[serverAddress] = authconfig
auth := cli.configFile.AuthConfigs[serverAddress]
response, err := cli.client.RegistryLogin(auth)
if err != nil {
if client.IsErrUnauthorized(err) {
delete(cli.configFile.AuthConfigs, serverAddress)
if err2 := cli.configFile.Save(); err2 != nil {
fmt.Fprintf(cli.out, "WARNING: could not save config file: %v\n", err2)
}
}
return err
}
if err := cli.configFile.Save(); err != nil {
return fmt.Errorf("Error saving config file: %v", err)
}
fmt.Fprintf(cli.out, "WARNING: login credentials saved in %s\n", cli.configFile.Filename())
if response.Status != "" {
fmt.Fprintf(cli.out, "%s\n", response.Status)
}
return nil
}

View File

@@ -1,39 +0,0 @@
package client
import (
"fmt"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/registry"
)
// CmdLogout logs a user out from a Docker registry.
//
// If no server is specified, the user will be logged out from the registry's index server.
//
// Usage: docker logout [SERVER]
func (cli *DockerCli) CmdLogout(args ...string) error {
cmd := Cli.Subcmd("logout", []string{"[SERVER]"}, Cli.DockerCommands["logout"].Description+".\nIf no server is specified \""+registry.IndexServer+"\" is the default.", true)
cmd.Require(flag.Max, 1)
cmd.ParseFlags(args, true)
serverAddress := registry.IndexServer
if len(cmd.Args()) > 0 {
serverAddress = cmd.Arg(0)
}
if _, ok := cli.configFile.AuthConfigs[serverAddress]; !ok {
fmt.Fprintf(cli.out, "Not logged in to %s\n", serverAddress)
return nil
}
fmt.Fprintf(cli.out, "Remove login credentials for %s\n", serverAddress)
delete(cli.configFile.AuthConfigs, serverAddress)
if err := cli.configFile.Save(); err != nil {
return fmt.Errorf("Failed to save docker config: %v", err)
}
return nil
}

View File

@@ -1,63 +0,0 @@
package client
import (
"fmt"
"io"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/engine-api/types"
)
var validDrivers = map[string]bool{
"json-file": true,
"journald": true,
}
// CmdLogs fetches the logs of a given container.
//
// docker logs [OPTIONS] CONTAINER
func (cli *DockerCli) CmdLogs(args ...string) error {
cmd := Cli.Subcmd("logs", []string{"CONTAINER"}, Cli.DockerCommands["logs"].Description, true)
follow := cmd.Bool([]string{"f", "-follow"}, false, "Follow log output")
since := cmd.String([]string{"-since"}, "", "Show logs since timestamp")
times := cmd.Bool([]string{"t", "-timestamps"}, false, "Show timestamps")
tail := cmd.String([]string{"-tail"}, "all", "Number of lines to show from the end of the logs")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
name := cmd.Arg(0)
c, err := cli.client.ContainerInspect(name)
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{
ContainerID: name,
ShowStdout: true,
ShowStderr: true,
Since: *since,
Timestamps: *times,
Follow: *follow,
Tail: *tail,
}
responseBody, err := cli.client.ContainerLogs(options)
if err != nil {
return err
}
defer responseBody.Close()
if c.Config.Tty {
_, err = io.Copy(cli.out, responseBody)
} else {
_, err = stdcopy.StdCopy(cli.out, cli.err, responseBody)
}
return err
}

View File

@@ -1,378 +0,0 @@
package client
import (
"fmt"
"net"
"strings"
"text/tabwriter"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/stringid"
runconfigopts "github.com/docker/docker/runconfig/opts"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/filters"
"github.com/docker/engine-api/types/network"
)
// CmdNetwork is the parent subcommand for all network commands
//
// Usage: docker network <COMMAND> [OPTIONS]
func (cli *DockerCli) CmdNetwork(args ...string) error {
cmd := Cli.Subcmd("network", []string{"COMMAND [OPTIONS]"}, networkUsage(), false)
cmd.Require(flag.Min, 1)
err := cmd.ParseFlags(args, true)
cmd.Usage()
return err
}
// CmdNetworkCreate creates a new network with a given name
//
// Usage: docker network create [OPTIONS] <NETWORK-NAME>
func (cli *DockerCli) CmdNetworkCreate(args ...string) error {
cmd := Cli.Subcmd("network create", []string{"NETWORK-NAME"}, "Creates a new network with a name specified by the user", false)
flDriver := cmd.String([]string{"d", "-driver"}, "bridge", "Driver to manage the Network")
flOpts := opts.NewMapOpts(nil, nil)
flIpamDriver := cmd.String([]string{"-ipam-driver"}, "default", "IP Address Management Driver")
flIpamSubnet := opts.NewListOpts(nil)
flIpamIPRange := opts.NewListOpts(nil)
flIpamGateway := opts.NewListOpts(nil)
flIpamAux := opts.NewMapOpts(nil, nil)
flIpamOpt := opts.NewMapOpts(nil, nil)
cmd.Var(&flIpamSubnet, []string{"-subnet"}, "subnet in CIDR format that represents a network segment")
cmd.Var(&flIpamIPRange, []string{"-ip-range"}, "allocate container ip from a sub-range")
cmd.Var(&flIpamGateway, []string{"-gateway"}, "ipv4 or ipv6 Gateway for the master subnet")
cmd.Var(flIpamAux, []string{"-aux-address"}, "auxiliary ipv4 or ipv6 addresses used by Network driver")
cmd.Var(flOpts, []string{"o", "-opt"}, "set driver specific options")
cmd.Var(flIpamOpt, []string{"-ipam-opt"}, "set IPAM driver specific options")
flInternal := cmd.Bool([]string{"-internal"}, false, "restricts external access to the network")
cmd.Require(flag.Exact, 1)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
// Set the default driver to "" if the user didn't set the value.
// That way we can know whether it was user input or not.
driver := *flDriver
if !cmd.IsSet("-driver") && !cmd.IsSet("d") {
driver = ""
}
ipamCfg, err := consolidateIpam(flIpamSubnet.GetAll(), flIpamIPRange.GetAll(), flIpamGateway.GetAll(), flIpamAux.GetAll())
if err != nil {
return err
}
// Construct network create request body
nc := types.NetworkCreate{
Name: cmd.Arg(0),
Driver: driver,
IPAM: network.IPAM{Driver: *flIpamDriver, Config: ipamCfg, Options: flIpamOpt.GetAll()},
Options: flOpts.GetAll(),
CheckDuplicate: true,
Internal: *flInternal,
}
resp, err := cli.client.NetworkCreate(nc)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "%s\n", resp.ID)
return nil
}
// CmdNetworkRm deletes one or more networks
//
// Usage: docker network rm NETWORK-NAME|NETWORK-ID [NETWORK-NAME|NETWORK-ID...]
func (cli *DockerCli) CmdNetworkRm(args ...string) error {
cmd := Cli.Subcmd("network rm", []string{"NETWORK [NETWORK...]"}, "Deletes one or more networks", false)
cmd.Require(flag.Min, 1)
if err := cmd.ParseFlags(args, true); err != nil {
return err
}
status := 0
for _, net := range cmd.Args() {
if err := cli.client.NetworkRemove(net); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
// CmdNetworkConnect connects a container to a network
//
// Usage: docker network connect [OPTIONS] <NETWORK> <CONTAINER>
func (cli *DockerCli) CmdNetworkConnect(args ...string) error {
cmd := Cli.Subcmd("network connect", []string{"NETWORK CONTAINER"}, "Connects a container to a network", false)
flIPAddress := cmd.String([]string{"-ip"}, "", "IP Address")
flIPv6Address := cmd.String([]string{"-ip6"}, "", "IPv6 Address")
flLinks := opts.NewListOpts(runconfigopts.ValidateLink)
cmd.Var(&flLinks, []string{"-link"}, "Add link to another container")
flAliases := opts.NewListOpts(nil)
cmd.Var(&flAliases, []string{"-alias"}, "Add network-scoped alias for the container")
cmd.Require(flag.Min, 2)
if err := cmd.ParseFlags(args, true); err != nil {
return err
}
epConfig := &network.EndpointSettings{
IPAMConfig: &network.EndpointIPAMConfig{
IPv4Address: *flIPAddress,
IPv6Address: *flIPv6Address,
},
Links: flLinks.GetAll(),
Aliases: flAliases.GetAll(),
}
return cli.client.NetworkConnect(cmd.Arg(0), cmd.Arg(1), epConfig)
}
// CmdNetworkDisconnect disconnects a container from a network
//
// Usage: docker network disconnect <NETWORK> <CONTAINER>
func (cli *DockerCli) CmdNetworkDisconnect(args ...string) error {
cmd := Cli.Subcmd("network disconnect", []string{"NETWORK CONTAINER"}, "Disconnects container from a network", false)
force := cmd.Bool([]string{"f", "-force"}, false, "Force the container to disconnect from a network")
cmd.Require(flag.Exact, 2)
if err := cmd.ParseFlags(args, true); err != nil {
return err
}
return cli.client.NetworkDisconnect(cmd.Arg(0), cmd.Arg(1), *force)
}
// CmdNetworkLs lists all the networks managed by docker daemon
//
// Usage: docker network ls [OPTIONS]
func (cli *DockerCli) CmdNetworkLs(args ...string) error {
cmd := Cli.Subcmd("network ls", nil, "Lists networks", true)
quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only display numeric IDs")
noTrunc := cmd.Bool([]string{"-no-trunc"}, false, "Do not truncate the output")
flFilter := opts.NewListOpts(nil)
cmd.Var(&flFilter, []string{"f", "-filter"}, "Filter output based on conditions provided")
cmd.Require(flag.Exact, 0)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
// Consolidate all filter flags, and sanity check them early.
// They'll get process after get response from server.
netFilterArgs := filters.NewArgs()
for _, f := range flFilter.GetAll() {
if netFilterArgs, err = filters.ParseFlag(f, netFilterArgs); err != nil {
return err
}
}
options := types.NetworkListOptions{
Filters: netFilterArgs,
}
networkResources, err := cli.client.NetworkList(options)
if err != nil {
return err
}
wr := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
// unless quiet (-q) is specified, print field titles
if !*quiet {
fmt.Fprintln(wr, "NETWORK ID\tNAME\tDRIVER")
}
for _, networkResource := range networkResources {
ID := networkResource.ID
netName := networkResource.Name
if !*noTrunc {
ID = stringid.TruncateID(ID)
}
if *quiet {
fmt.Fprintln(wr, ID)
continue
}
driver := networkResource.Driver
fmt.Fprintf(wr, "%s\t%s\t%s\t",
ID,
netName,
driver)
fmt.Fprint(wr, "\n")
}
wr.Flush()
return nil
}
// CmdNetworkInspect inspects the network object for more details
//
// Usage: docker network inspect [OPTIONS] <NETWORK> [NETWORK...]
func (cli *DockerCli) CmdNetworkInspect(args ...string) error {
cmd := Cli.Subcmd("network inspect", []string{"NETWORK [NETWORK...]"}, "Displays detailed information on one or more networks", false)
tmplStr := cmd.String([]string{"f", "-format"}, "", "Format the output using the given go template")
cmd.Require(flag.Min, 1)
if err := cmd.ParseFlags(args, true); err != nil {
return err
}
inspectSearcher := func(name string) (interface{}, []byte, error) {
i, err := cli.client.NetworkInspect(name)
return i, nil, err
}
return cli.inspectElements(*tmplStr, cmd.Args(), inspectSearcher)
}
// 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
}
func networkUsage() string {
networkCommands := map[string]string{
"create": "Create a network",
"connect": "Connect container to a network",
"disconnect": "Disconnect container from a network",
"inspect": "Display detailed network information",
"ls": "List all networks",
"rm": "Remove a network",
}
help := "Commands:\n"
for cmd, description := range networkCommands {
help += fmt.Sprintf(" %-25.25s%s\n", cmd, description)
}
help += fmt.Sprintf("\nRun 'docker network COMMAND --help' for more information on a command.")
return help
}

31
api/client/network/cmd.go Normal file
View File

@@ -0,0 +1,31 @@
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

@@ -0,0 +1,64 @@
package network
import (
"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/network"
"github.com/spf13/cobra"
)
type connectOptions struct {
network string
container string
ipaddress string
ipv6address string
links opts.ListOpts
aliases []string
linklocalips []string
}
func newConnectCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := connectOptions{
links: opts.NewListOpts(runconfigopts.ValidateLink),
}
cmd := &cobra.Command{
Use: "connect [OPTIONS] NETWORK CONTAINER",
Short: "Connect a container to a network",
Args: cli.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.network = args[0]
opts.container = args[1]
return runConnect(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.StringVar(&opts.ipaddress, "ip", "", "IP Address")
flags.StringVar(&opts.ipv6address, "ip6", "", "IPv6 Address")
flags.Var(&opts.links, "link", "Add link to another container")
flags.StringSliceVar(&opts.aliases, "alias", []string{}, "Add network-scoped alias for the container")
flags.StringSliceVar(&opts.linklocalips, "link-local-ip", []string{}, "Add a link-local address for the container")
return cmd
}
func runConnect(dockerCli *client.DockerCli, opts connectOptions) error {
client := dockerCli.Client()
epConfig := &network.EndpointSettings{
IPAMConfig: &network.EndpointIPAMConfig{
IPv4Address: opts.ipaddress,
IPv6Address: opts.ipv6address,
LinkLocalIPs: opts.linklocalips,
},
Links: opts.links.GetAll(),
Aliases: opts.aliases,
}
return client.NetworkConnect(context.Background(), opts.network, opts.container, epConfig)
}

View File

@@ -0,0 +1,222 @@
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

@@ -0,0 +1,41 @@
package network
import (
"golang.org/x/net/context"
"github.com/docker/docker/api/client"
"github.com/docker/docker/cli"
"github.com/spf13/cobra"
)
type disconnectOptions struct {
network string
container string
force bool
}
func newDisconnectCommand(dockerCli *client.DockerCli) *cobra.Command {
opts := disconnectOptions{}
cmd := &cobra.Command{
Use: "disconnect [OPTIONS] NETWORK CONTAINER",
Short: "Disconnect a container from a network",
Args: cli.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
opts.network = args[0]
opts.container = args[1]
return runDisconnect(dockerCli, opts)
},
}
flags := cmd.Flags()
flags.BoolVarP(&opts.force, "force", "f", false, "Force the container to disconnect from a network")
return cmd
}
func runDisconnect(dockerCli *client.DockerCli, opts disconnectOptions) error {
client := dockerCli.Client()
return client.NetworkDisconnect(context.Background(), opts.network, opts.container, opts.force)
}

View File

@@ -0,0 +1,45 @@
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)
}

100
api/client/network/list.go Normal file
View File

@@ -0,0 +1,100 @@
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 volume names")
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

@@ -0,0 +1,43 @@
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 a network",
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
}

49
api/client/node/cmd.go Normal file
View File

@@ -0,0 +1,49 @@
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),
newTasksCommand(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
}

32
api/client/node/demote.go Normal file
View File

@@ -0,0 +1,32 @@
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 a node 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)
}

141
api/client/node/inspect.go Normal file
View File

@@ -0,0 +1,141 @@
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")
}
}
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.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)
}
}
}

111
api/client/node/list.go Normal file
View File

@@ -0,0 +1,111 @@
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)
}
}

Some files were not shown because too many files have changed in this diff Show More