Compare commits

...

5189 Commits

Author SHA1 Message Date
James Hunt e87d4b5af0 Clear Linux VERSION and default exec driver.
Signed-off-by: James Hunt <james.o.hunt@intel.com>
2016-02-12 13:26:21 +00:00
James Hunt 0a19f03d99 Clear Containers for Docker Engine (v1.9.1)
Signed-off-by: James Hunt <james.o.hunt@intel.com>
2016-02-12 13:26:08 +00:00
Antonio Murdaca 556ea285db Dockerfile: add kvmtool and linux-container for clr execdriver
This patch adds the needed pkgs to docker/docker development Dockerfile
in order to test the clr execdriver in the development container.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-02-12 13:26:01 +00:00
Tibor Vass a34a1d598c Bump version to v1.9.1
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-11-20 07:40:30 -05:00
Madhu Venugopal b6bb8c26fb Fixed an endpoint delete issue with a possible stale sbox
Stale sandbox could be a result of stress tests on ungraceful
restarts such as #17984

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 423b55c4b4aaaa55188b3aeca2b6b2005b19e7ea)
2015-11-20 07:24:48 -05:00
Aaron Lehmann a3004aea15 Correct parent chain in v2 push when v1Compatibility files on the disk are inconsistent
This fixes an issue where two images with the same filesystem contents
and configuration but different remote IDs could share a v1Compatibility
file, resulting in corrupted manifests.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
(cherry picked from commit 0ab6b1d9221f7a2a65c6565fed8f3d6f29fcec2d)

Conflicts:
	integration-cli/docker_cli_push_test.go
2015-11-20 07:24:48 -05:00
Anusha Ragunathan 8d7d152b87 Fix devmapper backend in docker info
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit fdc2641c2b329c48cf1d1c8c0b806bec8784b3e0)
2015-11-20 07:24:48 -05:00
David Calavera 04c702f617 Make NormalizeLocalName to not reach the network to normalize names.
Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit b665730d2c76cf991c123ad3387d6ba736a7515a)
2015-11-20 07:24:47 -05:00
Harald Albers 842733a582 bash completion for docker {run,create} --volume-driver
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit d411c47139e9a6d94c54bfb4052e7d12bf4295f0)
2015-11-20 07:24:47 -05:00
pidster f1d9a79214 Add Weave Network Plugin to docs/extend/plugins.md
Signed-off-by: pidster <pid@pidster.com>
(cherry picked from commit f57073c72bfb30b083730be0623210ad5381ec58)
2015-11-20 07:24:47 -05:00
Flavio Castelli f97b8f403f Update SUSE/openSUSE installation script
Fix installation on SUSE Linux Enterprise machine, the updated Docker RPMs have
been moved to a different location.

Update both openSUSE and SUSE Linux Enterprise scripts to allow the
installation of experimental builds.

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
(cherry picked from commit 400ac8a66c)
2015-11-20 07:24:47 -05:00
Sebastiaan van Stijn b5cc212e75 docs: fix link to "run reference"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f2705fa6ede76ad8b307ca184d3e146f5d69f7e6)
2015-11-12 15:13:00 -05:00
Steve Durrheimer 45dbc03636 Add zsh completion for 'docker {run,create} --volume-driver'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
(cherry picked from commit 8446a5c88bd744df7f7468ec7eb8d8dee4e7c7e9)
2015-11-12 15:13:00 -05:00
Anusha Ragunathan a22e1dd557 Include xfsprogs in build environment.
devmapper uses xfs by default now. So include xfsprogs in build
environment. Also update docs to reflect the new default.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit 2b766a455cc01f3fd51be886c9e61c0b6a5fdeb1)
2015-11-12 15:13:00 -05:00
Vivek Goyal ad0298c5a1 devmapper: Switch to xfs as default filesystem if supported
If platform supports xfs filesystem then use xfs as default filesystem
for container rootfs instead of ext4. Reason being that ext4 is pre-allcating
lot of metadata (around 1.8GB on 100G thin volume) and that can take long
enough on AWS storage that systemd times out and docker fails to start.

If one disables pre-allocation of ext4 metadata, then it will be allocated
when containers are mounted and we will have multiple copies of metadata
per container. For a 100G thin device, it was around 1.5GB of metadata
per container.

ext4 has an optimization to skip zeroing if discards are issued and
underlying device guarantees that zero will be returned when discarded
blocks are read back. devicemapper thin devices don't offer that guarantee
so ext4 optimization does not kick in. In fact given discards are optional
and can be dropped on the floor if need be, it looks like it might not be
possible to guarantee that all the blocks got discarded and if read back
zero will be returned.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
(cherry picked from commit 07ff17fb850e5ddae6f38cc21776ebb9b1690f3e)
2015-11-12 15:13:00 -05:00
Vivek Goyal 039cf28484 devmapper: Warn if user specified a filesytem and base device already has fs
If user wants to use a filesystem it can be specified using dm.fs=<filesystem>
option. It is possible that docker already had base image and a filesystem
on that. Later if user wants to change file system using dm.fs= option
and restarts docker, that's not possible. Warn user about it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
(cherry picked from commit 83a34e000b2332d9a1b4214a77fae021ed144acb)
2015-11-12 15:13:00 -05:00
Dave Tucker 6702fac9af Add required ports for Overlay to docs
Fixes #17709

Signed-off-by: Dave Tucker <dt@docker.com>
(cherry picked from commit 44a527d877faf0ef62bc9b0221f656041833ae66)
2015-11-12 15:13:00 -05:00
Mary Anthony 94ef56b8b3 Adding in Contiv plugins
Fixes #17764
Also fixed problem where the menu ordering was off
Fix the wrap

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 40fc3a8bcf39e52e45c2aac3808987a5499094d8)
2015-11-12 15:12:59 -05:00
David Currie 5b0ca7c58a Updates to Get started with multi-host networking
Updates primarily to expand usage of Swarm cluster and make Compose
section more verbose plus other minor corrections.

Signed-off-by: David Currie <david_currie@uk.ibm.com>
(cherry picked from commit f16dceb63233bd2c1fd327b92d7112e8012347ac)
2015-11-12 15:12:59 -05:00
Lei Jitang 5d417ee6e8 Test to verify --mac-address doesn't get applied to new endpoint
created on network connect.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
(cherry picked from commit 451b79d69102ad95f1b91a52bb4b17c240f41e56)
2015-11-12 15:12:59 -05:00
Santhosh Manohar 9a1d077d9c Allow port mapping only for endpoint created on docker run
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
(cherry picked from commit dedcf6a6ff6d3aa75efaeb31c197b1c3a19305be)
2015-11-12 15:12:59 -05:00
Alessandro Boch a2f92e92b5 Restore IPv6 from MAC on default bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 095a8ac5451de25a91fc569a6633fdd8d4cabb3f)
2015-11-12 15:12:59 -05:00
Alessandro Boch 3950ab5741 Vendoring libnetwork e8ebc0bf6510343c88d162db08b3d855cbbe75b9
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 43b3b6ecb4f838023478c484d32957386b7dd666)
2015-11-12 15:12:59 -05:00
Alessandro Boch 200258c2a0 Fix fixed-cidr daemon option
- Logic is broken when gateway ip falls in ip-range
  and ip-range is not the first block in the network

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit c7cd65962448888ceb1cec6a355fc7fd04f3be53)
2015-11-12 15:12:58 -05:00
Alessandro Boch e0d0582d97 Vendoring libnetwork 5978c276ad20e104d6acd749da6ee6a8930055ae
- To bring in ip-range fix

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 9c395537bce1e787ae34d90b2de81df3a47c5ff9)
2015-11-12 15:12:58 -05:00
Harald Albers da9b925066 Fix bash completion on systems where extglob is not set
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 211e3b0df67d17989c7aff63d1a0098ad61f07a3)
2015-11-12 15:12:58 -05:00
Justin Cormack 736ba2937e Use the SKS port 80 keyserver pool, as it is more reliable than the MIT server
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
(cherry picked from commit 4fca870212ea11010e9dc5ecc802d076dcc1c683)
2015-11-12 15:12:58 -05:00
Kai Qiang Wu(Kennan) fe5baaf228 Fixing wrong volume doc format
Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
(cherry picked from commit a874ce08f3742d219f105a8b3d5cb7f37544824b)
2015-11-12 15:12:58 -05:00
Christopher Jones 5fd7bc0d74 Fixed broken links in docker_remote_api
Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
(cherry picked from commit 93939c3f9fda70930ec2d3af4c6231ccfbc6b8ef)
2015-11-12 15:12:58 -05:00
Lei Jitang 2d6c4af15e Prevent connecting to host and prevent disconnecting from host
Container has private network namespace can not to connect to host
and container with host network can not be disconnected from host.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit a2d8c93fc690c2244a3bed32a2bbeb8dae449f90)
2015-11-10 12:50:34 -05:00
Bryan Boreham 3f089980e4 Fix typo in error message
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
(cherry picked from commit 93405dd037ffb54e7e72d9d36be4a16d1d76fa50)
2015-11-10 12:37:39 -05:00
Alexander Morozov 25493c674b Speedup container list
Remove all unneeded disk operations (reload TagStore, umarshal image)
for checking if image still points to same ID. Now slowest part is
queries to sqlite which hopefuly will be removed soon.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit f256d8ad2d)
2015-11-10 12:37:39 -05:00
Anthony Dahanne fe7768f54d Implicitly use swarm:latest so that master and agent use the same version of swarm
Signed-off-by: Anthony Dahanne <anthony.dahanne@gmail.com>
(cherry picked from commit 4efe0def0ac2a8b6b74a818d23864f62abfaa521)
2015-11-09 19:12:38 -05:00
Tonis Tiigi c7055ebf84 Fix opq whiteouts problems for files with dot prefix
Fixes #17766

Previously, opaque directory whiteouts on non-native
graphdrivers depended on the file order, meaning
files added with the same layer before the whiteout
file `.wh..wh..opq` were also removed.

If that file happened to have subdirs, then calling
chtimes on those dirs after unpack would fail the pull.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit db3070ab1b9e394e45b1db22b8ed8352272d4410)
2015-11-09 19:06:59 -05:00
David Calavera ed95e3d325 Use an empty slice as default value for DNS, DNSSearch and DNSOptions
So we don't print those <no value> in the client and we don't fail
executing inspect templates with API field names.

Make sure those fields are initialized as empty slices when
a container is loaded from disk and their values are nil.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit f1a74a89f89affcfbe311e89aa752b3d551e0340)
2015-11-09 19:06:59 -05:00
Dan Walsh 4f23c44a68 Fix relabel for SELinux
With the changes merged into runc/libcontainer, are now causing
SELinux to attempt a relabel always, even if the user did not
request the relabel.

If the user does not specify Z or z on the volume mount we should
not attempt a relabel.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
(cherry picked from commit d9011b36176d6245bdc25401633c213d73e14ea0)
2015-11-09 18:36:30 -05:00
Alexander Morozov e35ac39418 Update runc to introduce RelabelNeeded function
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit 00bcc924fa64b16484beeeabbd2969572d03d30d)
2015-11-09 18:36:29 -05:00
Tonis Tiigi f4dbb093eb Fix symlink handling in builder ADD/COPY commands
Fixes #17290

Fixes following issues:

- Cache checksums turning off while walking a broken symlink.

- Cache checksums were taken from symlinks while targets were actually copied.

- Copying a symlink pointing to a file to a directory used the basename of the target as a destination basename, instead of basename of the symlink.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 47da59f7ec4ee0f49d47a9b32abb137bb30b2c48)
2015-11-09 18:36:29 -05:00
Nathan LeClaire 6aa14d58ff Revise commands in Compose section of multi-host quickstart
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
(cherry picked from commit 6326e6732dd217ba6c53ba80ba917d72ad0d1ce5)
2015-11-09 18:36:29 -05:00
Alexander Morozov f3827116a3 Return nice client-side message for docker logs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
(cherry picked from commit e37e329074517f48db8468affc62beb595ab090e)
2015-11-09 18:36:29 -05:00
Guilhem Lettron be83aacf80 Fix missing -d flag in docker.fish
Signed-off-by: Guilhem Lettron <guilhem@lettron.fr>
(cherry picked from commit 4a3cd881721ff7986fcdc3544e67b66a259c2ca6)
2015-11-09 18:36:29 -05:00
John Howard a58b402fc8 Windows: Fix docker login
Signed-off-by: John Howard <jhoward@microsoft.com>
(cherry picked from commit 9c765040a5638429384b56a1b77139c6d4049c75)
2015-11-09 18:36:29 -05:00
Anton Polonskiy 56cc398564 fix typo
Signed-off-by: Anton Polonskiy <anton.polonskiy@gmail.com>
(cherry picked from commit 3f331eaa4092ff3a612a275351b82b44c778d9fa)
2015-11-09 18:36:28 -05:00
Zhang Wei 7aa5d784d7 Fix --cluster-store option parser
`--cluster-store` is of form KV-PROVIDER://KV-URL, this commit makes
sure that KV-URL contains no "://"

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
(cherry picked from commit 0ebdac8bee0c587a8a10e3bcdec46e9d8360e2fb)
2015-11-09 18:36:28 -05:00
Sebastiaan van Stijn 5f285e4df4 Docs: add "Linux kernel extra" to manual install
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 8e2b20580b82c3d63d4dbbff1d6bee5640a46a8b)
2015-11-09 18:36:28 -05:00
Brian Goff 67d34cebf7 Reutrn immediately when inspect connection failed
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 72aeb63a47bcdffe15380302ff09ab3f0447e476)
2015-11-09 18:36:28 -05:00
Jessica Frazelle b633af5875 add fedora 23 for all the crazies who already want it
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit 45788bb62d6dcdc5b429b5ba10216d2af0402119)
2015-11-09 18:36:28 -05:00
Antonio Murdaca 2c3d4a7f15 graph: do not error out if images can't be restored
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit eaa4047792d2495276383332c4ad4c573e5e8275)
2015-11-09 18:36:28 -05:00
Mary Anthony 2c20ae1fef Fixing BTRFS > Btrfs
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 90e16ab8f97fc5146aab2e77a0fa6ec2d225ba32)
2015-11-09 18:36:27 -05:00
Jana Radhakrishnan 8a30a35b11 Fix a corner case issue when daemon panics
There is an extreme corner case where when the daemon
panics at the same time as a container is stopping
and cleaning up the sandbox and the sandbox may have been
left with an inconsistent state. This libnetwork vendoring
fixes that case.

Vendoring in libnetwork @ 5305ea570b85d61dd0fd261cd7e1680da1884678

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 79cffa5ce4a71b29eed66e26c1fb7f153be5c045)
2015-11-09 18:36:27 -05:00
harold cooper 7e485e614c fix documentation inconsistency for volume create
the example command uses `/world` but the description refers to `/src`

Signed-off-by: Harold Cooper <hrldcpr@gmail.com>
(cherry picked from commit f67da614e9963e626d4ec12fd624249947b97d6a)
2015-11-09 18:36:27 -05:00
Alessandro Boch e1f59b5987 Verify Endpoint.Info() before accessing it
- During concurrent operations in multihost environment,
  it is possible that the implementer of `EndpointInfo`
  is nil. It simply means the endpoint is no longer
  available in the datastore.

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 54d22cbd9a04a965c935a693bf403d2c87109b5a)
2015-11-09 18:36:27 -05:00
David Calavera 04c79bb941 Make the stats collector to collect network stats.
Currently, we get the network stats each time per subscriber, causing a
high load of cpu when there are several subscribers per container.

This change makes the daemon to collect once and publish N times, where N is the
number of subscribers per container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 453473d6a964e58f4a61599bd90d62d0088f0cc2)
2015-11-09 18:36:27 -05:00
Stephen J Day 4158c70f58 Avoid panic on write after close in http
By adding a (*WriteFlusher).Close, we limit the Write calls to possibly
deallocated http response buffers to the lifetime of an http request.
Typically, this is seen as a very confusing panic, the cause is usually a
situation where an http.ResponseWriter is held after request completion. We
avoid the panic by disallowing further writes to the response writer after the
request is completed.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
(cherry picked from commit ec2289b2d9ac79fd5e0f69f56f023dfe8ee78bf8)
2015-11-09 18:36:27 -05:00
Alessandro Boch a9450f35cc Fix bug in initializeNetwork()
- On `docker run --net <network id> ...`
  the bug would cause the container to attempt
  to connect to the network two times
- Also made sure endpoint creation rollback will
  be executed on failures in `func (container *Container) connectToNetwork()`

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 45e71a79840887b7974387bedba0544015ab4e3b)
2015-11-09 18:36:26 -05:00
David Calavera 08091ba9fb Turn IPC unmount errors into warnings.
And do not try to unmount empty paths.

Because nobody should be woken up in the middle of the night for them.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit a54d5932e3a644317c77d59bc5aee562841d5c20)
2015-11-09 18:36:26 -05:00
Brian Goff 19f3bc00ee Force IPC mount to unmount on daemon shutdown/init
Instead of using `MNT_DETACH` to unmount the container's mqueue/shm
mounts, force it... but only on daemon init and shutdown.

This makes sure that these IPC mounts are cleaned up even when the
daemon is killed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 78bd17e805b7514505455b10f2fd90962505a3ff)
2015-11-09 18:36:26 -05:00
Tibor Vass 76d6bc9a9f Bump version to v1.9.0
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-11-03 12:21:26 -05:00
Mary Anthony b9c3ba79a6 Moving project to docker/opensource
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit e400125b662e6ea8605e05772ed79ea2781f6d17)
2015-11-03 12:14:28 -05:00
Madhu Venugopal 17fb8c3c5a Updating networking docs with technical information
- the /etc/hosts read caveat due to dynamic update
- information about docker_gwbridge
- Carries and closes #17654
- Updating with last change by Madhu
- Updating with the IPAM api 1.22

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 39dfc536d444df8745124ffa38504241a0a985f7)

Conflicts:
	docs/reference/api/docker_remote_api_v1.22.md
2015-11-03 12:01:52 -05:00
Mary Anthony 0849a71036 Nigel acknowledgement
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 7b978cc3781758cfc12259a5259665ba5e822a84)
2015-11-03 12:01:52 -05:00
Mary Anthony b53c39f606 Fixing ZooKeeper and some other nits Nathan found
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 0f1083c8dacb2ad189ccc4e4779c7e2dd054cb6b)
2015-11-03 12:01:52 -05:00
Sebastiaan van Stijn 5d72b7a582 docs: update remote API responses and minor fixes
Add back the "old" networksettings fields that were removed,
but added back to maintain backward compatibility, in
https://github.com/docker/docker/pull/17538

Update network endpoint responses, with updated response
introduced in;
https://github.com/docker/docker/pull/17536

Added changes to v1.22 that were applied to the v1.21 / v1.20 docs
after the API bump(s);

https://github.com/docker/docker/pull/17085
https://github.com/docker/docker/pull/17127
https://github.com/docker/docker/pull/13707

Also fixed some mixed tab/spaces indentation
and Markdown formatting issues (causing code-blocks to
be rendered incorrectly)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 286fe69d5376add77dc31833dc3c2fcc9639dd17)

Conflicts:
	docs/reference/api/docker_remote_api_v1.22.md
2015-11-03 12:01:51 -05:00
Mary Anthony c50bd847a7 Add special memory management file
updating after assignment for Nigel
Adding in some notes from Nigel work
Updating with the storage driver content Nigel added
Updating with Nigel's polishing tech
Adding in Nigel graphics
First pass of aufs material
Capturing Nigel's latest
Comments back to Nigel on devicemapper
Incorporating Nigel's comments v3
Converting images for dm
Entering comments into aufs page
Adding the btfs storage driver
Moving to userguide
Adding in two new driver articles from Nigel
Optimized images
Updating with comments

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 950fbf99b1214e77c0dcc27e8f9a16e01b2c630a)
2015-11-03 12:01:51 -05:00
Mary Anthony fa2a6b3522 First pass at consolidating
Removing old networking.md
Updating dockernetworks.md with images
Adding information on network plugins
Adding blurb about links to docker networking
Updating the working documentation
Adding Overlay Getting Started
Downplaying links by removing refs/examples, adding refs/examples for network.
Updating getting started to reflect networks not links
Pulling out old network material
Updating per discussion with Madhu to add Default docs section
Updating with bridge default
Fix bad merge
Updating with new cluster-advertise behavior
Update working and NetworkSettings examples
Correcting example for default bridge discovery behavior
Entering comments
Fixing broken Markdown Syntax
Updating with comments
Updating all the links

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 9ef855f9e5fa8077468bda5ce43155318c58e60e)
2015-11-03 12:01:51 -05:00
Tibor Vass f2d0d2e516 Do not stop daemon from booting if io.EOF on loading image
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 27c23685993ba4252d2d0f8f7ffa6455fb6235c5)
2015-11-02 23:13:29 -05:00
Antonio Murdaca 7be73fe0cb graph: enhance err message on failed image restore
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
(cherry picked from commit f5fc832b6e786bbcd7dfe98b1ec04b8b8d1935ae)
2015-11-02 23:13:29 -05:00
Jana Radhakrishnan 75847fb840 Vendoring libnetwork
Vendoring libnetwork @ 05a5a1510f85977f374a9b9804a116391bab5089

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 10e1b9f02ee633349bc45631dac18cb4cc5baa61)
2015-11-02 23:13:29 -05:00
Mary Anthony dfad0c3da7 Fixing broken links
Fixing the weight

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 5ce093e94565a5f32df9adf78dcdb6deeda75f79)

Conflicts:
	docs/reference/api/docker_remote_api.md
	docs/reference/api/docker_remote_api_v1.21.md
	docs/reference/api/docker_remote_api_v1.22.md
2015-11-02 23:13:29 -05:00
Tibor Vass 263604f570 fix coding style and have make validate pass
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-11-02 23:13:29 -05:00
Alessandro Boch 6cbcdc7a6d IT for daemon restarts when container connected to multiple networks
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit e16e794805ec1e578951f271af7993d9619a4ede)
2015-10-30 21:18:08 -04:00
Madhu Venugopal 0d762ef9d2 fixing ungraceful daemon restart case where nw connect is not persisted
For graceful restart case it was done when the container was brought
down. But for ungraceful cases, the persistence is missing for nw
connect

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 401632c7568408ee9689adc1da855cfb1409e906)
2015-10-30 21:18:08 -04:00
Madhu Venugopal 9f7231816f Vendoring in libnetwork to fix an ungraceful restart case
Also picked up a minor typo fix

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 2361edbcea22113aea639a3d74edb35791fd8aef)
2015-10-30 21:18:08 -04:00
Donald Huang 0430024bad fix pre-1.21 docker stats
This fixes a bug introduced in #15786:

* if a pre-v1.20 client requested docker stats, the daemon
would return both an API-compatible JSON blob *and* an API-incompatible JSON
blob: see https://gist.github.com/donhcd/338a5b3681cd6a071629

Signed-off-by: Donald Huang <don.hcd@gmail.com>
(cherry picked from commit d2c04f844b8258d712da4b8feac25df7590b037c)

The commit title wrongfully mentioned API v1.22, when it meant to mention v1.21.
2015-10-30 21:18:08 -04:00
Alessandro Boch 6fa9da0363 Modify IPAMConfig structure json tags
- So that it complies with docker convention for inspect

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit d795bc7d53db4b9e9194d0570d65e22d39f58384)
2015-10-30 21:18:08 -04:00
David Calavera 2ec7433aa4 Fix network inspect for default networks.
- Keep old fields in NetworkSetting to respect the deprecation policy.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit f301c5765a0d7f4b6866cedfdface6f87874ff53)
2015-10-30 21:18:07 -04:00
Alessandro Boch 51e5073111 Modify Network structure json tags
- So that they comply with docker inspect convention
  Which is allowing camel case for json field names

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit b2d0b75018c5be5c671a15950546a79cda307cf2)
2015-10-30 21:18:07 -04:00
Michael Crosby c4f0a2aa00 Don't set mem soft limit if not specifiecd
You cannot do this for individual cgroups for all the containers.  Only
set the reservation if the user requested it.  The error you will
receive is an EINTVAL when you try to set a large limit like we were in
the memory limit.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit ecb87ed0a5128a3d9ab3b0a620463b7b56e82bab)
2015-10-30 21:18:07 -04:00
evalle 581f297644 Fix ubuntu installation instructions page
Signed-off-by: evalle <shmarnev@gmail.com>
(cherry picked from commit eb0a208f4bad5623e360fa936bfd230cd72414c4)
2015-10-30 21:18:07 -04:00
Madhu Venugopal cff248b35f Fixes a case of dangling endpoint during ungraceful daemon restart
When a container restarts after a ungraceful daemon restart, first
cleanup any unclean sandbox before trying to allocate network resources.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 0c07096b7da6dc28df10df21283fc21b3b052e1a)
2015-10-30 21:18:07 -04:00
Madhu Venugopal 12da51944a Vendoring libnetwork to solve an ungraceful restart condition
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit ebf76171f6d63938558cdd5bef33565b48d664b7)
2015-10-30 21:18:07 -04:00
David Calavera 87417387c6 Let the api to choose the default network driver.
That way swarm can understand the user's intention.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 34668ad68bb42d7488649e41b32818f3f1a7cff2)
2015-10-30 21:18:07 -04:00
Alessandro Boch b693a04658 Execute buildPortMapInfo after Endpoint.Join()
- As the retrieved info may not be available at
  Endpoint creation time for certain network drivers
- Also retrieve the MAC address from Endpoint.Info().Iface()

Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit e03daebb48221bae84bfc48b0f9b652ced6d93f3)
2015-10-30 21:18:06 -04:00
Alessandro Boch e50176876c Vendoring libnetwork 20351a84241aa1278493d74492db947336989be6
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 90744fe9432d988bae187a8dab7c606b2dc13895)
2015-10-30 21:18:06 -04:00
Derek McGowan 22c2f04847 Fix rmi -f removing multiple tags
When an image has multiple tags and rmi is called with force on a tag, only the single tag should be removed.
The current behavior is broken and removes all tags and the image.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit 48e7f7963e142a0a45b583c5e65015d896c59433)
2015-10-30 21:18:06 -04:00
Eric Rosenberg 75f6674b11 Update kill.md
Added Note to show users that signals will not propagate to the container if the preferred exec form isn't used.

Signed-off-by: Eric Rosenberg <ehaydenr@gmail.com>
(cherry picked from commit c1a5ee53c19d62918f5ef245b5d2268fb9c89ca8)
2015-10-30 20:27:45 -04:00
Tibor Vass ea1862d346 docker-py: upgrade and fix test script
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8db141049f5323d754584f265b267e52ee5d9e17)
2015-10-30 20:27:44 -04:00
Lei Jitang 9335cf9d29 Fix docker inspect display odd gateway value for none network mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 7fa601adc7858606630dec5b037e60b8955e716d)
2015-10-30 20:27:44 -04:00
Madhu Venugopal 22cf3df4c0 Prevent user from deleting pre-defined networks
Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit ead62b59522bba132b9a14712e4350439e7fa2a5)

Conflicts:
	integration-cli/docker_api_network_test.go
2015-10-30 20:27:44 -04:00
David Calavera c57d1e026d Update inspect api examples with new network settings.
Signed-off-by: David Calavera <david.calavera@gmail.com>

Conflicts:
	docs/reference/api/docker_remote_api_v1.22.md
2015-10-27 20:11:08 -04:00
David Calavera ce6e6b18ad Extract network settings types for inspect.
Keeping backwards compatibility.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Tibor Vass <tibor@docker.com>

Conflicts:
	integration-cli/docker_cli_links_test.go
2015-10-27 19:57:03 -04:00
Lei Jitang a09d521221 Fix docker inspect container only reports last assigned information
Signed-off-by: Lei Jitang <leijitang@huawei.com>

Conflicts:
	integration-cli/docker_api_network_test.go
	integration-cli/docker_utils.go
2015-10-27 19:57:03 -04:00
Hugo Marisco 3648ffe722 update gpg add key command, without sudo it fails
Signed-off-by: Hugo Marisco <0x6875676f@gmail.com>
2015-10-27 19:57:03 -04:00
Madhu Venugopal 37e04b864e Enhancing --cluster-advertise to support <interface-name>
--cluster-advertise daemon option is enahanced to support <interface-name>
in addition to <ip-address> in order to amke it  automation friendly using
docker-machine.

Signed-off-by: Madhu Venugopal <madhu@docker.com>

Conflicts:
	integration-cli/docker_cli_info_test.go
2015-10-27 19:57:03 -04:00
Alessandro Boch 160f4e4a3b Do not update etc/hosts for every container
- Only user named containers will be published into
  other containers' etc/hosts file.
- Also block linking to containers which are not
  connected to the default network

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-27 19:57:02 -04:00
Santhosh Manohar a76b5fd324 Add libnetwork call on daemon rename
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-10-27 19:57:02 -04:00
Madhu Venugopal 04cc66b08e integration-cli test for active container rename and reuse
Signed-off-by: Madhu Venugopal <madhu@docker.com>
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-10-27 19:57:02 -04:00
Santhosh Manohar 93f966cdc0 Vendor in libnetwork changes to support container rename
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-10-27 19:57:02 -04:00
Mary Anthony 6b779ead93 Updating network commands: adding man pages
Adding Related information blocks
Final first draft pass: ready for review
Review comments
Entering comments from the gang
Updating connect to include paused

Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-27 19:57:02 -04:00
Kun Zhang 7ac3502444 command missing 'daemon'
Signed-off-by: Kun Zhang <zkazure@gmail.com>

Conflicts:
	docs/reference/logging/splunk.md
2015-10-27 19:57:02 -04:00
Tonis Tiigi 963b4d0b22 Fix duplicate container names conflict
While creating multiple containers the second
container could remove the first one from graph
and not produce an error.

Fixes #15995

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-10-27 19:57:02 -04:00
Madhu Venugopal 2801a373a8 Vendoring in libnetwork with fixes for issues identified in RC1 & RC2
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-27 19:57:02 -04:00
Madhu Venugopal c2c88fec85 Simple log to indicate the chosen IP Address for the default bridge
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-27 19:57:02 -04:00
Steve Durrheimer 7825b5a5cd Fix repeatable options in zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-27 19:57:02 -04:00
Alessandro Boch 3040ad3581 Disable built-in SD on docker0 network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-27 19:57:01 -04:00
Vincent Demeester 84eaf42839 Update docker network inspect help syntax
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-27 19:57:01 -04:00
Harald Albers 581df6aaa1 bash completion for log driver options env and labels
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-27 19:57:01 -04:00
Aaron Lehmann b8410cd2ae Add a buffered Writer between layer compression and layer upload
Without this buffering, the compressor was outputting 64 bytes at a
time to the HTTP stream, which was resulting in absurdly small chunk
sizes and a lot of extra overhead. The buffering restores the chunk size
to 32768 bytes, which matches the behavior with 1.8.2.

Times pushing to a local registry:

1.8.2: 0m18.934s
master: 0m20.564s
master+this commit: 0m17.593s

Fixes: #17038

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-10-27 19:57:01 -04:00
Sven Dowideit cc1782b318 Two more links to fix
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-10-27 19:57:01 -04:00
Steve Durrheimer f8c24afcb4 Zsh completion for 'docker network inspect' multiple networks
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-27 19:57:01 -04:00
Harald Albers 8b5c7d6a60 bash completion for docker network inspect supports multiple networks
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-27 19:57:01 -04:00
David Calavera 05e3f2f62f Fail when there is an error executing an inspect template.
- Do not execute the template directly in the cli outout, go is not atomic
in this operation and can send bytes before failing the execution.
- Fail after evaluating a raw interface if the typed execution also
failed, assuming there is a template parsing error.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 19:44:01 -04:00
Alessandro Boch 957fcb10bf Add integ-test for fixed--cidr == bridge network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 17:36:30 -04:00
Madhu Venugopal 9c5885135f Vendoring in libkv to be aligned with libnetwork
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 17:36:30 -04:00
Madhu Venugopal 03d7cf1aef Vendoring in Libnetwork
This carries fixes for
- Internal racy /etc/hosts updates within container during SD
- Renable SD service record watch after cluster-store restarts
- Fix to allow remote IPAM driver to return no IP if the user prefers
- Fix to allow --fixed-cidr and --bip to be in same range

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 17:36:30 -04:00
Vincent Demeester 7ff56c563d Use RepoTags & RepoDigest in inspect
To be coherent with /images/json (images command)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-22 17:22:16 -04:00
Tonis Tiigi e6ff99629b Show trust variable deprecation warning only if used
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-10-22 16:24:29 -04:00
Alessandro Boch 50a8ce2b28 Turn off service discovery when icc==false
- Turn off built-in service discovery on docker0 bridge
  when icc is false

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 16:16:53 -04:00
Alessandro Boch dc5a0118a1 Vendoring in libnetwork for the anonymous endpoint
- commit f3c8ebf46b890d4612c5d98e792280d13abdb761

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 16:16:53 -04:00
Sven Dowideit f2671e07b3 Fix some errant links
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-10-22 16:14:13 -04:00
Harald Albers 033ce66707 bash completion for docker cp supports copying both ways
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 16:14:13 -04:00
Aaron Lehmann 6a01c901d3 Fix layer compression regression
PR #15493 removed compression of layers when pushing them to a V2
registry. This this makes layer uploads larger than they should be.

This commit restores the compression. It uses an io.Pipe to turn the
gzip compressor output Writer into a Reader, so the ReadFrom method can
be used on the BlobWriter (which is very important for avoiding many
PATCH requests per layer).

Fixes #17209
Fixes #17038

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-10-22 16:14:13 -04:00
David Calavera c75fd9b5da Do not fail when a container is being removed and we request its delete again.
Abort the process and return a success response, letting the original
request finish its job.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 16:14:13 -04:00
Tibor Vass b83bbbe864 release: fix bash bug in script
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-10-22 16:14:12 -04:00
Antonio Murdaca f110597a78 graph: ensure _tmp dir is always removed
Also remove unused func `newTempFile` and prevent a possible deadlock
between pull_v2 `attemptIDReuse` and graph `register`

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Antonio Murdaca adfbdc361c daemon: faster image cache miss detection
Lookup the graph parent reference to detect a builder cache miss before
looping the whole graph image index to build a parent-children tree.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Antonio Murdaca 587a0ffa2d graph: add parent img refcount for faster rmi
also fix a typo in pkg/truncindex package comment

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Antonio Murdaca 7176e68625 integration-cli: docker_cli_build_test: check error before defer
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 16:14:12 -04:00
Daniel Hiltgen 98af0d7f3c Wire up libnetwork with TLS discovery options
This change exposes the TLS configuration settings to libnetwork so it can
communicate with a key/value store that has been set up with mutual TLS.

TLS options were introduced with https://github.com/docker/docker/pull/16644
Libnetwork support was introduced with https://github.com/docker/libnetwork/pull/602

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-22 16:14:12 -04:00
David Calavera fd2633a451 Move volume name validation to the local driver.
Delegate validation tasks to the volume drivers. It's up to them
to decide whether a name is valid or not.
Restrict volume names for the local driver to prevent creating
mount points outside docker's volumes directory.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 16:14:11 -04:00
xlgao-zju b576f54b73 validate the name of named volume
Signed-off-by: xlgao-zju <xlgao@zju.edu.cn>
2015-10-22 15:07:07 -04:00
Burke Libbey d2e25ed81c Better error when --host=ipc but no /dev/mqueue
Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Burke Libbey 44c74f2109 Revert "Fix --ipc=host dependency on /dev/mqueue existing"
This reverts commit f624d6187a8daa3ca0999c46cb345f8db6f330e7.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Burke Libbey 434221d0eb Fix --ipc=host dependency on /dev/mqueue existing
Since #15862, containers fail to start when started with --ipc=host if
/dev/mqueue is not present. This change causes docker to create
container-local mounts for --ipc=host containers as well as in the
default case.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-10-22 15:07:07 -04:00
Vincent Demeester 620817efba Add support for multiple network in inspect
To be consistent with other inspect command (on container and images),
add the possiblity to pass multiple network to the network inspect
commands.

`docker network inspect host bridge none` is possible now.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-22 15:07:07 -04:00
Lei Jitang f4dc974b2a Make default tls host work
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-22 15:07:07 -04:00
Tonis Tiigi 42abfab3a7 Don’t overwrite layer checksum on push
After v1.8.3 layer checksum is used for image ID
validation. Rewriting the checksums on push would
mean that next pulls will get different image IDs
and pulls may fail if its detected that same
manifest digest can now point to new image ID.

Fixes #17178

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-10-22 15:07:06 -04:00
Tobias Gesellchen b63c2ab3c1 rename POST /volumes to POST /volumes/create to be consistent with the other POST /.../create endpoints
see #17132

Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-10-22 15:07:06 -04:00
Madhu Venugopal 595fd5226b Integration test for default bridge init with invalid cluster config
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:07:06 -04:00
Madhu Venugopal 46b742dbb3 Vendoring in libnetwork to fix daemon bootup instabilities
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:07:06 -04:00
David Lawrence cd8357e5a6 some bugfixes on getting tuf files, this is backed by a lot of new unit tests in gotuf
Signed-off-by: David Lawrence <david.lawrence@docker.com> (github: endophage)
2015-10-22 15:07:06 -04:00
Alessandro Boch d6a407f9b2 Do not mask ipam driver if no ip config is passed
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-22 15:07:06 -04:00
Antonio Murdaca 392fe9e507 Return empty Config fields, now omitempty, for API < 1.21
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2015-10-22 15:07:05 -04:00
Harald Albers 2b4c34e756 bash completion for new docker network create options
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:05 -04:00
Steve Durrheimer 130f92a67f Add zsh completion for 'docker network create -o --opt'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:05 -04:00
Jessica Frazelle d676ebc156 fix copy of multiple rpms
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-22 15:07:05 -04:00
Vivek Goyal 7e6a483578 devmapper: Drop devices lock before returning from function
cleanupDeleted() takes devices.Lock() but does not drop it if there are
no deleted devices. Hence docker deadlocks if one is using deferred
device deletion feature. (--storage-opt dm.use_deferred_deletion=true).

Fix it. Drop the lock before returning.

Also added a unit test case to make sure in future this can be easily
detected if somebody changes the function.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-22 15:07:05 -04:00
Jana Radhakrishnan 304a08ee91 Fix docker startup failure due to dangling endpoints
Fixes docker startup failure due to dangling endpoints
which makes docker to not come up.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-22 15:07:05 -04:00
Jana Radhakrishnan 38fb64bba3 Vendoring libnetwork
Vendoring libnetwork @ 05890386de89e01c73f8898c2941b020bbe57052

Has bug fixes for 1.9

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-22 15:07:04 -04:00
Hu Keping 69cfb521bb Docs: update docs for API stats
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-10-22 15:07:04 -04:00
Aidan Hobson Sayers 9d8bf95811 Remove references to the docker-ut image
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-10-22 15:07:04 -04:00
Aidan Hobson Sayers 10b594924a Update ambassador image, use the socat -t option
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-10-22 15:07:04 -04:00
Stefan J. Wernli 1b4f705a2b Fixing hang in archive.CopyWithTar with invalid dst
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-10-22 15:07:04 -04:00
Madhu Venugopal 737cddc85d Fail the container start if the network has been removed
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:07:04 -04:00
Harald Albers 1f209fffd0 Bash completion for restart policy unless-stopped
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:03 -04:00
Harald Albers fb6ef9086d bash completion: support for dm.use_deferred_* options
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:03 -04:00
David Calavera f2bbcab6c9 Return 404 for all network operations without network controller.
This will prevent the api from trying to serve network requests in
systems where libnetwork is not enabled, returning 404 responses in any
case.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-10-22 15:07:03 -04:00
Derek McGowan 292d3b2052 Increase ping timeout
Ensure v2 registries are given more than 5 seconds to return a ping and avoid an unnecessary fallback to v1.
Elevates log level about failed v2 ping to a warning to match the warning related to using v1 registries.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-10-22 15:07:03 -04:00
Christy Perez f04a7bd388 Fix TestInspectInt64 for run scenarios that return warnings
Instead of returning only the container ID, starting a container may
also return a warning:

"WARNING: Your kernel does not support swap
limit capabilities, memory limited without
swap.\nff6ebd9f7a8d035d17bb9a61eb9d3f0a5d563160cc43471a9d7ac9f71945d061"

The test assumes that only the container ID is returned and uses the
entire message as the name for the inspect command. To avoid the need to
parse the container ID from the output after the run command, give the
container a name and use that instead.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2015-10-22 15:07:03 -04:00
Tobias Gesellchen 08cec812cb docs: fix description of filters param for /volumes and /networks.
fixes #17091

Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-10-22 15:07:03 -04:00
ripcurld00d 34fdfc8f67 Update fedora doc
`service` is deprecated from Fedora v21.
It's important to enable and start the `docker` daemon using `systemctl`.

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2015-10-22 15:07:02 -04:00
Sebastiaan van Stijn 1d5b8348ce docs: fix storage driver options list
This fixes the indentation of the storage driver
options list.

Also wraps/reformats some examples to prevent
horizontal scrollbars on the rendered HTML

Fixes #17140

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-10-22 15:07:02 -04:00
Vincent Demeester c0705bc51d Deprecate -c cli short variant flag in docker cli
- build
- create

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-22 15:07:02 -04:00
Shijiang Wei d88f6c33a3 make sure the value of the dangling filter is correct
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-10-22 15:07:02 -04:00
Madhu Venugopal 1361eaef7c Pass network driver option in docker network command
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:07:02 -04:00
Madhu Venugopal cbec9c9a6b Vendoring libnetwork to Replace the label variable to DriverOpts
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:07:02 -04:00
Harald Albers 4a66841730 Add missing options to bash completion for docker import
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:01 -04:00
Harald Albers f679c1a5ed bash completion: minor refactoring for consistency
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:01 -04:00
Harald Albers 69c0989dfb Add missing options to bash completion for docker build
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:07:01 -04:00
Steve Durrheimer 10f946d312 Zsh completion : all --<option>= flag values may be given in the next argument
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:01 -04:00
Steve Durrheimer 45cfeed39d Add zsh completion for 'docker import -m --message'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:01 -04:00
David Lawrence 417386caa6 updating notary and gotuf with latest bugfixes
Signed-off-by: David Lawrence <david.lawrence@docker.com>
2015-10-22 15:07:01 -04:00
Daniel Nephin 71f5c74a04 Correct API docs for /images/create
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-22 15:07:00 -04:00
Steve Durrheimer daa20c724a Deprecate 'docker run -c' option in zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:00 -04:00
Steve Durrheimer b4207be09d Add zsh completion for 'unless-stopped' restart policy
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:00 -04:00
Steve Durrheimer 02a8baf069 Add zsh completion for 'docker build --build-arg'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:07:00 -04:00
liaoqingwei 447c28b165 Use of checkers on docker_cli_network_unix_test.go.
Signed-off-by: liaoqingwei <liaoqingwei@huawei.com>
2015-10-22 15:07:00 -04:00
Mary Anthony 78afc5876a bad d
Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-22 15:07:00 -04:00
Mary Anthony 3748494073 Removing extra tic
Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-22 15:07:00 -04:00
Derek Ch 90d352e765 fix a race crash when building with "ADD some-broken.tar.xz ..."
The race is between pools.Put which calls buf.Reset and exec.Cmd
doing io.Copy from the buffer; it caused a runtime crash, as
described in #16924:

``` docker-daemon cat the-tarball.xz | xz -d -c -q | docker-untar /path/to/... (aufs ) ```

When docker-untar side fails (like try to set xattr on aufs, or a broken
tar), invokeUnpack will be responsible to exhaust all input, otherwise
`xz` will be write pending for ever.

this change add a receive only channel to cmdStream, and will close it
to notify it's now safe to close the input stream;

in CmdStream the change to use Stdin / Stdout / Stderr keeps the
code simple, os/exec.Cmd will spawn goroutines and call io.Copy automatically.

the CmdStream is actually called in the same file only, change it
lowercase to mark as private.

[...]
INFO[0000] Docker daemon                                 commit=0a8c2e3 execdriver=native-0.2 graphdriver=aufs version=1.8.2

DEBU[0006] Calling POST /build
INFO[0006] POST /v1.20/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=gentoo-x32&ulimits=null
DEBU[0008] [BUILDER] Cache miss
DEBU[0009] Couldn't untar /home/lib-docker-v1.8.2-tmp/tmp/docker-build316710953/stage3-x32-20151004.tar.xz to /home/lib-docker-v1.8.2-tmp/aufs/mnt/d909abb87150463939c13e8a349b889a72d9b14f0cfcab42a8711979be285537: Untar re-exec error: exit status 1: output: operation not supported
DEBU[0009] CopyFileWithTar(/home/lib-docker-v1.8.2-tmp/tmp/docker-build316710953/stage3-x32-20151004.tar.xz, /home/lib-docker-v1.8.2-tmp/aufs/mnt/d909abb87150463939c13e8a349b889a72d9b14f0cfcab42a8711979be285537/)
panic: runtime error: slice bounds out of range

goroutine 42 [running]:
bufio.(*Reader).fill(0xc208187800)
    /usr/local/go/src/bufio/bufio.go:86 +0x2db
bufio.(*Reader).WriteTo(0xc208187800, 0x7ff39602d150, 0xc2083f11a0, 0x508000, 0x0, 0x0)
    /usr/local/go/src/bufio/bufio.go:449 +0x27e
io.Copy(0x7ff39602d150, 0xc2083f11a0, 0x7ff3960261f8, 0xc208187800, 0x0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:354 +0xb2
github.com/docker/docker/pkg/archive.func·006()
    /go/src/github.com/docker/docker/pkg/archive/archive.go:817 +0x71
created by github.com/docker/docker/pkg/archive.CmdStream
    /go/src/github.com/docker/docker/pkg/archive/archive.go:819 +0x1ec

goroutine 1 [chan receive]:
main.(*DaemonCli).CmdDaemon(0xc20809da30, 0xc20800a020, 0xd, 0xd, 0x0, 0x0)
    /go/src/github.com/docker/docker/docker/daemon.go:289 +0x1781
reflect.callMethod(0xc208140090, 0xc20828fce0)
    /usr/local/go/src/reflect/value.go:605 +0x179
reflect.methodValueCall(0xc20800a020, 0xd, 0xd, 0x1, 0xc208140090, 0x0, 0x0, 0xc208140090, 0x0, 0x45343f, ...)
    /usr/local/go/src/reflect/asm_amd64.s:29 +0x36
github.com/docker/docker/cli.(*Cli).Run(0xc208129fb0, 0xc20800a010, 0xe, 0xe, 0x0, 0x0)
    /go/src/github.com/docker/docker/cli/cli.go:89 +0x38e
main.main()
    /go/src/github.com/docker/docker/docker/docker.go:69 +0x428

goroutine 5 [syscall]:
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
    /usr/local/go/src/os/signal/signal_unix.go:27 +0x35

Signed-off-by: Derek Ch <denc716@gmail.com>
2015-10-22 15:06:59 -04:00
Steve Durrheimer e51ffc7dd3 Remove '-n -l --latest' options from 'docker network ls' in zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:06:59 -04:00
Steve Durrheimer bbd690e2e2 Add zsh completion for '--ipam-driver --subnet --ip-range --gateway --aux-address' for 'docker network create'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-22 15:06:59 -04:00
Madhu Venugopal 14897a0b47 Added network to docker --help and help cleanup
Fixes https://github.com/docker/docker/issues/16909

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-22 15:06:59 -04:00
Victor Vieux ac4349bd30 use Server Version
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-10-22 15:06:59 -04:00
Victor Vieux fb525a33e1 only display 'Engine Version' when it's not empty
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-10-22 15:06:59 -04:00
Sally O'Malley 17def9a2c6 add clarity to -p option
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-10-22 15:06:58 -04:00
Jian Zhang d1e3a75934 Improve the way we deliver Examples in command line. (Add descriptive titles)
Signed-off-by: Jian Zhang <zhangjian.fnst@cn.fujitsu.com>
2015-10-22 15:06:58 -04:00
Harald Albers 38cd4eb1b2 Add bash completion for docker inspect --size
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-22 15:06:58 -04:00
Jessica Frazelle fbe20aa393 update tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-22 15:06:58 -04:00
Antonio Murdaca 9b313adb51 daemon: execdriver: lxc: fix cgroup paths
When running LXC dind (outer docker is started with native driver)
cgroup paths point to `/docker/CID` inside `/proc/self/mountinfo` but
these paths aren't mounted (root is wrong). This fix just discard the
cgroup dir from mountinfo and set it to root `/`.
This patch fixes/skip OOM LXC tests that were failing.
Fix #16520

Signed-off-by: Antonio Murdaca <runcom@linux.com>
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2015-10-22 15:06:58 -04:00
Antonio Murdaca 9419eade34 daemon: execdriver: lxc: fix set memory swap
On LXC memory swap was only set to memory_limit*2 even if a value for
memory swap was provided. This patch fix this behavior to be the same
as the native driver and set correct memory swap in the template.
Also add a test specifically for LXC but w/o adding a new test
requirement.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-10-22 15:06:58 -04:00
Michael Crosby 3ad9cc996a Merge pull request #16989 from tiborvass/bump-libcontainer-for-docker-1.9
Bump libcontainer to 6c198ae2d065c37f44316e0de3df7f3b88950923
2015-10-13 16:56:19 -07:00
Tibor Vass 9c94dcea3d Merge pull request #16863 from dhiltgen/bump_libkv
Bump to latest libkv + dependencies
2015-10-13 15:57:42 -07:00
Tibor Vass a17e53038d Bump libcontainer to 6c198ae2d065c37f44316e0de3df7f3b88950923
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-10-13 15:48:13 -07:00
Michael Crosby 6ae6371d11 Merge pull request #16996 from jfrazelle/cleanup-no-reprepro
update release-deb from the reprepro stuff we don't use
2015-10-13 15:46:58 -07:00
Jessica Frazelle 3057f0f0a7 update release-deb from the reprepro stuff we don't use
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-13 15:42:39 -07:00
Tibor Vass 2465ab8814 Merge pull request #16991 from Microsoft/10662-fixuserns
Windows: [TP4] Fix AV due to userns
2015-10-13 15:16:36 -07:00
Daniel Hiltgen 7078e7ddf4 Bump to latest libkv/libnetwork + dependencies
The latest libkv uses a different etcd library.  Unfortunately
that library uses some funky import paths, so I've added a new cleanup
routine for our vendor scripts to be able to normalize the imports
to be consistent with how imports work in this tree.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-13 14:41:43 -07:00
Alexandre Beslic 4ea3ff7061 Merge pull request #16910 from mavenugo/ipam
Vendoring libnetwork for the pluggable IPAM driver support
2015-10-13 14:41:19 -07:00
Vincent Demeester ce607916e9 Merge pull request #15796 from azurezk/add-size-to-inspect
add container size info to inspect
2015-10-13 23:16:10 +02:00
John Howard 6d71f27760 Windows: Fix AV in build due to userns
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-13 14:02:25 -07:00
moxiegirl 9be87c9a96 Merge pull request #16965 from mikebrow/docs-improvement-for-expose-16634
updating docs for EXPOSE option on run command
2015-10-13 11:33:28 -07:00
Jess Frazelle 3fc75c9739 Merge pull request #16922 from albers/completion-network
[Fix #16919] Add bash completion for `docker network`
2015-10-13 11:25:54 -07:00
Sven Dowideit dd43c23812 Merge pull request #16981 from sallyom/typos-man
various man page typos
2015-10-14 04:25:26 +10:00
Madhu Venugopal cc6aece1fd IPAM API & UX
introduced --subnet, --ip-range and --gateway options in docker network
command. Also, user can allocate driver specific ip-address if any using
the --aux-address option.
Supports multiple subnets per network and also sharing ip range
across networks if the network-driver and ipam-driver supports it.
Example, Bridge driver doesnt support sharing same ip range across
networks.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-13 11:03:03 -07:00
Madhu Venugopal 0f351ce364 Docker side changes for the newly introduced IPAM driver
* Made use of IPAM driver primitives for legacy IP configurations
* Replaced custom Generics with backend labels

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-13 10:52:59 -07:00
Madhu Venugopal 2e3113aeef Vendoring in libnetwork ipam support
* Pluggable IPAM driver support
* Performance and Scalability enhancements
* Libkv fixes in multiple backend stores

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-13 10:52:49 -07:00
moxiegirl 9ead1663c3 Merge pull request #16946 from pwnall/cpu_quota_docs
Document CFS CPU period / quota support in the API
2015-10-13 10:51:48 -07:00
Brian Goff b7d921e1b5 Merge pull request #16963 from Microsoft/10662-kill-partone
Windows: Enable kill (part one)
2015-10-13 13:02:58 -04:00
Sebastiaan van Stijn e766a3505c Merge pull request #16985 from moxiegirl/carry-dup-text-16961
Centralize discussion of behavior label and env.
2015-10-13 09:48:44 -07:00
Mary Anthony 39a71acf7e Centralize discussion of behavior label and env.
Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-13 09:44:17 -07:00
Sebastiaan van Stijn 3856c5efa6 Merge pull request #16961 from vdemeester/pr-15975-carry-for-docs
Carry #15975 - Add extra fields based on label and env for gelf/fluentd/json-file/journald log drivers
2015-10-13 09:30:32 -07:00
Tibor Vass 0bc748bba3 Merge pull request #16956 from runcom/16665-fix-inspect-Config-api120
Return old Config fields for API < v1.20
2015-10-13 09:08:26 -07:00
Sally O'Malley d79860af87 various man page typos
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-10-13 11:52:14 -04:00
Mike Brown d955fdb9ac updating docs for EXPOSE option on run command; fixes #16634
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-10-13 10:43:27 -05:00
John Howard 2dca1bc633 Windows: Enable kill (part one)
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-13 08:42:47 -07:00
Vincent Demeester 5ecbc9747f Merge pull request #16303 from coolljt0725/add_docker_info_show_base_size
Add docker info show base filesystem size of container/image when use devicemapper
2015-10-13 14:43:52 +02:00
Antonio Murdaca 8c63ce4f6b Fix Config.Cpuset from API < 1.20
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2015-10-13 09:09:05 +02:00
Vincent Demeester cd426ebed7 Add docs for label/env log-opts
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-13 08:39:47 +02:00
Tibor Vass 9a13c2dc79 Merge pull request #16958 from tonistiigi/digest-collision
Make sure tags and digests don’t collide
2015-10-12 15:45:34 -07:00
Tibor Vass 09ddb67dd4 Merge pull request #16962 from estesp/check-network-files-exist
Make sure network files exist before adding them to mounts
2015-10-12 15:38:51 -07:00
Jess Frazelle df79536769 Merge pull request #16009 from azurezk/vol-create-conflict-option
volume create error on conflict option
2015-10-12 15:27:36 -07:00
Sebastiaan van Stijn dc500630ec Merge pull request #16942 from physicalit/master
Add CMD and EXPOSE instruction example
2015-10-12 15:26:30 -07:00
moxiegirl c59e24ff12 Merge pull request #16888 from dhiltgen/discovery_tls
Document updates for cluster-store-opt
2015-10-12 15:26:08 -07:00
Tonis Tiigi d08ca5c2b6 Make sure tags and digests don’t collide
Tags and digests are kept in the same storage. We want to make sure that they are completely separated - tags are something users set and digests can only be set by pull-by-digest code path.

Reverts #14664

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-10-12 14:20:11 -07:00
Phil Estes ed68486f68 Make sure network files exist before adding them to mounts
It is possible that network files do not exist, especially in the case
of `--net=host` where a host OS (like CoreOS) does not use certain
standard network files.  This patch verifies that the source file of a
network mount point exists before adding it to the list of mount points
for bind mounting from the container's metadata directory.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-12 17:18:34 -04:00
Arnaud Porterie 96965e2abd Merge pull request #16954 from jfrazelle/update-changelog-master
Update changelog master
2015-10-12 12:31:15 -07:00
Jess Frazelle eebf88ffd3 Merge pull request #16953 from aaronlehmann/master-security
Add 1.8.3 security fixes to master
2015-10-12 12:20:49 -07:00
Daniel Dao 0083f6e984 add labels/env log option for jsonfile
this allows jsonfile logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`.

Extra attributes are saved into `attrs` attributes for each log data.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2015-10-12 21:12:46 +02:00
Daniel Dao 11a24f19c2 add labels/env log option for journald
this allows journald logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2015-10-12 21:12:46 +02:00
Daniel Dao 4cc8490283 add labels/env log option for fluentd
this allows fluentd logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2015-10-12 21:12:46 +02:00
Daniel Dao 5794a0190d add labels/env log option for gelf
this allows gelf logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Additional log field will be prefixed with `_` as per gelf protocol
https://www.graylog.org/resources/gelf/

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2015-10-12 21:12:46 +02:00
Daniel Dao 656cdbb0e9 add env and labels to log context
Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2015-10-12 21:12:46 +02:00
Vincent Demeester 151564d39b Merge pull request #16904 from vikstrous/fish_completion_bug
fix fish completion wrong image names bug
2015-10-12 20:42:24 +02:00
Vincent Demeester 0b122dc55b Merge pull request #16914 from coolljt0725/add_userns_check
Add user namespace check to check-chonfig.sh
2015-10-12 20:39:46 +02:00
Jess Frazelle 6bacb32755 Merge pull request #16934 from sdurrheimer/zsh-completion-docker-network
Add zsh completion for 'docker network'
2015-10-12 11:29:57 -07:00
Jessica Frazelle 01ca4f621d bump version back to 1.9.0-dev
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-12 11:18:28 -07:00
Jessica Frazelle ec97bc9394 bump version for v1.8.3
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit f4bf5c7026)
2015-10-12 11:18:04 -07:00
Michael Crosby 8a71e005b4 Merge pull request #16951 from icecrime/maintainers_rm_fred
Remove fredlf from MAINTAINERS
2015-10-12 11:07:50 -07:00
Arnaud Porterie c2d21fa9d3 Remove fredlf from MAINTAINERS
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-10-12 10:58:04 -07:00
Aaron Lehmann cba4bbad4f Remove trust package
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-10-12 10:51:28 -07:00
Aaron Lehmann 011bfd666e Unmarshal signed payload when pulling by digest
Add a unit test for validateManifest which ensures extra data can't be
injected by adding data to the JSON object outside the payload area.

This also removes validation of legacy signatures at pull time. This
starts the path of deprecating legacy signatures, whose presence in the
very JSON document they attempt to sign is problematic.  These
signatures were only checked for official images, and since they only
caused a weakly-worded message to be printed, removing the verification
should not cause impact.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-10-12 10:51:28 -07:00
Tonis Tiigi 504e67b867 Calculate hash based image IDs on pull
Generate a hash chain involving the image configuration, layer digests,
and parent image hashes. Use the digests to compute IDs for each image
in a manifest, instead of using the remotely specified IDs.

To avoid breaking users' caches, check for images already in the graph
under old IDs, and avoid repulling an image if the version on disk under
the legacy ID ends up with the same digest that was computed from the
manifest for that image.

When a calculated ID already exists in the graph but can't be verified,
continue trying SHA256(digest) until a suitable ID is found.

"save" and "load" are not changed to use a similar scheme. "load" will
preserve the IDs present in the tar file.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-10-12 10:51:28 -07:00
Phil Estes 67034e5003 Merge pull request #16947 from Microsoft/jjh/daemon-broken-on-master
Windows: Daemon broken on master
2015-10-12 13:40:02 -04:00
Arnaud Porterie b0cbc02283 Merge pull request #15503 from ibuildthecloud/revert-label
Revert "Container don't inherit from image labels"
2015-10-12 10:03:18 -07:00
Alexander Morozov 2d1414e8b0 Merge pull request #16945 from estesp/ocd-on-nonmatching-func-names
Correct mismatched function names (UID() and Gid())
2015-10-12 09:15:51 -07:00
John Howard bfe252b781 Windows: Daemon broken on master
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-12 09:11:19 -07:00
Antonio Murdaca d7177c1224 Merge pull request #16900 from ZJU-SEL/16756-update-pull-local
update pull-local#16756
2015-10-12 17:49:10 +02:00
Victor Costan 26bd356078 Document CFS CPU period / quota support in the API.
Docker 1.7 got support for specifying the CFS scheduler's CPU quota and
period. The work appears to have started around commit
dcc50e1d59. This change updates the API
documentation to reflect the existing support.

Signed-off-by: Victor Costan <costan@gmail.com>
2015-10-12 11:26:39 -04:00
Antonio Murdaca 08c5f52d70 Merge pull request #16928 from coolljt0725/fix_16927
Fix docker daemon exit immediately after starting without -H option closes #16927
2015-10-12 17:24:42 +02:00
Daniel Hiltgen ab83cf37c9 Document updates for cluster-store-opt
This updates the docs for the daemon based on the new cluster-store-opt
for TLS support.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-12 08:05:02 -07:00
Phil Estes 79240b9eaf Correct mismatched function names (UID() and Gid())
All the go-lint work forced any existing "Uid" -> "UID", but seems to
not have the same rules for Gid, so stat package has calls UID() and
Gid().

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-12 10:58:33 -04:00
Mihuleacc Sergiu fad2cc6a18 Add CMD and EXPOSE instruction example
Signed-off-by: Mihuleacc Sergiu <mihuleac.sergiu@gmail.com>
2015-10-12 17:30:47 +03:00
Phil Estes a9e5cb0efb Merge pull request #16933 from ZJU-SEL/update-save-load-test-16756
update test using c.Assert replace c.Fatal
2015-10-12 09:54:13 -04:00
Antonio Murdaca 56ed0a6e8c Merge pull request #16931 from SvenDowideit/minor-dind-error-msg-nit
Missing a single dash in error message
2015-10-12 15:18:45 +02:00
Hao Zhang d5830d66e0 update test using c.Assert replace c.Fatal
Signed-off-by: Hao Zhang <21521210@zju.edu.cn>
2015-10-12 06:32:21 -04:00
Steve Durrheimer 24174e8a84 Add zsh completion for 'docker network'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-12 12:06:12 +02:00
Lei Jitang e38767e197 Fix docker daemon exit immediately after starting without -H option closes #16927
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-12 04:49:25 -04:00
Sven Dowideit 4e899d64e0 Missing a single dash in error message
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-10-11 22:46:14 -07:00
Alexander Morozov 9273c53d83 Merge pull request #16929 from HuKeping/add-back
Comment: add some lines back
2015-10-11 22:12:21 -07:00
Hu Keping a066b94ef0 Comment: add some lines back
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-10-12 19:34:58 +08:00
Arnaud Porterie 32c3b99663 Merge pull request #16930 from duglin/RemoveParam
Remove used param on ParseHost
2015-10-11 21:37:03 -07:00
Doug Davis ba973f2d74 Remove used param on ParseHost
The first param on opts.ParseHost() wasn't being used for anything.

Once we get rid of that param we can then also clean-up some code
that calls ParseHost() because the param that was passed in wasn't
being used for anything else.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-10-11 20:45:17 -07:00
Kun Zhang 0ff3123eba volume create error on conflict option
Signed-off-by: Kun Zhang <zkazure@gmail.com>
2015-10-12 11:16:39 +08:00
Sebastiaan van Stijn c45ad0b02d Merge pull request #15753 from SvenDowideit/make-windows-default-to-use-2376
Default the tcp port to 2376 if tls is on, and 2375 if not
2015-10-11 15:35:04 -07:00
Sebastiaan van Stijn 70edf41c06 Merge pull request #16764 from thaJeztah/follow-the-white-rabbit
Docs: add Docker version/API version matrix
2015-10-11 15:28:46 -07:00
Vincent Demeester 6e12d9fe62 Merge pull request #16865 from MHBauer/registry-service-refactor
refactor away direct references to daemon member
2015-10-11 21:47:58 +02:00
Sebastiaan van Stijn 3a24eb2de4 Merge pull request #16618 from abronan/fix_discovery_pkg_readme
Fix discovery package README with the right --cluster* flags
2015-10-11 12:05:07 -07:00
Harald Albers 68de2d4834 Bash completion for docker network
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-11 11:07:48 -07:00
Harald Albers e4bf5cff49 Refactor bash completion: pull out subcommand parsing
`docker network` is the second command with subcommands.

This refactoring pulls out parsing and processing of subcommands
from `docker volume` completion and thus makes its logic available
for other commands.

Also enables `__docker_pos_first_nonflag` for subcommand completion.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-11 11:07:33 -07:00
Sven Dowideit ad9706a7c5 Merge pull request #16915 from moxiegirl/testing-hugo-15
Enabled GitHub Flavored Markdown
2015-10-12 03:52:11 +10:00
Mary Anthony 8fee1c2020 Enabled GitHub Flavored Markdown
GitHub flavored markdown is now supported for links and images. Also, ran LinkChecker and FileResolver. Yay!
Fixes from Spider check
Output for docker/docker now goes into engine directory

Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-11 07:49:54 -07:00
Lei Jitang d475c4ddc1 Add user namespace check to check-chonfig.sh
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-11 17:26:34 +08:00
Vincent Demeester fb8217ee62 Merge pull request #16889 from cxxly/16756-refactor-docker_cli_wait_test
use of checkers on Integration test
2015-10-11 10:12:42 +02:00
Xiaoxu Chen 19c30447b5 use of checkers on Integration test
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>

update integration-cli/docker_cli_wait_test.go
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>

update integration-cli/docker_cli_wait_test.go
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>

update docker_cli_wait_test.go
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-11 11:31:01 +08:00
heartlock dc9dd188cf update pull-local#16756
Signed-off-by: heartlock <21521209@zju.edu.cn>
2015-10-11 09:57:25 +08:00
Arnaud Porterie ed9434c5bb Merge pull request #12648 from estesp/userns-impl
Phase 1 implementation of user namespaces as a remapped container root
2015-10-10 11:38:07 -07:00
Arnaud Porterie ef4b053b90 Merge pull request #16907 from sdurrheimer/zsh-completion-cluster-store-opt
Add zsh completion for '--cluster-store-opt'
2015-10-10 10:32:08 -07:00
Vincent Demeester ec05d93c16 Merge pull request #16800 from duglin/buildCache
Add useful info to builder cache logrus.Debug
2015-10-10 17:38:43 +02:00
Lei Jitang 5c374c7137 Add docker info show base filesystem size of container/image when use devicemapper
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-10 22:52:05 +08:00
Steve Durrheimer ae31aa10ab Add zsh completion for '--cluster-store-opt'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-10 16:42:01 +02:00
Vincent Demeester d46fff7d8f Merge pull request #16846 from HuKeping/master
Use checkers on Integration test when possible
2015-10-10 16:35:17 +02:00
Hu Keping 72269acf29 Use checkers on Integration test when possible
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-10-10 21:51:15 +08:00
Doug Davis 4920d40093 Add useful info to builder cache logrus.Debug
Closes: #16790

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-10-10 05:53:06 -07:00
Vincent Demeester faa448e801 Merge pull request #16838 from ZJU-SEL/update-save-load-unix-test
update save-load-unix-test
2015-10-10 14:51:18 +02:00
Zhang Kun b4d6b23838 add size to inspect
Signed-off-by: Zhang Kun <zkazure@gmail.com>
2015-10-10 20:44:29 +08:00
Sebastiaan van Stijn a6bbf16aa1 Merge pull request #16895 from vdemeester/ocd-validate-typo
Fix few comments in validate scripts
2015-10-10 12:08:37 +02:00
Sebastiaan van Stijn 5f2e0864e4 Merge pull request #16899 from jfrazelle/provide-dates
fix depreciation dates
2015-10-10 12:06:34 +02:00
Vincent Demeester 99c247a46a Merge pull request #16874 from ZJU-SEL/fix-parse-run-volumes
fix the error msg of func TestParseRunVolumes
2015-10-10 11:27:08 +02:00
Vincent Demeester 1ce9be346b Fix few comments in validate scripts
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-10 11:21:04 +02:00
Viktor Stanchev 4d746658cc fix fish completion; wrong image names bug; close #16672
Signed-off-by: Viktor Stanchev <me@viktorstanchev.com>
2015-10-10 00:55:09 -07:00
xlgao-zju 8d98b37031 update save-load-unix-test
Signed-off-by: xlgao-zju <xlgao@zju.edu.cn>
2015-10-10 15:16:42 +08:00
xlgao-zju 8363f2f171 fix the error msg of func TestParseRunVolumes
Signed-off-by: xlgao-zju <xlgao@zju.edu.cn>
2015-10-10 14:56:50 +08:00
Jessica Frazelle 26701e2d9f fix depreciation dates
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-09 20:24:04 -07:00
Phil Estes bf80adeee4 Merge pull request #16894 from diogomonica/renaming-trust-keys
Renaming trust keys
2015-10-09 23:20:54 -04:00
Jess Frazelle e5f7fdccfb Merge pull request #16788 from stefanberger/apparmor_policy_1.9
contrib: Adjustments to AppArmor docker engine policy for docker 1.9
2015-10-09 20:15:06 -07:00
Jessica Frazelle 930b27a86b fix logic because jess is the worst
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-09 22:21:24 -04:00
Phil Estes a85e6a4d4a Update integration test userns support with flag name change
`--root` is now `--userns-remap`

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-09 20:52:45 -04:00
Jessica Frazelle ea3afdad61 add test-integration-cli specifics for userns
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-09 20:50:27 -04:00
Phil Estes 44e1023a93 Add user namespace enable flag --userns-remap in experimental build
This adds the capability to turn on user namespace support when using an
experimental build Docker daemon binary using the `--userns-remap` flag.

Also documentation is added to the experimental docs.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-09 20:50:05 -04:00
Sven Dowideit 50f0906007 Default the tcp port to 2376 if tls is on, and 2375 if not
Refactor so that the Host flag validation doesn't destroy the user's input,
and then post process the flags when we know the TLS options

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-10-09 17:48:03 -07:00
Diogo Monica d9a2fadb5e Changing docs to reflect new names
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-10-09 15:13:37 -07:00
Vincent Demeester 1e5165275f Merge pull request #16858 from cxxly/16756-refactor-docker_cli_login_test
refactor integration-cli/docker_cli_login_test.go with Assert
2015-10-09 23:56:24 +02:00
Phil Estes 442b45628e Add user namespace (mapping) support to the Docker engine
Adds support for the daemon to handle user namespace maps as a
per-daemon setting.

Support for handling uid/gid mapping is added to the builder,
archive/unarchive packages and functions, all graphdrivers (except
Windows), and the test suite is updated to handle user namespace daemon
rootgraph changes.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-09 17:47:37 -04:00
Phil Estes 9a3ab0358e Add utility/support package for user namespace support
The `pkg/idtools` package supports the creation of user(s) for
retrieving /etc/sub{u,g}id ranges and creation of the UID/GID mappings
provided to clone() to add support for user namespaces in Docker.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-09 17:44:47 -04:00
Morgan Bauer 215bfc73d2 refactor away direct references to daemon member
- add daemon methods Authenticate & SearchRegistryForImages
 - use new methods instead of directly accessing RegistryService

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-10-09 14:40:03 -07:00
Brian Goff 7787d6dc28 Merge pull request #16709 from MHBauer/daemon-derepo2
continue daemon refactor of Repositories()
2015-10-09 15:35:21 -04:00
Phil Estes f112cd6b6e Merge pull request #16868 from cpuguy83/speedup_graph_unittests
Do not probe plugins for graph init unless `-s`
2015-10-09 15:31:09 -04:00
Diogo Monica 63f8db83aa Adding tests for backwards compatibility
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-10-09 12:20:19 -07:00
Diogo Monica 52240c2d62 Changed trust ENV variables while still supporting old ones
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-10-09 12:19:43 -07:00
Sebastiaan van Stijn dbc20693f7 Merge pull request #16604 from mountkin/add-missing-commit-parameters
add missing parameters of the commit API to the docs
2015-10-09 20:55:54 +02:00
Sebastiaan van Stijn 5099255d87 Merge pull request #16722 from sallyom/man-docker-build-fix
add clarity in man/docker-build
2015-10-09 20:53:28 +02:00
Sally O'Malley a2bc804936 add clarity/fix typos man/docker-build
add needed clarity for
1)  using STDIN to pass build context
2)  --cpu-shares flag use

also a few typos

Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-10-09 13:57:13 -04:00
Alexander Morozov 90e733f0b1 Merge pull request #16867 from dmcgowan/distribution-upstream-name-change
Update distribution package for name regexp change
2015-10-09 10:09:23 -07:00
Alexander Morozov 2491f6c95a Merge pull request #16877 from cxxly/16756-refactor-docker_hub_pull_suite_test
Use Assert statement to replace condition judgment
2015-10-09 09:57:14 -07:00
Alexander Morozov a77d80d9d1 Merge pull request #16881 from cxxly/16756-refactor-docker_cli_stats_test
update integration-cli/docker_cli_stats_test.go use Assert statement
2015-10-09 09:55:41 -07:00
Alexander Morozov dc04675f4a Merge pull request #16882 from albers/completion--cluster-store-opt
Add bash completion for `--cluster-store-opt` (#16644)
2015-10-09 09:53:56 -07:00
moxiegirl 26ee5fea02 Merge pull request #16287 from mikebrow/16055-man-update-for-docker-run-with-host-volumes
man update for docker run with host volumes
2015-10-09 09:24:11 -07:00
Brian Goff 3b16cb15b4 Do not probe plugins for graph init unless -s
When `-s` is not specified, there is no need to ask if there is a plugin
with the specified name.

This speeds up unit tests dramatically since they don't need to wait the
timeout period for each call to `graphdriver.New`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-09 12:02:54 -04:00
Brian Goff 96e1cda40f Merge pull request #16875 from hqhq/hq_quiet_at_info
Keep daemon quiet when using docker info
2015-10-09 11:26:53 -04:00
Phil Estes c2df663851 Merge pull request #16843 from ZJU-SEL/16756-fix-rename-test
#16756 update rename test
2015-10-09 11:23:46 -04:00
Shijiang Wei b69f4f3c13 add missing parameters of the commit API to the docs
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-10-09 23:21:12 +08:00
Vincent Demeester 19ff8e09ba Merge pull request #16870 from cxxly/16756-refactor-docker_cli_proxy_test
refactor docker_cli_proxy_test.go
2015-10-09 15:43:39 +02:00
Sebastiaan van Stijn 3526993b2f Merge pull request #16108 from charleswhchan/patch-2
Touch up Node.js and MongoDB examples
2015-10-09 15:33:30 +02:00
moxiegirl 06146b333c Merge pull request #16876 from luca3m/patch-1
Sync with remote API
2015-10-09 06:30:02 -07:00
moxiegirl 734c9d2f67 Merge pull request #16833 from sunyuan3/cpu-shares
Add description for "--cpu-shares=0".
2015-10-09 06:29:18 -07:00
moxiegirl b7083cf08b Merge pull request #15903 from charleswhchan/patch-1
Revise documentation for Docker LABEL.
2015-10-09 06:11:50 -07:00
Hao Zhang 22d0be5797 use gocheck asserts instead of fatal
Signed-off-by: Hao Zhang <21521210@zju.edu.cn>
2015-10-09 08:34:02 -04:00
Harald Albers a095f82877 Add bash completion for --cluster-store-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-09 14:00:52 +02:00
Luca Marturana d7ca0a48ac Sync with remote API
Signed-off-by: Luca Marturana <lucamarturana@gmail.com>

Sync also container events

Signed-off-by: Luca Marturana <lucamarturana@gmail.com>

Sync also man page

Signed-off-by: Luca Marturana <lucamarturana@gmail.com>
2015-10-09 13:53:51 +02:00
Vincent Demeester 04e883c22b Merge pull request #16879 from x1022as/network
remove useless function generateIfaceName()
2015-10-09 13:25:03 +02:00
Xiaoxu Chen 90a81f6af2 update integration-cli/docker_cli_stats_test.go use Assert statement
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-09 18:24:32 +08:00
Deng Guangxing a1620084c5 remove useless function generateIfaceName()
generateIfaceName() is useless as libnetwork has done
the job.

Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-10-09 18:07:54 +08:00
Xiaoxu Chen ee7fdbe8b9 Use Assert statement to replace condition judgment
part of #16756
Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-09 17:45:28 +08:00
Xiaoxu Chen 75bc0c064b update docker_cli_login_test.go
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-09 15:08:01 +08:00
Qiang Huang aaacde4fd2 Keep daemon quiet when using docker info
If I have some unsupported sysinfo, it's warning on daemon
side every time I use `docker info`, it seems unnecessay and
annoying to me, let's keep it quiet.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-10-09 14:57:47 +08:00
Xiaoxu Chen 1db161768c update docker_cli_proxy_test.go
Part of #16756
Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-09 14:53:56 +08:00
Charles Chan c7e0531c3a Revise documentation for Docker LABEL, including review comments by @SvenDowideit and @thaJeztah in PR #15903.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-10-08 20:47:09 -07:00
Xiaoxu Chen 14f43406a3 refactor docker_cli_proxy_test.go
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-09 11:11:05 +08:00
Arnaud Porterie e7ef8633d5 Merge pull request #16862 from cpuguy83/bump_runc
Bump runc
2015-10-08 19:09:47 -07:00
Jess Frazelle a1d432301d Merge pull request #16859 from diogomonica/changing-trust-server-checks
Changing trustServer allowed URL validation
2015-10-08 18:33:35 -07:00
Jess Frazelle 103189e562 Merge pull request #16866 from cpuguy83/fix_exp_graphdriver_error
Fix exp tests cast protodriver to naivediffdriver
2015-10-08 18:01:48 -07:00
Diogo Monica a2f9fb7777 Changing trustServer allowed URL behavior
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-10-08 17:47:25 -07:00
Derek McGowan b5b0da5fec Update distribution package
Pick up name regexp change in distribution to allow matching of hostnames as a valid component of a repository.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-10-08 17:16:43 -07:00
Brian Goff a705ca0173 Fix exp tests cast protodriver to naivediffdriver
A recent change made `graphdriver.NaiveDiffDriver` from a function to a
struct. New function is `graphdriver.NewNaiveDiffDriver.

The graphdriver plugin PR was created (and tests run) before this change
was introduced causing the failure to not be seen until after merge.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-08 19:44:50 -04:00
Michael Crosby 6d9a84bcd0 Merge pull request #16152 from chlunde/devmapper-mount-flags
Use pkg/mount to support more flags in dm.mountopt
2015-10-08 16:02:50 -07:00
Sebastiaan van Stijn bccf5c756b Merge pull request #16861 from moxiegirl/fix-testing-stuff
Removing the tests.
2015-10-09 00:46:02 +02:00
Mary Anthony 5a94d2b5b9 Removing the tests. We have training site now.
Ugh...actually adding the files to delete

Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-08 15:22:59 -07:00
Morgan Bauer ee36b57c8f continue daemon refactor of Repositories()
- use daemon member directly rather than through a function call
 - create GetImage method for use external to deamon

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-10-08 15:06:55 -07:00
Jess Frazelle b50a88cfd7 Merge pull request #16644 from dhiltgen/discovery_tls
Add TLS support for discovery backend
2015-10-08 14:21:06 -07:00
Jess Frazelle 67e38cc54c Merge pull request #16638 from MHBauer/daemon-derepo
refactor daemon image tagging
2015-10-08 14:14:20 -07:00
Brian Goff 4ab8514387 Merge pull request #16643 from chenchun/fix_empty_repository
Do not try to cleanupMounts if daemon.repository is empty
2015-10-08 17:10:49 -04:00
Brian Goff d9f5f1954c Bump runc
Fixes a race when starting a container when there is an error, the stdio
streams are not always written.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-08 17:07:00 -04:00
Jess Frazelle 01cd67e752 Merge pull request #16366 from MHBauer/logs-refactor
refactor logs to not use internal data structures
2015-10-08 14:05:02 -07:00
Jess Frazelle bea2257f92 Merge pull request #16803 from tiborvass/pkg-broadcaster
Move types from progressreader and broadcastwriter to broadcaster
2015-10-08 13:51:08 -07:00
Jess Frazelle 4c55464dd3 Merge pull request #13777 from cpuguy83/graphdriver_extpoints
Create extpoint for graphdrivers
2015-10-08 13:46:42 -07:00
Brian Goff 5ec323aaa2 Merge pull request #16660 from Microsoft/js/hostname
Windows: --hostname support
2015-10-08 16:11:49 -04:00
Vincent Demeester caf7d83c67 Merge pull request #16826 from LK4D4/refactor_listenfd
Refactor listenFD function
2015-10-08 22:08:52 +02:00
Vincent Demeester 991589d518 Merge pull request #16781 from brahmaroutu/pkg_integration_timeout
timeouts causing tests to fail differently. GCCGO CI.
2015-10-08 22:02:22 +02:00
Jess Frazelle 4796b5c2f8 Merge pull request #16544 from Mashimiao/fix-bug-client-start-signal-discarded
client/start: fix logic for discarded signal
2015-10-08 12:54:31 -07:00
Jess Frazelle 5bde858db5 Merge pull request #16581 from fgimenez/11584-stdcopy-test-coverage
Added test coverage to StdCopy closes #11584
2015-10-08 12:53:25 -07:00
moxiegirl 246072e8c5 Merge pull request #16837 from x1022as/network
update dockernetwork.md and network api
2015-10-08 12:27:49 -07:00
Jess Frazelle cc411c054f Merge pull request #16785 from cpuguy83/exec_cleanup
Cleanup some issues with exec
2015-10-08 12:02:03 -07:00
Jess Frazelle b5d914188e Merge pull request #16674 from coolljt0725/use_consistent_command_description
Use consistent command description
2015-10-08 12:01:16 -07:00
Sebastiaan van Stijn 80469f8180 Merge pull request #16850 from moxiegirl/fix-command-meta
Fixing issues introduced with new commands adding index
2015-10-08 20:59:59 +02:00
Jess Frazelle 73e3d85c28 Merge pull request #16791 from flaccid/patch-1
Do not run yaourt as root/sudo
2015-10-08 11:50:56 -07:00
Jess Frazelle 9123f77a78 Merge pull request #16817 from cpuguy83/explicit_volume_ls
Make `docker volume` behave like `docker network`
2015-10-08 11:36:51 -07:00
Arnaud Porterie b3b9fe8c77 Merge pull request #15868 from crosbymichael/aufs-data
Add aufs data structure for added mount information
2015-10-08 11:17:20 -07:00
Jess Frazelle 41c99cc621 Merge pull request #15693 from vdemeester/15659-image-label-filter
Fix #15659 : filter by label for docker images commited
2015-10-08 11:14:51 -07:00
Vincent Demeester 683ee20562 Merge pull request #16669 from sunyuan3/TestRunInValidCPUShares
add TestRunInValidCPUShares
2015-10-08 19:38:21 +02:00
Xiaoxu Chen 79498b1c61 refactor integration-cli/docker_cli_login_test.go with Assert
part of #16756

Signed-off-by: Xiaoxu Chen <chenxiaoxu14@otcaix.iscas.ac.cn>
2015-10-08 12:43:03 -04:00
Jess Frazelle 2b6af905fa Merge pull request #16815 from duglin/fixHelp
Fix help test comment to align with the code
2015-10-08 09:29:32 -07:00
Mary Anthony b44ef2b306 Fixing issues in command ordering. Adding index.md
Adjust bullets
Entering Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-08 09:28:46 -07:00
Jess Frazelle c281f692c7 Merge pull request #16825 from LK4D4/return_listenbuffer
Return listenbuffer behavior
2015-10-08 09:18:47 -07:00
Alexander Morozov 6654b0e05f Merge pull request #16852 from estesp/overlay-cleanup
Simplify dir removal in overlay driver
2015-10-08 08:44:50 -07:00
Alexander Morozov 9e58793207 Merge pull request #16842 from coolljt0725/revert_16818
Revert add parent img refcount for faster rmi
2015-10-08 08:40:35 -07:00
Vincent Batts c3e5364813 Merge pull request #16823 from rhvgoyal/check-thin-pool
devmapper: Make sure device is a thin pool device
2015-10-08 11:27:53 -04:00
Srini Brahmaroutu ffe32ac371 Timeouts are causing tests to fail differently. GCCGO CI.
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-10-08 15:14:56 +00:00
Phil Estes f418f4864b Merge pull request #16848 from thaJeztah/fix-broken-link-in-error
Fix broken link in error-message
2015-10-08 11:11:11 -04:00
Phil Estes 6ed11b5374 Simplify dir removal in overlay driver
There is no need to call `os.Stat` on the driver filesystem path of a
container as `os.RemoveAll` already handles (properly) the case where
the path no longer exists.

Given the results of the stat() were not even being used,  there is no
value in erroring out because of the stat call failure, and worse, it
prevents daemon cleanup of containers in "Dead" state unless you re-create
directories that were already removed via a manual cleanup after a
failure.  This brings removal in overlay in line with aufs/devicemapper
drivers which don't error out if the filesystem path no longer exists.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-10-08 11:04:00 -04:00
Stefan Berger f5be0821cf contrib: Adjustments to AppArmor docker engine policy for docker 1.9
This patch contains a few extensions for the AppArmor docker engine
policy for docker 1.9.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
2015-10-08 10:08:53 -04:00
James Turnbull 52de250496 Merge pull request #16832 from sunyuan3/daemoncommand
Replace the deprecated -d with docker daemon.
2015-10-08 10:06:10 -04:00
James Turnbull a4eba15b75 Merge pull request #16828 from jwayong/jwayong/docs
Docs: Add docker-elements to remote API client lib doc page
2015-10-08 10:05:44 -04:00
moxiegirl df6cd114a0 Merge pull request #15265 from greaber/dockerignore-docs
Further clarifications to .dockerignore docs
2015-10-08 06:24:44 -07:00
James Turnbull e777f96e59 Merge pull request #16845 from thaJeztah/is-that-a-container-in-your-repo
docs: minor fix in faq, and update link
2015-10-08 08:55:29 -04:00
Lei Jitang 2b0927c9ac Use consistent command description
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-08 08:46:21 -04:00
Sebastiaan van Stijn c1783a1c2a Merge pull request #16844 from thaJeztah/fix-typo-in-maintainers
Fix typo in MAINTAINERS
2015-10-08 14:42:12 +02:00
Sebastiaan van Stijn 4830f488d5 Fix broken link in error-message
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-10-08 14:32:34 +02:00
Sebastiaan van Stijn 6fda30a437 docs: minor fix in faq, and update link
The registry doesn't have containers, only images.
Also updated the Docker Hub link to the new location.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-10-08 13:49:30 +02:00
Sebastiaan van Stijn 618e00da81 Fix typo in MAINTAINERS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-10-08 13:32:58 +02:00
Lei Jitang b290690d73 Revert add parent img refcount for faster rmi
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-08 06:46:27 -04:00
Vincent Demeester 53d2429164 Merge pull request #16780 from Microsoft/jjh/vfs-build-tags
Fix VFS build tags
2015-10-08 09:43:06 +02:00
Deng Guangxing 54f98f40a4 update dockernetwork.md and network api
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-10-08 15:34:24 +08:00
Yuan Sun b7249569e2 Add description for "--cpu-shares=0".
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-10-08 10:50:55 +08:00
Alexander Morozov 4a9d039721 Merge pull request #16783 from Microsoft/10662-cliwait
Windows CI: cli_wait_test
2015-10-07 19:39:32 -07:00
Yuan Sun b08c6b1768 Replace the deprecated -d with docker daemon.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-10-08 10:25:16 +08:00
Yuan Sun 042d08a2a8 add TestRunInValidCPUShares
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-10-08 10:04:51 +08:00
Tibor Vass a8175b751c Merge pull request #16830 from Microsoft/10662-refixdownload
Windows: Regression re-fix builder
2015-10-07 19:51:39 -04:00
Daniel Hiltgen 124792a871 Add TLS support for discovery backend
This leverages recent additions to libkv enabling client
authentication via TLS so the discovery back-end can be locked
down with mutual TLS.  Example usage:

    docker daemon [other args] \
        --cluster-advertise 192.168.122.168:2376 \
        --cluster-store etcd://192.168.122.168:2379 \
        --cluster-store-opt kv.cacertfile=/path/to/ca.pem \
        --cluster-store-opt kv.certfile=/path/to/cert.pem \
        --cluster-store-opt kv.keyfile=/path/to/key.pem

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-07 16:01:00 -07:00
John Howard 9cd84e405d Windows: Regression re-fix builder
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-07 15:57:37 -07:00
Morgan Bauer 1eecc1e7e5 refactor logs to not use internal data structures
- refactor to make it easier to split the api in the future
 - additional tests for non existent container case

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-10-07 15:44:16 -07:00
Morgan Bauer 77c592d26a refactor daemon
- create pass through in daemon for access to functions on daemon
   member
 - import image
push image
export image and corrections
lookup image & comments
load image
list images
image history & comments

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-10-07 15:29:02 -07:00
Januar Wayong 96ad26a730 Docs: Add docker-elements to remote API client lib doc page
This closes #16824

Signed-off-by: Januar Wayong <januar@gmail.com>
2015-10-08 08:45:35 +11:00
Alexander Morozov fb04043ca5 Refactor listenFD function
* fixed weird logic with "*"
* return error if fdNum is failed to parse
* check if listener at offset is nil
* close unused listeners

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-07 14:26:48 -07:00
Alexander Morozov 281a48d092 Return listenbuffer behavior
Now we're start to serve early, but all Accept calls are intercepted by
listenbuffer or systemd socket.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-07 14:18:42 -07:00
Grant Reaber 899ecc11c5 clarify dockerignore semantics
Signed-off-by: Grant Reaber <grant.reaber@gmail.com>
2015-10-07 15:51:57 -05:00
moxiegirl 4c1540c8d2 Merge pull request #16806 from aidanhs/aphs-split-docs-dockerfiles
Don't put dockerfiles in one continuous code block
2015-10-07 13:40:19 -07:00
Vivek Goyal 6d2d0a74e8 devmapper: Make sure device is a thin pool device
Right now we check for the existence of device but don't make sure it is
a thin pool device. We assume it is a thin pool device and call poolStatus()
on the device which returns an error EOF. And that error does not tell
anything.

So before we reach the stage of calling poolStatus() make sure we are working
with a thin pool device otherwise error out.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-07 16:28:49 -04:00
John Howard e666dfff9b Windows CI: Fix cli_wait_test
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-07 12:57:41 -07:00
Alexander Morozov ce0457a2c9 Merge pull request #16818 from runcom/rmi-perf
graph: add parent img refcount for faster rmi
2015-10-07 10:45:49 -07:00
Arnaud Porterie 8e31036816 Merge pull request #16645 from mavenugo/ux
Docker Network UX & remote API changes
2015-10-07 10:44:58 -07:00
Jess Frazelle a1c373197f Merge pull request #16807 from jfrazelle/rename-flag
change flag name to better follow the other flags that start with disable
2015-10-07 10:40:32 -07:00
Brian Goff 2feebd95d3 Make docker volume behave like docker network
Before, typing `docker volume` with no args would forward to the handler
for `docker volume ls`, except the flags for the `ls` subcommand were
not supported.
Instead just print the cmd usage.

This makes the behavior of the `docker volume` subcommand behave exactly
like the `docker network` subcommand.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-07 13:36:46 -04:00
Jessica Frazelle c559d8ebf7 change flag name to better follow the other flags that start with disable;
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-07 10:16:37 -07:00
Antonio Murdaca 292a1564dc graph: add parent img refcount for faster rmi
also fix a typo in pkg/truncindex package comment

Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2015-10-07 19:09:44 +02:00
Alexander Morozov 8cee301874 Merge pull request #16381 from rhvgoyal/deferred_deletion
devicemapper: Implement deferred deletion capability
2015-10-07 09:27:41 -07:00
Doug Davis 73a6ac00ce Fix help test comment to align with the code
I disagree with #14546 that pushed the help text past 80 chars.
Aside from it now making the help text look ugly on 80 char displays,
which I use, one thing I like about the previous limitation is that it
forced us to keep our options down to more reasonable phrases/words.
For example, I think
`    --disable-content-trust=true`
could have been:
`    --disable-trust=true`
or even:
`    --disable-ctrust=true`

But regardless, let's at least make the comments match what the code does.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-10-07 05:09:46 -07:00
Madhu Venugopal dd28ded711 Networking API and UX documentation
More doc updates will follow

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-07 03:54:27 -07:00
Madhu Venugopal 22a9ba090e Network UX and integration tests
* Exiting experimental network UX
* removed experimental service UX
* integrated with the new network remote API

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-07 03:54:27 -07:00
Madhu Venugopal 2ab94e11a2 Network remote APIs using new router, --net=<user-defined-network> changes
* Moving Network Remote APIs out of experimental
* --net can now accept user created networks using network drivers/plugins
* Removed the experimental services concept and --default-network option
* Neccessary backend changes to accomodate multiple networks per container
* Integration Tests

Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-07 03:54:19 -07:00
Aidan Hobson Sayers 4cb0790a62 Mention more realistic examples are available
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-10-07 11:45:57 +01:00
Vincent Demeester 0137e3eda2 Merge pull request #16758 from HuKeping/update-test
Update test
2015-10-07 07:09:13 +02:00
Tibor Vass 2391233404 Move types from progressreader and broadcastwriter to broadcaster
progressreader.Broadcaster becomes broadcaster.Buffered and
broadcastwriter.Writer becomes broadcaster.Unbuffered.

The package broadcastwriter is thus renamed to broadcaster.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-10-06 22:20:07 -04:00
Brian Goff 2606a2e4d3 Merge pull request #16147 from tiborvass/refactor-builder
Refactor builder with new Go interfaces
2015-10-06 20:36:07 -04:00
HuKeping 28cff8bd03 Update test
Use of checkers on Integration test.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-10-07 07:11:45 +08:00
Tibor Vass e0ef11a4c2 Abstract builder and implement server-side dockerfile builder
This patch creates interfaces in builder/ for building Docker images.
It is a first step in a series of patches to remove the daemon
dependency on builder and later allow a client-side Dockerfile builder
as well as potential builder plugins.

It is needed because we cannot remove the /build API endpoint, so we
need to keep the server-side Dockerfile builder, but we also want to
reuse the same Dockerfile parser and evaluator for both server-side and
client-side.

builder/dockerfile/ and api/server/builder.go contain implementations
of those interfaces as a refactoring of the current code.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-10-06 19:10:19 -04:00
Aidan Hobson Sayers 6a1a192e07 Don't put dockerfiles in one continuous code block
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-10-06 22:58:42 +01:00
Vivek Goyal 87de04005d devmapper: Implement a goroutine to cleanup deleted devices
Start a goroutine which runs every 30 seconds and if there are deferred
deleted devices, it tries to clean those up.

Also it moves the call to cleanupDeletedDevices() into goroutine and
moves the locking completely inside the function. Now function does not
assume that device lock is held at the time of entry.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 17:37:21 -04:00
Vivek Goyal d295dc6652 devmapper: Keep track of number of deleted devices
Keep track of number of deleted devices and export this information through
"docker info".

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 17:37:21 -04:00
Vivek Goyal d929589c1f devmapper: Implement deferred deletion functionality
Finally here is the patch to implement deferred deletion functionality.
Deferred deleted devices are marked as "Deleted" in device meta file. 

First we try to delete the device and only if deletion fails and user has
enabled deferred deletion, device is marked for deferred deletion.

When docker starts up again, we go through list of deleted devices and
try to delete these again.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 17:37:21 -04:00
Vivek Goyal 51e059e7e9 devmapper: Provide option to enabled deferred device deletion
Provide a command line option dm.use_deferred_deletion to enable deferred
device deletion feature. By default feature will be turned off.

Not sure if there is much value in deferred deletion being turned on
without deferred removal being turned on. So for now, this feature can
be enabled only if deferred removal is on.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 17:37:21 -04:00
Vivek Goyal 6b8b4feaa1 devmapper: construct used device ID map from device Hash map
Currently during startup we walk through all the device files and read
their device ID and mark in a bitmap that device id is used.

We are anyway going through all device files. So we can as well load all
that data into device hash map. This will save us little time when
container is actually launched later.

Also this will help with later patches where cleanup deferred device
wants to go through all the devices and see which have been marked for
deletion and delete these.

So re-organize the code a bit.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 17:37:21 -04:00
Jess Frazelle c1c3475c6a Merge pull request #16786 from LK4D4/fix_systemd_serve
Remove wait on start channel for butts socket
2015-10-06 14:04:15 -07:00
Jess Frazelle 7c19f660b3 Merge pull request #16752 from vdemeester/skip-TestExecStartFails-on-windows
Skip TestExecStartFails on windows
2015-10-06 13:52:51 -07:00
Vincent Batts 670c48857a Merge pull request #16799 from rhvgoyal/code-reorg
devmapper: Break down setupBaseImage() function into smaller pieces
2015-10-06 16:15:31 -04:00
Vincent Demeester aee0fcf413 Merge pull request #16804 from Microsoft/jjh/fixpullimageifnotexist
No err shadowing on pullImageIfNotExist
2015-10-06 22:02:45 +02:00
Jess Frazelle 931e6129d0 Merge pull request #16795 from runcom/bump-libcontainer
Bump libcontainer
2015-10-06 12:24:19 -07:00
Brian Goff 561005e5ca Cleanup some issues with exec
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-06 15:22:20 -04:00
John Howard b7009a4b3a No error shadow pullImageIfNotExist
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-06 11:38:23 -07:00
Antonio Murdaca 7539013436 bump libcontainer to 902c012e85cdae6bb68d8c7a0df69a42f818ce96
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2015-10-06 17:55:09 +02:00
Vivek Goyal 0fcd485626 devmapper: Move UUID setup and verification code in a function
Simplify setupBaseImage() even further. Move some more code in a separate
function. Pure code reorganization. No functionality change.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 08:38:03 -04:00
Vivek Goyal 69051ec0a5 devmapper: Move thin pool related checks in a function
Move thin pool related checks in a separate function. Pure code reorganization.
Makes reading code easier.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 08:38:03 -04:00
Vivek Goyal efc1ddd7e3 devmapper: Move base device creation in separate function
This moves base device creation function in a separate function. Pure
code reorganization. Makes reading code little easier.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-06 08:38:03 -04:00
Chris Fordham e9c64b6d99 Do not run yaourt as root/sudo
Signed-off-by: Chris Fordham <chris@fordham-nagy.id.au>
2015-10-06 17:59:52 +11:00
Alexander Morozov 1529343a3f Merge pull request #16727 from rhvgoyal/code-cleanup
devmapper: Little code cleanup and code reorganization
2015-10-05 22:23:10 -07:00
Alexandre Beslic f66a6f0346 Merge pull request #16782 from duglin/ErrInfoDaemon
Fix daemon logs so that "API listen on" is INFO not ERROR
2015-10-05 17:50:57 -07:00
Alexander Morozov 806e4c4a02 Remove wait on start channel for systemd socket
Because Serve will be called after daemon creation

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-05 17:41:25 -07:00
Doug Davis cc833c5e2b Fix daemon logs so that "API listen on" is INFO not ERROR
W/o this PR the logs would show:
```
ERRO[0000] API listen on [::]:2375
ERRO[0000] API listen on /var/run/docker.sock
```
which is misleading since these aren't "errors" they're just informational.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-10-05 16:17:25 -07:00
Sebastiaan van Stijn 6a45bed9bf Docs: add Docker version/API version matrix
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-10-06 01:04:15 +02:00
John Howard 7db08b4e62 Fix VFS build tags
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-10-05 15:52:09 -07:00
moxiegirl e1d3cb89f1 Merge pull request #16647 from vdemeester/revert-env-validation-docs
Update documentation on the revert on env validation
2015-10-05 15:27:45 -07:00
Tibor Vass f41230b93a Move builder files to builder/dockerfile
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-10-05 18:26:47 -04:00
Antonio Murdaca aac5c44c10 Merge pull request #16776 from shishir-a412ed/docker_tag_error_msg
Make docker tag error message more user friendly
2015-10-05 22:06:29 +02:00
Shishir Mahajan 582a24e937 Make docker tag error message more user friendly
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-10-05 15:19:34 -04:00
Arnaud Porterie 33e9d70c82 Merge pull request #16718 from mavenugo/discovery
Vendoring libnetwork integrated with Docker discovery service
2015-10-05 12:06:36 -07:00
Vincent Demeester 80f2e3f0c6 Merge pull request #16769 from LK4D4/fix_volume_socket
Allocate resources for server API before daemon creation
2015-10-05 20:48:41 +02:00
Tianon Gravi 0339ed787c Merge pull request #16747 from vdemeester/docs-testdirs
Update test-and-docs with TESTDIRS
2015-10-05 10:39:56 -07:00
Jess Frazelle 2e557c5c9a Merge pull request #16761 from sdurrheimer/zsh-completion-no-legacy-registry
Add zsh completion for 'docker daemon --no-legacy-registry'
2015-10-05 10:39:02 -07:00
moxiegirl ec1d8d7f2a Merge pull request #16662 from moxiegirl/install-via-rpm
Updating the installations with rpm and yum install
2015-10-05 09:46:53 -07:00
Alexander Morozov 5eda566f93 Allocate resources for server API before daemon creation
It prevents occupying of those resources (ports, unix-sockets) by
containers.
Also fixed false-positive test for that case.

Fix #15912

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-05 09:32:08 -07:00
Vivek Goyal 482eca3099 devmapper: Few code cleanups
This patch does three things. Following are the descriptions.

===
Create a separate function for delete transactions so that parent function
is little smaller.

Also close transaction if an error happens.
===
When docker is being shutdown, save deviceset metadata first before
trying to remove the devices. Generally caller gives only 10 seconds
for shutdown to complete and then kills it after that. So if some device
is busy, we will wait 20 seconds for it removal and never be able to save
metadata. So first save metadata and then deal with device removal.
===
Move issue discard operation in a separate function. This makes reading code
little easier.

Also don't issue discards if device is still open. That means devices is
still probably being used and issuing discards is not a good idea.

This is especially true in case of deferred deletion. We want to issue
discards when device is not open. At that time device can be deleted too.
Otherwise we will issue discards and deletion will actually fail. Later
we will try deletion again and issue discards again and deletion will
fail again as device is open and busy.

So this will ensure that discards are issued once when device is not open
and it can actually be deleted.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-05 09:02:31 -04:00
Antonio Murdaca 072ac5e7f0 Merge pull request #16740 from vdemeester/remove-testify-and-mock
Remove use of testify mock and testify vendored lib
2015-10-05 09:42:16 +02:00
Vincent Demeester fbd0cea90c Remove use of testify mock and testify vendored lib
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-05 08:43:34 +02:00
Steve Durrheimer 883fe220ec Add zsh completion for 'docker daemon --no-legacy-registry'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-05 08:31:00 +02:00
Vincent Demeester b3fe785c72 Update documentation on the revert on env validation
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-04 23:04:36 +02:00
Sebastiaan van Stijn 67eb810a60 Merge pull request #16744 from runcom/fix-mam-commandline
Fix man and commandline docs
2015-10-04 22:28:19 +02:00
Vincent Demeester 4843323a46 Merge pull request #16751 from albers/completion--no-legacy-registry
Add bash completion for `docker daemon --no-legacy-registry`
2015-10-04 22:13:51 +02:00
Antonio Murdaca 14e8898648 Fix man and commandline docs
- missing help option in `docs/reference/commandline/*.md` (some files
  have it, the other I fixed didn't)
- missing `[OPTIONS]` in Usage description
- missing options
- formatting
- start/stop idempotence

Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
2015-10-04 21:22:27 +02:00
Vincent Demeester 0542939f40 Update test-and-docs with TESTDIRS
… and fix the rendering of `make test-unit` with TESTDIRS :)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-04 21:19:04 +02:00
Antonio Murdaca e86291edd8 Merge pull request #16530 from dnephin/filter_events_by_label
Filter events by labels
2015-10-04 20:36:42 +02:00
Mary Anthony 5e061b5945 Updating the installations with rpm and yum install
Prefer rpm/yum over script install
Updating with review comments
Adding second round review comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-10-04 11:29:58 -07:00
Tianon Gravi e6ca006d86 Merge pull request #16561 from ai-traders/restart_on_debian
#16560 Add timeout to `sudo service docker stop` on sysvinit
2015-10-04 11:25:59 -07:00
Vincent Demeester dc204b8786 While #16738 is "fixed", skip TestExecStartFails
… on windows

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-04 18:38:21 +02:00
Vincent Demeester b78f66c472 Merge pull request #16509 from HuKeping/search-problem
Fix docker search problem
2015-10-04 18:21:32 +02:00
Hu Keping f04e8fdb9b Fix docker search problem
Search terms shouldn't be restricted to only full valid repository
names. It should be perfectly valid to search using a part of a name,
even if it ends with a period, dash or underscore.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-10-04 23:23:43 +08:00
Harald Albers 3f04ab2fc7 Add bash completion for --no-legacy-registry
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-04 06:49:42 -07:00
Sebastiaan van Stijn 2fcacf8ea3 Merge pull request #16739 from dgageot/contribution_fix
Fix hidden link in contribution guide
2015-10-03 10:38:12 +02:00
Sebastiaan van Stijn a6cef38936 Merge pull request #16726 from sallyom/man-search
typo man/search
2015-10-03 10:26:18 +02:00
David Gageot 545ab6bf48 Fix hidden link in contribution guide
Signed-off-by: David Gageot <david@gageot.net>
2015-10-03 10:16:34 +02:00
Madhu Venugopal 139ea5b7f2 Docker daemon updates to libnetwork discovery support
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-02 20:57:47 -07:00
Doug Davis 49066f621e Merge pull request #16582 from vdemeester/16360-dockerCmd-raceytests
Fix TestDockerCmd*Timeout racey tests
2015-10-02 20:45:41 -04:00
Jess Frazelle da0cf69147 Merge pull request #16736 from cpuguy83/16706_let_the_undead_keep_names
Don't let `Names` be null on GET /containers/JSON
2015-10-02 16:55:21 -07:00
Jess Frazelle 24e7907bb1 Merge pull request #16733 from MHBauer/perjury
remove testify asserts from pkg/discovery
2015-10-02 16:04:56 -07:00
Antonio Murdaca 0e17547af2 Merge pull request #16735 from LK4D4/style_fix
Fix some style issues
2015-10-03 01:03:44 +02:00
Brian Goff 59b8a0f697 Don't let Names be null on GET /containers/JSON
Fixes an issue where a `Dead` container has no names so the API returns
`null` instead of an empty array.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-02 17:09:14 -04:00
Daniel Nephin c1713e7c5a Documentation for filtering events by label
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-02 16:45:08 -04:00
Alexander Morozov 01112989b7 Fix some style issues
Just read code and saw inconsistencies in variable decls and stuff.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-10-02 13:39:33 -07:00
Daniel Nephin 08b117517d Resolves #16458 - filter events by labels.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-02 16:33:20 -04:00
Madhu Venugopal 956fbccdaa Vendoring in libnetwork integrated with Docker Discovery
This commit brings in end to end integration of Docker Discovery with
libnetwork multi-host networking.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-02 13:07:44 -07:00
Morgan Bauer eb13311129 remove testify asserts from pkg/discovery
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-10-02 13:05:15 -07:00
Jess Frazelle 5a43beda91 Merge pull request #16250 from cpuguy83/15487_exec_error_codes
Make exec start return proper error codes
2015-10-02 12:55:17 -07:00
Brian Goff 662f55d11d Merge pull request #16708 from jfrazelle/fix-shm-mqueue-when-mounted-from-host
do not mount /dev/shm or /dev/mqueue if we are mounting from the host
2015-10-02 15:13:59 -04:00
Jess Frazelle 134fefbaa2 Merge pull request #16490 from Microsoft/10662-mtimefix
Fixed file modified time not changing on windows
2015-10-02 12:06:03 -07:00
Brian Goff 2d43d93410 Make exec start return proper error codes
Exec start was sending HTTP 500 for every error.

Fixed an error where pausing a container and then calling exec start
caused the daemon to freeze.

Updated API docs which incorrectly showed that a successful exec start
was an HTTP 201, in reality it is HTTP 200.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-10-02 14:40:22 -04:00
Jess Frazelle 698e14902a Merge pull request #16159 from runcom/validate-cpuset-cpus
Validate --cpuset-cpus, --cpuset-mems
2015-10-02 11:30:46 -07:00
Jess Frazelle bbac09a097 Merge pull request #16367 from Morgy93/names-generator
Added some adjectives and names
2015-10-02 11:29:09 -07:00
Jess Frazelle aa2e3247cb Merge pull request #16470 from tonistiigi/fix-aufs-opq
Add basic support for .wh..wh..opq
2015-10-02 11:28:33 -07:00
Jess Frazelle d04fd5e0dc Merge pull request #16594 from Microsoft/sjw/unc-build-fix
Windows: Fixing longpath hanlding of UNC paths.
2015-10-02 11:24:27 -07:00
Jess Frazelle d6f8365258 Merge pull request #16680 from dnephin/update_list_image_api_docs
Update api docs for /images/json
2015-10-02 11:23:49 -07:00
Jessica Frazelle 934d9d6323 add regression test for mounting /dev/shm from host
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-02 11:14:08 -07:00
Jessica Frazelle b8605a1107 do not mount /dev/shm or /dev/mqueue if we are mounting from the host
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-02 11:14:04 -07:00
Vincent Demeester 830729bb94 Merge pull request #15472 from coolljt0725/fix_docker_ps_trucate_id
Fix docker ps truncate long image name
2015-10-02 18:56:55 +01:00
Tianon Gravi 970bc4b5c1 Merge pull request #16707 from jfrazelle/fix-release
fix release script gpg key id
2015-10-02 10:13:51 -07:00
Sally O'Malley 435e30e42f typo man/search
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-10-02 11:24:31 -04:00
Lei Jitang 3fcf481361 Fix docker ps truncate long image name by default
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-10-02 22:56:42 +08:00
Vincent Demeester 77da5d8feb Merge pull request #16076 from vbatts/export_image_times
graph: exported images times matching creation
2015-10-01 21:50:43 +01:00
Jessica Frazelle cb0ce5bb76 fix release script gpg key id
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-01 13:22:33 -07:00
Vincent Batts e4478caddf save: integration test for timestamp matching
The `docker save`ed output ought to have matching timestamp to the layer
creation.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-10-01 14:38:55 -04:00
Alexander Morozov 99d13e7e14 Merge pull request #16698 from rhvgoyal/drop-redundant-lock
devmapper: Drop redundant lock and redundant function
2015-10-01 10:48:03 -07:00
Darren Stahl 40b77af234 Fixed file modified time not changing on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
2015-10-01 10:45:32 -07:00
Jess Frazelle b26bcfe9be Merge pull request #16687 from jfrazelle/update-man8
ignore man8
2015-10-01 10:23:56 -07:00
Jessica Frazelle cf8688c235 ignore man8
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-01 10:05:51 -07:00
Vivek Goyal 289145ecc6 devmapper: Get rid of metaData.devicesLock
Right now we seem to have 3 locks. 

- devinfo.lock
  This is a per device lock

- metaData.devicesLock

  This is supposedely protecting map of devices.

- Global DeviceSet lock

  This is protecting map of devices as well as serializing calls to libdevmapper.

Semantics of per devices lock and global deviceset lock seem to be very clear.
Even ordering between these two locks has been defined properly.

What is not clear is the need and ordering of metaData.devicesLock. Looks like
this lock is not necessary and global DeviceSet lock should be used to
protect map of devices as it is part of DeviceSet.

This patchset gets rid of metaData.devicesLock and instead uses DeviceSet
lock to protect map of devices.

Also at couple of places during initialization takes devices.Lock(). That
is not strictly necessary as there is supposed to be one thread of execution
during initializaiton. Still it makes the code clearer.

I think this makes code more clear and easier to understand and easier to
make further changes.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-01 13:02:55 -04:00
Vivek Goyal 73f8b46d84 devmapper: Get rid of unused function HasActivatedDevice()
Looks like nobody is calling HasActivatedDevice(). Get rid of it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-10-01 07:59:12 -04:00
Vincent Batts a3b04de401 Merge pull request #16686 from rhvgoyal/more-fixes
devicemapper: A bug fix and a code improvement
2015-09-30 23:01:00 -04:00
Stefan J. Wernli 6d223febda Windows: Fixing longpath hanlding of UNC paths.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-09-30 19:36:08 -07:00
Vivek Goyal 94caae2477 devmapper: Move maxDeviceID check in loadMetadata
maxDeviceID is upper limit on device Id thin pool can support. Right now
we have this check only during startup. It is a good idea to move this
check in loadMetadata so that any time a device file is loaded and if it
is corrupted and device Id is more than maxDevieceID, it will be detected
right then and there.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-09-30 18:54:06 -04:00
Vivek Goyal 39081eb3aa devmapper: Use deactivateDevice() instead of removeDevice() in deleteDevice()
Use deactivateDevice() instead of removeDevice() directly. This will make
sure for device deletion, deferred removal is used if user has configured
it in. Also this makes reading code litle easier as there is single function
to remove a device and that is deactivateDevice().

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-09-30 18:54:06 -04:00
David Calavera 8ebd0c972a Merge pull request #16683 from rhvgoyal/fix-couple-of-bugs
devmapper: Fix a bug and fix a comment and add one reliability check
2015-09-30 15:17:29 -07:00
Antonio Murdaca 0e9b0806f5 Merge pull request #16564 from calavera/versioned_types
Extract api types to version packages.
2015-09-30 23:28:10 +02:00
Arnaud Porterie 826ebc9333 Merge pull request #16684 from estesp/lets-update-runc-again
Update runc to fba07bce72e72ce5b2dd618e4f67dd86ccb49c82
2015-09-30 14:07:29 -07:00
Vincent Demeester 825f1a7e28 Merge pull request #16629 from sdurrheimer/cluster-options-zsh-completion
Add zsh completion for --cluster-store and --cluster-advertise
2015-09-30 20:48:25 +01:00
Vincent Demeester f22674a5f0 Merge pull request #16622 from albers/completion-cluster
bash completion for #16229
2015-09-30 20:46:45 +01:00
Phil Estes b7a009cc1c Update runc to fba07bce72e72ce5b2dd618e4f67dd86ccb49c82
Fixing user namespaces (again) with a vendor update from runc
(specifically, the remount() only if special flags change)

Other changes are very minimal.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-09-30 15:33:23 -04:00
Vivek Goyal e97e46b737 devmapper: Fail device deletion early if device is still mounted
If a device is still mounted at the time of DeleteDevice(), that means
higher layers have not called Put() properly on the device and are trying
to delete it. This is a bug in the code where Get() and Put() have not been
properly paired up. Fail device deletion if it is still mounted.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-09-30 15:21:22 -04:00
Vivek Goyal f5c0eb9ffe devmapper: Fix comments and for HasDevice() and Exists()
Exists() and HasDevice() just check if device file exists or not. It does
not say anything about if device is mounted or not. Fix comments.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-09-30 15:21:22 -04:00
Vivek Goyal ba02bf31cb devmapper: Do not load transaction meta file in device Hash map
device has map (device.Devices), contains valid devices and we skip all
the files which are not device files. transaction metadata file is not
device file. Skip this file when devices files are being read and loaded
into map.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-09-30 15:21:22 -04:00
Alexandre Beslic ec25a44732 Merge pull request #16678 from tklauser/moar-names
Add more amazing people to the names generator
2015-09-30 12:06:07 -07:00
David Calavera 61634758c4 Extract api types to version packages.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-30 14:14:27 -04:00
Arnaud Porterie 85244f80e3 Merge pull request #16385 from RichardScothern/v1-deprecation
Add a daemon flag to prevent contact with v1 registries.
2015-09-30 10:10:06 -07:00
Daniel Nephin e5967d041d Fix api documenation for /images/json response format
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-30 12:24:34 -04:00
Tibor Vass 4f677df0d1 Merge pull request #16539 from calavera/router_interfaces
Separate API router from server.
2015-09-30 11:51:30 -04:00
Tobias Klauser d762dcd147 Add more amazing people to the names generator
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2015-09-30 16:13:51 +02:00
Brian Goff 31b882e793 Merge pull request #16642 from vdemeester/remove-question-make-in-pkg-devicemapper
Remove "(?)" from comments in pkg/devicemapper
2015-09-30 09:39:23 -04:00
Antonio Murdaca c300978370 Merge pull request #16562 from Microsoft/10662-fixhttppull
Windows: Fix ADD from URL in dockerfile
2015-09-30 11:46:57 +02:00
Vincent Demeester 1dcb7d9e40 Remove (?) from comments in pkg/devicemapper
Got merged with it, removing it as it doesn't add anything.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-30 10:35:02 +02:00
Brian Goff 729c9a9782 Merge pull request #16580 from coolljt0725/unpause_all_container_on_exit
Make sure the container will always be unpaused on test exit
2015-09-29 21:44:23 -04:00
Alexander Morozov 36592a4bc2 Merge pull request #16666 from calavera/golint_graph_windows
Fix golint issues on the windows graph driver.
2015-09-29 17:36:37 -07:00
David Calavera ae03e544e7 Merge pull request #16650 from cpuguy83/no_named_volumes_for_builder
Do not parse config.Volumes for named volumes
2015-09-29 17:04:29 -07:00
David Calavera da982cf551 Separate API router from server.
Implement basic interfaces to write custom routers that can be plugged
to the server. Remove server coupling with the daemon.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-29 19:43:03 -04:00
Alexander Morozov 144abf2a58 Merge pull request #16659 from tiborvass/revert-context
Remove custom context package and use golang's only for api/server
2015-09-29 16:11:24 -07:00
David Calavera 1fffc7a89d Fix golint issues on the windows graph driver.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-29 18:32:45 -04:00
Tibor Vass 94e3b0f428 Use golang.org/x/net/context in api/server/
This patch removes the internal context package and uses golang's
package instead.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-09-29 17:40:55 -04:00
moxiegirl 724b410c55 Merge pull request #16656 from shishir-a412ed/man_docker_daemon_dns-opt
Add dns-opt option to docker daemon man page
2015-09-29 14:07:43 -07:00
David Calavera 949270ba7c Merge pull request #16661 from brahmaroutu/gccgo_ci_stretchr_fix
Vendor in stretchr/testify to fix GCCGO issue with function name parsing (GCCGO CI)
2015-09-29 13:53:35 -07:00
Srini Brahmaroutu 81c42d6c1e Vendor in stretchr/testify to fix GCCGO issue with function name parsing
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-09-29 19:20:03 +00:00
John Starks 7e8c92ad72 Windows: --hostname support
This passes through the container hostname to HCS, which in Windows Server
2016 TP4 will set the container's hostname in the registry before starting
it. This will be silently ignored by TP3.

Signed-off-by: John Starks <jostarks@microsoft.com>
2015-09-29 12:13:06 -07:00
Tibor Vass b08f071e18 Revert "Merge pull request #16228 from duglin/ContextualizeEvents"
Although having a request ID available throughout the codebase is very
valuable, the impact of requiring a Context as an argument to every
function in the codepath of an API request, is too significant and was
not properly understood at the time of the review.

Furthermore, mixing API-layer code with non-API-layer code makes the
latter usable only by API-layer code (one that has a notion of Context).

This reverts commit de41640435, reversing
changes made to 7daeecd42d.

Signed-off-by: Tibor Vass <tibor@docker.com>

Conflicts:
	api/server/container.go
	builder/internals.go
	daemon/container_unix.go
	daemon/create.go
2015-09-29 14:26:51 -04:00
Tonis Tiigi 2fb5d0c323 Add constants for AUFS whiteout files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-09-29 11:21:45 -07:00
Tibor Vass 79c31f4b13 Revert "Merge pull request #16567 from calavera/context_per_request"
This reverts commit ff92f45be4, reversing
changes made to 80e31df3b6.

Reverting to make the next revert easier.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-09-29 13:40:46 -04:00
Brian Goff 252af0ae2f Merge pull request #16570 from duglin/ReaderFix
Make Close() on simpleReaderCloser actually close the reader
2015-09-29 12:55:03 -04:00
Shishir Mahajan 8db945abb9 Add dns-opt option to docker daemon man page
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-09-29 12:31:51 -04:00
Brian Goff 4e0eb91c55 Merge pull request #16649 from mtrmac/16648-test-text-fixups
Fix text not matching the actual tests
2015-09-29 12:01:19 -04:00
Doug Davis 992e464a80 Merge pull request #16611 from vdemeester/fix-TestAttachClosedOnContainerStop-racy-test
Fix TestAttachClosedOnContainerStop racey test
2015-09-29 11:49:24 -04:00
Doug Davis 499b76d2ec Merge pull request #16641 from cpuguy83/16598_fix_TestExecStartFails
Make sure test container is running before exec
2015-09-29 11:25:14 -04:00
Tonis Tiigi 00e3277107 Add basic support for .wh..wh..opq
This fixes the case where directory is removed in
aufs and then the same layer is imported to a
different graphdriver.

Currently when you do `rm -rf /foo && mkdir /foo`
in a layer in aufs the files under `foo` would
only be be hidden on aufs.

The problems with this fix:

1) When a new diff is recreated from non-aufs driver
the `opq` files would not be there. This should not
mean layer differences for the user but still
different content in the tar (one would have one
`opq` file, the others would have `.wh.*` for every
file inside that folder). This difference also only
happens if the tar-split file isn’t stored for the
layer.

2) New files that have the filenames before `.wh..wh..opq`
when they are sorted do not get picked up by non-aufs
graphdrivers. Fixing this would require a bigger
refactoring that is planned in the future.


Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-09-29 08:22:25 -07:00
Vincent Demeester 50852f3be3 Fix TestAttachClosedOnContainerStop racey test
This test is failing once in a while on the CI, because the docker
attach command might be called after the container ends.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-29 16:57:58 +02:00
Brian Goff 9077c89689 Make sure test container is running before exec
Fixes race in TestExecStartFails

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-29 10:06:51 -04:00
Brian Goff 8e5bb8fdd3 Do not parse config.Volumes for named volumes
Fixes an issue where `VOLUME some_name:/foo` would be parsed as a named
volume, allowing access from the builder to any volume on the host.

This makes sure that named volumes must always be passed in as a bind.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-29 10:01:57 -04:00
Miloslav Trmač 8781367c77 Fix text not matching the actual tests
Also fixes a typo in image name.

Fixes #16648

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2015-09-29 15:26:04 +02:00
Vincent Demeester 7eab3db324 Fix TestDockerCmd*Timeout racey tests
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-29 14:50:22 +02:00
Chun Chen 213a0f9d86 Do not try to cleanupMounts if daemon.repository is empty
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-09-29 11:30:18 +08:00
Alexander Morozov d6e7350b96 Merge pull request #16635 from Microsoft/10662-fixtestrununknowncommand
TestRunUnknownCommand 30s, not 30ns
2015-09-28 14:31:48 -07:00
David Calavera 79dd76b602 Merge pull request #16636 from Microsoft/setrunninglocking
Move setRunningLocking to test code
2015-09-28 14:25:32 -07:00
Alexander Morozov b50b928313 Merge pull request #16637 from Microsoft/10662-TestRunStdinBlockedAfterContainerExit
Windows: Fix TestRunStdinBlockedAfterContainerExit
2015-09-28 14:21:41 -07:00
John Howard 4d301f0059 Windows: Fix TestRunStdinBlockedAfterContainerExit
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-28 14:08:26 -07:00
Alexander Morozov ab8a4102e1 Merge pull request #16608 from vdemeester/16585-revert-env-regexp
Revert environment regexp in opts
2015-09-28 13:54:17 -07:00
John Howard eff253dfaf Move setRunningLocking to test code
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-28 13:48:12 -07:00
John Howard 74aeb0350e TestRunUnknownCommand 30s, not 30ns
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-28 13:40:17 -07:00
Alexander Morozov 17062aea21 Merge pull request #16616 from sunyuan3/TestRunWithSwappinessInvalid
Update TestRunWithSwappinessInvalid.
2015-09-28 11:42:26 -07:00
Vincent Demeester 7335544fd0 Revert environment regexp from 13694
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-28 20:26:20 +02:00
Richard Scothern 4acf29a808 Command line, manpage and deprecation documentation.
Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-09-28 10:31:04 -07:00
Alexander Morozov 7669670f2d Merge pull request #16631 from coolljt0725/fix_typo
Fix comment typo in attach.go
2015-09-28 09:25:54 -07:00
Steve Durrheimer c576310b6f Add zsh completion for --cluster-store and --cluster-advertise options for docker daemon
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-09-28 15:13:42 +02:00
Lei Jitang 4e62bd97d3 Fix comment typo in attach.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-28 08:59:40 -04:00
Yuan Sun 3571814dc5 Update TestRunWithSwappinessInvalid.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-28 18:13:21 +08:00
Harald Albers 1c71c1995f bash completion for docker daemon --cluster-*
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-28 11:23:23 +02:00
Andrea Luzzardi 9324b154d2 Merge pull request #16229 from icecrime/discovery
Add builtin nodes discovery
2015-09-27 18:06:27 -07:00
moxiegirl 486c12525f Merge pull request #16109 from charleswhchan/patch-3
Touch up "Dockerfile reference"
2015-09-27 15:12:17 -07:00
Alexandre Beslic da294050f3 fix discovery package documentation with the right --cluster* flags
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-09-27 13:40:42 -07:00
Arnaud Porterie 457a066ff0 Merge pull request #16603 from icecrime/add_more_vincent
Add @vdemeester to MAINTAINERS
2015-09-27 12:14:39 -07:00
Charles Chan 60f76bbfe1 Touch up "Dockerfile reference"
- add example for `docker build -f ...`
- modifiy `FROM` explaination into bullet points
- add/clarify examples for `LABEL` and `ADD` instructions
- fix review comments (PR #16109)

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-09-27 08:04:36 -07:00
moxiegirl 1cab5a50d0 Merge pull request #16187 from mikebrow/16161-fix-text-in-docker-basics-page
cleaning up the first few paragraphs of getting started with containers
2015-09-27 08:02:14 -07:00
moxiegirl f8f03a290c Merge pull request #16338 from twaugh/env-replacement-label
Add documentation note that LABEL allows environment replacement
2015-09-27 08:00:53 -07:00
Antonio Murdaca 94464e3a5e Validate --cpuset-cpus, --cpuset-mems
Before this patch libcontainer badly errored out with `invalid
argument` or `numerical result out of range` while trying to write
to cpuset.cpus or cpuset.mems with an invalid value provided.
This patch adds validation to --cpuset-cpus and --cpuset-mems flag along with
validation based on system's available cpus/mems before starting a container.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-27 16:38:58 +02:00
Arnaud Porterie 6957b671bb Sort maintainers by name
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-26 08:11:36 -07:00
Arnaud Porterie fcb9d8d899 Add @vdemeester to MAINTAINERS
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-26 08:09:44 -07:00
Madhu Venugopal 2ed0739c7a Merge pull request #16597 from brahmaroutu/vendor_libnetwork_gccgo_fix
Vendoring in libnetwork with the fix for compilation error using GCCG…
2015-09-25 21:22:02 -07:00
Srini Brahmaroutu ba4c132491 Vendoring in libnetwork with the fix for compilation error using GCCGo (X86 GCCGO CI)
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-09-26 01:37:56 +00:00
Richard Scothern 39f2f15a35 Prevent push and pull to v1 registries by filtering the available endpoints.
Add a daemon flag to control this behaviour.  Add a warning message when pulling
an image from a v1 registry.  The default order of pull is slightly altered
with this changset.

Previously it was:
https v2, https v1, http v2, http v1

now it is:
https v2, http v2, https v1, http v1

Prevent login to v1 registries by explicitly setting the version before ping to
prevent fallback to v1.

Add unit tests for v2 only mode.  Create a mock server that can register
handlers for various endpoints.  Assert no v1 endpoints are hit with legacy
registries disabled for the following commands:  pull, push, build, run and
login.  Assert the opposite when legacy registries are not disabled.

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-09-25 15:59:42 -07:00
moxiegirl 02eed8d666 Merge pull request #16063 from shishir-a412ed/man_docker_daemon
man page for docker daemon command
2015-09-25 15:42:06 -07:00
Tibor Vass c32d22e6e4 Merge pull request #16531 from vbatts/vbatts-non-utf8-name-fix
vendor: update tar-split to v0.9.10
2015-09-25 17:55:11 -04:00
Arnaud Porterie 7d193ef1f3 Add builtin nodes discovery
Use `pkg/discovery` to provide nodes discovery between daemon instances.

The functionality is driven by two different command-line flags: the
experimental `--cluster-store` (previously `--kv-store`) and
`--cluster-advertise`. It can be used in two ways by interested
components:

1. Externally by calling the `/info` API and examining the cluster store
   field. The `pkg/discovery` package can then be used to hit the same
   endpoint and watch for appearing or disappearing nodes. That is the
   method that will for example be used by Swarm.
2. Internally by using the `Daemon.discoveryWatcher` instance. That is
   the method that will for example be used by libnetwork.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-25 14:52:09 -07:00
Arnaud Porterie 166e082be3 Add pkg/discovery for nodes discovery
Absorb Swarm's discovery package in order to provide a common node
discovery mechanism to be used by both Swarm and networking code.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-25 13:33:23 -07:00
Jess Frazelle 3c3d232e0a Merge pull request #16589 from mavenugo/ln_vin_ls
Vendoring libnetwork and libkv
2015-09-25 13:31:14 -07:00
David Calavera f0e904df8e Merge pull request #16590 from Microsoft/10662-escapeargsfix
Windows: Flags to cmd are now sent as two separate arguments
2015-09-25 13:29:54 -07:00
Jess Frazelle ff92f45be4 Merge pull request #16567 from calavera/context_per_request
Define a context per request.
2015-09-25 13:01:51 -07:00
Vincent Batts ecedb3d81d vendor: update tar-split to v0.9.10
This addresses handling of non-utf8 file names, namely iso-8859-1.

https://github.com/docker/docker/issues/16516

Reported-by: @kwk
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-09-25 14:42:17 -04:00
Jess Frazelle 80e31df3b6 Merge pull request #15916 from mikedougherty/release-flexibility
Improve flexibility of release scripts
2015-09-25 11:26:18 -07:00
Madhu Venugopal 6db1592066 Docker daemon changes to use default gateway service
* Thanks to the Default gateway service in libnetwork, we dont have to add
containers explicitly to secondary public network. This is handled
automatically regardless of the primary network driver.

* Fixed the URL convention for kv-store to be aligned with the upcoming
changes to discovery URL

* Also, in order to bring consistency between external and internal network
drivers, we moved the driver configs via controller Init.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-09-25 11:00:42 -07:00
Alexandre Beslic 07cfac3d2d Merge pull request #16508 from MHBauer/create-refactor
refactor create to not expose internal data structures
2015-09-25 10:58:56 -07:00
Darren Stahl 5aa7c2317a Flags to cmd are now sent as two separate arguments
This fixes a regression caused by PR #16538.

Signed-off-by: Darren Stahl <darst@microsoft.com>
2015-09-25 10:37:53 -07:00
Jess Frazelle 7a1dbd17fc Merge pull request #16569 from brahmaroutu/ioutil_hang_gccgo
goroutine fairness is not guaranteed causing the hang with GCCGO (x86 GCCGO CI)
2015-09-25 10:24:13 -07:00
Jess Frazelle 2ecc7290d6 Merge pull request #16576 from Djelibeybi/rpm-docs
Add documentation files
2015-09-25 10:16:12 -07:00
Madhu Venugopal 59a000ec7f Vendoring libnetwork and libkv
- Libnetwork brings in :
  * Default Gateway as a service for network drivers
  * Persistence for local scoped networks using libkv
  * BATS based Multi-host Integration-test infra and end-to-end tests
  * libnetwork fixes for zookeeper and etcd backend
- Libkv upgrade brings in :
  * boltdb support for local kv persistence
  * other general bug fixes

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-09-25 10:02:31 -07:00
Morgan Bauer 93bd57b0b2 refactor create to not expose internal data structures
- use existing exposed type

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-09-25 09:35:18 -07:00
Shishir Mahajan fada260ad2 man page for docker daemon command
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-09-25 10:49:06 -04:00
Srini Brahmaroutu 7c52fcce85 goroutine fairness is not guaranteed causing the hang with GCCGO
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-09-25 14:40:16 +00:00
Federico Gimenez 2368d23665 Added test coverage to StdCopy closes #11584
Some corner cases and error conditions are covered while reading
and writing

Signed-off-by: Federico Gimenez <fgimenez@coit.es>
2015-09-25 11:15:45 +02:00
Lei Jitang 5106532601 Make sure the container will always be unpaused on test exit
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-25 05:15:16 -04:00
Avi Miller 63e5891e4f Add documentation files including the LICENSE and CHANGELOG.md to the RPM
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-09-25 17:44:11 +10:00
Doug Davis 02ae137b1d Merge pull request #16571 from skatsuta/fix-typo-comment-evaluator
builder: fix typos in comments
2015-09-24 23:44:00 -04:00
Ma Shimiao 6d25eb6e7c client/start: fix logic for discarded signal
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-25 11:25:29 +08:00
Doug Davis b5265fe7ad Make Close() on simpleReaderCloser actually close the reader
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-24 20:22:59 -07:00
Jess Frazelle b2b76894a1 Merge pull request #16468 from crosbymichael/bump_libcontainer
Bump libcontainer to 5765dcd086eb0584c0e2eaff9a3ac97b467a98e6
2015-09-24 16:53:28 -07:00
David Calavera 27c76522de Define a context per request.
Avoid creating a global context object that will be used while the daemon is running.

Not only this object won't ever be garbage collected, but it won't ever be used for anything else than creating other contexts in each request. I think it's a bad practive to have something like this sprawling aroud the code.

This change removes that global object and initializes a context in the cases we don't have already one, like shutting down the server.
This also removes a bunch of context arguments from functions that did nothing with it.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-24 18:44:53 -04:00
Michael Crosby 7d8b5fc3aa Fix windows cross compile with new netlink
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-09-24 15:01:03 -07:00
Michael Crosby 189d2c7985 Update libcontainer to aac9179bbadbf958054ce97ab36
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-09-24 15:00:31 -07:00
Michael Crosby f6064cb42b Update CAP_ prefix for new spec format
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-09-24 15:00:30 -07:00
Michael Crosby d0fdc3b5df Fix netlink dependency with new pkg
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-09-24 15:00:30 -07:00
Michael Crosby 6bd3e6357c Bump libcontainer to 08b5415ffa3769ff7c1d2f673f613
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-09-24 15:00:30 -07:00
David Calavera de41640435 Merge pull request #16228 from duglin/ContextualizeEvents
Add context.RequestID to event stream
2015-09-24 14:16:22 -07:00
John Howard 608b3db5c8 Windows: Fix ADD from URL in dockerfile
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-24 13:20:15 -07:00
Ewa Czechowska 5c94a9e800 #16560 Add timeout to sudo service docker stop on sysvinit
Add 10 seconds timeout when running `sudo service docker stop`. This is
especially needed when running `sudo service docker restart`. Otherwise,
`restart` results in exitstatus 1, because `start` has nothing to do.

Signed-off-by: Ewa Czechowska <ewa@ai-traders.com>
2015-09-24 19:41:32 +00:00
Jess Frazelle 7daeecd42d Merge pull request #16559 from Microsoft/10662-fix16556
Fixes 16556 CI failures
2015-09-24 12:31:36 -07:00
Carl Henrik Lunde 9a64f2bbb3 Use pkg/mount to support more flags in dm.mountopt
The mount syscall does not handle string flags like "noatime",
we must use bitmasks like MS_NOATIME instead.

pkg/mount.Mount already handles this work.

Signed-off-by: Carl Henrik Lunde <chlunde@ping.uio.no>
2015-09-24 21:14:41 +02:00
Jess Frazelle 84b53c8d87 Merge pull request #14579 from hqhq/hq_add_softlimit
Add support for memory reservation
2015-09-24 12:11:36 -07:00
Phil Estes a7e8f3616c Merge pull request #16511 from Mashimiao/fix-logic-client-search
client/search: small logic fix
2015-09-24 15:06:10 -04:00
Doug Davis 26b1064967 Add context.RequestID to event stream
This PR adds a "request ID" to each event generated, the 'docker events'
stream now looks like this:

```
2015-09-10T15:02:50.000000000-07:00 [reqid: c01e3534ddca] de7c5d4ca927253cf4e978ee9c4545161e406e9b5a14617efb52c658b249174a: (from ubuntu) create
```
Note the `[reqID: c01e3534ddca]` part, that's new.

Each HTTP request will generate its own unique ID. So, if you do a
`docker build` you'll see a series of events all with the same reqID.
This allow for log processing tools to determine which events are all related
to the same http request.

I didn't propigate the context to all possible funcs in the daemon,
I decided to just do the ones that needed it in order to get the reqID
into the events. I'd like to have people review this direction first, and
if we're ok with it then I'll make sure we're consistent about when
we pass around the context - IOW, make sure that all funcs at the same level
have a context passed in even if they don't call the log funcs - this will
ensure we're consistent w/o passing it around for all calls unnecessarily.

ping @icecrime @calavera @crosbymichael

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-24 11:56:37 -07:00
Jess Frazelle 23750fb802 Merge pull request #15862 from calavera/share_shm_and_mqueue
Share shm and mqueue between containers.
2015-09-24 11:23:59 -07:00
John Howard e65a7dabb9 Fixes 16556 CI failures
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-24 11:19:00 -07:00
David Calavera c8bc02ea35 Merge pull request #16538 from Microsoft/10662-escapeargs
Windows: Fixed escaping of command line arguments
2015-09-24 11:18:29 -07:00
Jess Frazelle ccba7c3e14 Merge pull request #16507 from azurezk/testcase_nit
TestInspectInt64 to be neat
2015-09-24 11:12:43 -07:00
Jess Frazelle f2db5028cd Merge pull request #16480 from sunyuan3/TestRunWithKernelMemory
update TestRunWithKernelMemory
2015-09-24 11:10:51 -07:00
Arnaud Porterie de8b5c46cc Merge pull request #16556 from Microsoft/10662-randomunix
Make 'TestRandomUnixTmpDirPath' platform agnostic
2015-09-24 10:35:27 -07:00
David Calavera f75206dd7b Merge pull request #16541 from sunyuan3/newlogformat
Update documentation for new test log format
2015-09-24 10:07:20 -07:00
Soshi Katsuta 53e5f33279 builder: fix typos in comments
Signed-off-by: Soshi Katsuta <soshi.katsuta@gmail.com>
2015-09-25 01:45:59 +09:00
Doug Davis 1e514de2e4 Merge pull request #16545 from HuKeping/fixtest
Fix test for container events
2015-09-24 12:43:51 -04:00
John Howard 5d630abbab TestRandomUnixTmpDirPath platform agnostic
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-24 09:37:07 -07:00
Morgy93 f2823f64a5 Added some names
Signed-off-by: Thomas Hauschild <thomas@ulfertsprygoda.de>
2015-09-24 17:15:47 +02:00
Hu Keping 5505bcdd62 Fix test for container events
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-24 19:04:54 +08:00
Jess Frazelle 8c33c6c737 Merge pull request #16190 from LK4D4/drain_refactor
Refactoring of bufReader
2015-09-24 01:54:40 -07:00
Ma Shimiao 19613feddf client/search: small logic fix
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-24 11:11:03 +08:00
Kun Zhang 029c6eacd6 test neat
Signed-off-by: Kun Zhang <zkazure@gmail.com>
2015-09-24 10:55:47 +08:00
Brian Goff 22877e1b16 Merge pull request #15021 from chenchun/resize_pool
Try to resize data and metadata loopback file when initiating devicemapper
2015-09-23 22:22:51 -04:00
Yuan Sun 6fe38e3947 Update documentation for new test log format.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-24 09:47:42 +08:00
Chun Chen 2458452a3b Try to resize data and metadata loopback file when initiating devicemapper
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-09-24 09:31:00 +08:00
Brian Goff ebe7ef9fc2 Merge pull request #16411 from duglin/DaemonErrors
Move more 'daemon' errors to the new error package
2015-09-23 21:20:56 -04:00
Brian Goff 40e8560412 Merge pull request #16415 from HuKeping/dockerinfo
Format output of docker info
2015-09-23 21:15:23 -04:00
David Calavera a518612260 Merge pull request #16540 from MHBauer/man-build-arg
fix typo in man page
2015-09-23 17:51:09 -07:00
Morgan Bauer 3a4775cb80 fix typo in man page
- resolve #16536

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-09-23 17:41:52 -07:00
Yuan Sun b89fdc120e update TestRunWithKernelMemory
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-24 08:41:35 +08:00
Tonis Tiigi c5b23337c3 Make bytesPipe use linear allocations
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-09-23 17:12:54 -07:00
Jess Frazelle ddd0c47412 Merge pull request #16497 from MHBauer/attach-refactor-new
refactor attach to not use internal data structures
2015-09-23 16:52:39 -07:00
Jess Frazelle d71ae45772 Merge pull request #16484 from HuKeping/history-format
Format the output of docker history
2015-09-23 16:52:21 -07:00
Darren Stahl ca5cc770b9 Windows: Fixed escaping of command line arguments
This fixes some tests that were failing on windows

Signed-off-by: Darren Stahl <darst@microsoft.com>
2015-09-23 16:35:44 -07:00
Alexandre Beslic a1573dffee Merge pull request #16494 from calavera/fix_plugin_url_scheme
Do not hardcode http as plugin URL scheme for secure connections.
2015-09-23 16:18:00 -07:00
Tibor Vass 793a409081 Merge pull request #16504 from brahmaroutu/ImageErrors
Adding error codes to image package
2015-09-23 19:15:25 -04:00
Alexander Morozov 56b70bf84e Refactor bufReader to use BytesPipe
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-23 16:00:28 -07:00
Alexander Morozov 24310b5b4a Add BytesPipe datastructure to ioutils
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-23 16:00:27 -07:00
Tibor Vass 01670bec48 Merge pull request #16517 from coolljt0725/show_help_all_the_time
Clean up: show usage when global --help present
2015-09-23 18:58:19 -04:00
Jess Frazelle 323c77e4e1 Merge pull request #16371 from coolljt0725/docs_update_contributing
Docs: update the CONTRIBUTING.md
2015-09-23 15:56:13 -07:00
Jess Frazelle 04b171a632 Merge pull request #16500 from sergeyevstifeev/11584-pkg-stdcopy-test-coverage
Adding some more coverage to StdCopy to address #11584
2015-09-23 15:51:21 -07:00
Jess Frazelle 51fad49e67 Merge pull request #16502 from Microsoft/10662-cpuweight
Windows: [TP4] Add CPU Weight
2015-09-23 15:41:35 -07:00
Jess Frazelle a077c46d14 Merge pull request #16523 from coolljt0725/correct_help_message_of_docker_cp
Docs: correct the description of docker cp
2015-09-23 15:40:58 -07:00
Jess Frazelle 40adb3fd2c Merge pull request #16528 from gesellix/docs-container-commit
fix content-type of response for `/commit`
2015-09-23 15:38:38 -07:00
Jess Frazelle c0c941627a Merge pull request #16289 from cpuguy83/11957_fix_stdin_block_after_container_exit
Ensure stdin does not block after container stop
2015-09-23 15:29:48 -07:00
Jess Frazelle 871daf5498 Merge pull request #16346 from cpswan/fixes-15792
Clarify when keys are created
2015-09-23 15:29:06 -07:00
Jess Frazelle 200fa6978c Merge pull request #16518 from unclejack/bump_go_to_1.4.3
Dockerfile: bump Go to 1.4.3
2015-09-23 15:21:06 -07:00
Tobias Gesellchen 78de066a28 fix content-type of response for /commit
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-09-23 23:49:16 +02:00
Tibor Vass 8d69e0eae0 Merge pull request #15915 from sdurrheimer/master
Zsh completion updates
2015-09-23 17:20:34 -04:00
Jess Frazelle 8f8cc077d3 Merge pull request #16525 from icecrime/fix_integration_cli
Fix integration cli
2015-09-23 13:52:28 -07:00
Jess Frazelle ce092ed08e Merge pull request #16521 from matthiasr/fix/syvinit-debian/basename-on-boot
Do not try to guess "docker" in Debian SysV init script
2015-09-23 13:46:19 -07:00
Arnaud Porterie 04e1015aa0 Skip TestAppArmorDeniesChmodProc
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-23 13:23:15 -07:00
Arnaud Porterie 03dce24137 Skip TestRunUnshareProc
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-23 13:23:08 -07:00
moxiegirl ec4b71b64a Merge pull request #16503 from carolfh/image-mag
Image mag
2015-09-23 12:43:20 -07:00
Tibor Vass 8f7f0f8deb Merge pull request #16493 from cpuguy83/doc_plugin_rpcgen
Add README for pluginrpc-gen
2015-09-23 15:36:05 -04:00
Carol Fager-Higgins 3e6991f35c fixed jira DTR-1173 typo in link and additional edits
Signed-off-by: Carol Fager-Higgins <carol.fager-higgins@docker.com>
2015-09-23 12:33:45 -07:00
Jess Frazelle 70016198ce Merge pull request #16522 from jfrazelle/zypper-wtaf
fix zypper wrt interactive
2015-09-23 10:30:58 -07:00
Srini Brahmaroutu da0ca83377 Adding error codes to image package
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-09-23 17:03:37 +00:00
Doug Davis 0a734182eb Move more 'daemon' errors to the new error package
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-23 09:51:45 -07:00
David Calavera b1d2f52bb2 Improvements to the original sharing implementation.
- Print the mount table as in /proc/self/mountinfo
- Do not exit prematurely when one of the ipc mounts doesn't exist.
- Do not exit prematurely when one of the ipc mounts cannot be unmounted.
- Add a unit test to see if the cleanup really works.
- Use syscall.MNT_DETACH to cleanup mounts after a crash.
- Unmount IPC mounts when the daemon unregisters an old running container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-23 12:07:24 -04:00
Morgan Bauer 8aef1a33eb refactor attach to not use internal data structures
- refactor to make it easier to split the api in the future

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-09-23 08:55:21 -07:00
Sergey Evstifeev 6335c90d4a Add StdCopy happy path test: both reading and writing
Signed-off-by: Sergey Evstifeev <sergey.evstifeev@gmail.com>
2015-09-23 17:27:32 +02:00
Jessica Frazelle d265f93f6e fix zypper BS wrt interactive
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-23 04:48:06 -07:00
Matthias Rampke 01c5cfcc56 Do not try to guess "docker" in Debian SysV init script
On boot, the init script is invoked from `/etc/rcN.d/S20docker` (where N
is the runlevel). Consequently, the init script tried to find the
defaults at `/etc/defaults/S20docker` and the binary at
`/usr/bin/S20docker`. This causes the docker daemon to fail at boot with
the error

    /usr/bin/S20docker not present or not executable

Starting it manually works because it invokes `/etc/init.d/docker` which
has the correct basename.

Fix this by hardcoding "docker" as the base name.

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2015-09-23 11:27:34 +00:00
unclejack 34e41580f9 Dockerfile: bump Go to 1.4.3
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-09-23 12:34:00 +03:00
Lei Jitang 4d55877e27 Clean up: show usage when global --help present
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-23 05:17:03 -04:00
Hu Keping 141e91c480 Format output of docker info
Format those info which will only be displayed when daemon is
in debug mode.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-23 14:35:13 +08:00
qhuang aa1780997f Add support for memory reservation
Signed-off-by: qhuang <qhuang@10.0.2.15>
2015-09-23 14:02:45 +08:00
John Howard a5879bb83b Windows: [TP4] Add CPU Weight
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-22 18:29:15 -07:00
Brian Goff 7acd3ca79d Add README for pluginrpc-gen
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-22 19:34:44 -04:00
David Calavera b0dc11127e Merge pull request #16328 from jfrazelle/opensuse-rpms
add opensuse to rpm builder
2015-09-22 15:59:49 -07:00
David Calavera 14e8949dcf Merge pull request #16492 from albers/completion-compopt-mac
[Fix 16348] Bash completion: avoid 'compopt: command not found' errors on Mac OS
2015-09-22 15:58:56 -07:00
Phil Estes 9dc0973655 Merge pull request #16331 from calavera/server_middlewares
Organize server pre-func logic in middlewares.
2015-09-22 16:10:42 -05:00
David Calavera dc17613297 Do not hardcode http as plugin URL scheme for secure connections.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-22 15:54:29 -04:00
Brian Goff 04d76d898a Merge pull request #16312 from Microsoft/10662-startwindowscli
Windows: First part of CI tests (docker run)
2015-09-22 15:37:33 -04:00
Harald Albers 9d8f9943e9 Bash completion: avoid 'compopt: command not found' errors on Mac OS
The shell builtin `compopt` is not available on the outdated bash
version 3.2.57 that ships with Mac OS.
It is used in Docker's bash completion to suppress trailing spaces
in advanced completions of hash map options, e.g. `--log-opt`.

If `compopt` is not available, the new behavior is to do nothing,
i.e. the user will have to delete the additional space.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-22 12:17:30 -07:00
David Calavera 114612305c Merge pull request #16235 from HuKeping/oom-event
Events for OOM needs to be shift to an earlier time
2015-09-22 11:50:30 -07:00
John Howard 8a5ab83df8 Windows: First part of CI tests (docker run)
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-22 10:24:03 -07:00
moxiegirl bfc785bf64 Merge pull request #16428 from charleswhchan/fix-logs-doc
Touch up 'docker logs' documentation.
2015-09-22 07:17:26 -07:00
Hu Keping 6353f3a7b5 Format the output of docker history
Once there have '\t' in the "CREATED BY" section, it will possibly
cause a messy output of docker history.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-22 21:27:20 +08:00
Antonio Murdaca 44f47903a8 Merge pull request #16444 from fgimenez/11584-pkg-stdcopy-test-coverage
Added tests for Write
2015-09-22 14:28:14 +02:00
Federico Gimenez 3efe5ff22e Added tests for StdWriter.Write.
The tests added cover the case when the Writer field returns and error
and, related to that, when the number of written bytes is less than 0.

Signed-off-by: Federico Gimenez <fgimenez@coit.es>
2015-09-22 09:05:22 +02:00
David Calavera a7e23cab8d Merge pull request #15864 from dmcgowan/notary-offline
Support content trust offline
2015-09-21 21:11:36 -07:00
Alexandre Beslic f97e6f2a37 Merge pull request #16419 from HuKeping/comments
Comment: add description for some code which hard to understand
2015-09-21 20:44:54 -07:00
Charles Chan eff524e19c Touch up 'docker logs' documentation.
* Update format for 'Note:' to match other pages.
* Add link to Go's RFC3339Nano timestamp information.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-09-21 19:47:33 -07:00
Hu Keping 3b443abec2 Comment: add description for some code which hard to understand
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-22 09:34:49 +08:00
David Calavera 108891069f Merge pull request #16400 from albers/completion-log-opt-tags
bash completion: use generic `tag` log driver option
2015-09-21 17:17:11 -07:00
Brian Goff 5c73f14c62 Merge pull request #16457 from Microsoft/10662-blockarg
Windows: Nice error on ARG (builder)
2015-09-21 19:43:48 -04:00
John Howard b69c13b1a6 Windows: Nice error on ARG (builder)
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-21 14:54:15 -07:00
Tibor Vass 985b7ec895 Merge pull request #16465 from albers/reference-capability-all
reference: capability `all` should be `ALL`
2015-09-21 16:49:17 -04:00
Tibor Vass a8eba11fb1 Merge pull request #16461 from tomdee/libnetwork-routes-fixes
Vendoring libnetwork
2015-09-21 16:48:16 -04:00
Tibor Vass da82b5fedb Merge pull request #16466 from runcom/15876-fix-TestRunWithKernelMemory
daemon: execdriver: lxc: fix wrong template value passed to lxc conf
2015-09-21 16:34:34 -04:00
Evan Hazlett 0c71c19239 Merge pull request #16404 from duglin/FixRenameError
Fix 'rename' error msg and error checking
2015-09-21 15:51:02 -04:00
Evan Hazlett 732676fad5 Merge pull request #16413 from sunyuan3/TestRunSwapMoreThanMemoryLimit
Add the TestRunSwapMoreThanMemoryLimit case.
2015-09-21 15:43:20 -04:00
Antonio Murdaca 7b4f73ee6c daemon: execdriver: lxc: fix wrong template value passed to lxc conf
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-21 21:40:46 +02:00
Tibor Vass 2daa5b1735 Merge pull request #16432 from calavera/volume_store
Move volume ref counting store to a package.
2015-09-21 15:38:06 -04:00
Harald Albers d37674b44b reference: capability all should be ALL
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-21 21:09:50 +02:00
Tibor Vass d572bab4a0 Merge pull request #16437 from runcom/invalid-logger-address
daemon: logger: error out on daemon start if invalid logger address
2015-09-21 14:53:47 -04:00
Alexandre Beslic 40edb5f97c Merge pull request #15029 from azurezk/add-version-info
Add docker version info in /info request
2015-09-21 11:44:11 -07:00
David Calavera 0fea04d27e Organize server pre-func logic in middlewares.
It defines global middlewares for every request.
This makes the server slightly more composable.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-21 14:27:06 -04:00
Tom Denham 499ade0116 Vendoring libnetwork
Pull in version e5fea92a6c8a5968bdb8005bf959c6e23113b689

Fixes libnetwork regressions that stopped drivers that set routes from working.
Pulls in libnetwork PRs #546 #543

Signed-off-by: Tom Denham <tom@tomdee.co.uk>
2015-09-21 11:13:14 -07:00
moxiegirl f018c0430b Merge pull request #16449 from runcom/add-container-label-userguide
docs: userguide: add container labels section
2015-09-21 10:26:20 -07:00
David Calavera 72bb56618b Move volume ref counting store to a package.
- Add unit tests to make sure the functionality is correct.
- Add FilterByDriver to allow filtering volumes by driver, for future
  `volume ls` filtering and whatnot.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-21 12:46:49 -04:00
Alexandre Beslic 587558f617 Merge pull request #16440 from runcom/tempdir-check-errs
integration-cli: check err on tmp dir creation
2015-09-21 08:06:08 -07:00
Yuan Sun ab39a4c981 Add the TestRunSwapLessThanMemoryLimit case.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-21 22:12:19 +08:00
Zhang Kun 7cf343d106 add docker server version to /info
Signed-off-by: Zhang Kun <zkazure@gmail.com>
2015-09-21 21:15:32 +08:00
Brian Goff 743dc1c791 Merge pull request #16443 from coolljt0725/simplify_volume_code
Cleanup: remove unnecessary return at the end of block in volume.go
2015-09-21 09:05:16 -04:00
Antonio Murdaca 124540c086 docs: userguide: add container labels section
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-21 14:41:22 +02:00
Lei Jitang 5746eb9501 Cleanup: remove unnecessary return at the end of block in volumes.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-21 04:32:37 -04:00
Hu Keping f05bacbe50 Events for OOM needs to be shift to an earlier time
It's worth to warn user as soon as possilbe when OOM happend.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-21 10:18:08 +08:00
David Calavera 4a6e8c8f3c Merge pull request #16174 from sallyom/man-restart-fix
docker restarts running OR stopped containers
2015-09-20 18:10:06 -07:00
Antonio Murdaca 76b3b54314 api: server: container: fix wrong comment
This comment was wrongly referring to the old job mechanism and it
wasn't clear what it was trying to document.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-21 00:46:16 +02:00
Antonio Murdaca b616b8a17a integration-cli: check err on tmp dir creation
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-21 00:00:55 +02:00
moxiegirl 4133401bf9 Merge pull request #16425 from charleswhchan/fix-version-doc
Add missing '[OPTIONS]' arg to documentation for 'docker version'.
2015-09-20 14:33:47 -07:00
Antonio Murdaca e3c472426f daemon: logger: error out on daemon start if invalid logger address
If an invalid logger address is provided on daemon start it will
silently fail. As syslog driver is doing, this check should be done on
daemon start and prevent it from starting even in other drivers.
This patch also adds integration tests for this behavior.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-20 16:20:25 +02:00
Sally O'Malley e41753678d docker restarts running OR stopped containers, docs edit rm "running"
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-20 09:16:27 -04:00
Doug Davis 148be8bd7e Merge pull request #16430 from runcom/pkg-integration-fix-format
pkg: integration: utils_test: fix int format
2015-09-20 06:48:58 -05:00
Lei Jitang ee6b81faf2 Docs: correct the description of docker cp
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-20 18:02:28 +08:00
Antonio Murdaca c219311fd8 pkg: integration: utils_test: fix int format
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-20 02:42:08 +02:00
Sebastiaan van Stijn acdc0f82c0 Merge pull request #16414 from sunyuan3/dockertest
Add timeout description.
2015-09-19 22:20:10 +02:00
Charles Chan 8d6796f8c6 Add missing '[OPTIONS]' arg to documentation for 'docker version'.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-09-19 08:53:11 -07:00
Brian Goff 7d5603e7cb Merge pull request #16363 from coolljt0725/fix_net_none_test
Fix --net none test closes #16356
2015-09-19 09:25:12 -04:00
Steve Durrheimer 07f1d68887 Catchup missing changes for the zsh completion
- felixr/docker-zsh-completion@6ae6279: Add --privileged flag to docker exec command in zsh completion
 - felixr/docker-zsh-completion@259ea00: Remove -h help flag from subcommands in zsh completion
 - felixr/docker-zsh-completion@5f77b29: Add docker ps --format flag to zsh completion
 - felixr/docker-zsh-completion@a1f39f8: Add --config flag to zsh completion
 - felixr/docker-zsh-completion@6a503b4: Filter zsh completions of inspect command by --type
 - felixr/docker-zsh-completion@d286ccd: Add --ulimit flag to build command to zsh completion
 - felixr/docker-zsh-completion@bdc1261: Add support for kernel memory limit in zsh completion
 - felixr/docker-zsh-completion@c8ce164: Add docker volume command and subcommands in zsh completion
 - felixr/docker-zsh-completion@7f996bf: Add docker daemon command to zsh completion
 - felixr/docker-zsh-completion@4ccd292: Be more generic when parsing "docker ps" output.
 - felixr/docker-zsh-completion@cd0f1b9: Fix container completion by name
 - felixr/docker-zsh-completion@8bf9041: Use "docker ps --no-trunc" to build completion.
 - felixr/docker-zsh-completion@b721bbb: Only keep the last name for a running/stopped container
 - felixr/docker-zsh-completion@6791b3e: Fix "docker run --stop-signal" completion
 - felixr/docker-zsh-completion@961f628: Try some heuristics to determine the canonical container name

Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-09-19 12:03:55 +02:00
Yuan Sun 76c96da487 Add timeout description.
It is almost impossible to take serveral minutes to complete all the
test.

Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-19 10:24:16 +08:00
Lei Jitang 0b2091132a Fix --net none test closes #16356
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-18 20:49:36 -04:00
Doug Davis 536353e87f Merge pull request #16409 from runcom/fix-tests
integration-cli: fix tests with memory limit
2015-09-18 19:47:16 -04:00
Jess Frazelle bf892efe36 Merge pull request #16405 from michaelhuettermann/master
Adding another scientist to the hall of fame.
2015-09-18 16:09:01 -07:00
Jess Frazelle 16f60347bc Merge pull request #16407 from Microsoft/10662-fixinfoprocerror
Windows: Fix error in daemon log on info
2015-09-18 16:08:45 -07:00
Antonio Murdaca 0b8b8ed9e9 integration-cli: fix tests with memory limit
If you don't have cgroup swap memory support, `dockerCmd`'s output in
these tests will be polluted by a warning from the daemon and will fail
the tests.
No need to have memory swap support for these tests to run as it will
be reset to -1 and everything will continue correctly.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-19 00:07:40 +02:00
John Howard 8d56108ffb Windows: Fix warning on info
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-18 13:39:12 -07:00
David Calavera e61abac5fa Merge pull request #16349 from cpuguy83/16302_deprecate_autocreate_binds
deprecate bind path auto-create
2015-09-18 12:53:06 -07:00
michaelhuettermann 3e212eec5e Adding another scientist to the hall of fame.
Signed-off-by: Michael Hüttermann <michael@huettermann.net>
2015-09-18 21:31:12 +02:00
Alexandre Beslic 96f9efc063 Merge pull request #16403 from runcom/fix-containers-json-emtpy-response
Fix GET /containers/json emtpy response regression
2015-09-18 11:47:42 -07:00
Brian Goff 45d7acf237 Merge pull request #16317 from vbatts/vbatts-event-timenano
jsonmessage: add and use TimeNano for events
2015-09-18 14:41:45 -04:00
Doug Davis 848792c42e Fix 'rename' error msg and error checking
`docker rename foo ''` would result in:
```
usage: docker rename OLD_NAME NEW_NAME
```
which is the old engine's way of return errors - yes that's in the
daemon code.  So I fixed that error msg to just be normal.

While doing that I noticed that using an empty string for the
source container name failed but didn't print any error message at all.
This is because we would generate a URL like: ../containers//rename/..
which would cause a 301 redirect to ../containers/rename/..
however the CLI code doesn't actually deal with 301's - it just ignores
them and returns back to the CLI code/caller.

Rather than changing the CLI to deal with 3xx error codes, which would
probably be a good thing to do in a follow-on PR, for this immediate
issue I just added a cli-side check for empty strings for both old and
new names. This way we catch it even before we hit the daemon.

API callers will get a 404, assuming they follow the 301, for the
case of the src being empty, and the new error msg when the destination
is empty - so we should be good now.

Add tests for both cases too.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-18 11:12:22 -07:00
Brian Goff 3dbfb3d38c Ensure stdin does not block after container stop
Fixes #11957
Fixes #12319

Also removes check for Darwin when the stdin reader is closed as it
doesn't appear to block any more.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-18 13:48:07 -04:00
Vincent Batts 4026512a2c events/jsonmessage: add and prefer TimeNano for events
This way provide both Time and TimeNano in the event. For the display of
the JSONMessage, use either, but prefer TimeNano Proving only TimeNano
would break Subscribers that are using the `Time` field, so both are set
for backwards compatibility.

The events logging uses nano formatting, but only provides a Unix()
time, therefor ordering may get lost in the output. Example:
```
2015-09-15T14:18:51.000000000-04:00 ee46febd64ac629f7de9cd8bf58582e6f263d97ff46896adc5b508db804682da: (from busybox) resize
2015-09-15T14:18:51.000000000-04:00 a78c9149b1c0474502a117efaa814541926c2ae6ec3c76607e1c931b84c3a44b: (from busybox) resize
```

By having a field just for Nano time, when set, the marshalling back to
`time.Unix(sec int64, nsec int64)` has zeros exactly where it needs to.
This does not break any existing use of jsonmessage.JSONMessage, but now
allows for use of `UnixNano()` and get event formatting that has
distinguishable order. Example:
```
2015-09-15T15:37:23.810295632-04:00 6adcf8ed9f5f5ec059a915466cd1cde86a18b4a085fc3af405e9cc9fecbbbbaf: (from busybox) resize
2015-09-15T15:37:23.810412202-04:00 6b7c5bfdc3f902096f5a91e628f21bd4b56e32590c5b4b97044aafc005ddcb0d: (from busybox) resize
```

Including tests for TimeNano and updated event API reference doc.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-09-18 13:15:26 -04:00
Antonio Murdaca 41646cb4e3 Merge pull request #16389 from HuKeping/stats-zero
Reset data of stats in docker cli when container stopped
2015-09-18 18:59:51 +02:00
Antonio Murdaca 26bd5e3a2d Fix GET /containers/json emtpy response regression
GET /containers/json route used to reply with and empty array `[]` when no
containers where available. Daemon containers list refactor introduced
this bug by declaring an empty slice istead of initializing it as well
and it was now replying with `null`.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-18 18:44:46 +02:00
David Calavera 72eb75a06c Merge pull request #16260 from sunyuan3/comment
Correct wrong comment for TestRunWithoutMemoryswapLimit case.
2015-09-18 09:22:49 -07:00
Phil Estes c4d4318b82 Merge pull request #16378 from duglin/MoveErrors
Move api/errors/ to errors/
2015-09-18 10:42:12 -04:00
Brian Goff 249f45bcfe deprecate bind path auto-create
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-18 10:28:38 -04:00
Harald Albers 5d6ca225d1 bash completion: use generic tag log driver option
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-18 16:20:05 +02:00
Chris Swan d09da26f06 Clarify when keys are created and fix missing of
Signed-off-by: Chris Swan <chris.swan@iee.org>

Conflicts:
	docs/security/trust/content_trust.md
2015-09-18 10:10:10 +01:00
Hu Keping da67833e63 Reset data of stats in docker cli when container stopped
When use `docker stats` to minitor a running container and then stop it,
there are some fields need to be reset to zero. Otherwise it will keep
displaying the data it received last time.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-18 15:24:13 +08:00
Lei Jitang 2bb6b13685 Docs: update the CONTRIBUTING.md
Tell user not to add random `+1`
Remove unecessary `-D` in `docker info`

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-17 21:58:34 -04:00
Yuan Sun cf6a53642a Correct wrong comment for TestRunWithoutMemoryswapLimit case.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-18 08:28:36 +08:00
moxiegirl d2e7ba42b1 Merge pull request #15327 from flavio/update-suse-docs
Update SUSE docs
2015-09-17 16:46:26 -07:00
Jess Frazelle 52d7542195 Merge pull request #16377 from runcom/add-stats-tests
integration-cli: add cli/api stats tests when container not found
2015-09-17 13:43:02 -07:00
Jess Frazelle 4a707c9ad9 Merge pull request #16364 from wcwxyz/master
Preserve /etc/sysconfig/docker across rpm update
2015-09-17 13:36:17 -07:00
Doug Davis a283a30fb0 Move api/errors/ to errors/
Per @calavera's suggestion: https://github.com/docker/docker/pull/16355#issuecomment-141139220

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-17 11:54:14 -07:00
Jess Frazelle 4702d45599 Merge pull request #16271 from runcom/deprecate-cli-opts
Deprecate -c cli short variant flag in docker run
2015-09-17 11:52:59 -07:00
Jess Frazelle 96c735a724 Merge pull request #16354 from tomdee/patch-3
Update the instructions for building experimental docker binaries
2015-09-17 11:50:07 -07:00
Jess Frazelle 828e4ac45a Merge pull request #16355 from duglin/DaemonErrors
Convert some "daemon" static error strings to the new errocode package format
2015-09-17 11:48:37 -07:00
Mike Brown 2b6b9a8018 man update for docker run with host volumes
Signed-off-by: Mike Brown <brownwm@us.ibm.com>

cleaning up docker run -v documentation for man and web reference guide

Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-09-17 12:15:18 -05:00
David Calavera 57c6012cf0 Merge pull request #16375 from sunyuan3/makefile
from make file to Makefile
2015-09-17 10:10:18 -07:00
Antonio Murdaca 66be81b148 integration-cli: add cli/api stats tests when container not found
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-17 18:20:25 +02:00
David Calavera cfd3080a80 Merge pull request #15898 from Microsoft/15775-buildcontextfix
Windows: Fix long path handling for docker build
2015-09-17 09:19:23 -07:00
Yuan Sun 5e7895ee21 from make file to Makefile
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-09-17 15:37:50 +00:00
Antonio Murdaca e33b8b11af Merge pull request #16370 from mountkin/daemon-cleanup
remove the unused run() and output() functions in daemon/container.go
2015-09-17 17:33:55 +02:00
David Calavera cafee2eb45 Merge pull request #16361 from MHBauer/stats-refactor
refactor stats to not use internal data structures
2015-09-17 08:28:07 -07:00
Antonio Murdaca e5a26ec081 Deprecate -c cli short variant flag in docker run
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-17 15:48:48 +02:00
Brian Goff 3b168b29f2 Merge pull request #16372 from runcom/skip-racey-twst
Skip racey TestDockerCmdInDirWithTimeout
2015-09-17 09:47:08 -04:00
Antonio Murdaca f172847205 Skip racey TestDockerCmdInDirWithTimeout
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-17 15:30:07 +02:00
Shijiang Wei b79782e951 remove the unused run() and output() functions in daemon/container.go
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-09-17 19:22:25 +08:00
Morgy93 cdc91aaf7c Added some adjectives
Signed-off-by: Thomas Hauschild <thomas@ulfertsprygoda.de>
2015-09-17 11:04:01 +02:00
Antonio Murdaca ffaee8fe78 Merge pull request #16336 from mountkin/fix-hijack
error should be checked earlier in the hijack function
2015-09-17 09:38:48 +02:00
WANG Chao b51918fba1 Preserve /etc/sysconfig/docker across rpm update
Otherwise we have to reconfigure every time docker rpm got update.

Signed-off-by: WANG Chao <wcwxyz@gmail.com>
2015-09-17 12:12:28 +08:00
Tibor Vass 1ffff4c8e2 Merge pull request #15182 from mapuri/build-arg
Support for passing build-time variables in build context
2015-09-16 23:52:37 -04:00
Brian Goff 4dfa996cc2 Merge pull request #15384 from phil-monroe/15058-include-name-in-syslog-tag
log driver - Interpolate fields into log tag
2015-09-16 23:33:34 -04:00
Morgan Bauer 2d5d606fd3 refactor stats to not use internal data structures
- refactor to make it easier to split the api in the future
 - addition to check the existing test case and make sure it contains
   some expected output

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-09-16 17:28:52 -07:00
David Calavera b0b3bc56d0 Merge pull request #16357 from Microsoft/10662-enabledockervolume
Windows: Enable docker volume
2015-09-16 16:42:50 -07:00
Doug Davis f7d4b4fe2b Convert some "daemon" static error strings to the new errocode package format
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-16 16:16:42 -07:00
David Calavera 9ab8c2d92e Merge pull request #16358 from mrjana/mh
Vendoring libnetwork
2015-09-16 15:47:47 -07:00
Arnaud Porterie 0ac28f5e48 Merge pull request #16294 from jfrazelle/cleanup-vendor
cleanup vendoring of test deps
2015-09-16 15:45:36 -07:00
Tibor Vass 9a8f1b7673 Merge pull request #16359 from cpuguy83/skip_racey_test
Skip racey TestDockerCmdWithTimeout
2015-09-16 18:37:14 -04:00
Brian Goff 5cf3a6e010 Skip racey TestDockerCmdWithTimeout
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-16 18:36:35 -04:00
Sebastiaan van Stijn 3394fedf32 Merge pull request #16269 from moxiegirl/fixes-15790
Clarifying use of flag
2015-09-17 00:23:25 +02:00
Philip Monroe 3be7146e14 log driver - add ability to interpolate container context into the log tag field
Signed-off-by: Philip Monroe <phil@philmonroe.com>
2015-09-16 15:19:28 -07:00
Antonio Murdaca 5cbcbfc03c Merge pull request #16031 from thockin/14069-dns-options
Add support for DNS options
2015-09-16 23:59:19 +02:00
Jana Radhakrishnan a803148bba Vendoring libnetwork
To fix an issue with experimental multihost networking.
git hash: 00a92f066e628e4c6d50979c070df377575aad18

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-16 14:48:42 -07:00
Brian Goff 677a6eaf8f Merge pull request #16261 from vdemeester/integration-dockercmd
Move dockerCmd to pkg/integration and add tests to it
2015-09-16 17:40:33 -04:00
John Howard 42a46ed1a4 Windows: Enabled docker volume
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-16 14:33:13 -07:00
David Calavera 4a2c3733bd Merge pull request #16351 from mavenugo/vin_ln_kv
Vendoring in libnetwork and libkv
2015-09-16 14:10:49 -07:00
Tim Hockin 3d4685e258 Add support for DNS options
Signed-off-by: Tim Hockin <thockin@google.com>
2015-09-16 14:06:45 -07:00
David Calavera b9a3660d1e Merge pull request #16316 from vbatts/vbatts-events
daemon/events: let Log be [slightly] blocking
2015-09-16 13:57:06 -07:00
David Calavera fb01c2ea3c Merge pull request #16350 from cpuguy83/fix_error_on_dev-snd_test
Skip TestRunDeviceDirectory when no /dev/snd
2015-09-16 13:56:11 -07:00
Jess Frazelle ac34ce0307 Merge pull request #16305 from estesp/hooks-for-the-hooks-gods
Use libcontainer hook for network namespace info passing to libnetwork's sandbox
2015-09-16 13:55:16 -07:00
Alexander Morozov 5b99591e18 Merge pull request #16308 from runcom/graph-unparam
graph: remove unused functions parameters
2015-09-16 13:54:23 -07:00
David Calavera c1e59b94e2 Merge pull request #16345 from albers/completion-extglob-fix
[Fix 16326] Bash completion syntax error on OSX
2015-09-16 13:43:02 -07:00
Jess Frazelle 74a8f2f668 Merge pull request #15861 from brahmaroutu/gccgo_x86
Enable building Docker with gcc-go on x86
2015-09-16 13:29:02 -07:00
Tom Denham f9e9a622f0 Update the instructions for building experimental docker binaries
There is no dynbinary target.

Signed-off-by: Tom Denham <tom@tomdee.co.uk>
2015-09-16 13:18:32 -07:00
David Calavera bfc4e38429 Merge pull request #16320 from 0xfoo/remove-unused-var
Remove unused variable, fix #16310
2015-09-16 13:17:10 -07:00
Srini Brahmaroutu 2c53643b33 adding a Dockerfile.gccgo to use gccgo compiler instead of go compiler.
temporarily disabling registry builds as crypto package is broken with gccgo.

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-09-16 18:56:01 +00:00
Madhu Venugopal 814c19591d Vendoring in libnetwork and libkv
* libkv upgrade is required for the docker discovery PR
* vendor-in libnetwork contains an update to network plugin api
  (Thanks @WeiZhang555 : https://github.com/docker/libnetwork/pull/516)

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-09-16 11:54:28 -07:00
Brian Goff 88b895111b Skip TestRunDeviceDirectory when no /dev/snd
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-16 14:43:30 -04:00
Sebastiaan van Stijn 259a0fb16c Merge pull request #15786 from HuKeping/stats-network
Refactor the statistics of network in docker stats
2015-09-16 20:29:16 +02:00
Mary Anthony a2f545c86d Clarifying use of flag
Updating with Seb's comments
Updating with comments from review

Signed-off-by: Mary Anthony <mary@docker.com>
2015-09-16 11:22:40 -07:00
David Calavera 60db152b20 Merge pull request #16292 from tpounds/fix-doc-typo
Fix minor documentation typo.
2015-09-16 11:18:17 -07:00
David Calavera 552c361f39 Merge pull request #16347 from jfrazelle/revert-ulp
Revert "Make daemon to start with no userlandproxy by default"
2015-09-16 10:01:11 -07:00
Jessica Frazelle 50d7fba775 Revert "Make daemon to start with no userlandproxy by default"
This reverts commit bf2b8ec816.

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-16 09:56:38 -07:00
Madhu Venugopal e148e763b8 Update native execdriver to exploit libcontainer hooks
Using @mavenugo's patch for enabling the libcontainer pre-start hook to
be used for network namespace initialization (correcting the conflict
with user namespaces); updated the boolean check to the more generic
SupportsHooks() name, and fixed the hook state function signature.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-09-16 12:51:14 -04:00
Harald Albers 0a5aac1ff6 Fix bash completion when extglob is not set
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-16 18:17:40 +02:00
Brian Goff 7b1930063f Merge pull request #16309 from LK4D4/fix_volumes_race
volumes: add synchronization to Count and List
2015-09-16 11:28:51 -04:00
Tim Waugh ea4d70bdfd Add documentation note that LABEL allows environment replacement
Signed-off-by: Tim Waugh <twaugh@redhat.com>
2015-09-16 14:47:01 +01:00
Brian Goff e0fee019ca Merge pull request #16314 from Microsoft/10662-stopsignal2
Windows: Turn off TestBuildStopSignal
2015-09-16 09:42:01 -04:00
Shijiang Wei f2d978ccf9 error should be checked earlier in the hijack function
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-09-16 20:28:07 +08:00
Madhav Puri 8cfcd87380 incorporate doc review comments
Signed-off-by: Madhav Puri <madhav.puri@gmail.com>
2015-09-16 03:31:15 -07:00
Madhav Puri 54240f8da9 Support for passing build-time variables in build context
- The build-time variables are passed as environment-context for command(s)
run as part of the RUN primitve. These variables are not persisted in environment of
intermediate and final images when passed as context for RUN. The build environment
is prepended to the intermediate continer's command string for aiding cache lookups.
It also helps with build traceability. But this also makes the feature less secure from
point of view of passing build time secrets.

- The build-time variables also get used to expand the symbols used in certain
Dockerfile primitves like ADD, COPY, USER etc, without an explicit prior definiton using a
ENV primitive. These variables get persisted in the intermediate and final images
whenever they are expanded.

- The build-time variables are only expanded or passed to the RUN primtive if they
are defined in Dockerfile using the ARG primitive or belong to list of built-in variables.
HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxy, FTP_PROXY and NO_PROXY are built-in
variables that needn't be explicitly defined in Dockerfile to use this feature.

Signed-off-by: Madhav Puri <madhav.puri@gmail.com>
2015-09-16 03:31:15 -07:00
Jessica Frazelle b0d4e9d1ba add opensuse to rpm builder
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-15 16:18:19 -07:00
moxiegirl 606c6e8f57 Merge pull request #16291 from mikebrow/readme-updates-for-man-pages
updates to readme documents for manual page
2015-09-15 15:18:19 -07:00
Jess Frazelle be082715c7 Merge pull request #16324 from calavera/update_changelog
Update changelog for version 1.8.2.
2015-09-15 14:51:53 -07:00
David Calavera 3b7cdfcd6b Update changelog for version 1.8.2.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-15 17:43:37 -04:00
Christian Rotzoll 9c9b748ad8 Remove unused variable, fix #16310
Signed-off-by: Christian Rotzoll <ch.rotzoll@gmail.com>
2015-09-15 22:20:10 +02:00
Vincent Batts fc77ea787e Revert "Make events test more deterministic in go1.5"
This reverts commit 386aefb9fc.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-09-15 15:55:18 -04:00
John Howard 6167c7bfb8 Windows: Turn off TestBuildStopSignal
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-15 11:56:54 -07:00
Vincent Batts 09e7dd03f8 daemon/events: let Log be [slightly] blocking
With go1.5's concurrency, the use of a goroutine in Log'ing events was
causing the resulting events to not be in order.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-09-15 14:28:22 -04:00
Stefan J. Wernli 9b648dfac6 Windows: Fix long path handling for docker build
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-09-15 10:58:11 -07:00
Alexander Morozov 2d21996eec volumes: add synchronization to Count and List
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-15 10:38:53 -07:00
Mike Brown 96699e06dd updates to readme documents for manual page
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-09-15 12:08:02 -05:00
Brian Goff 59311faaed Merge pull request #16285 from calavera/cleanup_volumes_when_create_fails
Remove volume references when container creation fails.
2015-09-15 10:55:51 -04:00
Antonio Murdaca 723f587b56 graph: remove unused functions parameters
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-15 15:34:15 +02:00
Brian Goff e91f2c26ce Merge pull request #15069 from duglin/UseErrorPackage
Use the new error package
2015-09-15 09:28:53 -04:00
Flavio Castelli 5d6bb52976 Update SUSE docs
Clarify some parts of the document, add extra resources link.

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
2015-09-15 14:46:46 +02:00
Antonio Murdaca db2ac8655d Merge pull request #16275 from coolljt0725/fix_register_failed_and_start
Fix container register failed during daemon start and then start the container
2015-09-15 11:46:03 +02:00
Antonio Murdaca 0d873f6e70 Merge pull request #16279 from coolljt0725/clean_up
Clean up: remove redundant value assign in runconfig/parse.go
2015-09-15 11:43:38 +02:00
Hu Keping d3379946ec Refactor the statistics of network in docker stats
For now docker stats will sum the rxbytes, txbytes, etc. of all
the interfaces.

It is OK for the output of CLI `docker stats` but not good for
the API response, especially when the container is in sereval
subnets.

It's better to leave these origianl data to user.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-15 15:40:34 +08:00
Sebastiaan van Stijn 99b40d1e14 Merge pull request #16295 from BWITS/master
typo
2015-09-15 08:42:04 +02:00
Phil Estes 370ca6e401 Merge pull request #16282 from mavenugo/ln_uns
Vendor-in libnetwork 2baa2ddc78b42f011f55633282ac63a72e1b09c1
2015-09-14 22:18:50 -04:00
Bill W 386b7bc71b typo
Signed-off-by: Bill Wang <ozbillwang@gmail.com>
2015-09-15 11:58:20 +10:00
Jessica Frazelle 8ef7aaf885 cleanup vendoring of test deps
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-14 17:38:50 -07:00
Stephen Day 58d6919183 Merge pull request #16197 from aaronlehmann/carry-15539
Carry #15539: Avoid redundant HEAD requests on push
2015-09-14 17:15:32 -07:00
Trevor Pounds 2eedaf0389 Fix minor documentation typo.
Signed-off-by: Trevor Pounds <trevor.pounds@gmail.com>
2015-09-14 17:08:04 -07:00
Brian Goff a90ed92df0 Merge pull request #16283 from nalind/journald-not-nil
Remove unnecessary check for nil CString
2015-09-14 19:45:36 -04:00
David Calavera 7ce270d4ea Merge pull request #15931 from vdemeester/api-client-ps-coverage
Add more unit tests on api/client/ps package
2015-09-14 14:02:49 -07:00
David Calavera bda964d085 Merge pull request #16247 from calavera/unexport_volumedriver_interface
Unexport VolumeDriver.
2015-09-14 13:47:00 -07:00
David Calavera 2c6c07752c Remove volume references when container creation fails.
Volumes are accounted when a container is created.
If the creation fails we should remove the reference from the counter.
Do not log ErrVolumeInUse as an error, having other volume references is
not an error.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-14 16:16:46 -04:00
David Calavera fedecb8c91 Merge pull request #16276 from Mashimiao/typo-fix-opts-split
opts/opts.go: fix typo
2015-09-14 13:12:16 -07:00
Doug Davis 628b9a41b0 Use the new error package
This is the first step in converting out static strings into well-defined
error types.  This shows just a few examples of it to get a feel for how things
will look. Once we agree on the basic outline we can then work on converting
the rest of the code over.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-14 13:11:01 -07:00
Nalin Dahyabhai 11fda783f8 Remove unnecessary check for nil CString
@noxiouz points out that we don't need to check for a nil result from
C.CString(), since an out-of-memory condition causes a runtime panic
instead.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2015-09-14 14:16:48 -04:00
Derek McGowan 5e11cd43aa Ignore ping errors in notary repository setup
Notary is capable of acting in offline mode, making use of cache TUF data.
When ping is not successful, notary should still be attempted without error.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-09-14 11:08:25 -07:00
Madhu Venugopal d0e0c13b60 Vendor-in 2baa2ddc78b42f011f55633282ac63a72e1b09c1 for userns support
Changes include :
* libnetwork support for userns
* driver api change to have 1 interface per endpoint

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-09-14 11:04:12 -07:00
Sebastiaan van Stijn 084f8060e2 Merge pull request #16274 from opreaadrian/rest-api-documentation-syntax-error
Rest api documentation syntax error
2015-09-14 19:40:59 +02:00
David Calavera d25dada639 Merge pull request #15886 from xiekeyang/master
Fix: Docker Daemon didn't send actual actions client ask for to Token Server
2015-09-14 09:47:19 -07:00
Mike Brown ff61be9b04 rebased, the clean up of the first few paragraphs of getting started with containers; addressed nit
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-09-14 09:26:32 -05:00
moxiegirl 621143a641 Merge pull request #16253 from AmeBel/update-documentation-on-run
add a documentation note on backslash usage in shell form of RUN
2015-09-14 06:32:20 -07:00
Lei Jitang 5575b93678 Clean up: remove redundant value assign in runconfig/parse.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-14 08:30:11 -04:00
Amen Belayneh 30164588d6 update documentation styling as per suggestions
Signed-off-by: Amen Belayneh <amenbelayneh@gmail.com>
2015-09-14 19:08:27 +08:00
Adrian Oprea 18d856f55a Fix typos in REST API documentation
Replace comma with column
Remove extra curly brace

Fix typo in REST API documentation

Replace comma with column in documentation.

Signed-off-by: Adrian Oprea <adrian@codesi.nz>

Remove extra curly brace

Remove extra curly brace from remote API docs.

Signed-off-by: Adrian Oprea <adrian@codesi.nz>
2015-09-14 11:18:41 +03:00
Ma Shimiao 185544a4fe opts/opts.go: fix typo
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-14 14:48:09 +08:00
Lei Jitang b4841dd237 Fix container register failed during daemon start and try to start the container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-09-13 22:52:56 -04:00
Phil Estes dac92a8afb Merge pull request #16244 from calavera/libcontainer_0_0_4
Vendor libcontainer v0.0.4
2015-09-13 22:24:44 -04:00
Sven Dowideit 21cc0ac2c6 Merge pull request #16241 from jaxgeller/fix-installation-docs
fix typo and cleanup docs for installation.
2015-09-14 09:23:33 +10:00
Sebastiaan van Stijn 25eb101624 Merge pull request #16268 from charleswhchan/fix-ubuntu-doc
Fix Ubuntu instalation doc.
2015-09-14 00:11:16 +02:00
Charles Chan 6b16c154f5 Fix Ubuntu instalation doc.
Formatting, break `sudo ...` command into 2 lines.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-09-13 13:29:50 -07:00
Vincent Demeester 7efa0f37b2 Move dockerCmd… to pkg/integration…
… and add some tests on them.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-13 13:09:04 +02:00
Doug Davis 611dbd8957 Merge pull request #16254 from dgageot/patch-5
Fix typo in ROADMAP.md
2015-09-12 06:15:00 -04:00
David Gageot 02e18c9ab3 Fix typo in ROADMAP.md
Signed-off-by: David Gageot <david@gageot.net>
2015-09-12 11:27:46 +02:00
Amen Belayneh 6a55d95334 add a documentation note on backslash usage in shell form of RUN
Signed-off-by: Amen Belayneh <amenbelayneh@gmail.com>
2015-09-12 15:42:18 +08:00
Sebastiaan van Stijn 9d0954a83d Merge pull request #16100 from ZJU-SEL/fix-document-about-vol
fix doc about vol
2015-09-12 02:50:49 +02:00
David Calavera 69dde5c075 Unexport VolumeDriver.
This is not a public interface and users are trying to use it.
We only use it to be able to generate the rpc protocol to talk with a plugin.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-11 18:19:38 -04:00
Alexander Morozov 7fc4566c9d Merge pull request #13707 from nalind/journald-logs
Implement the "logs" endpoint for the journald log driver
2015-09-11 14:38:33 -07:00
Nalin Dahyabhai e611a189cb Add log reading to the journald log driver
If a logdriver doesn't register a callback function to validate log
options, it won't be usable.  Fix the journald driver by adding a dummy
validator.

Teach the client and the daemon's "logs" logic that the server can also
supply "logs" data via the "journald" driver.  Update documentation and
tests that depend on error messages.

Add support for reading log data from the systemd journal to the
journald log driver.  The internal logic uses a goroutine to scan the
journal for matching entries after any specified cutoff time, formats
the messages from those entries as JSONLog messages, and stuffs the
results down a pipe whose reading end we hand back to the caller.

If we are missing any of the 'linux', 'cgo', or 'journald' build tags,
however, we don't implement a reader, so the 'logs' endpoint will still
return an error.

Make the necessary changes to the build setup to ensure that support for
reading container logs from the systemd journal is built.

Rename the Jmap member of the journald logdriver's struct to "vars" to
make it non-public, and to make it easier to tell that it's just there
to hold additional variable values that we want journald to record along
with log data that we're sending to it.

In the client, don't assume that we know which logdrivers the server
implements, and remove the check that looks at the server.  It's
redundant because the server already knows, and the check also makes
using older clients with newer servers (which may have new logdrivers in
them) unnecessarily hard.

When we try to "logs" and have to report that the container's logdriver
doesn't support reading, send the error message through the
might-be-a-multiplexer so that clients which are expecting multiplexed
data will be able to properly display the error, instead of tripping
over the data and printing a less helpful "Unrecognized input header"
error.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2015-09-11 16:50:03 -04:00
David Calavera 6f15546f6b Merge pull request #16231 from jfrazelle/vendor-test-deps
allow vendoring of test packages
2015-09-11 13:47:03 -07:00
David Calavera 55a601e3f1 Vendor libcontainer v0.0.4
Noteworthy changes:

- Add Prestart/Poststop hook support
- Fix bug finding cgroup mount directory
- Add OomScoreAdj as a container configuration option
- Ensure the cleanup jobs in the deferrer are executed on error
- Don't make modifications to /dev when it is bind mounted

Other changes in runc:

https://github.com/opencontainers/runc/compare/v0.0.3...v0.0.4

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-11 16:17:59 -04:00
Jess Frazelle 9fbef808c1 Merge pull request #16243 from LK4D4/fix_import
awslogs: fix logrus import
2015-09-11 12:46:57 -07:00
Jess Frazelle c044dadade Merge pull request #15955 from aaronlehmann/parallel-pull-race-2
Fix race condition when waiting for a concurrent layer pull
2015-09-11 12:45:25 -07:00
Jess Frazelle f9320690d9 Merge pull request #14973 from mrjana/up
Make daemon to start with no userlandproxy by default
2015-09-11 12:39:04 -07:00
Jana Radhakrishnan bf2b8ec816 Make daemon to start with no userlandproxy by default
This PR makes a user visible behavior change with userland
proxy disabled by default and rely on hairpin NAT to be enabled
by default. This may not work in older (unsupported) kernels
where the user will be forced to enable userlandproxy if needed.

      - Updated the Docs
      - Changed the integration-cli to start with userlandproxy
	desiabled by default.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-11 11:58:35 -07:00
Alexander Morozov 32964def83 awslogs: fix logrus import
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-11 11:05:06 -07:00
Mrunal Patel c8291f7107 Add support for sharing /dev/shm/ and /dev/mqueue between containers
This changeset creates /dev/shm and /dev/mqueue mounts for each container under
/var/lib/containers/<id>/ and bind mounts them into the container. When --ipc:container<id/name>
is used, then the /dev/shm and /dev/mqueue of the ipc container are used instead of creating
new ones for the container.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)

(cherry picked from commit d88fe447df)
2015-09-11 14:02:11 -04:00
Mrunal Patel 3f631b0d94 Modify test to include /dev/shm sharing
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
(cherry picked from commit 457aeaa2e1)
2015-09-11 14:02:11 -04:00
Jess Frazelle ec6d91ce43 Merge pull request #16240 from Microsoft/10662-stopsignal
Windows: Nice error on stopsignal
2015-09-11 11:00:12 -07:00
Aaron Lehmann 4a5d40fdb7 Make Broadcaster Wait function wait for all writers to finish before returning
Also, use the channel to determine if the broadcaster is closed,
removing the redundant isClosed variable.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-11 10:54:40 -07:00
Aaron Lehmann 50c355777e Remove io.Pipe used for download progress
The original purpose of this was to cancel downloads if pullV2Tag
returns an error, preventing an associated crash (see #15353). The
broadcaster now accomplishes the same thing that the pipe does, making
the pipe redundant. When pullV2Tag returns, all broadcasters are closed,
which means all further writes to those broadcasters will return errors.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-11 10:54:40 -07:00
Aaron Lehmann 64faec8269 Fix races accessing d.poolKey and d.tmpFile when pullV2Tag returns
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-11 10:54:35 -07:00
Brian Goff bc48194ded Merge pull request #16215 from HuKeping/save
Refactor CLI docker save
2015-09-11 13:52:59 -04:00
Aaron Lehmann 23e68679f0 Fix race condition when waiting for a concurrent layer pull
Before, this only waited for the download to complete. There was no
guarantee that the layer had been registered in the graph and was ready
use. This is especially problematic with v2 pulls, which wait for all
downloads before extracting layers.

Change Broadcaster to allow an error value to be propagated from Close
to the waiters.

Make the wait stop when the extraction is finished, rather than just the
download.

This also fixes v2 layer downloads to prefix the pool key with "layer:"
instead of "img:". "img:" is the wrong prefix, because this is what v1
uses for entire images. A v1 pull waiting for one of these operations to
finish would only wait for that particular layer, not all its
dependencies.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-11 10:52:34 -07:00
Tianon Gravi f9e5a693ed Merge pull request #16194 from yosifkit/fix-nuke
Fix nuke script
2015-09-11 10:26:22 -07:00
Jess Frazelle 335689118b Merge pull request #16026 from vdemeester/integration-cli-utils-tests
Add unit tests for integration cli utils.go functions
2015-09-11 10:21:09 -07:00
Jess Frazelle dc1cc46348 Merge pull request #16224 from jfrazelle/no-release-dirty
do not allow the release of a dirty binary
2015-09-11 10:08:55 -07:00
jaxgeller 9746021f1a fix typo and cleanup docs for installation.
Signed-off-by: Jackson Geller <jacksongeller@gmail.com>
2015-09-11 13:06:54 -04:00
John Howard 8de7fcaf7e Windows: Nice error on stopsignal
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-11 09:40:23 -07:00
David Calavera db54c79d7c Merge pull request #15307 from calavera/stop_signal
Signal to stop a container.
2015-09-11 09:25:18 -07:00
Hu Keping 22be1e443f Refactor CLI docker save
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-11 15:31:55 +08:00
Brian Goff 7064fe283f Merge pull request #16226 from aaronlehmann/broadcaster-catch-up
Broadcaster writer goroutines must only finish when they are caught up
2015-09-10 22:55:44 -04:00
xlgao-zju af14c6e7aa fix doc about vol
Signed-off-by: xlgao-zju <xlgao@zju.edu.cn>
2015-09-11 10:49:39 +08:00
Jessica Frazelle 1ca88b2ca6 allow vendoring of test packages
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-10 19:21:46 -07:00
Derek McGowan a0d9ffd6f7 Fix layer exclusion bug on multiple tag push
Ensure that layers are not excluded from manifests based on previous pushes.
Continue skipping pushes on layers which were pushed by a previous tag.

Update push multiple tag tests.
Ensure that each tag pushed exists on the registry and is pullable.
Add output comparison on multiple tag push check.

fixes #15536

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-09-10 18:08:59 -07:00
David Calavera 3781cde61f Add STOPSIGNAL instruction to dockerfiles.
This way, images creators can set the exit signal their programs use.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-10 19:56:05 -04:00
David Calavera 0e50d946a2 Signal to stop a container.
Allow to set the signal to stop a container in `docker run`:
- Use `--stop-signal` with docker-run to set the default signal the container will use to exit.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-10 19:56:05 -04:00
David Calavera bb1996ab8f Merge pull request #13185 from NOX73/10139-tags-list-get-image-api
Added tags list to /images/:id/json api.
2015-09-10 16:40:44 -07:00
Aaron Lehmann 947519bfb3 Broadcaster writer goroutines must only finish when they are caught up
Without this change, there was a narrow race condition that would allow
writers to finish when there was still data left to write. This is
likely to be what was causing some integration tests to fail with
truncated pull output.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-10 14:58:06 -07:00
Jessica Frazelle b18d664692 do not allow the release of a dirty binary
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-10 12:28:09 -07:00
David Calavera 65e43593f5 Merge pull request #16191 from runcom/daemon-remove-unused-function-params
daemon: remove unused function params
2015-09-10 10:23:52 -07:00
Brian Goff c8dc729af4 Merge pull request #16086 from cezarsa/full_stack_dump
Ensure goroutines dump is not truncated
2015-09-10 11:16:28 -04:00
Brian Goff 08a2e475bc Merge pull request #16104 from vdemeester/httputils-withmock
Update httputils tests
2015-09-10 11:00:17 -04:00
Doug Davis 727f083a37 Merge pull request #16213 from HuKeping/minor
Minor typo
2015-09-10 09:55:49 -04:00
Rozhnov Alexandr e9e68fa2d2 Added tags list to /images/:id/json api.
It closes #10139.

Signed-off-by: Rozhnov Alexandr <nox73@ya.ru>
2015-09-10 11:55:01 +03:00
Hu Keping 40d3ce1063 Minor typo
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-10 14:13:15 +08:00
Sebastiaan van Stijn 072790bb3b Merge pull request #16202 from tnws/fix-please
Remove stray please
2015-09-10 07:59:46 +02:00
Trevor 012bdac6d6 Remove stray please
Signed-off-by: Trevor <trevinwoodstock@gmail.com>
2015-09-09 21:21:23 -04:00
David Calavera 6efe45990d Merge pull request #15953 from duglin/DaemonContext
Add a "context" to the api/server/* code
2015-09-09 17:28:38 -07:00
Brian Goff b78e4216a2 Create extpoint for graphdrivers
Allows people to create out-of-process graphdrivers that can be used
with Docker.

Extensions must be started before Docker otherwise Docker will fail to
start.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-09 20:24:35 -04:00
David Calavera 9f517fc5bb Merge pull request #15495 from samuelkarp/awslogs-logging-driver
Add awslogs driver for Amazon CloudWatch Logs
2015-09-09 17:19:39 -07:00
moxiegirl 8855bf3500 Merge pull request #16023 from mikebrow/12854-update-irc-webpage
refresh where to chat page; and add IRCCloud to IRC Quickstart
2015-09-09 17:14:28 -07:00
moxiegirl b154a6f68e Merge pull request #16188 from albers/docs-volume-help
Update docs and man pages for `docker volume` subcommands
2015-09-09 17:13:21 -07:00
Joe Ferguson d2e9f6c0c1 Fix nuke script to remove from end of path
Signed-off-by: Joe Ferguson <joe@infosiftr.com>
2015-09-09 15:34:05 -07:00
David Calavera 72f355e466 Merge pull request #16192 from anusha-ragunathan/dev
Updated rpm spec to perform cleaner installs
2015-09-09 15:26:36 -07:00
Doug Davis f790496d8b Move context stuff to its own package
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-09 14:23:25 -07:00
Anusha Ragunathan 1caa9a7d16 Updated rpm spec to perform cleaner installs
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2015-09-09 17:13:57 -04:00
Samuel Karp 3effe484e6 Add awslogs driver for Amazon CloudWatch Logs
Signed-off-by: Samuel Karp <skarp@amazon.com>
2015-09-09 13:52:40 -07:00
Samuel Karp 85433365cc Vendor AWS Go SDK
Signed-off-by: Samuel Karp <skarp@amazon.com>
2015-09-09 13:51:14 -07:00
Antonio Murdaca 587823af27 daemon: remove unused function params
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-09 22:37:46 +02:00
David Calavera a796ac5318 Merge pull request #14626 from kunalkushwaha/add-network-cli-help
"docker network" missing from docker --help
2015-09-09 13:36:43 -07:00
Mike Brown 82fce53103 addressing useability comments per @moxiegirl
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-09-09 14:59:30 -05:00
Doug Davis 8b454dd79e Add a "context" to the api/server/* code
This defines a 'context' object that is passed to each API handler.
Right now the context just has a unique 'requestID' for each API call.
The next steps would be:
- use this 'requestID' in our logging.
- determine the best way to format the logging to include this info.

In particular for log events that generate multiple entries in the log
we can use the requestID to help correlate the log entries.

Adding the requestID to the logging will be a challenge since it could mean
changing every single logrus.XXX() call to pass in the 'context' object.

But first step is to agree on a format, which we can discus in a subsequent
PR, but my initial thoughts are to add it right after the timestamp:

current format:
INFO[0039] POST /v1.21/build?buildargs=%7B%22foo%22%3A%22xxx%22%7D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=&ulimits=null

proposed format:
INFO[0039-83dea1222191] POST /v1.21/build?buildargs=%7B%22foo%22%3A%22xxx%22%7D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=&ulimits=null

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-09 12:51:20 -07:00
Arnaud Porterie 5ff63b6946 Merge pull request #16154 from calavera/remove_steve_from_maintainers
Remove Steve Francia from maintainers.
2015-09-09 12:38:59 -07:00
Jess Frazelle d333849459 Merge pull request #16162 from cpuguy83/16071_fix_lstat_errors
Ignore stat errors on volume rm.
2015-09-09 11:55:14 -07:00
Jess Frazelle 0072896445 Merge pull request #16171 from vdemeester/lint-only-on-diff
Golint only on changed files
2015-09-09 10:19:16 -07:00
Alexander Morozov 5d67fd5fb2 Merge pull request #16185 from runcom/fix-pkg-devicemapper-typo
pkg: devicemapper: fix typo in function declaration
2015-09-09 10:17:52 -07:00
Harald Albers 2724010364 update docker volume man pages
- added --help option
- fixed several formatting problems

Also added --help to volume inspect reference page.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-09 19:16:39 +02:00
Jess Frazelle 3d8aae1308 Merge pull request #16149 from LK4D4/remove_link_libs
Remove -lpthread and -ldl from ldflags
2015-09-09 10:13:36 -07:00
Sebastiaan van Stijn 34752e091d Merge pull request #16179 from hristozov/patch-1
Update the time since Linux 2.6.26 in the security article
2015-09-09 18:33:50 +02:00
Brian Goff 58ae808d42 Merge pull request #16180 from HuKeping/graph
We don't need image layer stream when create the rootfs
2015-09-09 10:16:31 -04:00
Antonio Murdaca d4a123b20b pkg: devicemapper: fix typo in function declaration
6990b76a69 introduced a typo in function
declaration, this patch fixes that.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-09 15:57:52 +02:00
Vincent Demeester 5109071706 Add unit tests for integration cli utils function
- utils_test.go and docker_utils_test.go
- Moved docker related function to docker_utils.go
- add a test for integration-cli/checker

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-09 15:36:44 +02:00
Vincent Demeester 5c80c3fb3c Update httputils tests
- Make sure we use httptest instead of depending on network
- Update resumablerequestreader tests

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-09 14:59:25 +02:00
Hu Keping f70c592137 We don't need image layer stream when create the rootfs
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-09 20:31:08 +08:00
Antonio Murdaca 104d30f946 Merge pull request #16177 from HuKeping/leading-tab
Use TrimSpace to instead of Trim
2015-09-09 14:12:36 +02:00
Georgi Hristozov e514fabfac Linux 2.6.26 is now 7 years ago :)
Signed-off-by: Georgi Hristozov <georgi@forkbomb.nl>
2015-09-09 15:06:02 +03:00
Doug Davis 8ff67b9c1a Merge pull request #16176 from HuKeping/typo
Kind of typo
2015-09-09 07:37:37 -04:00
Hu Keping e9602f3561 Use TrimSpace to instead of Trim
String.Trim(string, " ") can only get ride of the blank, but actully we need
to remove all leading and trailing white space include "\t" for example.

Prior to this patch, one can login with "[Tab][Tab]username", and it will
not be consider as the same with "username".

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-09 19:37:33 +08:00
Sebastiaan van Stijn bab424aa34 Merge pull request #16170 from devmeyster/master
Minor formating changes
2015-09-09 13:11:56 +02:00
Hu Keping fd5c33194c Kind of typo
It seems the author foget to change the variable name after copying
from the valid testcase.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-09 19:03:53 +08:00
Vincent Demeester 1cca5ee98c Golint only on changed files
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-09 09:37:47 +02:00
devmeyster f8308a4965 Minor formating changes
- Changed ";" to "." at the end of bullet points for consistency

Signed-off-by: Artur Meyster <arthurfbi@yahoo.com>
2015-09-09 00:21:22 -07:00
Sebastiaan van Stijn 6733962a2c Merge pull request #16165 from devmeyster/patch-1
Added periods at the end of bullet points for consistency
2015-09-09 08:32:34 +02:00
Artur Meyster 2022fa81ff Added periods at the end of bullet points for consistency
Signed-off-by: Artur Meyster <arthurfbi@yahoo.com>
2015-09-08 23:17:10 -07:00
Brian Goff 9ca4aa4797 Merge pull request #15798 from calavera/volume_driver_host_config
Move VolumeDriver to HostConfig to make containers portable.
2015-09-08 22:05:40 -04:00
Brian Goff 8d27417bfe Ignore stat errors on volume rm.
Underlying volume data may have been removed by some other tool.
Ignore and remove the reference in this case.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-08 22:01:02 -04:00
Alexander Morozov a58aa9d889 Merge pull request #16157 from runcom/add-missing-err-check-integration-cli-run
integration-cli: add missing err check
2015-09-08 17:26:10 -07:00
Alexander Morozov 8845eb4345 Remove -lpthread and -ldl from ldflags
There is no need in those flags now when we use amalgamated sqlite3 from
mattn/go-sqlite3.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-08 17:01:14 -07:00
Brian Goff 4b4597ae17 Merge pull request #16158 from duglin/Issue16146
Add --help to "docker volume inspect --help" output
2015-09-08 19:50:22 -04:00
Brian Goff 25418010ef Merge pull request #16113 from Mashimiao/fix-bug-daemon-delete-link-remove
record the error of removing volumes when removing containers
2015-09-08 19:44:56 -04:00
David Calavera 51662df329 Merge pull request #16123 from albers/completion-volume
bash completion for `docker volume`
2015-09-08 16:21:49 -07:00
Jess Frazelle 634a848b8e Merge pull request #16096 from vdemeester/14756-final-golints
Final bits of enabling golint on the code base 🐹
2015-09-08 15:25:55 -07:00
David Calavera 5c22cb5741 Merge pull request #16148 from Microsoft/10662-fixlogging
Windows: Fix logging
2015-09-08 14:28:28 -07:00
David Calavera fd32c47112 Merge pull request #16151 from LK4D4/light_stats
Don't read CPU usage if there is no subscribers for stats
2015-09-08 14:26:54 -07:00
Doug Davis 87255b6721 Add --help to "docker volume inspect --help" output
Closes #16146

While in there, modified the testing infrastructure for the help text
so that we can get commands with nested commands - like "volume".

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-08 14:24:00 -07:00
Antonio Murdaca d5a705b600 integration-cli: add missing err check in TestRunNetworkNotInitializedNoneMode
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-08 23:05:54 +02:00
Jess Frazelle 9fdb626bfb Merge pull request #16153 from calavera/missing_ps_placeholder
Add missing ps placeholder to the docs.
2015-09-08 13:42:10 -07:00
David Calavera 1666fbe287 Remove Steve Francia from maintainers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-08 16:28:03 -04:00
David Calavera 914905f452 Add missing ps placeholder to the docs.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-08 16:12:26 -04:00
Vincent Demeester 0c70eb8381 Update validate-lint to find go files by itself
… and fixes the last bits that were missing :3.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-08 22:07:42 +02:00
Sebastiaan van Stijn ab197f7ad2 Merge pull request #16053 from sallyom/man-docker-tag
man docker-tag minor fixup
2015-09-08 21:45:27 +02:00
John Howard 1d52c53eea Windows: Fix logging
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-08 12:18:50 -07:00
moxiegirl 1947ab6c1e Merge pull request #15368 from jengeb/docs-docker-start
[docs] Add instruction to start docker on Ubuntu
2015-09-08 11:59:13 -07:00
David Calavera 479fcbb1d0 Merge pull request #16088 from jfrazelle/better-canonical-json-package
replace canonical json package
2015-09-08 11:58:24 -07:00
Alexander Morozov c486a3a6dc Don't read CPU usage if there is no subscribers for stats
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-09-08 11:57:22 -07:00
Madhu Venugopal eb5c81e799 Merge pull request #16130 from aboch/vnd
Vendoring libnetwork 3e31cead05cba8ec20241630d051e6d73765b3a2
2015-09-08 11:29:34 -07:00
Jess Frazelle 451f4d0d3b Merge pull request #16142 from cpuguy83/stats_pass_container
Don't lookup container 4 times for stats
2015-09-08 11:19:33 -07:00
Jess Frazelle 2b6da0a965 Merge pull request #16144 from albers/fix-volume-optional
[Fix 16122] usage for `docker volume inspect` and `docker volume rm`
2015-09-08 11:18:43 -07:00
Doug Davis 3fdfbd43b6 Merge pull request #16103 from HuKeping/format
Refactor some code to use simply format
2015-09-08 13:08:35 -04:00
Harald Albers 00eaa7e1f5 Fix usage for docker volume inspect and docker volume rm
For both commands, volume is _not_ optional. Several volumes may
be specified.
Both commands now use the same name (VOLUME) for the command argument.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-08 09:14:57 -07:00
Alessandro Boch 4d648f924a Vendoring libnetwork 3e31cead05cba8ec20241630d051e6d73765b3a2
+ Fix a couple of bugs introduced by previous vendoring:
  - in bitseq which prevents to use experimental overlay networking
  - in docker service ls cli o/p
+ Add missing http subrouter for newly introduced sandboxes
+ Fix fragmentation issue on vxlan header addition for overlay network driver
+ Remove libnetwork test code utilities from vendoring

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-09-08 07:36:35 -07:00
Brian Goff 3a539c6db9 Merge pull request #16098 from thaJeztah/fix-16095-reverse-dangling
Fix docker volume dangling filter
2015-09-08 10:17:07 -04:00
Brian Goff dc8a39036b Don't lookup container 4 times for stats
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-08 10:12:46 -04:00
Brian Goff 5f5d73d515 Merge pull request #14488 from HuKeping/fixstats
Fix connection block when using docker stats API
2015-09-08 10:01:11 -04:00
Brian Goff be7d346504 Merge pull request #16126 from calavera/remove_registry_circular_dep
Make RegistryConfig a typed value in the api.
2015-09-08 09:37:53 -04:00
Sebastiaan van Stijn 2968558f61 Merge pull request #16128 from duglin/TypoCP
Typo in cp.md
2015-09-08 08:14:20 +02:00
Alexander Morozov a8d6b033e1 Merge pull request #16094 from jfrazelle/bump-sqlite3
Bump sqlite3
2015-09-07 22:29:49 -07:00
Jessica Frazelle c045af8332 replace weird canonical json package with one that is rebased on the standard encoding/json package
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-07 18:51:33 -07:00
Jessica Frazelle 46df9e4ec3 update sqlite3 vendor with fix for static builds
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-07 18:50:56 -07:00
Doug Davis a14a31ed40 Typo in cp.md
Closes #16124

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-07 18:19:54 -07:00
Sven Dowideit 12058f3a75 Merge pull request #16064 from pachyderm/master
Add link to Pachyderm PFS volume driver plugin in plugins.md
2015-09-08 10:59:57 +10:00
David Calavera 719886d435 Make RegistryConfig a typed value in the api.
Remove possible circular dependency that prevented us from using a real
type.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-07 19:29:33 -04:00
Harald Albers 57ab4a1a6c bash completion for docker volume
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-07 13:22:57 -07:00
Doug Davis 13d1f0c1a1 Merge pull request #16121 from albers/doc-volume-typo-1
Fix minor typo in volume create reference
2015-09-07 15:33:40 -04:00
Harald Albers 45368779f8 Fix minor typo in docs
Signed-off-by: Harald Albers <github@albersweb.de>
2015-09-07 21:16:47 +02:00
Doug Davis b1053a7526 Merge pull request #16120 from josegonzalez/patch-1
Transform comma into period
2015-09-07 14:05:03 -04:00
Jose Diaz-Gonzalez be304ec688 Transform comma into period
This was probably meant as a separate sentence but is now
"proper english."

Signed-off-by: Jose Diaz-Gonzalez <jose@seatgeek.com>
2015-09-07 13:56:20 -04:00
David Calavera c1c4ccefcd Merge pull request #16110 from Mashimiao/daemon-create-fix-return-and-adjust
before adjusting should check whether need return or not
2015-09-07 09:16:23 -07:00
Ma Shimiao 49da029030 record the error of removing volumes
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-07 16:38:05 +08:00
Antonio Murdaca 6743a6e665 Merge pull request #16111 from Mashimiao/fix-typo-daemon-daemon
daemon/daemon: fix typo
2015-09-07 09:31:54 +02:00
Ma Shimiao 89f99343ff daemon/daemon: fix typo
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-07 14:43:22 +08:00
Ma Shimiao 73d8af9319 before adjusting should check whether need return or not
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-07 11:09:39 +08:00
Peter Edge f4fb4796a1 move pachyderm PFS link above rex ray link in docs/extend/plugins.md
Signed-off-by: Peter Edge <peter.edge@gmail.com>
2015-09-07 00:36:14 +02:00
Peter Edge 23b33aef1e Add link to Pachyderm PFS volume driver plugin in plugins.md
Signed-off-by: Peter Edge <peter.edge@gmail.com>
2015-09-07 00:36:03 +02:00
Charles Chan 549c8ea96e Touch up Node.js and MongoDB examples
- Remove extraneous '-' in sudo note.
- Correct space formatting (minor).
- Simplify instructions for install EPEL and install with yum directly.
- Add `nodejs` to yum install list explicitly to match the comments -- more transparent for new users who might not be clear `npm` package also installs `nodejs`.
- Remove '--noprealloc` from MongoDB example as the option has been depcated since Mongo 2.6 and is now the default behaviour. See: http://docs.mongodb.org/manual/reference/program/mongod/

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-09-06 14:34:54 -07:00
Vincent Demeester 6baf65d1a6 Complete unit tests on api/client/ps package
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-06 22:05:57 +02:00
Sebastiaan van Stijn 1cbf9047b3 Fix docker volume dangling filter
The docker volume ls -f dangling=true filter was
inverted; the filtered results actually returned all
non-dangling volumes.

This fixes the filter and adds some integration tests
to test the correct behavior.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-09-06 20:17:56 +02:00
Hu Keping cd33b98041 Refactor some code to use simply format
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-06 20:59:09 +08:00
Doug Davis 7ce97dbe30 Merge pull request #16102 from HuKeping/rmdeadcode
Remove dead code
2015-09-06 08:40:45 -04:00
Hu Keping c957d9c768 Remove dead code
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-06 19:52:39 +08:00
Hu Keping d9bf8163ad Fix connection block when using docker stats API
For now CLI `docker stats` will not block even if the container was
not running is because there is a 2s timeout setting when waiting for
the response.

I think why we hang there waiting for the container to run is because we
want to get the stats of container immediately when it starts running.
But it will block when use the API directly, for example
- curl
- Google Chrome plugin, Postman
- Firefox plugin, RESTClient

This patch keeps the feature that getting info immediately when container
starts running and in the meantime, it will not block when using the API
directrly.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-09-06 17:21:41 +08:00
Vincent Demeester 6990b76a69 Lint package pkg/devicemapper
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-05 23:15:13 +02:00
Vincent Demeester 915d6ec76d Lint package pkg/plugins/pluginrpc-gen
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-05 23:15:13 +02:00
Sebastiaan van Stijn 8562c423b8 Merge pull request #16091 from sallyom/man-docker-pull
correct man docker-pull
2015-09-05 14:14:11 +02:00
Sven Dowideit e4f721e73e Merge pull request #16082 from sallyom/manDocker
add --insecure-registry warning to online docs
2015-09-05 22:06:45 +10:00
Jessie Frazelle 835acd96ec Merge pull request #15992 from Microsoft/10662-cli
Windows: Get Integration CLI running
2015-09-04 13:38:41 -07:00
Sally O'Malley 73fe42e3db correct man docker-pull
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-04 16:34:40 -04:00
Kir Kolyshkin 15aad5d3e6 make binary: do not ignore unresolved symbols
TL;DR: stop building static binary that may fail

Linker flag --unresolved-symbols=ignore-in-shared-libs was added
in commit 06d0843 two years ago for the static build case, presumably
to avoid dealing with problem of missing libraries.

For the record, this is what ld(1) man page says:

> --unresolved-symbols=method
>    Determine how to handle unresolved symbols.  There are four
>    possible values for method:
> .........
>    ignore-in-shared-libs
>        Report unresolved symbols that come from regular object files,
>        but ignore them if they come from shared libraries.  This can
>        be useful when creating a dynamic binary and it is known that
>        all the shared libraries that it should be referencing are
>        included on the linker's command line.

Here, the flag is not used for its purpose ("creating a dynamic binary")
and does more harm than good. Instead of complaining about missing symbols
as it should do if some libraries are missing from LIBS/LDFLAGS, it lets
ld create a binary with unresolved symbols, ike this:

 $ readelf -s bundles/1.7.1/binary/docker-1.7.1 | grep -w UND
 ........
 21029: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND dlopen
 .........

Such binary is working just fine -- until code calls one of those
functions, then it crashes (for apparently no reason, i.e. it is
impossible to tell why from the diagnistics printed).

In other words, adding this flag allows to build a static binary
with missing libraries, hiding the problem from both a developer
(who forgot to add a library to #cgo: LDFLAGS -- I was one such
developer a few days ago when I was working on ploop graphdriver)
and from a user (who expects the binary to work without crashing,
and it does that until the code calls a function in one of those
libraries).

Removing the flag immediately unveils the problem (as it should):

	/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libsqlite3.a(sqlite3.o):
	In function `unixDlError':
	(.text+0x20971): undefined reference to `dlerror'
	/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libsqlite3.a(sqlite3.o):
	In function `unixDlClose':
	(.text+0x8814): undefined reference to `dlclose'

The problem is, gosqlite package says:

	#cgo LDFLAGS: -lsqlite3

which is enough for dynamic linking, as indirect dependencies (i.e.
libraries required by libsqlite3.so) are listed in .so file and will be
resolved dynamically by ldd upon executing the binary.

For static linking though, one has to list all the required libraries,
both direct and indirect. For libraries with pkgconfig support the
list of required libraries can be obtained with pkg-config:

	$ pkg-config --libs sqlite3 # dynamic linking case
	-lsqlite3
	$ pkg-config --libs --static sqlite3 # static case
	-lsqlite3 -ldl -lpthread

It seems that all one has to do is to fix gosqlite this way:

	-#cgo LDFLAGS: -lsqlite3
	+#cgo pkg-config: sqlite3

Unfortunately, cmd/go doesn't know that it needs to pass --static
flag to pkg-config in case of static linking
(see https://github.com/golang/go/issues/12058).

So, for one, one has to do one of these things:

1. Patch sqlite.go like this:

	-#cgo LDFLAGS: -lsqlite3
	+#cgo pkg-config: --static sqlite3

(this is exactly what I do in goploop, see
https://github.com/kolyshkin/goploop/commit/e9aa072f51)

2. Patch sqlite.go like this:
	-#cgo LDFLAGS: -lsqlite3
	+#cgo LDFLAGS: -lsqlite3 -ldl -lpthread

(I would submit this patch to gosqlite but it seems that
https://code.google.com/p/gosqlite/ is deserted and not maintained,
and patching it here is not right as it is "vendored")

3. Explicitly add -ldl for the static link case.
This is what this patch does.

4. Fork sqlite to github and maintain it there. Personally I am not
ready for that, as I'm neither a Go expert nor gosqlite user.

Now, #3 doesn't look like a clear solution, but nevertheless it makes
the build much better than it was before.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-09-04 13:15:25 -07:00
John Howard f9a3558a9d Windows: Get Integration CLI running
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-04 12:32:40 -07:00
Jessie Frazelle bc915d0856 Merge pull request #16087 from Microsoft/turn-off-dockerhubpull-suite
Temp: Turn off dockerhubpullsuite on Win2Linux CI
2015-09-04 12:30:06 -07:00
John Howard 0b18b1b309 Temp: Turn off dockerhubpullsuite on Win2Linux CI
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-04 11:53:40 -07:00
Jessie Frazelle 6b14d9a645 Merge pull request #16065 from Microsoft/10662-fix2panics
Fixes 2 panics initialising tests
2015-09-04 11:07:17 -07:00
Cezar Sa Espinola e787296c75 Ensure goroutines dump is not truncated
Calling runtime.Stack requires the buffer to be big enough to fit the
goroutines dump. If it's not big enough the dump will be truncated and
the value returned will be the same size as the buffer.

The code was changed to handle this situation and try again with a
bigger buffer. Each time the dump doesn't fit in the buffer its size is
doubled.

Signed-off-by: Cezar Sa Espinola <cezarsa@gmail.com>
2015-09-04 14:50:37 -03:00
Jessie Frazelle 5b46d8f0fa Merge pull request #16039 from icecrime/update_pull_tests
Update pull tests
2015-09-04 09:52:41 -07:00
Jessie Frazelle 7c667f9d6e Merge pull request #15999 from cpuguy83/15994_ext_volume_bind
Set bind driver after volume is created
2015-09-04 09:47:10 -07:00
David Calavera 6549d6517b Move VolumeDriver to HostConfig to make containers portable.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-04 12:42:44 -04:00
Sally O'Malley 5446aac0e5 add --insecure-registry warning to online docs
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-04 10:28:35 -04:00
Sally O'Malley 9c3aafd354 man docker-tag minor fixup
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-04 10:10:03 -04:00
Sebastiaan van Stijn 4a0606423b Merge pull request #16043 from sallyom/manDockerfile
man Dockerfile ADD/COPY/FROM clarify
2015-09-04 10:03:50 +02:00
Sebastiaan van Stijn 409212be24 Merge pull request #16057 from sallyom/manDocker
clarify --insecure-registry in man docker
2015-09-04 09:56:01 +02:00
Kunal Kushwaha 44da5c3de2 "docker network" missing from docker --help
Fixed issues related to network subcommand tests
- "network" in exempted list of short help check
- Condition for exact test modified to meet experimental commands
- Sorting of commands done in flags_experimental

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2015-09-04 15:34:17 +09:00
Alexander Morozov 0009852cb0 Merge pull request #15877 from Microsoft/10662-trigger
Fix trigger count and output
2015-09-03 20:04:05 -07:00
Jessie Frazelle 38ecc7fc32 Merge pull request #16054 from jfrazelle/update-sqlite3-dep
code.google.com is shutting down so update the dep
2015-09-03 19:20:57 -07:00
Vincent Batts 7795b1c697 graph: exported images times matching creation
the image export, that is used in `docker save` previous has just had
the layers times (atimes, mtimes) be when the save was done.
```bash
vbatts@valse ~ (master) $ docker save busybox | tar tv
drwxr-xr-x 0/0               0 2015-09-03 22:22 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/
-rw-r--r-- 0/0               3 2015-09-03 22:22 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/VERSION
-rw-r--r-- 0/0            1405 2015-09-03 22:22 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/json
-rw-r--r-- 0/0         2643968 2015-09-03 22:22 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/layer.tar
drwxr-xr-x 0/0               0 2015-09-03 22:22 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/
-rw-r--r-- 0/0               3 2015-09-03 22:22 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/VERSION
-rw-r--r-- 0/0            1346 2015-09-03 22:22 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/json
-rw-r--r-- 0/0            1024 2015-09-03 22:22 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/layer.tar
drwxr-xr-x 0/0               0 2015-09-03 22:22 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/
-rw-r--r-- 0/0               3 2015-09-03 22:22 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/VERSION
-rw-r--r-- 0/0            1181 2015-09-03 22:22 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/json
-rw-r--r-- 0/0            1024 2015-09-03 22:22 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/layer.tar
-rw-r--r-- 0/0              90 2015-09-03 22:22 repositories
```

With this change, the layer's directory and artifact will have times
matching the image layer's created time. The "repositories" file is set
to epoch.
```bash
vbatts@valse ~ (master) $ docker save busybox | tar tv
drwxr-xr-x 0/0               0 2015-04-17 18:01 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/
-rw-r--r-- 0/0               3 2015-04-17 18:01 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/VERSION
-rw-r--r-- 0/0            1405 2015-04-17 18:01 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/json
-rw-r--r-- 0/0         2643968 2015-04-17 18:01 6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea/layer.tar
drwxr-xr-x 0/0               0 2015-04-17 18:01 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/
-rw-r--r-- 0/0               3 2015-04-17 18:01 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/VERSION
-rw-r--r-- 0/0            1346 2015-04-17 18:01 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/json
-rw-r--r-- 0/0            1024 2015-04-17 18:01 8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55/layer.tar
drwxr-xr-x 0/0               0 2015-04-17 18:01 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/
-rw-r--r-- 0/0               3 2015-04-17 18:01 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/VERSION
-rw-r--r-- 0/0            1181 2015-04-17 18:01 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/json
-rw-r--r-- 0/0            1024 2015-04-17 18:01 cf2616975b4a3cba083ca99bc3f0bf25f5f528c3c52be1596b30f60b0b1c37ff/layer.tar
-rw-r--r-- 0/0              90 1969-12-31 19:00 repositories
```

Side effect of this is that the tar stream from `docker save` is now
more deterministic.
```bash
vbatts@valse ~ (master) $ docker save busybox | sha1sum
baf03e30ef79ca4d9c5e512d3a1b873880f404ca  -
vbatts@valse ~ (master) $ docker save busybox | sha1sum
baf03e30ef79ca4d9c5e512d3a1b873880f404ca  -
vbatts@valse ~ (master) $ docker save busybox | sha1sum
baf03e30ef79ca4d9c5e512d3a1b873880f404ca  -
vbatts@valse ~ (master) $ docker save busybox | sha1sum
baf03e30ef79ca4d9c5e512d3a1b873880f404ca  -
```

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-09-03 22:19:10 -04:00
John Howard 69bf17ffbd Fixes 2 panics initialising tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-03 18:26:38 -07:00
Jessie Frazelle 90477e8e94 Merge pull request #16066 from jfrazelle/remove-reprepro
remove reprepro
2015-09-03 18:20:01 -07:00
Jessie Frazelle 1fa560e6eb Merge pull request #15706 from clnperez/vendor-helper-use-branch
Allow branch name in vendor-helper script
2015-09-03 18:02:06 -07:00
Tianon Gravi b019229996 Merge pull request #16052 from jfrazelle/fix-release-selinux
make docker-engine-selinux findable
2015-09-03 17:52:39 -07:00
Tibor Vass c8c1c472b2 Merge pull request #15845 from calavera/refactor_daemon_list
Refactor daemon container list.
2015-09-03 20:48:54 -04:00
Tibor Vass 057f53f503 Merge pull request #15846 from ZJU-SEL/11646-fix-path-validations
fix 11646 to check volume path in server side
2015-09-03 20:42:37 -04:00
Jessica Frazelle 4a864a7552 code.google.com is shutting down so update the dep
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-03 17:39:29 -07:00
John Howard 6620102926 Fix trigger count and output
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-03 17:39:19 -07:00
Jessica Frazelle e7cf75c103 remove reprepro
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-03 17:31:49 -07:00
Tibor Vass 07d2eae6d5 Merge pull request #16060 from vdemeester/14756-lint-pkg-term-windows
Lint pkg/term/windows package
2015-09-03 19:54:20 -04:00
Tibor Vass 2d605ce53b Merge pull request #16041 from runcom/portmapping-doc-cleaning
Clean latest api doc from PortMapping and outdated error check
2015-09-03 19:37:34 -04:00
Jessie Frazelle 9b072fb722 Merge pull request #16067 from jfrazelle/fix-release-branch-in-suites-script
fix release branch in suites.sh
2015-09-03 16:33:32 -07:00
Arnaud Porterie f324f4851f Update image pull tests
Update and migrate existing tests to the `DockerHubPullSuite`. Most
tests were preserved, but refactored and made more exhaustive. One test
was deliberately removed (`TestPullVerified`) as it is unreliable and
that the feature was obsoleted by content trust.

Move all trust related tests to `docker_cli_pull_trusted_test.go`.

Move tests depending on a local registry to `docker_cli_pull_local_test.go`.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-03 15:57:41 -07:00
Arnaud Porterie c87cbd3862 Add integration-cli/checker package
Add a `checker` package that adds some utility Checker implementation,
the first one being `checker.Contains`, as well as brining all go-check
provided Checker implementations in scope as a commodity.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-03 15:57:41 -07:00
Jessica Frazelle e38a9ecef6 fix release branch in suites.sh
we changed the naming scheme of the release branch

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-03 15:48:02 -07:00
Tibor Vass 6ffbea3c94 Merge pull request #16027 from Microsoft/10662-utimes
Windows: Fix dockerfile ADD from HTTP
2015-09-03 18:44:34 -04:00
Tibor Vass f0a5d03400 Merge pull request #16022 from nalind/cgo-windows
Fix a daemon build error when cgo isn't available
2015-09-03 18:42:58 -04:00
Sally O'Malley 2d9ea188d4 clarify --insecure-registry in man docker
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-03 17:10:40 -04:00
Vincent Demeester 3409de971c Lint pkg/term/windows package
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-03 22:25:52 +02:00
Brian Goff 9d0eef55ea Merge pull request #16025 from sallyom/overlayfsSelinux
selinux/overlay incompatible err
2015-09-03 16:08:55 -04:00
Jenny Gebske ffc8d4e204 [doc] Rephrase Ubuntu installation
Signed-off-by: Jenny Gebske <jennifer@gebske.de>
2015-09-03 22:07:33 +02:00
Michael Crosby 6f5eb78519 Merge pull request #16018 from surya-shodan/master
Typo in README.md
2015-09-03 11:57:06 -07:00
Michael Crosby 8258996cf2 Merge pull request #16036 from Microsoft/10662-httpdirectory
Windows: Fix HTTP download directory
2015-09-03 11:54:53 -07:00
Michael Crosby 288275ab60 Merge pull request #16038 from aboch/sbx
Vendor libnetwork dc52820147f40fe424c8959987af3b396f842639
2015-09-03 11:48:02 -07:00
Jessica Frazelle c7b3e7e770 make docker-engine-selinux findable
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-03 08:58:33 -07:00
Sally O'Malley 48badd2a2e man Dockerfile ADD/COPY/FROM clarify
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-03 09:08:25 -04:00
David Calavera d9065fcdb5 Merge pull request #16001 from jfrazelle/apt-repo-pinning
use apt-ftparchive and reprepro to enable apt-pinning;
2015-09-03 11:18:54 +02:00
Antonio Murdaca 137c12f19a Clean latest api doc from PortMapping and outdated error check
Regarding the outdated error check, there's no `docker.PortMapping`
struct anymore and this is linked to something really old #1334

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-03 11:01:55 +02:00
Sebastiaan van Stijn ee4de4d163 Merge pull request #15984 from jlhawn/document_build_auth_config
[docs] Add description of "X-Registry-Config"
2015-09-03 08:40:34 +02:00
Arnaud Porterie 9e4addde76 Add test suite for push/pull code
Introduce the `DockerHubPullSuite` that interacts with its own dedicated
daemon, thus allowing to start from a clean environment and finely test
against the impact of isolated push and pull operations.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-02 22:06:24 -07:00
Alexander Morozov 2bd30cd6cb Merge pull request #16035 from aaronlehmann/remove-test-push-interrupt
Remove TestPushInterrupt
2015-09-02 21:07:55 -07:00
Alessandro Boch 56fdb05258 Docker changes for libnetwork Sandbox
- Ground-work for integrating with user namespace support

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-09-02 17:24:56 -07:00
Brian Goff 39be36658d Set bind driver after volume is created
When using a named volume without --volume-driver, the driver was
hardcoded to "local".
Even when the volume was already created by some other driver (and
visible in `docker volume ls`), the container would store in it's own
config that it was the `local` driver.
The external driver would work perfecly fine until the daemon is
restarted, at which point the `local` driver was assumed because that is
as it was set in the container config.

Set the bind driver to the driver returned by createVolume.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-02 20:13:20 -04:00
Brian Goff fb4cce5e53 Merge pull request #16030 from Microsoft/fix-golint-commit
Windows: Fix golint daemon breaking commit
2015-09-02 20:10:33 -04:00
Alessandro Boch 414dfbf681 Vendor libnetwork dc52820147f40fe424c8959987af3b396f842639
Main changes in this vendoring are to allow user name space integration in docker.
And it includes major fix for network namespace handling

Signed-off-by: Alessandro Boch <aboch@docker.com>

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-09-02 16:57:43 -07:00
John Howard 7beb026f0e Windows: Fix HTTP download directory
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-02 16:24:53 -07:00
Jessie Frazelle c6dd451073 Merge pull request #16002 from Microsoft/10662-workdir-platformsemantics
Windows: Ensure workdir handled in platform semantics
2015-09-02 16:09:35 -07:00
Sally O'Malley 04329e0b3e selinux/overlay incompatible err
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-09-02 18:52:10 -04:00
Aaron Lehmann 6cc38775bb Remove TestPushInterrupt
This test relies on a race condition, and has been failing often in CI.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-02 15:30:55 -07:00
John Howard cfddca2bf9 Windows: Fix golint daemon breaking commit
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-02 14:36:45 -07:00
John Howard 3715e60c71 Windows: Fix dockerfile ADD from HTTP
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-02 13:53:09 -07:00
Jessie Frazelle 2434bd8e63 Merge pull request #15935 from vdemeester/badges-all-the-things
Add more badges :)
2015-09-02 11:07:25 -07:00
Jessica Frazelle 12a71c8954 use apt-ftparchive and reprepro to enable apt-pinning;
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-09-02 09:32:24 -07:00
Jessie Frazelle 8c5d511aa6 Merge pull request #16020 from runcom/remove-port-mapping-field
Remove PortMapping from container NetworkSettings
2015-09-02 09:10:38 -07:00
Nalin Dahyabhai 00ab6d9d47 Fix a daemon build error when cgo isn't available
Avoid duplicate definitions of NewSqliteConn when cgo isn't enabled, so
that we can at least build the daemon.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
2015-09-02 11:41:42 -04:00
Antonio Murdaca db4f20404d Remove PortMapping from container NetworkSettings
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-02 14:32:53 +02:00
Suryakumar Sudar dae50f9b5e Typo in README.md
The number of StackOverflow question is 7000, not 7000k. The extra 'k' is redundant.
Signed-off-by: Suryakumar Sudar <suryakumar.sudar@gmail.com>
2015-09-02 15:52:05 +05:30
Antonio Murdaca 9ea7267285 Merge pull request #16014 from angt/angt-patch-2
Fix typo
2015-09-02 11:25:12 +02:00
David Calavera 1ed3cb2b6c Merge pull request #15921 from srust/volume_driver_register_retry
Retry registering a volume driver
2015-09-02 11:24:52 +02:00
Antonio Murdaca 4c54751cab Merge pull request #16007 from toddjcrane/master
Normalized, ungrouped, and sorted names
2015-09-02 11:24:42 +02:00
angt 01059cba78 Fix typo
Signed-off-by: Adrien Gallouët <agallouet@gmail.com>
2015-09-02 10:43:49 +02:00
Todd Crane ed14fe2afa Normalized, ungrouped, and sorted names
Signed-off-by: Todd Crane <todd@toddcrane.com>
2015-09-01 21:57:01 -07:00
John Howard 6c56f917d3 Windows: Ensure workdir handled in platform semantics
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 18:50:41 -07:00
Jessie Frazelle 7f8954cb79 Merge pull request #15989 from tianon/ubuntu
Swap "ubuntu-debootstrap" for just "ubuntu"
2015-09-01 15:19:16 -07:00
Alexander Morozov 3111aa7293 Merge pull request #15988 from runcom/use-stringutils-strslice
Use StrSlice from pkg/stringutils
2015-09-01 14:32:58 -07:00
Tianon Gravi a5eec723f8 Swap "ubuntu-debootstrap" for just "ubuntu"
See https://github.com/docker-library/official-images/pull/982#issuecomment-133207587.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-09-01 14:03:49 -07:00
Alexander Morozov 7c44209037 Merge pull request #15986 from runcom/add-strslice-tests
pkg: stringutils: Add more tests to strslice
2015-09-01 12:29:27 -07:00
Antonio Murdaca 17999c70c3 Use StrSlice from pkg/stringutils
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-01 21:23:46 +02:00
Stephen Rust 45fdce8a0d Retry registering a volume driver
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-09-01 14:56:29 -04:00
Antonio Murdaca cac8f4f0d0 pkg: stringutils: Add more tests to strslice
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-09-01 20:27:45 +02:00
Alexander Morozov 70f0d6d84c Merge pull request #15983 from Microsoft/unix-run-test
Move run tests out of unix files
2015-09-01 10:49:01 -07:00
Josh Hawn 61de962979 [docs] Add description of "X-Registry-Config"
The structure of this header has never been specified in the docs and has
been a pain point for those who have tried to get registry authentication
to work during builds. This Patch *finally* adds a description of JSON
object which should be base64-url-safe-encoded and used as the value of
the X-Registry-Config HTTP request header during `POST /build`.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-09-01 10:05:30 -07:00
Alexander Morozov 82415adc81 Merge pull request #15980 from Microsoft/unix-links-test
Moved unix links tests to non-platform
2015-09-01 10:03:54 -07:00
John Howard d7eb85bb1f Move run tests out of unix files
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 09:42:19 -07:00
David Calavera 2093616d7f Merge pull request #15871 from Microsoft/10662-absolute
Windows: Fix absolute checks
2015-09-01 18:38:36 +02:00
Alexander Morozov 7f58fb5f01 Merge pull request #15972 from calavera/remove_containers_ps
Remove /containers/ps from the api router.
2015-09-01 09:15:35 -07:00
John Howard 4fccf8adfa Moved unix links tests to non-platform
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 09:10:24 -07:00
Alexander Morozov be8e126a0f Merge pull request #15834 from Microsoft/10662-fixdockercp
Windows: Fix docker cp
2015-09-01 08:41:59 -07:00
John Howard 49c1b51ae2 Windows: Fix absolute checks
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 08:41:37 -07:00
David Calavera 26fb160610 Merge pull request #15976 from duglin/MissingDefer
Add missing defer to delete temp dir
2015-09-01 17:13:37 +02:00
Antonio Murdaca 4bb2449188 Merge pull request #15913 from mountkin/abstract
abstract the string slice struct to stringutils package
2015-09-01 17:06:13 +02:00
Doug Davis 51e721ab07 Add missing defer to delete temp dir
Minor thing I just noticed

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-01 07:19:38 -07:00
Brian Goff 3b2c9fa049 Merge pull request #15965 from tonistiigi/pull-goroutine-leak
Fix goroutine leak on pull
2015-09-01 09:27:55 -04:00
Brian Goff 567687fd98 Merge pull request #15900 from Microsoft/10662-testinfra
Test infrastructure for cross platform
2015-09-01 09:18:29 -04:00
Doug Davis 5eb4a6b933 Merge pull request #15927 from SvenDowideit/clean-up-parsehost
Change ParseTCPAddr to use tcp://127.0.0.0:2375 format as default consistently
2015-09-01 08:25:59 -04:00
Antonio Murdaca e98ec2b567 Merge pull request #15970 from Mashimiao/cleanup-daemon-commit-unneeded-code
daemon/commit: remove unneeded code
2015-09-01 14:15:56 +02:00
David Calavera dd49002055 Merge pull request #15958 from vdemeester/14570-contrib-completion-image
Add docker ps --filter=… ancestor image bash completion
2015-09-01 12:16:52 +02:00
David Calavera b5cc077864 Remove /containers/ps from the api router.
This route was deprecated more than two years ago in the linked
commit[1]. It's not referenced anywhere in the documentation and it's
time to stop maintaning it.

[1]: https://github.com/docker/docker/commit/4f9443927e8bc8a724b43afae6cf7a183cd9acd0

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-01 05:17:35 -04:00
Ma Shimiao ab868ad79c daemon/commit: remove unneeded code
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-09-01 16:34:07 +08:00
Vincent Demeester 6ae2cb7ad1 Add docker ps --filter=… image completion
I missed that on #15919, thanks @albers

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-09-01 08:47:02 +02:00
Sebastiaan van Stijn d080f6524b Merge pull request #15969 from charleswhchan/issue-15939
Fix issue #15939: Hyperlink to MongoDB Dockerfile not found.
2015-09-01 08:33:22 +02:00
Charles Chan f814ae437f Fix issue #15939: Hyperlink to MongoDB Dockerfile not found. Replaced with link to file in Github.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-31 19:28:36 -07:00
Alexander Morozov 84bc41a3fb Merge pull request #15963 from Microsoft/fix-unixtestport
Move TestPort out of _unix
2015-08-31 17:09:59 -07:00
Doug Davis 0f878cfa00 Merge pull request #15966 from Microsoft/test-typo
Fix typo in test title
2015-08-31 18:59:55 -04:00
Tonis Tiigi 3037e4f7c4 Fix goroutine leak on pull
Close the pipeWriter even if there was no error.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-31 15:56:19 -07:00
John Howard 3c2b128582 Fix typo in test title
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 15:28:40 -07:00
John Howard 68c7d24a12 Move TestPort out of _unix
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 14:40:36 -07:00
David Calavera 166412e529 Merge pull request #15827 from williamh/fix-openrc-script
Fix openrc script
2015-08-31 20:32:00 +02:00
Mike Dougherty 7ca017eb62 Add ability to use a different GPG key identifier
Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2015-08-31 11:27:57 -07:00
Sebastiaan van Stijn c844effeda Merge pull request #15926 from moxiegirl/carry-15210
add: best practice for security when sharing host directories.
2015-08-31 19:51:15 +02:00
Mary Anthony 7271dca8cc updating again.
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-31 09:56:35 -07:00
Mary Anthony 95495d20be Updating with SEb's comments
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-31 09:54:15 -07:00
David Calavera 3bd8016259 Merge pull request #15922 from unclejack/lower_reset_timeout_bufreader
pkg/ioutils: lower bufReader reset timeout
2015-08-31 18:43:45 +02:00
Arnaud Porterie 84614fdae0 Merge pull request #15489 from aaronlehmann/pull-updates
Show pull progress in terminal for inflight pull requests
2015-08-31 09:37:33 -07:00
moxiegirl 38ac1f908e Merge pull request #15920 from mikebrow/docker-engine-update-to-index
Adding additional instructions to the Docker Engine installation/inde…
2015-08-31 09:35:34 -07:00
LIZAO LI b0fd4f882f add: best practice for security when sharing host directories.
Closes and carries PR #15210
Updating with Seb's comment

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-31 09:32:42 -07:00
David Calavera 96974170f8 Merge pull request #15606 from jlhawn/img_delete
[daemon] Refactor image_delete.go
2015-08-31 18:22:48 +02:00
John Howard cd18e7bb73 Test infrastructure for cross platform
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 09:10:18 -07:00
Alexander Morozov 4ae81e145e Merge pull request #15918 from duglin/HttpHeaderTests
More httputil tests for the docker header
2015-08-31 08:48:28 -07:00
Jessie Frazelle 3272b3d120 Merge pull request #15954 from jfrazelle/no-t-install-script
we dont need the tty in the install script
2015-08-31 08:45:35 -07:00
Brian Goff 754c10430b Merge pull request #15807 from coolljt0725/remove_remove_redundant_tag_name
Minor fix: remove redundant tag name in error message of create failed.
2015-08-31 11:34:40 -04:00
Mike Brown e9eaef6f1e Adding additional instructions to the Docker Engine installation/index page per discussions with @moxiegirl.
Removed the "Other Linux" heading; Changed the "Next Steps" heading to "Where to go After Installing"

Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-08-31 10:25:41 -05:00
Jessica Frazelle 80c32162b5 we dont need the tty in the install script
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-31 08:12:01 -07:00
Sebastiaan van Stijn 81d6f350f7 Merge pull request #13266 from shishir-a412ed/docker_lvm_devmapper_loopbackdevices
Warning message for lvm devmapper running on top of loopback devices
2015-08-31 16:40:16 +02:00
Shishir Mahajan 4870fb36d4 Warning message for lvm devmapper running on top of loopback devices
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-08-31 10:35:48 -04:00
David Calavera 06699f73fb Refactor daemon container list.
Separate container iteration, filtering and reducing.
This will make easier in the future to improve the implementation of
docker ps as we know it.

The end goal is to unify the objects returned by the api for docker ps
and docker inspect, leaving all docker ps transformations to the client.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-31 04:24:08 -04:00
David Calavera 754d81bd69 Merge pull request #15873 from cpuguy83/no_args_for_volume_subcmd
Fix `docker volume invalidarg` so it displays usage
2015-08-31 10:04:45 +02:00
David Calavera 998699316c Merge pull request #15901 from Microsoft/10662-revendorhcs
Windows: Revendor HCSShim with godoc
2015-08-31 10:03:18 +02:00
David Calavera d6a94fbf22 Merge pull request #15919 from vdemeester/14570-contrib-completion
Update shell completion on docker ps for ancestor
2015-08-31 09:58:05 +02:00
David Calavera 9703c3a90e Merge pull request #15914 from dmcgowan/fix-upload-sanitize
Fix sanitize URL bug on layer upload
2015-08-31 09:35:28 +02:00
xlgao 50be74ba14 just check -v /src:dest and test it
Signed-off-by: xlgao <xlgao@zju.edu.cn>
2015-08-31 10:50:49 +08:00
Vincent Demeester 10005433eb Add jenkins and godoc badges
Build badges are for master and one for experimental (in the `README.md`
of the experimental folder)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-30 21:31:13 +02:00
xiekeyang e451ddbf46 Fix: Docker Daemon didn't send actual actions client ask for to Token Server
The Docker Daemon should send actual actions client ask for to issue tokens,

not all the permissions that client is guaranteed.

Signed-off-by: xiekeyang <xiekeyang@huawei.com>
2015-08-30 16:40:26 +08:00
Lei Jitang 16220e0681 Minor fix: remove redundant tag name in error message of create failed.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-30 10:43:33 +08:00
James Turnbull e137f2d081 Merge pull request #15932 from lyndaoleary/15909-daemon-flag
Removed deprecated -d flag from docs
2015-08-29 22:10:35 -04:00
Sebastiaan van Stijn ad91d2e97a Merge pull request #15929 from jjn2009/patch-1
ubuntu-14-10-x64 is not a valid image on digital ocean
2015-08-30 02:54:16 +02:00
Sebastiaan van Stijn bace51571f Merge pull request #15925 from moxiegirl/carry-14234
Closes #14234 and updates text
2015-08-30 01:33:57 +02:00
Lynda O'Leary 55468e2ac4 Removed deprecated -d flag from docs
Signed-off-by: Lynda O'Leary <lyndaoleary29@gmail.com>
2015-08-29 23:31:27 +01:00
moxiegirl fd1b21b646 Merge pull request #15885 from tombee/7866-10463-runmetrics-doc-updates
Updated runmetrics article to use up-to-date cgroup paths
2015-08-29 13:36:20 -07:00
Mary Anthony 2920550211 Closes #14234 and updates text
Updating with Seb's comments
Entering Sven's comment

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-29 13:15:36 -07:00
Arnaud Porterie 626c05036c Merge pull request #15832 from jfrazelle/add-docker-seliux-policy-for-rpm
Add docker seliux policy for rpm
2015-08-29 11:07:20 -07:00
Sven Dowideit 3d510f15da Change ParseTCPAddr to use tcp://127.0.0.0:2375 format as default consistently
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-08-29 11:23:51 +00:00
Jordan 24c4594cc3 ubuntu-14-10-x64 is not a valid image on digital ocean
Signed-off-by: Jordan Jennings <jjn2009@gmail.com>
2015-08-28 23:59:30 -07:00
Jessica Frazelle 8fe675d799 add selinux-policy and docker-engine-selinux rpm
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-28 17:54:04 -07:00
Jessica Frazelle 42d8fe6105 add build deps for selinux-policy/selinux-policy-devel
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-28 17:43:30 -07:00
Jessica Frazelle df6d928370 update spec file to require docker-engine-selinux policy
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-28 17:43:30 -07:00
Derek McGowan b1c1f42bcc Fix sanitize URL bug on layer upload
Update the distribution version to include sanitize URL fix

Fixes #15875

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-08-28 14:35:06 -07:00
Brian Goff 0b2cff35ba Merge pull request #15917 from srust/volume_create_dont_lock_around_volume_driver
Don't hold lock around volume driver for volume create.
2015-08-28 17:13:47 -04:00
Stephen Rust 0ef740a5bf Don't hold lock around volume driver for volume create.
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-08-28 16:28:28 -04:00
unclejack f9df813a99 pkg/ioutils: lower bufReader reset timeout
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-08-28 23:13:02 +03:00
Doug Davis 5e540bdc13 More httputil tests for the docker header
follow-on to #15911

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-08-28 12:16:37 -07:00
Vincent Demeester 672bae2dc0 Update shell completion on docker ps for ancestor
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-28 20:56:52 +02:00
Josh Hawn 111d2f3487 [daemon] Refactor image_delete.go
This file was not well documented and had very high cyclomatic complexity.
This patch completely rearranges this file and the ImageDelete method to
be easier to follow and more maintainable in the future.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-28 11:01:24 -07:00
Sebastiaan van Stijn b1cb1b1df4 Merge pull request #14570 from vdemeester/13365-ps-image-filter
Add docker ps ancestor filter for image
2015-08-28 19:47:43 +02:00
Sebastiaan van Stijn 279bbbedb2 Merge pull request #15872 from lyndaoleary/find-an-issue-style-updates
Style updates to find an issue page
2015-08-28 19:18:19 +02:00
Aaron Lehmann 317a5462e4 Make the broadcaster write messages to the observers in the same units they were written to the broadcaster
This means the writing to a WriteFlusher will flush in the same places
as it would if the broadcaster wasn't sitting in front of it.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-28 10:09:00 -07:00
Shijiang Wei ea4a06740b abstract the string slice struct to stringutils package
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-29 01:08:40 +08:00
Alexander Morozov 50bcf17c39 Merge pull request #15902 from SvenDowideit/add-more-tests-for-parsehost
Exploring the parsehost using unit tests
2015-08-28 09:14:35 -07:00
David Calavera e6e210164e Merge pull request #15910 from mimoralea/patch-1
Typo fix then -> than
2015-08-28 18:09:26 +02:00
Alexander Morozov 2a66beef7f Merge pull request #15911 from calavera/carry_14296
[Carry 14296] Increased test coverage of pkg/httputils
2015-08-28 09:04:43 -07:00
Miguel Morales 95e3a4ca6d Typo fix then -> than
Signed-off-by: Miguel Morales <mimoralea@hp.com>
2015-08-28 10:44:39 -05:00
David Calavera 433956cc47 Merge pull request #15310 from MHBauer/demon-lint-squash
golint fixes for daemon/ package
2015-08-28 17:34:36 +02:00
Alexander Morozov 6caaa8a635 Merge pull request #15023 from hqhq/hq_add_status_in_inspect
Add status string to State field for inspect
2015-08-28 08:27:36 -07:00
David Calavera 243f98ff6d Fix server header parsing.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-28 11:06:24 -04:00
Kristina Zabunova f753f6d597 unit test refactor in pkg/httputils as suggested by vdemeester; using pattern if x := …; x == nil {}
Signed-off-by: Kristina Zabunova <triara.xiii@gmail.com>
(cherry picked from commit c3f1b2a5bd4a4330bcbad401c316af90925b99ad)
2015-08-28 10:41:19 -04:00
Kristina Zabunova b3f999e863 Increased test coverage of httputils to 70 %
Signed-off-by: Kristina Zabunova <triara.xiii@gmail.com>
(cherry picked from commit d71817464e859cd323d6cdaf4dec5a9dd530f57e)
2015-08-28 10:41:19 -04:00
Sven Dowideit e48a222828 Exploring the code using unit tests - these 2 functions do not work consistently
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-08-28 10:29:52 +00:00
Morgan Bauer abd72d4008 golint fixes for daemon/ package
- some method names were changed to have a 'Locking' suffix, as the
 downcased versions already existed, and the existing functions simply
 had locks around the already downcased version.
 - deleting unused functions
 - package comment
 - magic numbers replaced by golang constants
 - comments all over

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-08-27 22:07:42 -07:00
Mike Dougherty b46c15e772 Add support for longer S3 bucket paths
Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2015-08-27 18:32:03 -07:00
John Howard 5a5f9e93e9 Windows: Revendor HCSShim with godoc
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-08-27 15:46:00 -07:00
Lynda O'Leary 6f22cc9b5c Style updates to find an issue page
* Fixed exp/beginner label colour background
* Added thead element to label table
* Updated issue list screenshot (old one referenced old whitebelt label)
* Content tweaks as per style guide

Signed-off-by: Lynda O'Leary <lyndaoleary29@gmail.com>
2015-08-27 23:05:00 +01:00
Sebastiaan van Stijn fdc73cc3fc Merge pull request #15778 from dharmit/13595-update-docs-process-interaction-container
Added note about process interaction with container in detached mode
2015-08-27 22:39:20 +02:00
Aaron Lehmann 9b9d70ad27 Remove "...already being pulled" messages
These don't get seen, so they are unnecessary.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-27 13:22:08 -07:00
Aaron Lehmann 26c9b58504 Clean up ProgressStatus
- Rename to Broadcaster

- Document exported types

- Change Wait function to just wait. Writing a message to the writer and
  adding the writer to the observers list are now handled by separate
  function calls.

- Avoid importing logrus (the condition where it was used should never
  happen, anyway).

- Make writes non-blocking

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-27 13:22:08 -07:00
Brian Goff ba019dc0d0 Merge pull request #15882 from vdemeester/14756-lint-opts-trust
Carry #14813 on linting package opts and trust
2015-08-27 15:58:13 -04:00
Alexander Morozov 0ca2c3abf5 Merge pull request #15893 from tonistiigi/fix-testsuite
Use DockerSuite for PullClientDisconnect test
2015-08-27 12:30:44 -07:00
Tonis Tiigi 9dd6c8822d Use DockerSuite for PullClientDisconnect test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-27 11:22:54 -07:00
Aaron Lehmann 80513d85cf Change poolAdd to return a boolean instead of an error
Previously, its other return value was used even when it returned an
error. This is awkward and goes against the convention. It also could
have resulted in a nil pointer dereference when an error was returned
because of an unknown pool type. This changes the unknown pool type
error to a panic (since the pool types are hardcoded at call sites and
must always be "push" or "pull"), and returns a "found" boolean instead
of an error.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-27 11:18:42 -07:00
Sam Abed 572f008e89 Show pull progress in terminal for inflight pull requests
Based on #12874 from Sam Abed <sam.abed@gmail.com>. His original commit
was brought up to date by manually porting the changes in pull.go into
the new code in pull_v1.go and pull_v2.go.

Fixes #8385

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-27 11:18:40 -07:00
moxiegirl 04b0fb6314 Merge pull request #15822 from vdemeester/docs-update-filtering-ps-and-images
Update filtering chapters on ps/images references
2015-08-27 10:39:20 -07:00
David Calavera 0634c653d5 Merge pull request #15646 from tonistiigi/15589-pull-cancellation
Fix pull on client disconnect
2015-08-27 17:54:08 +02:00
Vincent Demeester 0bd016b1c3 Finish linting opts and trust package.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-27 17:36:11 +02:00
Brian Goff 38da43184d Fix docker volume invalid so it displays usage
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-27 09:46:05 -04:00
Sevki Hasirci 5572148477 golint: trust
contributes to #14756

Signed-off-by: Sevki Hasirci <s@sevki.org>
2015-08-27 11:40:27 +02:00
Sevki Hasirci 6eb03c53db Opts lint issues, ip and ulimit
Signed-off-by: Sevki Hasirci <s@sevki.org>
2015-08-27 11:40:27 +02:00
Tom Barlow b582977bc8 Updated to use correct cgroup paths
Signed-off-by: Tom Barlow <tomwbarlow@gmail.com>
2015-08-27 10:39:37 +01:00
David Calavera 4579d5ac78 Merge pull request #15878 from brahmaroutu/vendor_netns
Allow vendoring netns changes to build Docker on s390x
2015-08-27 10:02:25 +02:00
Vincent Demeester 61de442c49 Update filtering chapters on ps/images references
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-27 08:47:03 +02:00
Dharmit Shah 9f8891a855 Added note about process interaction with container in detached mode
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>

Added note about process interaction with container in detached mode

Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
2015-08-27 09:39:34 +05:30
Michael Crosby 20bb065535 Add aufs data structure for added mount information
This adds a data struct in the aufs driver for including more
information about active mounts along with their reference count.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-08-26 16:38:13 -07:00
Sebastiaan van Stijn 44ea7e91fb Merge pull request #15760 from mikebrow/9235-improve-documentation
Improvement to userguide/dockerrepos/ documentation
2015-08-27 01:21:12 +02:00
Mike Brown 5caccd27cd improvement to documentation
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2015-08-26 16:49:31 -05:00
moxiegirl 5e8038d0b0 Merge pull request #15773 from charleswhchan/patch-3
Fix #14572: Improve explaination for using `RUN` command inside Docke…
2015-08-26 14:19:44 -07:00
Alexander Morozov 459c2c66c3 Merge pull request #15801 from jfrazelle/btrfs-rm-subvolume-recursion
remove btrfs subvolumes when destroying containers (recursive)
2015-08-26 14:00:53 -07:00
Vincent Demeester c1af0ac082 Add 'ancestor' ps filter for image
Makes it possible to filter containers by image, using
--filter=ancestor=busybox and get all the container running busybox
image and image based on busybox (to the bottom).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-26 22:59:48 +02:00
Alexander Morozov 7a74422724 Merge pull request #15826 from Microsoft/start-from-one
Builder counts from 1
2015-08-26 13:59:38 -07:00
Alexander Morozov 70a814c3f3 Merge pull request #15493 from stevvooe/no-buffer-on-push
Avoid buffering to tempfile when pushing with V2
2015-08-26 13:59:01 -07:00
moxiegirl ea65c38ac0 Merge pull request #15843 from MHBauer/version-order
reweight api doc for v1.21 to correct the order.
2015-08-26 13:51:06 -07:00
Morgan Bauer 31a52a31c6 reweight api doc for v1.21 to correct the order.
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-08-26 13:40:37 -07:00
Alexander Morozov 47cdae243a Merge pull request #15865 from Microsoft/10662-isabs
Windows: Fix use of IsAbs check
2015-08-26 13:29:24 -07:00
Sebastiaan van Stijn fa13f7cde8 Merge pull request #14242 from cpuguy83/add_volume_api
Add volume api
2015-08-26 21:57:12 +02:00
John Howard f11ba3135b Windows: Fix use of IsAbs check
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-26 12:38:28 -07:00
Brian Goff b3b7eb2723 Add volume API/CLI
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-26 13:37:52 -04:00
Jessie Frazelle 5dadfa8b69 Merge pull request #15848 from calavera/revert_ipc_mounts
DO NOT MERGE: Check if these commits broke the builds.
2015-08-26 10:29:25 -07:00
John Howard 17d6c6c7e5 Builder counts from 1
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-26 10:05:04 -07:00
David Calavera 7ef08f39ed Merge pull request #15850 from choleraehyq/15849-fixtypo
api/client/restart.go:Fix a typo in comment
2015-08-26 16:10:31 +02:00
Brian Goff 2cec06fbcd Merge pull request #13304 from coolljt0725/restart_daemon_with_paused_containers
Fix restart docker daemon with paused containers
2015-08-26 09:04:14 -04:00
Cholerae Hu d30990d7b1 api/client/restart.go:Fix a typo in comment
Signed-off-by: Yingqian Hu <choleraehyq@gmail.com>
2015-08-26 18:59:56 +08:00
David Calavera b857dadb33 Merge pull request #15711 from monitorjbl/import-commit-message
adding message option to the import subcommand
2015-08-26 11:42:10 +02:00
David Calavera 688dd8477e Revert "Add support for sharing /dev/shm/ and /dev/mqueue between containers"
This reverts commit d88fe447df.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-26 05:23:00 -04:00
David Calavera a9378a0ab5 Revert "Modify test to include /dev/shm sharing"
This reverts commit 457aeaa2e1.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-26 05:22:46 -04:00
Charles Chan b6621a1b6c Fix #14572: Improve explaination for usng RUN and apt-get inside Dockerfil.
Based on example provided by @thaJeztah and @moxiegirl:
  https://github.com/docker/docker/pull/15773

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-25 21:58:20 -07:00
Sven Dowideit 8720f71b52 Merge pull request #15836 from rsmitty/issue-15835
Resolves link to introduction to Docker
2015-08-26 12:06:29 +10:00
Sven Dowideit 3bc375c6e4 Merge pull request #15831 from yasker/master
Update plugins.md
2015-08-26 12:05:35 +10:00
Sven Dowideit a0f6ff7d58 Merge pull request #15838 from rsmitty/issue-15837
Updates link to the understanding-docker section
2015-08-26 11:53:58 +10:00
Spencer Smith 90be489f40 Updates link to the understanding-docker section
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2015-08-25 14:12:29 -07:00
Spencer Smith 9a71dd2b90 Resolves link to introduction to Docker
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2015-08-25 13:54:39 -07:00
Sebastiaan van Stijn bdba406492 Merge pull request #15821 from vbatts/tarsum_warning
tarsum: add a big fat warning
2015-08-25 22:53:04 +02:00
Vincent Batts 459451de8b tarsum: add a big fat warning
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-08-25 16:50:08 -04:00
John Howard f950de5754 Windows: Fix docker cp
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-25 13:26:49 -07:00
Jessica Frazelle bd06432ba3 cleanup and fix btrfs subvolume recursion deletion
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-25 13:00:41 -07:00
Sheng Yang 5f156d8c25 Update plugins.md
Add Convoy to Docker plugin list.

Signed-off-by: Sheng Yang <sheng.yang@rancher.com>
2015-08-25 12:01:31 -07:00
James Turnbull 7dbb5fafcd Merge pull request #15824 from Microsoft/10662-moredocs
Windows: Minor doc clarification
2015-08-25 13:30:54 -04:00
William Hubbs e3772538c0 Fix OpenRC init script
The shebang for OpenRC init scripts is now #!/sbin/openrc-run, and we
can also use the default start and stop functions built into OpenRC.

Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
2015-08-25 12:02:01 -05:00
William Hubbs 1c0c68b18f Drop execute bit from openrc init script
Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
2015-08-25 12:00:54 -05:00
Brian Goff e134ccada7 Merge pull request #14978 from gesellix/websocket-disable-check-origin
skip checkOrigin during websocket handshake
2015-08-25 12:56:30 -04:00
John Howard 759ed647fb Windows: Minor doc clarification
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-25 09:36:51 -07:00
Alexander Morozov 78698855ce Merge pull request #15818 from calavera/fix_api_json_examples
Fix json examples in the api reference.
2015-08-25 09:22:38 -07:00
Srini Brahmaroutu eecf6cd48c Allow vendoring netns change to build Docker on s390x
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-25 15:07:17 +00:00
David Calavera 7296c845b7 Fix json examples in the api reference.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-25 10:55:12 -04:00
David Calavera 6f8c4480e4 Merge pull request #14665 from coolljt0725/fix_build_with_resource_limit
Fix build with resource limit which system not support.
2015-08-25 16:42:13 +02:00
Sebastiaan van Stijn ee2c476f22 Merge pull request #15804 from epc/epc-2015236
Copy edits for typos
2015-08-25 08:04:53 +02:00
Ed Costello cefb72080d Copy edits for typos
Signed-off-by: Ed Costello <epc@epcostello.com>
2015-08-24 23:02:44 -04:00
Taylor Jones 936b2c6afe adding message option to the import subcommand
Signed-off-by: Taylor Jones <monitorjbl@gmail.com>
2015-08-25 02:55:04 +00:00
Lei Jitang 9a9724ad56 Fix docker daemon restart with paused container.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-25 09:42:58 +08:00
Stephen J Day 349aef06d5 Avoid buffering to tempfile when pushing with V2
The practice of buffering to a tempfile during a pushing contributes massively
to slow V2 push performance perception. The protocol was actually designed to
avoid precalculation, supporting cut-through data push. This means we can
assemble the layer, calculate its digest and push to the remote endpoint, all
at the same time.

This should increase performance massively on systems with slow disks or IO
bottlenecks.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-08-24 18:08:05 -07:00
Jessie Frazelle 903cd2b9e3 Merge pull request #12159 from mrunalp/feature/ipc_share_dev
ipc: Share /dev/shm and /dev/mqueue when --ipc container:<id/name> is used
2015-08-24 17:55:03 -07:00
Brian Goff 562cc6254f Merge pull request #15702 from LK4D4/fix_events_tests_15
Make events test more deterministic in go1.5
2015-08-24 20:15:09 -04:00
Ma Shimiao dea78fc2ce fix 9939: docker does not remove btrfs subvolumes when destroying container
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-08-24 14:52:07 -07:00
Jessie Frazelle 82e2dec06d Merge pull request #15393 from azurezk/exportImage-toplevel
change exportImage to top-level func
2015-08-24 14:35:55 -07:00
Jessie Frazelle 25f4f5588e Merge pull request #15756 from tonistiigi/15724-remove-nil-contexts
Remove nil contexts
2015-08-24 14:29:48 -07:00
Jessie Frazelle ebe27cb34c Merge pull request #14868 from jeffminard-ck/rhel-init-detect-failure
Allow RHEL init script to detect daemon start pid failure
2015-08-24 14:24:36 -07:00
moxiegirl 0ce37336b3 Merge pull request #15800 from moxiegirl/carry-14503
Closes PR #14503 with this carry
2015-08-24 13:22:19 -07:00
Casey Bisson 831747d59e Closes PR #14503 with this carry
- Refer to Joyent's blogs and docs rather than following from our end
- All of this information exists on Joyent's site
Updating with thaJeztah's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-24 13:21:27 -07:00
Alexander Morozov 1269dd35dc Merge pull request #15728 from tonistiigi/parallel-pulls
Mitigate parallel pull issues
2015-08-24 12:56:21 -07:00
Tonis Tiigi b779bc3102 Mitigate parallel pull issues
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-24 11:41:45 -07:00
Alexander Morozov 137df3048c Merge pull request #15389 from aidanhs/aphs-simpler-pull-codepath
Remove unnecessary function parameter, add mirror endpoint test
2015-08-24 11:03:01 -07:00
Alexander Morozov 6b21e98432 Merge pull request #15766 from hqhq/hq_fix_device
Add mode check for device
2015-08-24 10:58:49 -07:00
Brian Goff fd8b25c802 Merge pull request #15348 from tonistiigi/11008-always-unless-stopped-restart-policy
Add always-unless-stopped restart policy
2015-08-24 13:48:56 -04:00
Alexander Morozov 1544c5edb6 Merge pull request #15735 from tonistiigi/graph-register-readcloser
Make graph.Register take in io.Reader
2015-08-24 10:40:04 -07:00
Jessie Frazelle 654b555d09 Merge pull request #15789 from calavera/add_cors_head_option
Allow HEAD requests to container archives via CORS.
2015-08-24 10:27:07 -07:00
Alexander Morozov 386aefb9fc Make events test more deterministic in go1.5
Now scheduler makes order of events pretty random, so I added little
sleeps to make order intact. Also I renamed to test so name better
describes its nature.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-24 09:35:11 -07:00
Brian Goff c0a48a676d Merge pull request #15762 from mattrobenolt/trim
opts/envfile: trim all leading whitespace in a line
2015-08-24 12:32:27 -04:00
Brian Goff e14eaba784 Merge pull request #12918 from thieman/tnt-issue-12595
Use image ID in ps if tag has been updated
2015-08-24 12:24:42 -04:00
Sebastiaan van Stijn 37f58d266f Merge pull request #14564 from docteurklein/master
[experimental compose/swarm] explain how to make it work on awazon ec2.
2015-08-24 17:47:26 +02:00
David Calavera 88cacbf529 Merge pull request #15767 from hqhq/hq_fix_optional_comments
Change all optional unit to [unit]
2015-08-24 17:36:01 +02:00
Sebastiaan van Stijn 32053b965b Merge pull request #15791 from agonzalezro/broken-links-revert
Revert "Fix broken links at plugins documentation"
2015-08-24 15:27:40 +02:00
moxiegirl 02683dfa09 Merge pull request #15745 from Microsoft/readme
Update readme
2015-08-24 06:13:02 -07:00
Brian Goff e4147bcad4 Merge pull request #15776 from duglin/buildEnvTest
Add some builder getEnv tests
2015-08-24 08:57:41 -04:00
Brian Goff 2b174d3d9d Merge pull request #15444 from coolljt0725/add_test_require_for_test_blkio
Add test require for TestRunWithBlkioInvalidWeight and TestRunWithBlkio
2015-08-24 08:33:17 -04:00
Brian Goff 1ee53d4fb7 Merge pull request #15779 from mountkin/split-build-test
split build API tests to a separate file
2015-08-24 08:31:48 -04:00
Álex González 62ce5b6929 Revert "Fix broken links at plugins documentation"
This reverts commit 354147df01.

Signed-off-by: Álex González <agonzalezro@gmail.com>
2015-08-24 11:48:59 +01:00
David Calavera 354a2e105d Allow HEAD requests to container archives via CORS.
Add HEAD to Access-Control-Allow-Methods.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-24 05:57:22 -04:00
Qiang Huang 429423624c Add mode check for device
This fixes two problems:
1. docker run --device /dev/sda:rw ubuntu bash doesn't work
2. --device /dev/zero:/dev/noro:ro doesn't show clear error message,
but fail when writing to cgroup file.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-24 17:57:12 +08:00
David Calavera 888d1d0e20 Merge pull request #15787 from agonzalezro/patch-1
Fix broken links at plugins documentation
2015-08-24 11:49:55 +02:00
Alexandre González 354147df01 Fix broken links at plugins documentation
Signed-off-by: Álex González <agonzalezro@gmail.com>
2015-08-24 10:47:56 +01:00
Qiang Huang c99ed5ae5d Change return value for ValidateMountMode
1. rename it from ValidateMountMode to ValidMountMode
Because it's a function simply check mount mode is valid or not.
2. remove the rw check return value
It's not supposed to be combined into this function, and we already
have a function for that check.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-24 17:28:19 +08:00
David Calavera 9bac520c12 Merge pull request #15571 from ewindisch/apparmor_denywproc
AppArmor: Deny w to /proc/* files
2015-08-24 11:03:41 +02:00
David Calavera cb00396f61 Merge pull request #15332 from pugnascotia/master
Make run and rmi bash completions configurable
2015-08-24 10:49:01 +02:00
Lei Jitang c340ca4f5d Add some missing cgroup test require and refactor the require check.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-24 11:37:11 +08:00
Travis Thieman 2167f40a76 Use image ID if tag has been updated
Fixes #12595

Signed-off-by: Travis Thieman <travis.thieman@gmail.com>
2015-08-23 12:11:24 -04:00
Shijiang Wei 96e37f671a split build API tests to a separate file
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-23 23:59:15 +08:00
Sebastiaan van Stijn 7ead74d903 Merge pull request #15774 from charleswhchan/patch-4
Revise Mac Docker instructions
2015-08-23 10:26:58 +02:00
Sven Dowideit 819166c16c Merge pull request #15769 from charleswhchan/patch-1
Revise Windows Docker instructions
2015-08-23 12:11:37 +10:00
Doug Davis eeeae2c235 Add some builder getEnv tests
In particular I want to make sure that calling getEnv() when the same
var name appears more than once in the env list that we only pick up
the first one.  PR #15182 counts on this

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-08-22 13:12:43 -07:00
Matt Robenolt f1988f046f opts/envfile: trim all leading whitespace in a line
Signed-off-by: Matt Robenolt <matt@ydekproductions.com>
2015-08-22 09:01:27 -07:00
Charles Chan 9572edc34a Revise Mac Docker instructions
* Clarify `default` VM
* Various minor changes

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-22 08:00:48 -07:00
Charles Chan 3faba5fbe2 Revise Windows Docker instructions
* Fix Windows 7 (not 7.1 ;p)
* Clarify virtualization technology section, add link to wiki
* Fix heading level for various ways of starting Docker container
* Clarify `default` VM
* Various minor changes

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-22 07:26:26 -07:00
Vincent Demeester c71a99af11 Fix filter by label for docker images
Using Config.Labels to filter images on Labels.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-22 14:06:48 +02:00
Sebastiaan van Stijn efabc8ee1a Merge pull request #15764 from coolljt0725/docs_update_readme_in_daemon
Docs: remove networkdriver from README.md in daemon
2015-08-22 13:36:38 +02:00
Qiang Huang 76a5fdc3d4 Change all optional unit to [unit]
As suggested before, we should change every signal one.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-21 21:29:52 -07:00
Tianon Gravi 5fd15da7da Merge pull request #15763 from tianon/dind-tmp
Update dind "/tmp" mounting to be optional
2015-08-21 21:14:35 -07:00
Lei Jitang ce5bbed858 Docs: remove networkdriver from README.md in daemon
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-22 10:09:07 +08:00
Brian Goff 5929502b4e Merge pull request #15412 from vdemeester/dont-sleep-too-much
time.Sleep in integration tests — comment and waitRun/waitInspect
2015-08-21 20:43:55 -04:00
Jessie Frazelle 90801ab939 Merge pull request #15708 from Microsoft/sjw/graphdriver_missing_parent
Windows: Graphdriver should reject create of layer w/o parent
2015-08-21 16:34:03 -07:00
Jessie Frazelle fefc9a3a6a Merge pull request #15750 from mountkin/fix-exec-panic
fix a panic when the exec fails to start
2015-08-21 15:54:58 -07:00
Tianon Gravi b8bed8832b Update dind "/tmp" mounting to be optional
This allows someone running the image to use `-v` to mount a non-tmpfs `/tmp` into their image if they so require/desire.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-08-21 15:47:50 -07:00
Jessie Frazelle c5733e6a20 Merge pull request #15366 from rvesse/sysvinit-redhat-silent-fail
Fix silent failure in RedHat sysvinit script
2015-08-21 14:54:25 -07:00
Jessie Frazelle e5e6eaacee Merge pull request #15492 from vbatts/update-tar-split
vendor: update tar-split to v0.9.6
2015-08-21 14:45:19 -07:00
Sebastiaan van Stijn 9415db7e95 Merge pull request #15742 from Microsoft/addazure
Add Microsoft Azure
2015-08-21 23:41:36 +02:00
Jessie Frazelle 9bd8a9b66b Merge pull request #14006 from hqhq/hq_add_kmem_limit
Add support for kernel memory limit
2015-08-21 14:34:27 -07:00
Jessie Frazelle ecff4badcd Merge pull request #15125 from WeiZhang555/golint-stdcopy-system
fix golint warnings/errors on pkg/system and pkg/stdcopy
2015-08-21 14:27:59 -07:00
Jessie Frazelle 008a8ffdd2 Merge pull request #15218 from calavera/gender_unbiased_names
Add more amazing women to the names generator.
2015-08-21 14:24:49 -07:00
Jessie Frazelle 19f7bfcda9 Merge pull request #15507 from clintonskitson/patch_issue_15467
added check for bind on create to determine local volume driver
2015-08-21 14:23:44 -07:00
Jessie Frazelle 9b8cfb6c79 Merge pull request #15709 from Mashimiao/state-separate-part-of-SetRestarting
daemon/state: separate part of SetRestarting to setRestarting
2015-08-21 14:21:10 -07:00
Jessie Frazelle 9d22c7a2d5 Merge pull request #15596 from jfrazelle/hack-dind-its-been-fun
docker 1.8+ no longer needs dind
2015-08-21 13:51:41 -07:00
Jessie Frazelle 616950b030 Merge pull request #15687 from coolljt0725/add_blk_dev_throttling_to_check_config
Add CONFIG_BLK_DEV_THROTTLING to check-config.sh
2015-08-21 13:48:28 -07:00
Stefan J. Wernli a456f20b44 Windows: Graphdriver should reject create of layer w/o parent
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-08-21 13:23:04 -07:00
Jessie Frazelle e6be51a0f9 Merge pull request #15758 from jfrazelle/EOL-fedora-20
fedora 20 is EOL remove from rpm builder
2015-08-21 13:15:58 -07:00
moxiegirl 1425b185db Merge pull request #15746 from Microsoft/libcontainer-spec-location
Updated spec location for libcontainer
2015-08-21 11:15:28 -07:00
Jessica Frazelle c48ac77840 update hack/dind for 1.8 mounting of cgroups
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-21 11:13:33 -07:00
Jessica Frazelle ee1304a35e fedora 20 is EOL remove from rpm builder
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-21 11:01:18 -07:00
Tonis Tiigi 0c08913d52 Remove nil contexts
Causes daemon panic because loggers can’t be found.

Fixes #15724

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-21 10:31:27 -07:00
Shijiang Wei fcf9daad91 fix a panic when the exec fails to start
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-22 00:01:44 +08:00
Brian Goff eb7b2ed6bb Merge pull request #15748 from coolljt0725/fix_daemon_start_with_old_running_container
Fix docker daemon start with old running container which use thirdparty volume plugin
2015-08-21 11:07:02 -04:00
Brian Goff 85bef48bf5 Merge pull request #15754 from mountkin/fix-return
modify a return value in graph/tags.go to increase readability
2015-08-21 10:55:50 -04:00
Brian Goff 10c97a310a Merge pull request #15751 from nf/bcw
Use a slice instead of a map of io.WriteClosers in broadcastwriter
2015-08-21 10:51:07 -04:00
Shijiang Wei f11b7acc73 modify a return value in graph/tags.go to increase readability
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-21 21:36:30 +08:00
Andrew Gerrand 31cbf76d0c Use a slice instead of a map of io.WriteClosers in broadcastwriter
Maps rely on the keys being comparable.
Using an interface type as the map key is dangerous,
because some interface types are not comparable.
I talked about this in my "Stupid Gopher Tricks" talk:
	https://talks.golang.org/2015/tricks.slide

In this case, if the user-provided writer is backed by a slice
(such as io.MultiWriter) then the code will panic at run time.

Signed-off-by: Andrew Gerrand <adg@golang.org>
2015-08-21 14:08:04 +01:00
Sebastiaan van Stijn 5ceff3f191 Merge pull request #15718 from ZJU-SEL/rm-volume-action
specify `docker run --rm` action when it comes to volume
2015-08-21 08:50:18 +02:00
Tonis Tiigi 2d1158790d Make graph.Register take in io.Reader
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-20 20:37:11 -07:00
Lei Jitang c8a46cb0b2 Fix docker daemon start with old running container which user volume plugin. Fixes #15720
Signed-off-by: Lei Jitang <leijitang@huawei>
2015-08-21 11:29:53 +08:00
John Howard 011b4ca256 Updated spec location for libcontainer
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-08-20 20:04:04 -07:00
John Howard faf9e34067 Update readme
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-08-20 19:55:32 -07:00
John Howard 98f60aef13 Add Microsoft Azure
Signed-off-by: John Howard <john.howard@microsoft.com>
2015-08-20 18:35:21 -07:00
He Simei 76a559ccb2 specify the docker run --rm action
Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-08-21 08:52:06 +08:00
David Calavera d760947b2e Merge pull request #15716 from calavera/release_checklist_docs
Corrections in the release checklist.
2015-08-20 22:29:42 +01:00
Sebastiaan van Stijn 9ed5cf08a3 Merge pull request #15732 from moxiegirl/15731-fixes
Examples index has broken links
2015-08-20 22:56:45 +02:00
Mary Anthony 15c24db9a5 Examples index has broken links
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-20 13:40:03 -07:00
Sebastiaan van Stijn ec43113662 Merge pull request #15697 from sallyom/man-commit-fix
fix format man-commit
2015-08-20 21:33:46 +02:00
Sebastiaan van Stijn ba9496ae48 Merge pull request #15688 from Evalle/15564-fix-windows-doc
Fix a windows doc issue
2015-08-20 20:39:16 +02:00
evalle 3c61ede074 Fix a windows doc issue
Signed-off-by: evalle <shmarnev@gmail.com>
2015-08-20 14:14:48 +02:00
Sven Dowideit 272a3eef94 Merge pull request #15696 from sallyom/man-history-fixup
add -H to SYNOPSIS man-history
2015-08-20 22:11:50 +10:00
Brian Goff 44465098cb Merge pull request #15661 from coolljt0725/fix_docker_stats_show_read_blkio
Fix docker stats show blkio when there are multiple block device
2015-08-20 07:53:38 -04:00
David Calavera 1d0ee18d6b Corrections in the release checklist.
- Add a note about creating the release in GitHub.
- Fix docs release process.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-20 11:52:56 +01:00
David Calavera d959739125 Merge pull request #15715 from aanand/fix-compose-1.2-changelog-link
Fix Compose 1.2 changelog link
2015-08-20 11:42:14 +01:00
Doug Davis 90ebc3b455 Merge pull request #14928 from brahmaroutu/lint_daemon_graphdriver
daemon/graphdriver fix lint errors/warnings
2015-08-20 03:25:00 -07:00
Aanand Prasad 23d3e4bb03 Fix Compose 1.2 changelog link
Hardcode the release tag, so that:

- it goes straight to the changes for 1.2, not whatever the current
  version is

- it still works now that we've renamed CHANGES.md to CHANGELOG.md

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-20 11:09:10 +01:00
Clinton Kitson 6b8129d1fe added check for bind on create to determine local volume driver
Signed-off-by: Clinton Kitson <clintonskitson@gmail.com>
2015-08-20 01:40:04 -07:00
Lei Jitang 211449a1ca Fix docker stats show blkio when there are multiple block devices.
Signed-off-by: Lei Jiang <leijitang@huawei.com>
2015-08-20 11:46:21 +08:00
Ma Shimiao a6ed990593 daemon/state: separate part of SetRestarting to setRestarting
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-08-20 11:14:28 +08:00
Brian Goff 8acd006fd9 Merge pull request #15707 from icaroseara/fix_typo
Fix typo, "fil" -> "fill"
2015-08-19 21:25:43 -04:00
Icaro Seara 997ba4b0da Fix typo, "fil" -> "fill"
Signed-off-by: Icaro Seara <icaro.seara@gmail.com>
2015-08-19 21:50:54 -03:00
Christy Perez 6bf2440650 Allow branch name in vendor-helper script
With this, you can specify a branch name in the
vendor script instead of a commit ID. This makes it easier
to quickly test changes in dep'd repos outside of the DIND
environment.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2015-08-19 17:56:04 -05:00
Sebastiaan van Stijn 41ca7c0f13 Merge pull request #15675 from thaJeztah/carry-14625
[Carry #14625] run.md: --expose does NOT override Dockerfile EXPOSE
2015-08-20 00:49:16 +02:00
Sebastiaan van Stijn 35cbcc2fc1 Add gists provided by Mary
This adds the example gists, provided by Mary Anthony,
also fixes a link to the old /terms/

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-08-20 00:30:39 +02:00
Spencer Brown 6dd84ba2ab run.md: --expose does NOT override Dockerfile EXPOSE
run.md states that the operator can override all defaults set in the Dockerfile, and explicitly says that `--expose` overrides the `EXPOSE` instruction. Neither of these are true. An `EXPOSE` instruction cannot be overridden, `--expose` can only add additional exposed ports.

This change fixes the instructions, and also takes the liberty of crisping up the grammar and phrasing in a place or two.

Signed-off-by: Spencer Brown <spencer@spencerbrown.org>
2015-08-19 23:57:35 +02:00
moxiegirl 286afb9a77 Merge pull request #15682 from MHBauer/cliorder
add weight to daemon page so it renders in order
2015-08-19 14:24:51 -07:00
Morgan Bauer 2a84157352 add weight to daemon page so it renders in order
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-08-19 10:26:19 -07:00
Sebastiaan van Stijn f848f34da2 Merge pull request #15694 from liubin/fixtypo
add missing instruction
2015-08-19 19:05:41 +02:00
Brian Goff 7f46dc03d5 Merge pull request #15684 from ibuildthecloud/dont-sync
Don't globally lock on driver initialization
2015-08-19 12:48:14 -04:00
Mrunal Patel 457aeaa2e1 Modify test to include /dev/shm sharing
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-08-19 12:36:57 -04:00
Mrunal Patel d88fe447df Add support for sharing /dev/shm/ and /dev/mqueue between containers
This changeset creates /dev/shm and /dev/mqueue mounts for each container under
/var/lib/containers/<id>/ and bind mounts them into the container. When --ipc:container<id/name>
is used, then the /dev/shm and /dev/mqueue of the ipc container are used instead of creating
new ones for the container.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-08-19 12:36:52 -04:00
Doug Davis ca79576585 Merge pull request #15664 from skatsuta/fix-parse-null
builder: avoid parsing null- string to nil slice (issue #15634)
2015-08-19 09:06:20 -07:00
Qiang Huang b6f1b4ad35 Add support for kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-19 23:56:55 +08:00
Qiang Huang 87959dbfac Add CheckKernelVersion so we can check any specific version
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-19 23:49:52 +08:00
Sebastiaan van Stijn 7ec7173b76 Merge pull request #15482 from hqhq/hq_fix_run_doc
Add format description in run doc
2015-08-19 17:13:00 +02:00
Doug Davis 09cdd0524e Merge pull request #15691 from skatsuta/fix-printf-wrong-type
integration-cli: fix printf verbs of wrong types
2015-08-19 08:12:45 -07:00
Phil Estes 70c4b6e619 Merge pull request #15695 from lmesz/deviceset_warn_fix
deviceset.go: fixed link in warning about udex sync is not supported
2015-08-19 08:05:27 -07:00
Sebastiaan van Stijn 59e49e1db0 Merge pull request #12927 from lindenlab/custom-host-port-ranges
Proposal: Change --publish=SPEC to allow binding to custom host port ranges
2015-08-19 17:04:23 +02:00
moxiegirl 43763805fb Merge pull request #15690 from hacfi/docs-status-fix
Small fix in dev env docs
2015-08-19 07:12:39 -07:00
Brian Goff b8c319996f Merge pull request #15683 from skatsuta/cli-exec-test-printf-int
integration-cli: modify %s to %d in formatting an int
2015-08-19 10:10:17 -04:00
Sally O'Malley ab9e71b616 fix format man-commit
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-19 10:07:32 -04:00
Sally O'Malley 898114a6d0 add -H to SYNOPSIS man-history
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-19 09:35:52 -04:00
Laszlo Meszaros 78676f19c1 deviceset.go: fixed link in warning about udex sync is not supported
Signed-off-by: Laszlo Meszaros <lacienator@gmail.com>
2015-08-19 14:16:40 +02:00
bin liu 1988064ef2 add missing instruction
Signed-off-by: bin liu <liubin0329@gmail.com>
2015-08-19 18:43:19 +08:00
Philipp Wahala fbc0ea32e8 Small fix in dev env docs
Signed-off-by: Philipp Wahala <philipp.wahala@gmail.com>
2015-08-19 10:53:55 +02:00
Soshi Katsuta 5759b95e7e integration-cli: fix printf verbs of wrong types
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 17:47:33 +09:00
Lei Jitang cbb69531a8 Add CONFIG_BLK_DEV_THROTTLING to check-config.sh
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-19 15:11:04 +08:00
Soshi Katsuta a41f431d11 integration-cli: use c.Assert(err, check.IsNil) instead of if err != nil
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 15:23:11 +09:00
Darren Shepherd 164208fde5 Don't globally lock on driver initialization
This patch makes it such that plugin initialization is synchronized
based on the plugin name and not globally

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-08-18 22:25:30 -07:00
Jessie Frazelle 3dc30d47e1 Merge pull request #15417 from icecrime/update_windows_registry_endpoint
Update Windows TP3 registry endpoints
2015-08-18 20:35:02 -07:00
Soshi Katsuta 5b870d7fa6 integration-cli: modify %s to %d in formatting an int
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 12:06:05 +09:00
Soshi Katsuta d45fcc6c80 integration-cli: add a integration test to avoid parsing null string in ADD, COPY and VOLUME to nil slice
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 11:11:46 +09:00
Qiang Huang 2a468ed7e4 Add format description in run doc
And only set false to --oom-kill-disable, we just need the default
value to show.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-19 10:11:08 +08:00
moxiegirl aacb47d628 Merge pull request #15671 from tonistiigi/fix-volume-userguide
Update volumes userguide
2015-08-18 18:57:24 -07:00
moxiegirl 5fccbd1243 Merge pull request #15676 from thaJeztah/fix-anchor-link
docs: fix anchor link on Ubuntu installation page  Merging for @thaJeztah ....da ddadad dadada 🎼
2015-08-18 18:55:56 -07:00
moxiegirl 9f1e324b53 Merge pull request #15660 from sallyom/man-create-typo
fix SYNOPSIS alphabetical order man-create
2015-08-18 18:40:39 -07:00
Sebastiaan van Stijn d997351e97 Merge pull request #15677 from moxiegirl/carry-14714-changes
remove references to 'source repository'
2015-08-19 00:56:41 +02:00
Morgan Bauer b143c05d64 remove references to 'source repository'
- rewrite intro to Dockerfile reference usage section to remove
   references to 'source repository'
- Closes #14714
- Fixes:  #8648
- Updating with Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-18 15:50:42 -07:00
Sebastiaan van Stijn 5dd28c1f9d docs: fix anchor link on Ubuntu installation page
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-08-18 23:41:00 +02:00
Sebastiaan van Stijn 7e3088c43b Merge pull request #15672 from moxiegirl/cli-reference-cleanup
Updating hashcode links to commands
2015-08-18 21:45:06 +02:00
Mary Anthony 85c2c77188 Updating hashcode links to commands
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-18 12:25:59 -07:00
Tonis Tiigi cc2aab7816 Update volumes userguide
Fixes #15644

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-18 12:17:45 -07:00
David Calavera 215a1136f7 Merge pull request #15662 from cpuguy83/noisy_blkio_warning
Quiet sysinfo warnings on container create/start
2015-08-18 11:47:17 -07:00
Tonis Tiigi 10305dc5e8 Add unless-stopped restart policy
Fixes #11008

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-18 11:39:06 -07:00
Vincent Demeester 799d9605d6 Remove/Comment time.Sleep in integration tests
Remove what seems unnecessary time.Sleep (1 second even) and comment the
ones that seemed necessary.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-18 20:36:08 +02:00
David Calavera 8aa520b8c0 Merge pull request #15649 from LK4D4/syslog_validation
Syslog validation
2015-08-18 11:14:31 -07:00
moxiegirl bba2551847 Merge pull request #15510 from kblin/issue-14795
reference/run: Clarify the use of numeric UIDs
2015-08-18 09:43:16 -07:00
moxiegirl 7ae6a505f2 Merge pull request #15337 from phemmer/doc-builder-volume
add documentation clarifying behavior of VOLUME instruction
2015-08-18 09:42:00 -07:00
Tonis Tiigi 8eeafa058c Fix pull on client disconnect
Fixes #15589

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-18 09:41:37 -07:00
Brian Goff 135f5324b1 Merge pull request #15653 from albers/completion-log-opt-fix
[Fix 15246] bash completion fails on systems with bash 3.2
2015-08-18 12:37:56 -04:00
David Calavera 9f1e8eea8f Merge pull request #15316 from icecrime/release_process
Documenting Docker release process
2015-08-18 09:33:44 -07:00
Sebastiaan van Stijn d7ac3fa863 Merge pull request #15605 from dharmit/15530-remove-the-terms-folder
Fixing docs to remove references to links under terms/
2015-08-18 18:27:28 +02:00
Sebastiaan van Stijn 3ce11c1587 Merge pull request #15656 from SvenDowideit/rename-public-hub
use the Docker Hub as the product name
2015-08-18 17:59:34 +02:00
Sebastiaan van Stijn 6947fbc2b0 Merge pull request #15657 from sallyom/man-inspect-typo
typo man-inspect
2015-08-18 17:37:58 +02:00
Brian Goff 9f8881b810 Merge pull request #15230 from azurezk/fix--rm-when-create-failure
--rm delete container when create failed
2015-08-18 11:32:33 -04:00
Sally O'Malley df11b10680 typo man-inspect
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-18 11:19:57 -04:00
Brian Goff e9d8e38c47 Quiet sysinfo warnings on container create/start
This was making logrus warn on each container create and start.
These warnings are not needed as the code below already warns when these
various cgroup settings aren't supported but have been set.
Warnings were originally introduced by #15381, which appear to be a
side-effect of that change and not the intention.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-18 10:01:52 -04:00
Sally O'Malley 8b8413266c fix SYNOPSIS alphabetical order man-create
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-18 08:16:57 -04:00
Soshi Katsuta 2d6952e8a5 builder: avoid decoding "null" string in ADD, COPY and VOLUME step to nil slice
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-18 21:15:57 +09:00
Sven Dowideit 30cde97e5c use the Docker Hub as the product name
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-08-18 21:13:57 +10:00
Harald Albers 18381faee6 Fix bash completion for log driver options
This option was incorrectly ported to the new `daemon` subcommand
structure.

Beside the obvious effect that completion of `docker daemon --log-opt`
did not work, this also caused completion of `docker` and `docker xxx`
to fail on macs with

> bash: words: bad array subscript

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-18 09:17:29 +02:00
Kai Blin ba29d31c9c reference/run: Some editorial changes
Based on the suggestions from @moxiegirl, some changes to make the wording more clear.

Signed-off-by: Kai Blin <kai@samba.org>
2015-08-18 08:56:56 +02:00
Lei Jitang 770daa15f3 Fix build with resource limit which system is not support.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-18 11:54:00 +08:00
Zhang Kun 1ed15550f5 fix in daemon side
Signed-off-by: Zhang Kun <zkazure@gmail.com>

goformat

Signed-off-by: Zhang Kun <zkazure@gmail.com>

fix small

Signed-off-by: Zhang Kun <zkazure@gmail.com>

change to rm

Signed-off-by: Zhang Kun <zkazure@gmail.com>

handler other error

Signed-off-by: Zhang Kun <zkazure@gmail.com>

unique ERR

Signed-off-by: Zhang Kun <zkazure@gmail.com>

setHostConfig_fail_test

Signed-off-by: Zhang Kun <zkazure@gmail.com>

format

Signed-off-by: Zhang Kun <zkazure@gmail.com>

err handle and modify test

Signed-off-by: Zhang Kun <zkazure@gmail.com>

golint error

Signed-off-by: Zhang Kun <zkazure@gmail.com>
2015-08-18 10:06:36 +08:00
moxiegirl 66112a7ae5 Merge pull request #15613 from mgrauer/update_docs_installation_mac_docker_machine_name
Update dev machine name to default in mac installation docs
2015-08-17 19:05:34 -07:00
Alexandre Beslic f1da5edc8b Merge pull request #15380 from calavera/remove_sys_info_pointers
Remove pointers from the SysInfo struct.
2015-08-17 18:40:54 -07:00
moxiegirl 5ab6883b92 Merge pull request #15430 from charleswhchan/patch-2
Cleanup "Working with containers" page.
2015-08-17 17:46:05 -07:00
Brian Goff fd2e945d15 Merge pull request #15650 from LK4D4/fix_max_file_error
Fix error message in max-file validation
2015-08-17 20:27:12 -04:00
Brian Goff 1c916dbd83 Merge pull request #15632 from mountkin/fix-15626
a quick fix to #15626
2015-08-17 20:26:47 -04:00
Doug Davis 29ced5d0c4 Merge pull request #15599 from calavera/ps_format_q
Fix ignore `-q` flag in `docker ps` when there is a default format.
2015-08-17 15:44:28 -07:00
Alexander Morozov cde607108b Fix error message in max-file validation
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 15:34:39 -07:00
Alexander Morozov 3f61002b05 Fix LogConfig.Config in inspect
Also add test for daemon-wide log-opt.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 15:27:44 -07:00
Alexander Morozov 960791ba60 Check syslog config on daemon start
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 14:29:45 -07:00
Brian Goff 5c88a6fdca Merge pull request #15292 from mountkin/fix-exec-test
move the assertions outside of the goroutine
2015-08-17 17:24:58 -04:00
Alexander Morozov b7a6d14bdc Do not allow corrupted syslog-address
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 14:19:06 -07:00
Alexander Morozov aef15ffc5d Merge pull request #15611 from mariussturm/master
Initialize LogConfig in daemon mode
2015-08-17 14:17:54 -07:00
David Calavera 436fca704f Merge pull request #15356 from Microsoft/10662-uncpathonbuild
Windows: Allow UNC paths on build
2015-08-17 13:34:27 -07:00
Srini Brahmaroutu 9e1a41aae5 daemon/graphdriver fix lint errors/warnings
Addresses #14756

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-17 19:27:36 +00:00
John Howard df7ab6f3db Windows: Allow UNC paths on build
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-08-17 11:03:54 -07:00
Alexander Morozov 5aeb48af77 Merge pull request #15635 from cpuguy83/15633_allow_logconfig_empty_driver
Fix `inspect` output when no log driver specified
2015-08-17 11:03:37 -07:00
David Calavera df46bfdd4d Fix ignore -q flag in docker ps when there is a default format.
Docker ps default format should not take precedence over cli flags.
This happens effectively for other flags except `-q`.
We need to let the cli to set the format as table to print the
expected output with `-q`.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-17 10:48:04 -07:00
David Calavera 2e7b088164 Merge pull request #15579 from Microsoft/10662-graph
Windows: Graph remove custom interface, add central store
2015-08-17 10:45:48 -07:00
Brian Goff 2f2779b6a5 Fix inspect output when no log driver specified
Config options were being ignored in the inspect output when no driver
was specified.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-17 11:35:34 -04:00
Shijiang Wei 3977f30869 a quick fix to #15626
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-17 21:35:57 +08:00
Sebastiaan van Stijn bba762b192 Merge pull request #15237 from charleswhchan/patch-3
Reformat /containers/(id)/resize to make it consistent with other sections.
2015-08-16 10:59:16 +02:00
Charles Chan 6cd2d89469 Reformat /containers/(id)/resize to make it consistent with "Exec Resize" section.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-15 19:47:01 -07:00
Sebastiaan van Stijn e1f3a5ad0a Merge pull request #14113 from dit4c/10348-exec-privileged
Remerge of `docker exec --privileged` with better tests
2015-08-16 00:20:41 +02:00
Michael Grauer f26045a534 Update dev machine name to default in mac installation docs
Signed-off-by: Michael Grauer <michael.grauer@kitware.com>
2015-08-15 15:56:41 -04:00
Marius Sturm e904cbec03 Initialize LogConfig in daemon mode
Signed-off-by: Marius Sturm <marius@graylog.com>
2015-08-15 18:06:03 +02:00
Charles Chan 2fcae333e8 Cleanup "Working with containers" page.
* Cleanup introduction
* Update output of `docker version`
* Cleanup explaination of `docker inspect`
* Change 'deleting' to 'removing' for consistency

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-15 08:44:56 -07:00
Dharmit Shah 0a925d07a8 Fixing docs to remove references to links under terms/
Removed terms/ directory

Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
2015-08-15 13:09:29 +05:30
Stefan J. Wernli dfbb5520e3 Windows: Graph remove custom interface and add central store
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>

Windows: add support for images stored in alternate location.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-08-14 23:45:53 -07:00
Brian Goff a6e0a6852d Merge pull request #15602 from Microsoft/10662-blockfromscratch
Windows: Block 'FROM scratch'
2015-08-14 21:12:15 -07:00
Arnaud Porterie 167783eb13 Merge pull request #15601 from mrjana/vendor18
Vendoring in vishvananda/netlink
2015-08-14 20:22:54 -07:00
Arnaud Porterie bd9cc788d0 Merge pull request #15598 from cpuguy83/15570_fix_exec_tty
Fix issue with exec TTY caused by 15446
2015-08-14 19:43:04 -07:00
Don Kjer 47272f9cc5 Adding support to publish on custom host port ranges
Signed-off-by: Don Kjer <don.kjer@gmail.com>

Changing vendor/src/github.com/docker/libnetwork to match lindenlab/libnetwork custom-host-port-ranges-1.7 branch
2015-08-15 02:41:29 +00:00
John Howard 6df6e2e405 Windows: Block 'FROM scratch'
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-14 18:17:19 -07:00
Jana Radhakrishnan 7948b755c7 Vendoring in vishvananda/netlink
Updating netlink package to 4b5dce31de6d42af5bb9811c6d265472199e0fec
to fix certain wierd netlink issues seen.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-08-14 18:02:58 -07:00
Sebastiaan van Stijn 837a66e79b Merge pull request #15595 from estesp/build-experimental
Add info on how to build experimental binaries
2015-08-15 01:32:10 +02:00
Brian Goff 5ffcecf130 Fix issue with exec TTY caused by 15446
The bool logic around setting up the TTY ended up getting flipped
accidentally.
Also added a test for exec with TTY.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-14 14:55:26 -07:00
moxiegirl aedd45346a Merge pull request #15428 from charleswhchan/patch-1
Improve/fix "Dockerizing Applications" page.
2015-08-14 14:03:11 -07:00
David Calavera 313b37129a Merge pull request #15525 from albers/completion-option-updates
Updates to bash completion for docker run and docker daemon.
2015-08-14 13:55:11 -07:00
Phil Estes 3f8d60ac2f Add info on how to build experimental binaries
..also update the text that says "TO.BE.DETERMINED" to the actual URL
where the experimental nightlies are published.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2015-08-14 16:45:38 -04:00
Jessie Frazelle 424fa59859 Merge pull request #15568 from Microsoft/10662-commitrunning
Windows: Stop commit on running container
2015-08-14 13:13:42 -07:00
Tibor Vass 3e523ae015 Merge pull request #14530 from Microsoft/10662-serversidevalidation
Windows: [TP3] Move netmode validation to server
2015-08-14 16:05:59 -04:00
John Howard f6ed590596 Move netmode validation to server
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-14 12:17:41 -07:00
Tianon Gravi 53b1f993ab Merge pull request #15580 from hqhq/hq_fix_NETPRIO_check
Adapt CONFIG_NETPRIO_CGROUP in check-config.sh
2015-08-14 12:03:03 -07:00
Alexander Morozov d1fada4bf7 Merge pull request #15584 from mavenugo/ln-vendor-in
Vendoring in libnetwork 22dc04d06067b40a9e7ef575aee6d1bb69d4dcc3
2015-08-14 11:56:47 -07:00
Sebastiaan van Stijn f39323c1e3 Merge pull request #15519 from albers/changelog-dangling
[Fix 15518] wrong feature description in changelog
2015-08-14 20:48:48 +02:00
Sebastiaan van Stijn 575a104b3f Merge pull request #15524 from veggiemonk/patch-README
update README.md
2015-08-14 20:45:40 +02:00
Sebastiaan van Stijn d1585f1d66 Merge pull request #15542 from MHBauer/rundoclink
fix link
2015-08-14 20:35:51 +02:00
moxiegirl 424702b91a Merge pull request #15574 from diogomonica/fixing-race-on-key-backup
Fixing race condition on private key backup how-to
2015-08-14 11:26:56 -07:00
moxiegirl ff155ce6ee Merge pull request #15576 from estesp/hows-about-a-minor-typo
Correct readability of --userland-proxy para.
2015-08-14 11:26:21 -07:00
Arnaud Porterie 28a17c8a03 Merge pull request #15491 from Microsoft/10662-fixtar
Windows: [TP3] Fixing Tar functions to support long paths.
2015-08-14 09:41:42 -07:00
Madhu Venugopal 703e2264ba Vendoring in libnetwork 22dc04d06067b40a9e7ef575aee6d1bb69d4dcc3
Notable changes include :
- #285 : Fix required for https://github.com/docker/docker/pull/12927
- #283 : Code re-architecture/tech-debt in bridge driver
- Upgraded to latest Netlink library
- Fixed certain race-conditions

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-08-14 05:57:47 -07:00
Rory Hunter 60d97a4a63 Make run and rmi bash completions configurable
Allow the user to configure how Docker's bash completion works for the
"events", "history", "inspect", "run", "rmi" and "save" commands through the
following environment variables:

DOCKER_COMPLETION_SHOW_IMAGE_IDS
  "none" - Show names only (default)
  "non-intermediate" - Show names and ids, but omit intermediate image IDs
  "all" - Show names and ids, including intermediate image IDs

DOCKER_COMPLETION_SHOW_TAGS
  "yes" - include tags in completion options (default)
  "no"  - don't include tags in completion options

Fixes #9474.

Signed-off-by: Rory Hunter <roryhunter2@gmail.com>
2015-08-14 11:29:29 +01:00
Qiang Huang 6c4d4c70c6 Adapt CONFIG_NETPRIO_CGROUP in check-config.sh
Fixes: #15572

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-14 14:38:48 +08:00
Arnaud Porterie 693ff58cd2 Merge pull request #14758 from Microsoft/10662-pipestohcs
Windows: [TP3] new hcsshim stdin/out/err handling
2015-08-13 22:52:48 -07:00
John Howard 4b933dd2ea Windows: Stop commit on running container
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-13 22:17:03 -07:00
Phil Estes 4e53e80934 Correct readability of --userland-proxy para
Was reading this to explain it to someone and noticed the missing "s"
which makes it not so great for nice English readability..

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2015-08-13 23:56:42 -04:00
Diogo Monica fbb268c12a Fixing race condition on private key backup how-to
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-08-13 19:16:00 -07:00
David Calavera 54b50479af Merge pull request #15065 from calavera/new_release_branch_workflow
Make the release process more atomic between major releases.
2015-08-13 16:10:11 -07:00
Jessie Frazelle b93d99b25d Merge pull request #15545 from LK4D4/refactor_pullv2
Refactoring of pullV2Tag
2015-08-13 15:52:14 -07:00
Jessie Frazelle 46d9fd6a11 Merge pull request #15367 from hqhq/hq_update_rpm_deb_desc
Tiny fix for rpm and deb descriptions
2015-08-13 15:04:50 -07:00
John Starks ec5a73d18e Windows: new hcsshim stdin/out/err handling
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-13 13:09:42 -07:00
Vincent Batts 4ce24eb73a vendor: update tar-split to v0.9.6
Fixes rare edge case of handling GNU LongLink and LongName entries.
Perf improvements. /dev/null writes were taking CPU time during docker
push. Thanks @LK4D4
Various cleanup too.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-08-13 15:42:01 -04:00
Eric Windisch 7342d59114 AppArmor: Deny w to /proc/* files
Introduce a write denial for files at the root of /proc.

This prohibits root users from performing a chmod of those
files. The rules for denials in proc are also cleaned up,
making the rules better match their targets.

Locally tested on:
- Ubuntu precise (12.04) with AppArmor 2.7
- Ubuntu trusty (14.04) with AppArmor 2.8.95

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-08-13 15:39:25 -04:00
Sebastiaan van Stijn c6c195a465 Merge pull request #13501 from vdemeester/8048-image-repository-tag
Fix #8048 : make `docker images repository:tag` work
2015-08-13 21:36:21 +02:00
Alexander Morozov 9b2426c606 Refactoring of pullV2Tag
* use downloadInfo pointers everywhere
* use downloads slice only for things that we really download
* cleanup tmp files in all cases

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-13 11:50:19 -07:00
Sebastiaan van Stijn 599b76000d Merge pull request #15560 from docker/patch-bad-formatting
Fixing bad formatting reported by David via email
2015-08-13 20:26:05 +02:00
Jessie Frazelle 355f640d4d Merge pull request #15559 from liusdu/liusdu-type
fix a typo in graph/graph.go
2015-08-13 09:33:00 -07:00
Jessie Frazelle 53812e51f4 Merge pull request #15563 from ankushagarwal/changelog
Add 1.8.1 CHANGELOG
2015-08-13 09:28:31 -07:00
Ankush Agarwal 4ac8fd98b3 Add 1.8.1 CHANGELOG
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-08-13 09:02:04 -07:00
Sebastiaan van Stijn 6b1b1ad31c Merge pull request #15451 from liubin/liubin/fix-broken-link
fix broken link to wiki
2015-08-13 17:03:41 +02:00
moxiegirl 68a4beeba4 Merge pull request #15554 from HuKeping/docs-notary
Docs: some fix about notarysandbox
2015-08-13 07:47:35 -07:00
bin liu f6753cd963 fix broken link to glossary page.
Signed-off-by: bin liu <liubin0329@gmail.com>
2015-08-13 22:40:20 +08:00
moxiegirl ef453f7118 Fixing bad formatting reported by David via email
Fixed and tested

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-13 06:42:26 -07:00
Liu Hua 883fcfe425 fix a typo in graph/graph.go
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-08-13 20:01:43 +08:00
Zhang Wei 7e420ad850 fix golint warnings/errors on pkg/system and pkg/stdcopy
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-08-13 18:47:13 +08:00
Hu Keping 79aac6584d Docs: some fix about notarysandbox
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-08-13 16:53:05 +08:00
Vincent Demeester 4fb88d2e11 Fix #8048 : make docker images repository:tag work
Make command like "docker images ubuntu:14.04" work and filter out the
image with the given tag.

Closes #8048.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-13 08:50:09 +02:00
Tim Dettrick 90326939c8 Updated test to check for exec --privileged side-effects
Also improving documentation for same feature as part of
docker/docker#14113 docs review.

Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
2015-08-13 16:37:20 +10:00
Tim Dettrick 03f65b3d0d Revert "Revert "Add docker exec run a command in privileged mode""
This reverts commit 40b71adee3.

Original commit (for which this is effectively a rebased version) is
72a500e9e5 and was provided by Lei Jitang
<leijitang@huawei.com>.

Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
2015-08-13 16:36:44 +10:00
Kai Blin 8a61e2b151 reference/run: Add some articles
Signed-off-by: Kai Blin <kai@samba.org>
2015-08-13 06:35:48 +02:00
Kai Blin 4d89910820 reference/run: Add a paragraph break
Signed-off-by: Kai Blin <kai@samba.org>
2015-08-13 06:34:57 +02:00
moxiegirl 650feb29f1 Merge pull request #15541 from thaJeztah/hashtag-space
docs: fix fedora prerequisites heading
2015-08-12 19:33:38 -07:00
Jessie Frazelle 30cf473f26 Merge pull request #15543 from icecrime/15536_partial_manifest
Fix partial manifest push
2015-08-12 19:19:07 -07:00
Arnaud Porterie 72e55cb0ec Merge pull request #15399 from Microsoft/10662-portmapping
Windows: [TP3] Enable NAT port mapping
2015-08-12 19:07:14 -07:00
Arnaud Porterie 697cdb8e2f Update regression test
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:46:55 -07:00
Arnaud Porterie 4f3b0d0f4a Revert #14884
This reverts commit 810d3b2642.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:46:48 -07:00
Morgan Bauer c50e78e799 fix link
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-08-12 17:20:20 -07:00
Sebastiaan van Stijn e26ee9a317 Merge pull request #15521 from albers/changelog-rollover
[Fix 15520] wrong feature description (rollover) in changelog
2015-08-13 02:17:42 +02:00
David Calavera d50881e446 Merge pull request #15449 from albers/completion-help
Remove -h flag from completion and daemon reference
2015-08-12 17:09:51 -07:00
Sebastiaan van Stijn 2c18e1cd05 docs: fix fedora prerequisites heading
Fixes the prerequisites heading not being
rendered properly, because of a missing space.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-08-13 01:29:10 +02:00
John Howard 4393be7100 Windows: Enable NAT port mapping
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-12 13:17:27 -07:00
Alexander Morozov d50d56b352 Merge pull request #15531 from Microsoft/10662-buildercommands
Windows: Error on unsupported builder command
2015-08-12 13:13:03 -07:00
Alexander Morozov d8ff9ef2b5 Merge pull request #15504 from kolyshkin/zfs-nitpicks
zfs nitpicks
2015-08-12 11:54:35 -07:00
Jessie Frazelle d3198fa8c4 Merge pull request #15446 from cpuguy83/better_err_on_exec_err
Return better errors from exec
2015-08-12 11:13:29 -07:00
John Howard 394ccfac07 Windows: Error on unsupported builder command
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-12 10:02:23 -07:00
moxiegirl 8a0efadee1 Merge pull request #15450 from liubin/liubin/change-port-number-through-example
change port number through example context
2015-08-12 09:49:50 -07:00
Jessie Frazelle e82358586d Merge pull request #15183 from jfrazelle/test-install-script
add file to test install script
2015-08-12 09:49:35 -07:00
Harald Albers e4d8a8e1ca Add storage options to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-12 06:13:24 -07:00
Julien Bisconti c7ab9b4a5c update README.md
Add Awesome-docker list to docker resources.

Signed-off-by: Julien Bisconti <julien.bisconti@gmail.com>
2015-08-12 15:10:29 +02:00
Harald Albers 5c1ad6f90c Add options for the json-file logging driver to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-12 04:39:29 -07:00
Harald Albers 644c158837 Update bash completion for docker run
Also fixed sort order of options using `sort -d`

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-12 04:38:55 -07:00
Harald Albers 967c50cfe9 Fix wrong feature description (rollover) in changelog
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-12 04:20:16 -07:00
Harald Albers b4a89489ae Fix wrong feature description in changelog
See https://github.com/docker/docker/issues/15518

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-12 03:25:37 -07:00
Arnaud Porterie dc945f5559 Merge pull request #15512 from moxiegirl/fix-links-checker
Fixes after release
2015-08-11 23:15:04 -07:00
Mary Anthony 8b09f8a302 Fixes after release
Adding in a link about the deprecated material
Fixing bad link to staging

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-11 23:13:14 -07:00
Kai Blin a7cfb098d4 reference/run: Clarify the use of numeric UIDs
it is possible to pass an UID that has not been created inside the container, clarify this in the docs.
This should fix issue #14795

Signed-off-by: Kai Blin <kai@samba.org>
2015-08-12 06:34:37 +02:00
Kir Kolyshkin 15a232fd06 graphdriver/zfs: fix GetMetadata() comment
Commit e27c904 added a wrong and misleading comment
to GetMetadata(). Fix it using the wording from
commit 407a626 which introduced GetMetadata().

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-08-11 18:16:11 -07:00
Kir Kolyshkin f5f7fee2ec graphdriver/zfs: privatize mountPath and zfsPath
These functions are not part of the graphdriver.Driver
interface and should therefore be private.

Also, remove comments added by commit e27c904 as they are
* pretty obvious
* no longer required by golint

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-08-11 18:16:08 -07:00
Darren Shepherd 8b91b3cf77 Revert "Container don't inherit from image labels"
This reverts commit 79621c7728.

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-08-11 17:01:57 -07:00
Alexander Morozov f5e2c6f14b Merge pull request #15502 from mrunalp/fixup_comment
Fix incorrect comment
2015-08-11 16:53:23 -07:00
Mrunal Patel d626f77e36 Fix incorrect comment
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-08-11 19:45:23 -04:00
Jessie Frazelle 13873e6841 Merge pull request #15377 from jfrazelle/do-not-keep-old-experimental-debs
do not keep old debs for experimental
2015-08-11 16:35:55 -07:00
Jessica Frazelle 0eade329dc fix oracle linux install
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-11 16:33:14 -07:00
Jessica Frazelle 83416f68de add file to test install script
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-11 16:31:58 -07:00
Stefan J. Wernli 230cfc6ed2 Fixing Tar functions to support Windows long paths.
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
2015-08-11 16:07:36 -07:00
Tobias Gesellchen 9bde19e72a skip checkOrigin during websocket handshake
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-08-12 00:05:59 +02:00
David Calavera 0e3674d7d0 Merge pull request #15485 from calavera/merge_release_v1.8.0
Bump version to 1.8.0 in master
2015-08-11 13:38:57 -05:00
David Calavera a09ba62d18 Bump dev version to 1.9.0-dev
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-11 10:21:12 -05:00
David Calavera e873686017 Bump version to 1.8.0
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-11 10:20:47 -05:00
David Calavera bca8159174 Make the release process more atomic between major releases.
Rather than keeping a branch named "release" where we merge every release,
we want to keep "disposable" release branches for each release.

This will make much easier to create new major releases, since we always
want to start these releases from what we have in master. We create a
disposable release branch from master that we'll only use during the lifecycle
of the major release.

Once the release branch is created, the release captain will use a "bump" branch
in her own fork to cherry pick changes that will need to be applied to this
release. We'll track those changes in a pull request between the disposable release
branch and the bump branch.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-11 10:09:25 -05:00
David Calavera 3e596da9ea Merge pull request #15474 from tonistiigi/network-ui-endpoints-windows
Mark network ui endpoints unix-only
2015-08-11 09:32:09 -05:00
Harald Albers ceb11d9660 Remove -h flag from completion and daemon reference
All docker subcommands support `-h` as an alias for `--help`
unless they have `-h` aliased to something else like `docker run`,
which uses `-h` for `--hostname`.

`-h` is not included in the help messages of the commands, though.

It ist visible in
* reference: only in `docker daemon` reference,
  see output of `grep -Rse --help=false docs`
* man pages: only in `docker` man page
  see output of `grep -RF '**-h**' man`

For consistency reasons, this commit removes `-h` as an alias for
`--help` from the reference page, man page and the bash completion.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-11 07:30:58 -07:00
Jessie Frazelle beab255cc0 Merge pull request #15473 from jfrazelle/minor-cosmetic-change
minor cosmetic change to client output on pull
2015-08-10 23:20:05 -07:00
Jessica Frazelle 8bd6322760 minor cosmetic change to client output on pull
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-10 21:54:03 -07:00
Tonis Tiigi 6e3740450d Mark network ui endpoints unix-only
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-10 21:49:27 -07:00
Jessie Frazelle ca8f24679e Merge pull request #15459 from jfrazelle/make-windows-cross-compile-static-daemon-work
make windows cross compile static daemon work
2015-08-10 17:53:09 -07:00
moxiegirl c4cb55b84f Merge pull request #15458 from moxiegirl/remove-registry-v1-14616
Removing references to registry 1.0
2015-08-10 17:44:32 -07:00
Mary Anthony d550d729e1 Initial work
Removing references to regsitry 1.0, pointing to distribution
Updating links and title
Adding in comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-10 17:43:41 -07:00
moxiegirl 1eb1083066 Merge pull request #15396 from moxiegirl/my-trust-changes
Docker content trust documentation
2015-08-10 17:24:06 -07:00
Diogo Monica 753bf40f15 Docker content trust documentation
- started from Diogo's work
- updated after discussions with team
- Updating with new key names
- fixing weight
- adding in sandbox
- adding in gliffy for images
- backing out to old names for now
- Copy edit pass
- Entering comments from the content trust team
- Update name of branch and image name
- Removing the last diogo reference
- Updating with Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-10 17:22:11 -07:00
Jessica Frazelle e62745922f make windows cross compile static daemon work
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-10 16:16:58 -07:00
moxiegirl 4bfbeb80a6 Merge pull request #15462 from moxiegirl/add-migrate-windows-15454
Updating new vm name, add migrate, and Windows 10 limitation
2015-08-10 15:13:08 -07:00
Mary Anthony e5c160e1d6 Updating new vm and with migrate
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-10 13:29:08 -07:00
Alexander Morozov 0bfad28b86 Merge pull request #15422 from kolyshkin/graphtest-fix
graphtest: filter out lost+found dir entry
2015-08-10 12:21:21 -07:00
Tibor Vass 4293861c1e Merge pull request #15452 from albers/completion-storage-driver
Add missing storage drivers to bash completion
2015-08-10 13:25:45 -04:00
Alexander Morozov 6f89a8ee1b Merge pull request #15404 from vbatts/vbatts-dm-zero-sized-field
devicemapper: fix zero-sized field access
2015-08-10 09:16:11 -07:00
Harald Albers 5cee7e8116 Add missing storage drivers to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-10 08:49:40 -07:00
bin liu b0a65f93a5 change port number through example context
Signed-off-by: bin liu <liubin0329@gmail.com>
2015-08-10 23:12:03 +08:00
Vincent Batts f83d05c3be devicemapper: fix zero-sized field access
Fixes: #15279

Due to
https://github.com/golang/go/commit/7904946eeb35faece61bbf6f5b3cc8be2f519c17
the devices field is dropped.

This solution works on go1.4 and go1.5

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-08-10 11:11:58 -04:00
Brian Goff 51249a3aa0 Merge pull request #15445 from hqhq/hq_use_docker_daemon
Change all docker -d to docker daemon
2015-08-10 10:35:19 -04:00
Brian Goff 2231c5161e Merge pull request #15447 from albers/completion-ps-format
Add `docker ps --format` to bash completion
2015-08-10 10:31:49 -04:00
Kun Zhang a7c00bc1a2 change exportImage to top-level func
Signed-off-by: Kun Zhang <zkazure@gmail.com>

remove useless FIXME

Signed-off-by: Kun Zhang <zkazure@gmail.com>

fix

Signed-off-by: Kun Zhang <zkazure@gmail.com>
2015-08-10 22:18:57 +08:00
Brian Goff f078f75bf2 Return better errors from exec
Also cleans up some of the API side of exec.
Was writing the header twice (two different headers).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-10 09:53:19 -04:00
Harald Albers c465ba7bde Add docker ps --format to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-10 06:51:14 -07:00
David Calavera ba0eba6960 Merge pull request #15426 from BenHall/15425-set-e-install-script-fix
Fix install.sh to handle non-zero exit codes when checking lsb_release
2015-08-10 08:47:19 -05:00
David Calavera 650d5d5d7a Merge pull request #15437 from calavera/remove_wrong_doc
Remove doc that doesn't apply to Journald.
2015-08-10 08:44:08 -05:00
David Calavera 5d54f50751 Merge pull request #15441 from summershrimp/master
fix typo mistake
2015-08-10 08:18:09 -05:00
Qiang Huang 81cc8ebc93 Change all docker -d to docker daemon
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-10 20:48:08 +08:00
Yibai Zhang fa9e54fbf1 fix typo mistake
Signed-off-by: Yibai Zhang <xm1994@gmail.com>
2015-08-10 16:30:48 +08:00
David Calavera f1412f2942 Remove doc that doesn't apply to Journald.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-09 22:12:42 -05:00
Qiang Huang ff97bc79cb Tiny fix for rpm and deb descriptions
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-10 09:34:10 +08:00
moxiegirl b173314cca Merge pull request #15400 from vincentbernat/doc/memory-cgroup-overhead
doc: add a notice about memory accounting overhead
2015-08-09 16:38:41 -07:00
Sebastiaan van Stijn 8e05a3e30f Merge pull request #15411 from moxiegirl/fix-links-15349
Fixes #15349 too many apis
2015-08-09 20:52:49 +02:00
Kir Kolyshkin 158c536267 graphtest: filter out lost+found dir entry
Ploop graph driver provides its own ext4 filesystem to every
container. It so happens that ext4 root comes with lost+found
directory, causing failures from DriverTestCreateEmpty() and
DriverTestCreateBase() tests on ploop.

While I am not yet ready to submit ploop graph driver for review,
this change looks simple enough to push.

Note that filtering is done without any additional allocations,
as described in https://github.com/golang/go/wiki/SliceTricks.

[v2: added a comment about lost+found]

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-08-09 10:23:36 -07:00
moxiegirl 98ec623a8b Merge pull request #15431 from charleswhchan/patch-4
Cleanup "Automatically start containers" page.
2015-08-09 10:10:42 -07:00
Charles Chan ad3df49958 Cleanup "Automatically start containers" page.
* Remove old information for Docker 1.2. (See PR #15408)

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-08 17:28:21 -07:00
Charles Chan 316eb2979e Improve/fix "Dockerizing Applications" page.
* Try to update the wording for the notes.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-08 16:13:23 -07:00
Doug Davis 34a17a5de1 Merge pull request #15427 from calavera/fix_overlay_typo
Fix typo in Overlay documentation.
2015-08-08 18:14:38 -04:00
David Calavera f1f6738d97 Fix typo in Overlay documentation.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-08 15:11:09 -07:00
moxiegirl 00843d18d8 Merge pull request #15312 from yyekhlef/fedora_22_doc
Fedora 22 manual network configuration and ip forwarding
2015-08-08 12:59:11 -07:00
moxiegirl 030df72279 Merge pull request #15408 from ankushagarwal/env-var-docs
Make Environment replacement note less kludgy
2015-08-08 12:56:19 -07:00
moxiegirl 22d539866c Merge pull request #15409 from ankushagarwal/wgetcurl
Make official install instructions use curl instead of wget
2015-08-08 12:51:48 -07:00
Brian Goff cc73fc03e8 Merge pull request #15421 from maaquib/15418-ps-image-id-too-wide
Truncating image id is docker ps to a length of 12
2015-08-08 07:48:16 -04:00
Brian Goff 764aa1a583 Merge pull request #15074 from coolljt0725/14756_enable_golint_2
Enable golint in pkg/jsonlog and pkg/jsonmessage part of #14756
2015-08-08 07:14:53 -04:00
Ben Hall 3b28bada0a Fix install.sh to handle non-zero exit codes when checking lsb_release
Signed-off-by: Ben Hall <ben@benhall.me.uk>
2015-08-08 11:44:52 +01:00
Arnaud Porterie bf892dcfcc Merge pull request #15420 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-08 01:08:49 -07:00
Arnaud Porterie 46f40c34d2 Merge pull request #15424 from coolljt0725/typo_remove_useless_period
Typo: remove unconsistent period in docker info
2015-08-08 01:04:38 -07:00
Lei Jitang dc2a7ab750 Typo: remove unconsistent period in docker info
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-08 13:06:59 +08:00
Alexander Morozov 03f969d0b3 Merge pull request #15423 from HuKeping/if-else
Remove useless if-else
2015-08-07 21:54:30 -07:00
Hu Keping c536cec5ea Remove useless if-else
It is better to use simple form without else.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-08-08 20:02:44 +08:00
Lei Jitang 5220f3b535 Enable golint in pkg/jsonlog and pkg/jsonmessage.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-08 11:28:22 +08:00
David Calavera 196aa6d62d Merge pull request #14965 from stefanberger/nohidevols2
Have network files mounted read-only when -v parameter has 'ro' passed
2015-08-07 19:10:59 -07:00
Mohammed Aaqib Ansari 1a2ccf59ee Truncating image id to 12 in docker ps
Signed-off-by: Mohammed Aaqib Ansari <maaquib@gmail.com>
2015-08-07 20:53:48 -04:00
Veres Lajos 5146232723 typofix - https://github.com/vlajos/misspell_fixer
Signed-off-by: Veres Lajos <vlajos@gmail.com>
2015-08-07 23:25:49 +01:00
David Calavera 1e2765dabb Merge pull request #15109 from kevishi/new-config-reader
Added support for creating a cliconfig.ConfigFile via io.Reader
2015-08-07 14:43:55 -07:00
Arnaud Porterie 4f349cdd4b Merge pull request #14719 from icecrime/14662_update_issue_triage
Update issue triaging process
2015-08-07 14:37:31 -07:00
Ankush Agarwal 89ec5399af Remove note from docker version 1.3 on Env variables
Fixes #14734

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-08-07 14:36:06 -07:00
Alexander Morozov 7ac357c795 Merge pull request #15416 from vdemeester/lint-remove-pkgsystemd
Remove pkg/systemd from validate-lint
2015-08-07 14:31:12 -07:00
Arnaud Porterie c7e1f91a9e Update Windows TP3 registry endpoints
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-07 14:03:46 -07:00
Kevin Shi 34679e568a Added support for creating a cliconfig.ConfigFile via io.Reader
Signed-off-by: Kevin Shi <kshi@andrew.cmu.edu>
2015-08-07 14:02:03 -07:00
Vincent Demeester b8559991dc Remove pkg/systemd from validate-lint
Following #15330, pkg/systemd doesn't exists anymore.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-07 22:26:45 +02:00
David Calavera 5110095310 Merge pull request #15014 from brahmaroutu/lint_daemon_graphdriver_overlay
daemon/graphdriver/overlay/ fix lint errors/warnings
2015-08-07 13:06:56 -07:00
David Calavera 0262d40ba7 Merge pull request #15370 from cpuguy83/better_error_on_client_connect
Better/more specific error messages on connect
2015-08-07 13:00:44 -07:00
Mary Anthony 1d5f479e01 Fixes #15349 too many apis
Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-07 11:37:05 -07:00
Srini Brahmaroutu de3944219f daemon/graphdriver/overlay/ fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-07 18:34:59 +00:00
David Calavera 0a0e9701f7 Merge pull request #14897 from WeiZhang555/golint-api-types
fix golint warnings/errors on package api/types/
2015-08-07 10:51:27 -07:00
David Calavera b1009d1fdd Merge pull request #14828 from brahmaroutu/lint_graph_tags
/graph/tag fix lint errors/warnings
2015-08-07 10:49:26 -07:00
David Calavera 70cae97ee2 Merge pull request #14811 from devx/refactor-clientRequestAttemptLogin
Cleanup: Factor cmdAttempt out of cli.clientRequestAttemptLogin
2015-08-07 10:47:18 -07:00
Brian Goff 510ecbf371 Merge pull request #15407 from calavera/daemon_supported_flag
Add platformSupported flag to enable daemon mode by platform.
2015-08-07 13:45:10 -04:00
Ankush Agarwal c76fef1791 Make official install instructions use curl instead of wget
YOU GO CURL

Fixes #14650

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-08-07 10:16:09 -07:00
David Calavera 10d30c6457 Add platformSupported flag to enable daemon mode by platform.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-07 09:45:24 -07:00
Doug Davis 38e5764132 Merge pull request #15371 from ankushagarwal/flags
Add test to check if subcommands are sorted
2015-08-07 12:21:00 -04:00
Arnaud Porterie 27fd64c67f Merge pull request #15392 from Microsoft/js/vendor_ansiterm
Update vendored go-ansiterm for Windows console
2015-08-07 09:01:31 -07:00
Arnaud Porterie a8026239fc Merge pull request #15385 from jfrazelle/gpg-passphrase-rpm-sign-fix
Gpg passphrase rpm sign fix
2015-08-07 08:53:51 -07:00
Brian Goff 81c679acae Merge pull request #15405 from duglin/BFlagDoc
Just add some code doc around the use of AddXXX func to avoid any confusion
2015-08-07 11:47:18 -04:00
Doug Davis 592908c0f5 Just add some code doc around the use of AddXXX func to avoid any confusion
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-08-07 08:07:27 -07:00
Vincent Bernat 56b33e9f27 doc: add a notice about memory accounting overhead
The documentation for Debian and Ubuntu explains how to enable memory
and swap accounting but doesn't explain why it is disabled in the first
place. The problem with those subsystems is that they incurs a
performance hit even when not used at all. Add this explanation.

The provided figure are quite vague. The memory overhead is easily
verifiable. It is for example cited in [RedHat documentation][]. For the
performance hit, maybe the performance is better now, but a few years
ago, it was said to be [between 6 and 15%][].

The goal is that people don't just enable memory accounting if they
don't have a use for it.

[RedHat documentation]: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html
[between 6 and 15%]: https://lwn.net/Articles/517562/

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2015-08-07 14:31:33 +02:00
Ankush Agarwal 4d212f7853 Add test to check if subcommands are sorted
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-08-07 01:34:21 -07:00
root ecf528fcb6 Update vendored go-ansiterm for Windows console
This update fixes Windows client console bugs and increases VT100
compatibility. With this change, nano and emacs become usable, and bash
works better.

Signed-off-by: John Starks <jostarks@microsoft.com>
2015-08-06 20:48:02 -07:00
David Calavera b9094633f3 Merge pull request #15386 from jfrazelle/remove-docker-unconfined-profile
remove docker-unconfined profile we were not using it
2015-08-06 20:06:33 -07:00
Zhang Wei 3d6617ffe7 fix golint warnings/errors on package api/types/
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-08-07 09:43:43 +08:00
Aidan Hobson Sayers c016d2defd Remove unnecessary func parameter, add mirror endpoint test
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-08-07 02:25:41 +01:00
Stefan Berger 38295d4b48 Have network files mounted read-only when -v parameter has 'ro' passed
Have network files mounted read-only when mounted using the -v
open and -v parameter has 'ro' passed.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-06 20:37:28 -04:00
Sven Dowideit 818190b1ff Merge pull request #15351 from SvenDowideit/remove-hub-v1-documentation
Removing Hub v1 documentation, Hub v2 documentation will come from th…
2015-08-07 10:33:15 +10:00
Arnaud Porterie 04cd81401a Merge pull request #15141 from Microsoft/10662-cp
Windows [TP3] - make docker cp functional
2015-08-06 17:15:09 -07:00
Jessica Frazelle e542238f2a remove docker-unconfined profile we were not using it and it breaks apparmor on wheezy
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-06 16:51:01 -07:00
David Calavera 6168a992c7 Merge pull request #15381 from calavera/carry_15275
[Carry 15275] Runtime sysinfo check
2015-08-06 16:48:22 -07:00
Sven Dowideit 9f530aba7f remove unused images
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-08-06 23:34:29 +00:00
Jessica Frazelle 203776a40c fix rpm signing so it does not open a tty w question
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-06 16:18:40 -07:00
Sven Dowideit 70092b3ee0 Removing Hub v1 documentation, Hub v2 documentation will come from that repository
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-08-06 23:00:49 +00:00
David Calavera c2bc637a03 Remove pointers from the SysInfo struct.
Because they can just be values.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-06 15:57:21 -07:00
Antonio Murdaca 4177b0bae0 Add hostConfig check before starting a container
It may happen that host system settings are changed while the daemon is running.
This will cause errors at libcontainer level when starting a container with a
particular hostConfig (e.g. hostConfig with memory swappiness but the memory
cgroup was umounted).
This patch adds an hostConfig check on container start to prevent the daemon
from even calling libcontainer with the wrong configuration as we're already
doing on container's creation).

Signed-off-by: Antonio Murdaca <runcom@linux.com>
(cherry picked from commit 0d2628cdf19783106ae8723f51fae0a7c7f361c6)
2015-08-06 15:46:10 -07:00
Antonio Murdaca b2d06b6fba Move sysinfo out of daemon struct
sysinfo struct was initialized at daemon startup to make sure
kernel configs such as device cgroup are present and error out if not.
The struct was embedded in daemon struct making impossible to detect
if some system config is changed at daemon runtime (i.e. someone
umount the memory cgroup). This leads to container's starts failure if
some config is changed at daemon runtime.
This patch moves sysinfo out of daemon and initilize and check it when
needed (daemon startup, containers creation, contaienrs startup for
now).

Signed-off-by: Antonio Murdaca <runcom@linux.com>
(cherry picked from commit 472b6f66e03f9a85fe8d23098dac6f55a87456d8)
2015-08-06 15:46:09 -07:00
David Calavera 6b341f2b9d Merge pull request #15378 from tiborvass/dont-push-to-mirror
registry: Do not push to mirrors
2015-08-06 15:30:06 -07:00
David Calavera fe6c0e44be Merge pull request #15376 from aboch/ep
Vendoring libnetwork bd3eecc96f3c05a4acef1bedcf74397bc6850d22
2015-08-06 15:14:01 -07:00
Jessica Frazelle aadb3407d3 to not keep old debs for experimental
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-06 14:49:05 -07:00
Tibor Vass b899977ee2 registry: Do not push to mirrors
This patch splits LookupEndpoints into LookupPullEndpoints and
LookupPushEndpoints so that mirrors added with --registry-mirror are
skipped in the list returned by LookupPushEndpoints.

Fixes https://github.com/docker/distribution/issues/823

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-08-06 17:41:59 -04:00
David Calavera 9ce0a20c01 Merge pull request #15320 from hqhq/hq_add_cgroup_check
Check sysinfo for Cpuset cpu.shares and blkio
2015-08-06 14:23:37 -07:00
Alessandro Boch e35a5ae463 Vendoring libnetwork bd3eecc96f3c05a4acef1bedcf74397bc6850d22
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-08-06 14:23:25 -07:00
David Calavera 287e8167f2 Merge pull request #15350 from jfrazelle/revert-apparmor-stuff
revert apparmor changes back to how it was in 1.7.1
2015-08-06 13:57:55 -07:00
Brian Goff 9994a35b5d Better/more specific error messages on connect
Closes #15309

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-06 16:41:37 -04:00
Jessica Frazelle ed248207d7 revert apparmor changes back to how it was in 1.7.1, but keep tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-06 12:49:25 -07:00
Arnaud Porterie 612a1fb4ab Documenting Docker release process
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-06 11:42:27 -07:00
John Howard 2a237615c0 Windows - make docker cp functional
Signed-off-by: John Howard <jhoward@microsoft.com>

Conflicts:
	pkg/archive/copy.go

Make it compile

Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-06 11:22:38 -07:00
Jessie Frazelle c471b7aba5 Merge pull request #15361 from hqhq/hq_use_docker_daemon
Use docker daemon for intergation test daemon start
2015-08-06 10:40:49 -07:00
David Calavera 33ed76b0f7 Merge pull request #15369 from coolljt0725/adapt_container_settings_after_verify
Adapt container settings after verify platform container settings.
2015-08-06 10:16:54 -07:00
Brian Goff 4640c4abe8 Merge pull request #15240 from vdemeester/cliconfig-test-coverage
Add unit test (coverage) to package cliconfig
2015-08-06 13:16:04 -04:00
Alexander Morozov f6106fc3ce Merge pull request #15330 from runcom/refactor-pkg-systemd
Vendor go-systemd daemon and refactor pkg systemd
2015-08-06 10:02:04 -07:00
Vincent Demeester 73ad1b2674 Add unit test to pkg cliconfig (and thus coverage)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-06 18:02:25 +02:00
Tibor Vass 57c8f4244b Merge pull request #15213 from Microsoft/10662-cliwindowsdaemon
Windows: Test infrastructure plumbing
2015-08-06 11:25:22 -04:00
Antonio Murdaca 931645c460 Remove pkg/systemd
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-08-06 14:35:00 +02:00
Antonio Murdaca 61c9f4db41 Vendor coreos/go-systemd/daemon
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-08-06 14:34:40 +02:00
Lei Jitang 08b3dc8d9f Adapt container settings after verify platform container settings.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-06 19:56:51 +08:00
Jenny Gebske a12a781b5e [docs] Add instruction to start docker on Ubuntu
I just tried the installation but docker didn't start automatically. So I had to execute the newly added command in order to get the hello-world verification running.

Signed-off-by: Jenny Gebske <jennifer@gebske.de>
2015-08-06 13:55:32 +02:00
Rob Vesse f8387f6904 Fix silent failure in RedHat sysvinit script
The docker script in contrib/init/sysvinit-redhat will fail silently on
a start if Docker is not installed in the default /usr/bin/ location.
While a non-zero exit code is returned the user will receive no visible
indication (i.e. error message) as to why Docker was not started.

This commit changes the logic so that in the case that the docker
executable is not found in the expected location or the user does not
have execute permissions on the executable appropriate error messages
are now shown to the user as well as exiting with a non-zero exit code

Signed-off-by: Rob Vesse <rvesse@dotnetrdf.org>
2015-08-06 12:07:38 +01:00
Qiang Huang b8a8ac9b58 Use docker daemon for intergation test daemon start
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-06 16:20:57 +08:00
Sebastiaan van Stijn ad5355151c Merge pull request #15335 from moxiegirl/boot2docker-remove-refs
Boot2Docker Cleanup
2015-08-06 08:48:57 +02:00
Brian Goff 5b289cd1aa Merge pull request #15313 from Microsoft/10662-fixcertdir
Windows: [TP3] Fix certificate directory for registry
2015-08-05 22:59:51 -04:00
Mary Anthony cc375a1e48 - Remove references to sudo in basics.md; see sudo instructions top of file
- Removing references to Boot2Docker replacing with Docker Machine
- Removing sudo warnings in instances where appropriate (no sudo in file)
- Updating with comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-05 19:45:43 -07:00
Tibor Vass 3273209a9c Merge pull request #15075 from hqhq/hq_move_cpushare_change
Cleanup: Merge adjustCpuShares to adoptContainerSettings
2015-08-05 21:53:58 -04:00
Alexander Morozov 263220fa30 Merge pull request #15354 from coolljt0725/remove_redundant_ip_forward_check
Remove redundant ip_forward check
2015-08-05 18:52:44 -07:00
Alexander Morozov af9dc3050b Merge pull request #15353 from jlhawn/fixing-concurrency-trust
[graph] Use a pipe for downloads to write progress
2015-08-05 18:52:27 -07:00
Antonio Murdaca 6805241fe2 Merge pull request #15352 from icecrime/fix_pause_tests
Use busybox in 'pause' tests
2015-08-06 03:14:44 +02:00
Josh Hawn d80c4244d3 [graph] Use a pipe for downloads to write progress
The process of pulling an image spawns a new goroutine for each layer in the
image manifest. If any of these downloads fail we would stop everything and
return the error, even though other goroutines would still be running and
writing output through a progress reader which is attached to an http response
writer. Since the request handler had already returned from the first error,
the http server panics when one of these download goroutines makes a write to
the response writer buffer.

This patch prevents this crash in the daemon http server by waiting for all of
the download goroutines to complete, even if one of them fails. Only then does
it return, terminating the request handler.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-05 18:13:39 -07:00
Lei 6a0050d0f0 Remove redundant ip_forward check
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-06 09:06:31 +08:00
Jessie Frazelle efe4f0dfa9 Merge pull request #15119 from xnox/sdnotify
systemd: set service type to notify.
2015-08-05 17:42:58 -07:00
Arnaud Porterie 3529e3dac7 Use busybox in 'pause' tests
Don't assume that any random image will have 'top' and explicitely use
the busybox image for testing.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-05 17:35:20 -07:00
Qiang Huang e0af23dc18 Cleanup: Merge adjustCPUShares to adoptContainerSettings
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-06 08:15:14 +08:00
Antonio Murdaca 044c4e00a0 Merge pull request #15334 from Mashimiao/change-name-check-for-image-delete
image_delete: move name check first
2015-08-06 02:07:34 +02:00
Tibor Vass 8534090476 Merge pull request #15252 from coolljt0725/14765_enable_golint_3
Enable golint in pkg/archive
2015-08-05 19:27:48 -04:00
Tibor Vass d93eca2250 Merge pull request #15345 from calavera/fix_ps_format_error
Fail fail when the ps format template is invalid.
2015-08-05 19:19:33 -04:00
Jessie Frazelle a8e67849b9 Merge pull request #15001 from fmoliveira/master
Adding support for elementary OS distro in install script.
2015-08-05 16:14:47 -07:00
John Howard da44d0fccb Windows: Test infrastructure plumbing
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 14:34:32 -07:00
Sebastiaan van Stijn 565535073f Merge pull request #15346 from Microsoft/minortypo
Minor typo in test-and-docs.md
2015-08-05 22:27:18 +02:00
John Howard 831b00303f Windows: Fix certificate directory for registry
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 13:25:41 -07:00
John Howard b5eea8f33b Minor typo in test-and-docs.md
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 13:22:39 -07:00
David Calavera 3d3db0d4af Fail fail when the ps format template is invalid.
Fixes error continuing execution when the parsing fails.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-05 13:22:24 -07:00
Alexander Morozov aec46ac0b2 Merge pull request #15336 from Microsoft/fixwindowsci
Windows: Fix for CI
2015-08-05 13:11:59 -07:00
John Howard ac120567e8 Windows: Workaround for CI
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 11:20:30 -07:00
Srini Brahmaroutu d9b261221a /graph/tag fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-05 17:46:41 +00:00
Patrick Hemmer 08a867b82f add documentation clarifying behavior of VOLUME instruction
Signed-off-by: Patrick Hemmer <patrick.hemmer@gmail.com>
2015-08-05 12:34:31 -04:00
Ma Shimiao cb2def9f90 image_delete: move name check first
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-08-06 00:27:45 +08:00
moxiegirl 6206cbe193 Merge pull request #15305 from vdemeester/contribution-docs-updates
Update some contributions documentations
2015-08-05 08:46:53 -07:00
Qiang Huang b7599d58cb Check sysinfo for Cpuset cpu.shares and blkio
Carried: #14015

If kernel is compiled with CONFIG_FAIR_GROUP_SCHED disabled cpu.shares
doesn't exist.
If kernel is compiled with CONFIG_CFQ_GROUP_IOSCHED disabled blkio.weight
doesn't exist.
If kernel is compiled with CONFIG_CPUSETS disabled cpuset won't be
supported.

We need to handle these conditions by checking sysinfo and verifying them.

Signed-off-by: Zefan Li <lizefan@huawei.com>
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-05 22:35:18 +08:00
Doug Davis a15b676ee1 Merge pull request #15318 from Microsoft/10662-fixmasteragain
Windows: Fix docker/master daemon compile again
2015-08-05 08:32:12 -04:00
Shijiang Wei bb161b7789 move the assertions outside of the goroutine
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-05 13:59:31 +08:00
John Howard 67e670b79f Windows: Fix docker/master daemon compile again
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-04 19:32:05 -07:00
Arnaud Porterie c9a28b4951 Update issue triaging process
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-04 19:27:25 -07:00
Arnaud Porterie 7374852be9 Merge pull request #14921 from aaronlehmann/int64
Fix uses of "int" where "int64" should be used instead
2015-08-04 19:16:13 -07:00
Arnaud Porterie b985dca578 Merge pull request #15241 from vdemeester/api-test-coverage
Add more unit tests (coverage) to package api
2015-08-04 18:41:35 -07:00
Arnaud Porterie 2c3cd949c8 Merge pull request #15269 from brahmaroutu/lint_daemon_graphdriver_zfs
daemon/graphdriver/zfs fix lint errrors/warnings
2015-08-04 18:41:02 -07:00
Arnaud Porterie 7b077c16d6 Merge pull request #15302 from LK4D4/update_libcontainer
Update runc to v0.0.3
2015-08-04 18:40:32 -07:00
Filipe Oliveira f618de1543 Adding support to forked distributions in installer script.
Signed-off-by: Filipe Oliveira <contato@fmoliveira.com.br>
2015-08-04 21:33:48 -03:00
Youcef YEKHLEF 35aebdc803 Add fedora 22 install docs warning about systemd-network
With systemd in version 219 IP forwarding should be forced in the interface configuration file.

Signed-off-by: yyekhlef <yyekhlef@gmail.com>
2015-08-05 01:33:13 +02:00
Youcef YEKHLEF f224a9f3d6 Add fedora 22 install docs warning about systemd-network
Following @cles commit #6bd15a68c for Arch

Signed-off-by: yyekhlef <yyekhlef@gmail.com>
2015-08-05 01:32:33 +02:00
David Calavera 58121c59ff Merge pull request #15304 from jfrazelle/only-sign-files-changes-within-last-2-hours
only sign the files that were changed in the last 2 hours
2015-08-04 14:16:20 -07:00
Tibor Vass 63940145a4 Merge pull request #15303 from Microsoft/10662-fixdaemonbuild
Windows: Daemon compile was broken
2015-08-04 16:48:11 -04:00
Jessica Frazelle efd47654dd only sign the files that were changed in the last 2 hours
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-04 13:16:57 -07:00
Sebastiaan van Stijn d4d3504122 Merge pull request #15301 from jfrazelle/fix-systemd-docs
update systemd article to reference dropin file
2015-08-04 22:12:36 +02:00
Vincent Demeester b304920021 Update some contributions documentations
- Add a golint entry to coding-style.md

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-04 22:04:11 +02:00
John Howard fe8cfc5b39 Windows: Daemon compile was broken
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-04 12:42:41 -07:00
Antonio Murdaca 23dab01ed2 Merge pull request #14840 from HuKeping/golint-pkg-sysinfo
Fix golint warning on pkg/sysinfo
2015-08-04 20:57:39 +02:00
Srini Brahmaroutu e27c904b99 daemon/graphdriver/zfs fix lint errrors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-04 18:30:55 +00:00
Jessica Frazelle 35e7a7c3e2 update systemd article to reference dropin file
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-08-04 11:03:43 -07:00
Vincent Demeester f7e43d45b3 Add more unit tests (thus coverage) to pkg api
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-04 19:51:02 +02:00
Alexander Morozov a4ddf0e362 Update runc to v0.0.3
This fixes criu behavior with mounted cgroups.
It includes also update of go-systemd dependecy.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-04 10:47:59 -07:00
Sebastiaan van Stijn 0f49141150 Merge pull request #15300 from l0rd/test-and-docs-fix
Removed `docs-test` from Makefile rules list
2015-08-04 19:41:48 +02:00
Jessie Frazelle c4b9884ab5 Merge pull request #15260 from albers/completion-config
Add `--config` to bash completion
2015-08-04 10:14:15 -07:00
Arnaud Porterie 2c6fa8375b Merge pull request #15291 from duglin/FixInspectExecId
Another try to fix InspectExecID
2015-08-04 10:13:42 -07:00
Doug Davis fe6a7c8e57 Another try to fix InspectExecID
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-08-04 09:21:41 -07:00
moxiegirl c5e0ea02f7 Merge pull request #15297 from lerignoux/15296-updating-docs-README-new-md-file
Removing deprecated notice to update mkdocs.yml in docs README
2015-08-04 09:04:21 -07:00
Mario Loriedo 5237670b5b Removed docs-test from Makefile rules list
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2015-08-04 15:57:42 +00:00
moxiegirl be07c53d2d Merge pull request #15259 from sallyom/manFixes
make man/docker.1.md consistent with docker --help
2015-08-04 08:34:52 -07:00
Laurent Erignoux ac1794d3e2 Removing deprecated notice to update mkdocs.yml in docs README
Signed-off-by: Laurent Erignoux <lerignoux@gmail.com>
2015-08-04 15:15:46 +02:00
Sven Dowideit bc12094251 Merge pull request #15236 from charleswhchan/patch-1
Fix #15212: Add "Label" key to output of /containers/json
2015-08-04 21:48:39 +10:00
Sebastiaan van Stijn c26c1eb8ba Merge pull request #15278 from campoy/14558-break-long-command
Break long command to avoid cropping
2015-08-04 08:27:55 +02:00
Lei Jitang ba332b7d12 Enable golint in pkg/arcive
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-04 09:52:54 +08:00
Francesc Campoy 16b5b6e49f Break long command to avoid cropping
Fixes docker/docker#14558

Signed-off-by: Francesc Campoy <campoy@google.com>
2015-08-03 18:36:32 -07:00
Charles Chan b245bcd458 Fix #15212: Add "Labels" key to output of /containers/json
Applied retroactively from API v1.18 - v1.21.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-03 18:11:33 -07:00
Jessie Frazelle dff25c9e46 Merge pull request #15277 from calavera/check_apparmor_docker_contrib
Include apparmor/docker only when it exists.
2015-08-03 17:36:23 -07:00
David Calavera 408cffac94 Include apparmor/docker only when it exists.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-03 17:34:04 -07:00
David Calavera d7c2fe0f20 Merge pull request #15276 from aboch/24
Fix preallocated bridge networks
2015-08-03 17:21:03 -07:00
David Calavera 85a0f56fe7 Add more amazing women to the names generator.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-03 17:19:36 -07:00
Alessandro Boch dab0447ae0 Fix preallocated bridge networks
- Because of a bug, all the statically preallocated
  bridge networks have /24 as network mask.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-08-03 16:37:01 -07:00
Arnaud Porterie ff3adb135d Merge pull request #15114 from hqhq/hq_exedriver_win_lint
Fix golint warnings for daemon/execdriver/windows
2015-08-03 16:28:47 -07:00
Jessie Frazelle 8d3bc4b98c Merge pull request #15261 from LK4D4/fix_fluentd_vendor
Fix vendoring for fluent-logger-golang
2015-08-03 16:13:05 -07:00
David Calavera 40bd10dc95 Merge pull request #15273 from calavera/remove_new_key_path_on_error
Remove key file when migration fails.
2015-08-03 16:07:22 -07:00
David Calavera dfb63b0425 Merge pull request #15255 from crosbymichael/lxc-dep
Add LXC built in support deprecation notice
2015-08-03 15:36:43 -07:00
David Calavera 07c45e499d Remove key file when migration fails.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-03 15:29:54 -07:00
Michael Crosby 06f6c0c7e5 Add LXC built in support deprecation notice
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-08-03 14:54:42 -07:00
David Calavera e84a938f2e Merge pull request #15222 from jlhawn/error_on_v2pull_hash_mismatch
[Re]Enforce manifest/layer digest verification
2015-08-03 13:02:52 -07:00
Sally O'Malley f3bea61c80 make man/docker.1.md consistent with docker --help
"Options:" listed when you run "docker --help" and "docker daemon
--help" do not match the options listed in "man/docker.1.md".  This PR
makes 'docker --help', 'docker daemon --help' and 'man docker' consistent.
Also 2 typo fixes.

Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-03 15:12:33 -04:00
David Calavera 00c1874b8e Merge pull request #15092 from brahmaroutu/lint_daemon_graphdriver_vfs
daemon/graphdriver/vfs fix lint errors/warnings
2015-08-03 11:50:05 -07:00
Josh Hawn de52a3bcaa [graph] Enforce manifest/layer digest verification
We noticed a regression since the 1.7.1 patch after some refactoring. This
patch corrects the behavior and adds integration tests for modified manifest
and rootfs layer blobs.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-03 11:41:23 -07:00
Tibor Vass 102724700b Merge pull request #13698 from cpuguy83/split_api_routes_from_setup
Move api handlers to separate file
2015-08-03 14:03:15 -04:00
Srini Brahmaroutu 3e7f9c636a daemon/graphdriver/vfs fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-08-03 17:46:42 +00:00
Alexander Morozov ef7bb7242f Fix vendoring for fluent-logger-golang
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-03 10:23:50 -07:00
Harald Albers b898111d3a Add --config to bash completion
The custom configuration will also be used in docker invocations made
by the completion script itself, just like `-H`.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-03 19:03:43 +02:00
Brian Goff b9aaf8c758 Merge pull request #15257 from sallyom/manTypo
Typo fix: man/docker-tag.1.md
2015-08-03 12:53:04 -04:00
Sally O'Malley 70ac38025c Typo fix: man/docker-tag.1.md
Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-08-03 12:51:10 -04:00
David Calavera 637cf3a4b7 Merge pull request #15233 from srust/add_blockbridge_volume_plugin
Docs: Add Blockbridge volume plugin
2015-08-03 09:46:33 -07:00
David Calavera 137995cb94 Merge pull request #15229 from albers/completion-inspect-filter-by-type
Filter completions of `docker inspect` by `--type`
2015-08-03 09:45:21 -07:00
Arnaud Porterie 67bca8ab8a Merge pull request #15215 from dmcgowan/notary-update
Notary updates
2015-08-03 09:06:09 -07:00
moxiegirl 1367bb41fc Merge pull request #15249 from Evalle/15198-fix-path-to-routing-menu
Fix wrong path to YaST's 'Routing' menu for openSUSE Tumbleweed
2015-08-03 09:04:10 -07:00
moxiegirl cc5cd65e6d Merge pull request #15248 from vdemeester/userguide-fixes
Fix "Getting started" link in userguide
2015-08-03 09:00:18 -07:00
moxiegirl d136f5e027 Merge pull request #15102 from moxiegirl/fix-run-headings
Several fixes in formatting
2015-08-03 08:46:15 -07:00
Mary Anthony 70aa63b92a Several fixes in formatting
- fixing headings in run.md
- creating a table for readability
- adding index for logging
- moving logging overview into logging
- Updating with Seb's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-03 08:45:25 -07:00
Alexander Morozov 69f3def58d Merge pull request #15225 from runcom/add-restart-always-test-on-daemon-restart
test: daemon restart with containers running with restart always policy manually stopped
2015-08-03 08:40:44 -07:00
Alexander Morozov 3f23ae663b Merge pull request #15244 from hqhq/hq_remove_closeOnce
Remove unused variable
2015-08-03 08:39:43 -07:00
Brian Goff 1a77580030 Split API handlers into domain specific files
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-03 11:12:44 -04:00
evalle 5f1593c7b8 Fix wrong path to YaST's 'Routing' menu for openSUSE Tumbleweed
Signed-off-by: evalle <shmarnev@gmail.com>
2015-08-03 12:01:25 +02:00
Vincent Demeester 5d57f56362 Fix "Getting started" link in userguide
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-03 11:48:59 +02:00
Brian Goff dce1488ae5 Merge pull request #15013 from coolljt0725/14756_enbale_golint_1
Enable golint, part of #14756
2015-08-02 22:14:18 -04:00
Qiang Huang f9b5eb0cac Fix golint warnings for daemon/execdriver/windows
Addresses: #14756

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-03 09:54:02 +08:00
Stephen Rust 8b15b7958a Docs: Add Blockbridge volume plugin
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-08-02 21:48:46 -04:00
Lei Jitang 27a8f9937e Enable golint part of #14756
pkg/broadcastwriter
pkg/graphdb
pkg/httputils
pkg/ioutils

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-03 09:45:05 +08:00
Qiang Huang f5557f4f43 Remove unused variable
Introduced by #15209 unintentionally.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-03 09:14:52 +08:00
Sebastiaan van Stijn 05529ab584 Merge pull request #15235 from charleswhchan/patch-1
Update docker_remote_api.md
2015-08-02 19:17:22 +02:00
Charles Chan 084d464081 Update docker_remote_api.md
Minor fixes:
* v1.19: GET /containers/(id)/logs - add missing '/'
* v1.18: Break up POST /containers/create and POST /containers/(id)/start into separate lines.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-08-02 10:11:18 -07:00
Brian Goff ef24b8e485 Merge pull request #15181 from Microsoft/10662-registermountpoints
Windows: Tidy/godoc volume*.go
2015-08-02 13:04:48 -04:00
Antonio Murdaca af59c80b4a test: daemon restart with containers running with restart always policy
manually stopped

If a container is running with a restart policy of always and it's
manually stopped, then on daemon restart it will be running.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-08-02 11:14:01 +02:00
Tibor Vass bf384a3e4f Merge pull request #15226 from vdemeester/3745-remote-TEST-env-test-from-daemon
Remove daemon check for TEST
2015-08-01 13:10:02 -04:00
moxiegirl 7feb176233 Merge pull request #14539 from nhocki/improve-docs-for-execstart
Adding information about ExecStart configuration for systemd
2015-08-01 09:23:59 -07:00
Alexander Morozov d080d262b3 Merge pull request #15209 from cpuguy83/15199_fix_tailing_more_than_available
Ensure reader position is at the end after tailing
2015-08-01 09:02:44 -07:00
Harald Albers 69cde5a302 Filter completions of docker inspect by --type
Completion now filters the images and containers by given
`--type`.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-01 08:36:00 -07:00
Vincent Demeester 9af6b57a5d Remove daemon check for TEST
Closes #3745

I think DEBUG is still used (might be wrong though) and according to
https://github.com/docker/docker/issues/3745#issuecomment-76035979 there
is now nothing in integration (all has been migrated to integration-cli)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-01 15:13:38 +02:00
Brian Goff f9a2b3650b Merge pull request #15220 from maaquib/15217-skip-TestRunCapAddSYSTIME-on-lxc
Skipping test TestRunCapAddSYSTIME on lxc
2015-08-01 09:04:16 -04:00
Brian Goff c57faa91e2 Ensure reader position is at the end after tailing
After tailing a file, if the number of lines requested is > the number
of lines in the file, this would cause a json unmarshalling error to
occur when we later try to go follow the file.
So brute force set it to the end if any tailing occurred.

There is potential that there could be some missing log messages if logs
are being written very quickly, however I was not able to make this
happen even with `while true; do echo hello; done`, so this is probably
acceptable.

While testing this I also found a panic in LogWatcher.Close can be
called twice due to a race. Fix channel close to only close when there
has been no signal to the channel.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-01 08:00:28 -04:00
Hu Keping 7390cc5300 Fix golint warning on pkg/sysinfo
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-08-01 18:24:49 +08:00
Nicolás Hock Isaza 6b44c05205 Adding information about ExecStart configuration for systemsd
Closes #14491

Signed-off-by: Nicolás Hock Isaza <nhocki@gmail.com>
2015-07-31 21:28:30 -05:00
Mohammed Aaqib Ansari 84c9a6684f skipping test TestRunCapAddSYSTIME on lxc
Signed-off-by: Mohammed Aaqib Ansari <maaquib@gmail.com>
2015-07-31 22:07:40 -04:00
Derek McGowan 6ce76cd9ed Updated to use latest version of notary
Update UX to use aliases for root, snapshot, and target key

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-31 17:32:35 -07:00
Derek McGowan d594c6fcd8 Vendor latest notary
Use updated notary to pick up updates from security review

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-31 17:32:35 -07:00
Aaron Lehmann 1f61084d83 Fix uses of "int" where "int64" should be used instead
Some structures use int for sizes and UNIX timestamps. On some
platforms, int is 32 bits, so this can lead to the year 2038 issues and
overflows when dealing with large containers or layers.

Consistently use int64 to store sizes and UNIX timestamps in
api/types/types.go. Update related to code accordingly (i.e.
strconv.FormatInt instead of strconv.Itoa).

Use int64 in progressreader package to avoid integer overflow when
dealing with large quantities. Update related code accordingly.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-31 16:31:40 -07:00
David Calavera 8f2dca5386 Merge pull request #15144 from aaronlehmann/graph-cleanup
Documentation improvements and code cleanups for graph package
2015-07-31 15:11:34 -07:00
Sebastiaan van Stijn bb2039c925 Merge pull request #14960 from MHBauer/faq-links
Fix FAQ links
2015-08-01 00:05:53 +02:00
David Calavera 3e0b0c59e6 Merge pull request #15207 from calavera/fix_index_locking
Remove read index that causes dead lock.
2015-07-31 14:55:00 -07:00
Alexander Morozov 6fbacc6edb Merge pull request #15005 from WeiZhang555/stats-block
Docker stats: display Block IO stats
2015-07-31 13:59:55 -07:00
David Calavera 5ed84009b3 Remove read index that causes dead lock.
Let the iterator to lock the index when it needs it.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-31 13:53:17 -07:00
John Howard 72c04ab87c Tidy volume*.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-31 13:13:40 -07:00
Tianon Gravi ce99a462f8 Merge pull request #15208 from albers/daemon-completion-fixes
Fixes to bash completion for docker daemon
2015-07-31 11:56:11 -07:00
Harald Albers aab82c5c22 Fix completion of commands after a global option with arg
Without this fix, `docker -l info ` would not complete the commands.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-31 20:16:33 +02:00
Harald Albers e0dad9a153 Add completion of global options to docker daemon
It's a bit confusing: the "global options" are valid as "global options"
for all client commands (i.e. all but daemon).
Example: `docker --log-level info run`

For `docker daemon`, these "global options" are only valid as "command
options".
Example: `docker daemon --log-level info`

As command completion cannot tell which command the user is going to
type next, completion for the daemon command has to allow illegal
syntaxes like
`docker --log-level info daemon --log-level info`

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-31 20:06:45 +02:00
Michael Crosby 0659ceb0d0 Merge pull request #15201 from moul/names-generator-bin
pkg/namesgenerator: add a 'names-generator' binary
2015-07-31 13:09:02 -04:00
David Calavera 9e9f3aa36b Merge pull request #15185 from aboch/vnd_lbn_1.8
Vendoring libnetwork 31139cdb513aea5ad1ed08b60d4350a68b4c96db
2015-07-31 08:58:41 -07:00
Brian Goff 5276655b69 Merge pull request #14463 from sunyuan3/TestRunCapAddSYSTIME
Add TestRunCapAddSYSTIME test case.
2015-07-31 09:40:12 -04:00
Zhang Wei 6a4ac63aaa Docker stats: display Block IO stats
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-07-31 21:26:32 +08:00
Tibor Vass 1032202b88 Merge pull request #15193 from jfrazelle/fix-lxc
fix lxc test machine
2015-07-31 09:13:52 -04:00
Brian Goff 468bc7d819 Merge pull request #15191 from duglin/TlsTest
Add a test to make sure that --tlsverify=false turns on tls in daemon
2015-07-31 08:54:35 -04:00
Manfred Touron 0800650665 pkg/namesgenerator: add a 'names-generator' binary
Signed-off-by: Manfred Touron <m@42.am>
2015-07-31 13:07:40 +02:00
Yuan Sun a5e2fa2b2e Add TestRunCapAddSYSTIME test case.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-31 12:53:46 +08:00
Jessica Frazelle f12e18d7ef fix lxc test machine
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-07-30 21:30:47 -07:00
Doug Davis 5ced3ab323 Add a test to make sure that --tlsverify=false turn on tls in daemon
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-30 21:21:24 -07:00
Tibor Vass 500a314713 Merge pull request #15179 from Microsoft/10662-yetmoretodos
Windows: Tidy verifyContainerSettings
2015-07-30 23:58:16 -04:00
Tibor Vass b48d744b07 Merge pull request #15175 from MHBauer/cliconfig-lint
additional lint fix and enable linter for cliconfig package
2015-07-30 23:07:19 -04:00
Tibor Vass ad96fc310b Merge pull request #14970 from tiborvass/windows-registry-endpoint
registry: Change default endpoint on windows to a windows-specific one
2015-07-30 22:41:34 -04:00
Tibor Vass 9a9a12b351 Merge pull request #15123 from ewindisch/seed-pkgrand-cryptorand
Prefer crypto rand seed for pkg/rand
2015-07-30 22:41:17 -04:00
Tibor Vass 8d2739df98 Merge pull request #15146 from kolyshkin/mkdirall
Simplify and fix MkdirAll usage
2015-07-30 22:40:57 -04:00
Tibor Vass 0b089bc7d5 Merge pull request #15186 from brahmaroutu/btrfs_test_failure
fix unit test breakage due to lint changes
2015-07-30 22:39:40 -04:00
Stephen Day e49ab10556 Merge pull request #15190 from tiborvass/bump-distrib
Update distribution to fix uuid.Loggerf initialization logic
2015-07-30 19:19:36 -07:00
Tibor Vass e496d40107 Merge pull request #15189 from jrabbit/fix-restart-policy-link
Docs: Actually link to restart policy information
2015-07-30 21:44:16 -04:00
Tibor Vass 3face3c521 Use default no-op uuid.Loggerf for client cli
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 21:19:51 -04:00
Tibor Vass 084af30f39 Add missing LICENSE files for docker/notary
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 21:19:18 -04:00
jrabbit d2cd142ce1 Actually link to the information
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2015-07-30 21:16:45 -04:00
Tibor Vass 0cce1fb37f Vendor docker/distribution to 7dc8d4a26b689bd4892f2f2322dbce0b7119d686
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 21:14:39 -04:00
Alessandro Boch 4964ab0821 Add test code to cover issue #14859
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-07-30 17:37:11 -07:00
Alessandro Boch 91274625ba Vendoring libnetwork 31139cdb513aea5ad1ed08b60d4350a68b4c96db
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-07-30 17:28:40 -07:00
Srini Brahmaroutu 22873eae31 fix unit test breakage due to lint changes
Addresses #14756

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-31 00:22:28 +00:00
David Calavera ffeec2bdd1 Merge pull request #15184 from jfrazelle/fix-install
fix regression
2015-07-30 16:59:13 -07:00
Tibor Vass e2b2c2ae81 Merge pull request #15180 from tiborvass/fix-v1-mirror-fallback
registry: allow fallback on unknown errors
2015-07-30 19:54:48 -04:00
Phil Estes 044b56e94f Merge pull request #15174 from Microsoft/10662-top
Windows: Top (non-)implementation
2015-07-30 19:49:15 -04:00
Jessica Frazelle b0af811272 fix regression
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-07-30 16:38:51 -07:00
Eric Windisch f8f4deb0b2 Merge pull request #15154 from stefanberger/apparmor-engine
contrib: Extend engine apparmor profile for tools needed by devicemapper
2015-07-30 19:22:28 -04:00
Jessie Frazelle 5b65284649 Merge pull request #15103 from Djelibeybi/fix14924
Seperate lsb_dist detection from dist_version detection
2015-07-30 16:21:35 -07:00
Tibor Vass a21ba12f4e registry: allow fallback on unknown errors
This patch fixes a bug where a user specifies a v1 mirror for
--registry-mirror and pull an image from the Hub.

It used to not fallback because of an unexpected error returned when
trying to JSON marshal nginx output.

We now ensure that any unexpected error falls back to the next endpoint
in the list.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 19:03:38 -04:00
John Howard 3fea79bfd8 Windows: Address more todos
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-30 15:28:11 -07:00
David Calavera c1e2e4d9c6 Merge pull request #15176 from Microsoft/10662-removesometodos
Windows: Remove some TODOs
2015-07-30 15:26:06 -07:00
David Calavera 86a6e4914f Merge pull request #14922 from rhatdan/netlabel
Label /etc/resolv.conf, /etc/hosts ... correctly in shared network co…
2015-07-30 15:03:49 -07:00
John Howard f50b916ca6 Windows: Remove some TODOs
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-30 14:46:51 -07:00
Morgan Bauer e809919e26 lint fix and enable linter for cliconfig package
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-30 14:37:37 -07:00
Tibor Vass 5c9e5bfb0f Merge pull request #15106 from jgkamat/links
Fix a couple broken links
2015-07-30 17:28:11 -04:00
Aaron Lehmann d4836cd7ec Documentation improvements and code cleanups for graph package
Expand the godoc documentation for the graph package.

Centralize DefaultTag in the graphs/tag package instead of defining it
twice.

Remove some unnecessary "config" structs that are only used to pass
a few parameters to a function.

Simplify the GetParentsSize function - there's no reason for it to take
an accumulator argument.

Unexport some functions that aren't needed outside the package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-30 14:27:10 -07:00
John Howard 0a9ec21818 Windows: Top (non-)implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-30 14:25:15 -07:00
Tibor Vass 41d9270a40 Merge pull request #15170 from runcom/i-like-cleaning
Remove HostConfig,SetHostConfig from daemon.container
2015-07-30 17:23:58 -04:00
Alexander Morozov 8505183252 Merge pull request #14950 from ottok/master
Multiple fixes to 'docker stats' output
2015-07-30 14:02:35 -07:00
David Calavera 030f61df3d Merge pull request #14885 from jlhawn/fix_cp_symlink
Fix copying of symlinks in containers
2015-07-30 13:42:40 -07:00
Alexander Morozov 9431acbc0a Merge pull request #15169 from Microsoft/10662-tidydiff
Tidy platform common bits in diff
2015-07-30 13:42:27 -07:00
Antonio Murdaca f95333010e Remove HostConfig,SetHostConfig from daemon.container
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-30 22:25:31 +02:00
John Howard 5ab9654bc4 Tidy platform common bits in diff
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-30 13:04:49 -07:00
Tibor Vass 2f1a7c903f Merge pull request #14844 from WeiZhang555/golint-api
fix golint errors/warnings of pkg api/
2015-07-30 16:02:06 -04:00
Alexander Morozov 75c082c4b2 Merge pull request #15168 from Microsoft/10662-daemonconfiglocation
Windows: [TP3] Move daemon config directory
2015-07-30 12:56:52 -07:00
Tibor Vass 2d730c93b4 Merge pull request #15148 from hqhq/hq_golint_native
Add back golint for daemon/execdriver/native
2015-07-30 15:51:06 -04:00
John Howard 9ed4400baf Windows: Move daemon config directory
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-30 12:39:19 -07:00
Josh Hawn 75f6929b44 Fix docker cp Behavior With Symlinks
[pkg/archive] Update archive/copy path handling

  - Remove unused TarOptions.Name field.
  - Add new TarOptions.RebaseNames field.
  - Update some of the logic around path dir/base splitting.
  - Update some of the logic behind archive entry name rebasing.

[api/types] Add LinkTarget field to PathStat

[daemon] Fix stat, archive, extract of symlinks

  These operations *should* resolve symlinks that are in the path but if the
  resource itself is a symlink then it *should not* be resolved. This patch
  puts this logic into a common function `resolvePath` which resolves symlinks
  of the path's dir in scope of the container rootfs but does not resolve the
  final element of the path. Now archive, extract, and stat operations will
  return symlinks if the path is indeed a symlink.

[api/client] Update cp path hanling

[docs/reference/api] Update description of stat

  Add the linkTarget field to the header of the archive endpoint.
  Remove path field.

[integration-cli] Fix/Add cp symlink test cases

  Copying a symlink should do just that: copy the symlink NOT
  copy the target of the symlink. Also, the resulting file from
  the copy should have the name of the symlink NOT the name of
  the target file.

  Copying to a symlink should copy to the symlink target and not
  modify the symlink itself.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-30 12:14:28 -07:00
Tibor Vass a687448c4d Merge pull request #15163 from crosbymichael/proc-ro
Don't mount /proc as ro
2015-07-30 15:12:29 -04:00
Tibor Vass 5fa26e3df8 Merge pull request #15161 from ewindisch/fix-netns
Only explicitly deny ptrace for container-originated procs
2015-07-30 15:11:12 -04:00
Brian Goff b149d9d0d9 Merge pull request #15156 from duglin/AddErrTruncIndex
Add missing typed error in truncindex
2015-07-30 14:55:40 -04:00
Tibor Vass 4a92b8a0ef registry: Change default endpoint on windows to a windows-specific one
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 14:52:41 -04:00
Tibor Vass 06668de15e Merge pull request #15167 from tiborvass/better-tlsconf-error-msg
tlsconfig: better format for error message in tlsconfig
2015-07-30 14:51:35 -04:00
Kir Kolyshkin a83a769347 Simplify and fix os.MkdirAll() usage
TL;DR: check for IsExist(err) after a failed MkdirAll() is both
redundant and wrong -- so two reasons to remove it.

Quoting MkdirAll documentation:

> MkdirAll creates a directory named path, along with any necessary
> parents, and returns nil, or else returns an error. If path
> is already a directory, MkdirAll does nothing and returns nil.

This means two things:

1. If a directory to be created already exists, no error is returned.

2. If the error returned is IsExist (EEXIST), it means there exists
a non-directory with the same name as MkdirAll need to use for
directory. Example: we want to MkdirAll("a/b"), but file "a"
(or "a/b") already exists, so MkdirAll fails.

The above is a theory, based on quoted documentation and my UNIX
knowledge.

3. In practice, though, current MkdirAll implementation [1] returns
ENOTDIR in most of cases described in #2, with the exception when
there is a race between MkdirAll and someone else creating the
last component of MkdirAll argument as a file. In this very case
MkdirAll() will indeed return EEXIST.

Because of #1, IsExist check after MkdirAll is not needed.

Because of #2 and #3, ignoring IsExist error is just plain wrong,
as directory we require is not created. It's cleaner to report
the error now.

Note this error is all over the tree, I guess due to copy-paste,
or trying to follow the same usage pattern as for Mkdir(),
or some not quite correct examples on the Internet.

[v2: a separate aufs commit is merged into this one]

[1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-07-30 11:48:08 -07:00
Morgan Bauer 3754ad5737 Fix FAQ links
- don't use relative references '..'
 - registry-index-spec became hub-registry-spec
 - reference new 'glossary' instead of old 'terms'

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-30 11:46:39 -07:00
Eric Windisch f5c388b35a Only explicitly deny ptrace for container-originated procs
The 'deny ptrace' statement was supposed to only ignore
ptrace failures in the AUDIT log. However, ptrace was implicitly
allowed from unconfined processes (such as the docker daemon and
its integration tests) due to the abstractions/base include.

This rule narrows the definition such that it will only ignore
the failures originating inside of the container and will not
cause denials when the daemon or its tests ptrace inside processes.

Introduces positive and negative tests for ptrace /w apparmor.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-30 14:40:28 -04:00
David Calavera 868f85b271 Merge pull request #15166 from tiborvass/carry-13934
Carry 13934: Add `docker daemon` to bash completion
2015-07-30 11:30:31 -07:00
Tibor Vass c7a04fda2a tlsconfig: better format for error message in tlsconfig
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 14:15:41 -04:00
Harald Albers 8cc8ee9254 Add docker daemon to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 14:08:55 -04:00
Michael Crosby bfc51cf660 Don't mount /proc as ro
This caused a regression with LSM labeling.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-30 10:57:50 -07:00
Tibor Vass bfccd328be Merge pull request #15100 from calavera/fix_reader_timeout
Fix reset timeout for buffer readers.
2015-07-30 13:18:06 -04:00
Doug Davis 18b1381335 Add missing typed error in truncindex
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-30 07:52:34 -07:00
Stefan Berger 9dbc36b441 contrib: Extend engine apparmor profile for tools needed by devicemapper
Add tools to the apparmor profile that are needed when -s devicemapper is
in the docker daemon's command line.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2015-07-30 06:45:57 -04:00
Otto Kekäläinen b619220ce1 Multiple fixes to 'docker stats' output:
* Add space between values in docker stats output for easier parsing

  Old output could not be parsed easily because there were columns
  that did not have any separator. Also values that are together
  without any space is difficult to read even for humans.

* Update unit.HumanSize comment to match what the does actually does

Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
2015-07-30 10:14:57 +03:00
Arnaud Porterie f39987afe8 Merge pull request #15149 from Microsoft/10662-fixwindowscompile
[Blocking] Windows: Daemon build is currently broken
2015-07-29 22:46:11 -07:00
Sven Dowideit 26ff3bd2e9 Merge pull request #15066 from dwcramer/fix-broken-link
[#15027] Fix broken link and edit link text to match section heads
2015-07-30 13:37:29 +10:00
Sven Dowideit cc45e027f1 Merge pull request #15071 from epc/epc-2015209
Docs: Copy edits for typos
2015-07-30 13:36:23 +10:00
John Howard b43dc0d93c Windows: Daemon build is broken
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-29 20:08:51 -07:00
root cfeab585c0 fix golint errors/warnings of pkg api/
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-07-30 09:46:25 +08:00
Qiang Huang e34f562a77 Add back golint for daemon/execdriver/native
It's broken by #15099 Fix it.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-30 08:58:54 +08:00
Arnaud Porterie 4c7cf30260 Merge pull request #15126 from LK4D4/global_rand
Use global random *rand.Rand instance in pkg
2015-07-29 17:36:25 -07:00
Arnaud Porterie b71cf69380 Merge pull request #15132 from LK4D4/improve_test
Fix message and add additional check to test
2015-07-29 17:36:11 -07:00
Tibor Vass 6adb64e113 Merge pull request #14773 from runcom/cleanup-links
Cleanup links top level pkg
2015-07-29 20:17:44 -04:00
Arnaud Porterie d94aeb2876 Merge pull request #14980 from jlhawn/build_tag_resolved_digests
[api/client] Tag resolved digest from Dockerfile
2015-07-29 16:52:14 -07:00
Michael Crosby 887882c2b6 Merge pull request #15142 from calavera/add_field_comment_back
Add MemorySwappiness comment back.
2015-07-29 16:51:49 -07:00
Arnaud Porterie 8724e8953d Merge pull request #15040 from vbatts/vbatts-double-decompress-fix
archive, graphdriver: double decompress fix
2015-07-29 16:48:02 -07:00
Arnaud Porterie 4a71323ec3 Merge pull request #15098 from calavera/backwards_compat_kill_error
Keep backwards compatibility in kill api.
2015-07-29 16:42:36 -07:00
Arnaud Porterie 3f5ea1bb80 Merge pull request #15090 from dmcgowan/fix-login-tls-config
Fix login and search TLS configuration
2015-07-29 16:42:13 -07:00
David Calavera f41f62b6cc Add MemorySwappiness comment back.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-29 16:41:46 -07:00
Arnaud Porterie de50082000 Merge pull request #15134 from calavera/swappiness_big_int
Use pointer for MemorySwappiness.
2015-07-29 16:31:15 -07:00
Jessie Frazelle 2ae174e491 Merge pull request #15138 from ewindisch/apparmor-fix-test-plus-unconfined
Fix the proc integration test & include missing AA profile
2015-07-29 15:32:13 -07:00
Tibor Vass 28ac78c02f Merge pull request #15139 from tiborvass/fix-uuid-loggerf
Set uuid.Loggerf to nop on client and to logrus.Warnf on daemon
2015-07-29 18:17:54 -04:00
Jessie Frazelle 75f8bdd970 Merge pull request #13542 from kvasdopil/freebsd-work
Make docker build on FreeBSD
2015-07-29 15:15:37 -07:00
Tibor Vass 6a274e48dc Merge pull request #14843 from MHBauer/demonlogger-lint
golint fixes for daemon/logger/*
2015-07-29 18:09:46 -04:00
Tibor Vass 28b79e4a84 Merge pull request #14827 from brahmaroutu/lint_graph
/graph fix lint errors/warnings
2015-07-29 18:08:09 -04:00
Tibor Vass 7841d6ab9a Set uuid.Loggerf to nop on client and to logrus.Warnf on daemon
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-29 17:49:59 -04:00
Eric Windisch 0f4e5f7149 Remove container AA profile from packaging
Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-29 17:47:38 -04:00
Antonio Murdaca 0e0c7e521c Cleanup links top level pkg
- Move top level pkg links under daemon
- Refactor code accordingly
- golint pkg

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-29 23:39:18 +02:00
Avi Miller 5c6446f335 Fix for #14924. Seperates lsb_dist detection from dist_version detection
so that the latter can be distro specific.

Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-30 07:30:51 +10:00
David Calavera 4e25d2982b Use *int64 for MemorySwappiness.
So we marshal/unmarshal its value properly when it's empty.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-29 14:14:04 -07:00
Eric Windisch 5832715052 Fix the proc integration test & include missing AA profile
Integration tests were failing due to proc filter behavior
changes with new apparmor policies.

Also include the missing docker-unconfined policy resolving
potential startup errors. This policy is complain-only so
it should behave identically to the standard unconfined policy,
but will not apply system path-based policies within containers.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-29 17:08:51 -04:00
Srini Brahmaroutu 1d6e443119 /graph fix lin errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-29 20:59:36 +00:00
Morgan Bauer ccbe539e86 golint fixes for daemon/logger/*
- downcase and privatize exported variables that were unused
 - make accurate an error message
 - added package comments
 - remove unused var ReadLogsNotSupported
 - enable linter
 - some spelling corrections

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-29 13:09:39 -07:00
Alexander Morozov 0f85fadb4e Merge pull request #15133 from dmcgowan/notary-fix-test-date
Skip notary tests which update system clock
2015-07-29 12:51:05 -07:00
Derek McGowan bf3c1e6a3a Skip notary tests which update system clock
Currently some notary tests change the system clock to check for expiration.
Skip these tests until the code can be refactored to not rely on updating the system clock.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-29 12:09:40 -07:00
Tibor Vass 0bab97fcba Merge pull request #15076 from hqhq/hq_merge_daemon_test
Merge daemon_unit_test.go to daemon_test.go
2015-07-29 14:53:34 -04:00
Tibor Vass c09c497c71 Merge pull request #15111 from Microsoft/fix-archive-copy-log
Fix log to logrus
2015-07-29 14:48:19 -04:00
Alexander Morozov 0d09439ace Fix message and add additional check to TestBuildContainerWithCgroupParent
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-29 11:46:33 -07:00
Tibor Vass 2a593bea12 Merge pull request #15116 from ibuildthecloud/devices
Revert change to make ParseDevice unexported
2015-07-29 14:42:30 -04:00
Alexey Guskov 26c03d561a make docker compile on freebsd
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-07-29 21:25:56 +03:00
Tibor Vass 0a2ec227f8 Merge pull request #15128 from ankushagarwal/logging
Doc fixes in daemon/logger, update NewCopier method
2015-07-29 14:20:34 -04:00
Tibor Vass e77ea5aa7a Merge pull request #14784 from brahmaroutu/lint_api_client
fix golint errors/warnings
2015-07-29 14:04:45 -04:00
David Calavera 1cfae07a6e Merge pull request #15015 from runcom/14911-fix-install-script-debian81
Fix install script to handle debian 8.1 apt repo string
2015-07-29 10:45:50 -07:00
Tibor Vass dfcdde4d98 Merge pull request #14930 from brahmaroutu/lint_daemon_graphdriver_devmapper
daemon/graphdriver/devmapper/ fix lint errors/warnings
2015-07-29 13:29:57 -04:00
root 929f2c2f40 api/client fix golint errors/warnings
Addresses #14756

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-29 17:20:54 +00:00
Tibor Vass 2cd058ce4f Merge pull request #14785 from brahmaroutu/lint_api_server
fix golint errors/warnings
2015-07-29 13:09:31 -04:00
David Calavera 8a8de53d3d Merge pull request #15129 from jfrazelle/golint
fix linnt
2015-07-29 10:07:25 -07:00
Ankush Agarwal 41d85c014d Doc fixes in logger, update NewCopier method
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-29 10:05:46 -07:00
Jessica Frazelle c2c9e99d84 fix linnt
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-07-29 10:05:30 -07:00
John Howard 2bf73c4b1a Fix log to logrus
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-29 09:58:07 -07:00
Eric Windisch 4742a3964f Prefer crypto rand seed for pkg/rand
Crypto rand is a much better seed for math/rand than
time. In the event we use math/rand where we should not,
this will make it a safer source of random numbers.

Although potentially dangerous, this will still fallback
to time should crypto/rand for any reason fail.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-29 12:55:57 -04:00
Dan Walsh 90b8cebda6 Labels on network content need to be shared if shared network namespace
If I run two containers with the same network they share the same /etc/resolv.conf.
The current code changes the labels of the /etc/resolv.conf currently to the
private label which causes it to be unusable in the first container.

This patch changes the labels to a shared label if more then one container
will use the content.

Docker-DCO-1.1-Signed-off-by: Dan Walsh dwalsh@redhat.com (github: rhatdan)

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-29 12:42:28 -04:00
Jessie Frazelle d7661cb48b Merge pull request #15099 from ewindisch/apparmor-restore-en
Restore AppArmor generation + fixes
2015-07-29 09:36:59 -07:00
Alexander Morozov 51cdcf3c9d Use global random *rand.Rand instance in pkg
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-29 09:30:48 -07:00
Tibor Vass 9d3ad6d892 Merge pull request #15107 from LK4D4/unsafe_random
Use non-crypto version of random to generate ids.
2015-07-29 11:47:38 -04:00
Tibor Vass 0c330a7823 Merge pull request #15064 from jfrazelle/14590-fix-sudo
sh -c the cat repo for yum
2015-07-29 10:02:27 -04:00
Dimitri John Ledkov d3e5179c29 systemd: set service type to notify.
Currently the service type is 'simple', the default, meaning that
docker.service is considered to be started straight after
spawning. This is incorrect as there is significant amount of time
between spawning and docker ready to accept connections on the passed
sockets. Docker does implement systemd socket activate and
notification protocol, and send the ready signal to systemd, once it
is ready. However for systemd to take those notifications into
account, the service file type should be set to notify.

Signed-off-by: Dimitri John Ledkov <dimitri.j.ledkov@intel.com>
2015-07-29 14:02:12 +01:00
Sebastiaan van Stijn 60ed0a7f77 Merge pull request #15117 from ChanderG/master
Fix minor formatting error in security article docs
2015-07-29 13:41:19 +02:00
Chander G 6cf0e27ee0 Fix minor formatting error in security article docs
Signed-off-by: Chander G <chandergovind@gmail.com>
2015-07-30 01:06:04 +05:30
Darren Shepherd 421786e925 Make ParseDevice public
This reverts the change in 5170a2c096 that made ParseDevice private

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-07-29 02:12:35 -07:00
Alexander Morozov 6bca8ec3c9 Replace GenerateRandomID with GenerateNonCryptoID
This allow us to avoid entropy usage in non-crypto critical places.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-28 22:31:01 -07:00
Alexander Morozov 4553b6af4b Add GenerateNonCryptoID function to avoid entropy exhaustion
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-28 22:31:01 -07:00
Alexander Morozov 6963b9c716 Add global instance of *(math/rand).Rand and Reader
You can read random bytes from Reader without exhausting entropy.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-28 22:30:57 -07:00
Jessica Frazelle 93d134c61f sh -c the cat repo for yum
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-28 20:25:26 -07:00
Srini Brahmaroutu 972a94b449 daemon/graphdriver/devmapper/ fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-29 01:43:34 +00:00
Tibor Vass c19a00d4cb Merge pull request #15060 from jlhawn/fix_build_renamed_dockerfile
[api/client] update check Dockerfile in Context
2015-07-28 21:30:19 -04:00
moxiegirl ed1d9d022d Merge pull request #14565 from moxiegirl/14561-mac-rewrite
Docker Toolbox Updates fixes #14561
2015-07-28 18:20:26 -07:00
Mary Anthony 6ca22add18 Docker Toolbox Updates fixes #14561
- Tested Mac/iterated with Jeff on fixes
- Waiting on formal uninstall;manual now
- 4 hour work
- Fixe #14562 converting Windows to Mac
- Found errors in installer need fixes/another iteration
- Updated as far as possible with limited installation
- 3 Hours work
- Entering comments from PR review
- New screen captures and migration material
- Entering Sven's comment
- Testing with powershell, Seb's comments
- Fix link in upgrade
- Minor tweaks to http and typos
- Adding deprecation note

Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-28 18:17:24 -07:00
Josh Hawn bb2e6c72d2 [api/client] Tag resolved digest from Dockerfile
Builds where the base images have been resolved to trusted digest
references will now be tagged with the original tag reference from
the Dockerfile on a successful build.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-28 17:54:48 -07:00
Tibor Vass cc6138d946 Merge pull request #15063 from jfrazelle/only-write-distributions-file-if-dne
only write distributions file if dne
2015-07-28 20:45:04 -04:00
Jay Kamat 4ca0aad855 Fix a couple broken links
Signed-off-by: Jay Kamat <github@jgkamat.33mail.com>
2015-07-28 16:37:52 -07:00
root 351f6b8ec0 api/server fix golint errors/warnings.
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-28 22:44:39 +00:00
Eric Windisch 6c887be769 Mark engine AA policy as complain-only
The engine policy will now only complain
as a temporary measure to ensure we do not
cause breakages while users exercise this
policy.

This is NOT the policy for containers, but
for the newly-introduced policy for the
daemon itself.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-28 17:45:53 -04:00
Eric Windisch 8b2fcddcd2 AA: Eliminate 'file' permission
Implements the policies for the remaining binaries
called by the Docker engine and eliminates the
giant whitelisted 'all files' permission in favor
of granular whitelisting and child-specific policies.

It should be possible now to remove the 'file' permission,
but for the sake of keeping Docker unbroken, we'll try
to gradually tighten the policy.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-28 17:45:53 -04:00
Eric Windisch 3edc88f76d Restore AppArmor profile generation
Will attempt to load profiles automatically. If loading fails
but the profiles are already loaded, execution will continue.

A hard failure will only occur if Docker cannot load
the profiles *and* they have not already been loaded via
some other means.

Also introduces documentation for AppArmor.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-28 17:45:51 -04:00
David Calavera 40ea67a596 Fix reset timeout for buffer readers.
Use our goroutine-safe random source.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-28 14:30:18 -07:00
Alexander Morozov f809037128 Merge pull request #14848 from hqhq/hq_golint_execdriver
Fix golint warnings for daemon/execdriver/*
2015-07-28 14:23:22 -07:00
Alexander Morozov 2c162292b7 Merge pull request #14824 from fcantournet/lint_pkg_mflag
Fix golint for pkg/mflag
2015-07-28 13:51:09 -07:00
Alexander Morozov 9cfc223cc0 Merge pull request #14818 from MHBauer/volume-lint
lint for volume/*
2015-07-28 13:42:18 -07:00
Vincent Batts 273f50c741 graphdriver/*: expect uncompressed tar for ApplyDiff
The `ApplyDiff` function takes a tar archive stream that is
automagically decompressed later. This was causing a double
decompression, and when the layer was empty, that causes an early EOF.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-28 16:36:39 -04:00
Vincent Batts 56bf275e32 archive, chrootarchive: split out decompression
In `ApplyLayer` and `Untar`, the stream is magically decompressed. Since
this is not able to be toggled, rather than break this ./pkg/ API, add
an `ApplyUncompressedLayer` and `UntarUncompressed` that does not
magically decompress the layer stream.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-28 16:36:38 -04:00
Sebastiaan van Stijn bfbac726c7 Merge pull request #15082 from ChanderG/master
Add link to Systemd article in Debian Jessie docs, fix typo
2015-07-28 22:35:48 +02:00
Chander G b9e6be25d1 Add link to Systemd article, fix typo
Signed-off-by: Chander G <chandergovind@gmail.com>
2015-07-29 01:54:44 +05:30
David Calavera 621e3d8587 Keep backwards compatibility in kill api.
Return an error when the container is stopped only in api versions
equal or greater than 1.20 (docker 1.8).

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-28 12:25:36 -07:00
Jessie Frazelle e06df594f5 Merge pull request #14863 from brahmaroutu/lint_daemon_graphdriver_aufs
daemon/graphdriver/aufs fix lint errors/warnings
2015-07-28 11:46:40 -07:00
Jessie Frazelle be60047b43 Merge pull request #14932 from brahmaroutu/lint_daemon_graphdriver_graphtest
daemon/graphdriver/graphtest/ fix lint errors/warnings
2015-07-28 11:20:33 -07:00
Sebastiaan van Stijn f989d68014 Merge pull request #15096 from kolyshkin/doc-fixes-2
daemon.md: do fix placement of exec driver heading
2015-07-28 20:10:11 +02:00
Kir Kolyshkin f52514a038 daemon.md: do fix placement of exec driver heading
Options for zfs storage driver were incorrectly placed
under 'exec driver options' header. Move the header to
the correct place.

Now, this is the second time I am fixing this. First time
it was commit 68efb27, but the following commit 9af7afb
screwed it up again, so the header appears twice now.

Get rid of the the wrong one.

Cc: David Calavera <david.calavera@gmail.com>
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-07-28 10:58:17 -07:00
Morgan Bauer 9af963aba0 lint fixes for volume/*
- comments on exported values
 - constant string replaced by constant reference
 - unexport implementation details of VolumeDriver 'local'
 - add fixed packages to linter list

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-28 10:40:44 -07:00
Derek McGowan e863a07b89 Fix login and search TLS configuration
Currently login and search do not load per registry certificates.
This is a regression caused by the last refactor since this was recently fixed.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-28 10:36:57 -07:00
David Calavera c473ae14fd Merge pull request #15094 from Microsoft/10662-fixvendorhelper
Windows: Fix vendor-helpers.sh
2015-07-28 10:17:30 -07:00
John Howard 663d50464e Windows: Fix vendor-helpers.sh
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-28 10:13:33 -07:00
Félix Cantournet 8e6ad2171a Fix golint for pkg/mflag
Signed-off-by: Félix Cantournet <felix.cantournet@cloudwatt.com>
2015-07-28 15:32:42 +02:00
moxiegirl 3a7b4230b2 Merge pull request #14713 from moxiegirl/remove-boot2docker-14563
Remove references to boot2docker replace with docker-machine
2015-07-28 06:05:29 -07:00
Ed Costello fb396a71d5 Copy edits for typos
Signed-off-by: Ed Costello <epc@epcostello.com>
2015-07-28 08:51:01 -04:00
Qiang Huang ada852aa70 Merge daemon_unit_test.go to daemon_test.go
daemon_test.go supposted to be unit test for daemon, so
don't see reason why we need another daemon_unit_test.go.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-28 15:36:29 +08:00
Srini Brahmaroutu 55885daa56 daemon/graphdriver/aufs fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-28 06:17:05 +00:00
Srini Brahmaroutu 12460f41a4 daemon/graphdriver/graphtest/ fix lint errors/warnings
Addresses #14756

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-28 06:01:00 +00:00
Mary Anthony 1825e06944 Remove references to boot2docker replace with docker-machine
- boot2docker is deprecated in the 1.8.0
- docker-machine replaces it
- this fixes #14563
- Updating with thaJetzah comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-27 18:25:50 -07:00
Jessie Frazelle 4ed3e3a5b2 Merge pull request #14694 from Microsoft/10662-apparmorprofile
Windows: Factoring out unused fields
2015-07-27 18:18:54 -07:00
Qiang Huang fed85c3296 Add status string to State field for inspect
Fixes: #13579

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-28 08:48:27 +08:00
John Howard 47c56e4353 Windows: Factoring out unused fields
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-27 17:44:18 -07:00
Qiang Huang 4862d723a4 Add daemon/execdriver/* to validate-lint
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-28 08:44:12 +08:00
Qiang Huang 3d17c3bb66 Fix golint warnings for daemon/execdriver/*
Addresses: #14756

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-28 08:43:22 +08:00
Tibor Vass 8ad1d3fec6 Merge pull request #15067 from aaronlehmann/term-windows-golint
Fix golint nit in term_windows.go
2015-07-27 20:43:18 -04:00
Aaron Lehmann 35e498beca Fix golint nit in term_windows.go
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-27 17:40:49 -07:00
Jessie Frazelle 33358f80e5 Merge pull request #14838 from Microsoft/10662-ansirewrite
Windows: CLI Improvement (TP3)
2015-07-27 17:30:14 -07:00
Jessie Frazelle f32cab874c Merge pull request #15034 from aaronlehmann/update-vendored-distribution
Update vendored distribution repo to new version
2015-07-27 17:24:35 -07:00
Jessie Frazelle f3c23fc463 Merge pull request #15062 from chrisseto/master
Skip DockerSuite.TestExecResizeImmediatelyAfterExecStart on lxc
2015-07-27 17:20:20 -07:00
David Cramer 00f7ced864 [#15027] Fix broken link and edit link text to match section heads
Signed-off-by: David Cramer <davcrame@cisco.com>
2015-07-27 19:12:04 -05:00
Jessica Frazelle 2eee192366 only write distributions file if dne
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-27 16:26:35 -07:00
Chris Seto 83cb288575 Skip DockerSuite.TestExecResizeImmediatelyAfterExecStart on lxc
Signed-off-by: Chris Seto <chriskseto@gmail.com>
2015-07-27 19:20:15 -04:00
Josh Hawn af06d289e4 [api/client] update check Dockerfile in Context
Actually determine the relative path of the Dockerfile to the context
directory. Error out if the relative path starts with "../".

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-27 16:11:36 -07:00
Jessie Frazelle 7886056d74 Merge pull request #15059 from calavera/fix_overlay_comments_typo
Fix typo in overlay's create godoc.
2015-07-27 15:40:22 -07:00
David Calavera 5bac5302e5 Fix typo in overlay's create godoc.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-27 15:37:26 -07:00
Jessie Frazelle 25c42cc0d0 Merge pull request #14759 from vdemeester/pkg-golint
golint on some pkg/* packages
2015-07-27 15:19:46 -07:00
Michael Crosby bdc55be9b4 Merge pull request #15039 from jlhawn/fix_build_context_is_symlink
[api/client] Fix build when context dir is symlink
2015-07-27 15:11:36 -07:00
Jessie Frazelle 72afd792fd Merge pull request #15055 from calavera/log_release_steps
Log each release step.
2015-07-27 15:03:29 -07:00
Jessie Frazelle 0fe564cbb6 Merge pull request #15051 from LK4D4/32bit_const
Use math.MaxInt32 instead of math.MaxUint32
2015-07-27 15:02:40 -07:00
Jessie Frazelle 542de786c2 Merge pull request #14751 from vdemeester/runconfig-lint
golint fixes on runconfig
2015-07-27 15:01:08 -07:00
David Calavera 776600fabb Log each release step.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-27 14:28:05 -07:00
Sebastiaan van Stijn e5af7a0e86 Merge pull request #14963 from MHBauer/plugins-links
Fix Plugins links
2015-07-27 23:25:48 +02:00
Jessie Frazelle df75411b0f Merge pull request #15050 from DieterReuter/fix-bash-completion
Fix file mode for docker bash completion
2015-07-27 14:24:49 -07:00
Sebastiaan van Stijn 967bc13ae6 Merge pull request #15052 from MHBauer/ubuntu-docs
Fix interrupted numbering sequence in ubuntu installation docs
2015-07-27 22:45:51 +02:00
Alexander Morozov eb45602d2f Use math.MaxInt32 instead of math.MaxUint32
I think it was original intention, because even half of a comment was about
MaxInt32.

Fix #15038

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-27 13:11:16 -07:00
Morgan Bauer 289e0d244b Fix interrupted numbering sequence in ubuntu installation docs
- increase indent of note to match surrounding text

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-27 13:10:29 -07:00
Dieter Reuter 37169dadda Fix file mode for docker bash completion
A bash completion file shouldn't have a executable bit set.
Just change file mode to 644 (instead of 755).

Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2015-07-27 22:07:04 +02:00
Doug Davis 8c9cd0418d Merge pull request #15045 from cpuguy83/fix_dockercmdwitherror
Don't pass check.C to dockerCmdWithError
2015-07-27 16:04:16 -04:00
Sebastiaan van Stijn 8492e62306 Merge pull request #15041 from runcom/remove-saucy-from-installation-guide
Remove Ubuntu Saucy 13.10 from Ubuntu installation guide
2015-07-27 21:39:55 +02:00
Vincent Demeester 18c7c67308 Lint on pkg/* packages
- pkg/useragent
- pkg/units
- pkg/ulimit
- pkg/truncindex
- pkg/timeoutconn
- pkg/term
- pkg/tarsum
- pkg/tailfile
- pkg/systemd
- pkg/stringutils
- pkg/stringid
- pkg/streamformatter
- pkg/sockets
- pkg/signal
- pkg/proxy
- pkg/progressreader
- pkg/pools
- pkg/plugins
- pkg/pidfile
- pkg/parsers
- pkg/parsers/filters
- pkg/parsers/kernel
- pkg/parsers/operatingsystem

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-27 21:26:21 +02:00
Vincent Demeester 5170a2c096 Lint fixes on runconfig
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-27 21:23:15 +02:00
David Calavera 0852170e8c Merge pull request #14923 from Djelibeybi/fix14905
Switch to using only the RPM command to determine the distro version.
2015-07-27 12:01:57 -07:00
Josh Hawn 01d570ad30 [api/client] Fix build when context dir is symlink
Symbolic links in the context directory path are now evaluated.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-27 12:01:13 -07:00
Jessie Frazelle d0215376f8 Merge pull request #15044 from jlhawn/fix_15042
[integration-cli] fix windows build test cases
2015-07-27 11:47:56 -07:00
Brian Goff 693ba98cb9 Don't pass check.C to dockerCmdWithError
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-27 14:33:32 -04:00
Josh Hawn d06ffd0a5f [integration-cli] fix windows build test cases
Use the same IP as the DOCKER_HOST when making a remote file server.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-27 11:30:38 -07:00
Antonio Murdaca 98f15cae89 Fix install script to handle debian 8.1 apt repo string
Fix #14911

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-27 20:21:29 +02:00
Jessie Frazelle afac39d308 Merge pull request #15026 from duglin/Issue14837
Add a test for using -f w/git repo on build
2015-07-27 10:55:47 -07:00
Antonio Murdaca 1e43ce350d Remove Ubuntu Saucy 13.10 from Ubuntu installation guide
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-27 19:55:26 +02:00
Jessie Frazelle db647c3b60 Merge pull request #15031 from liubin/typo/liubin-change-restart-command
Change restarting Docker daemon command in CentOS
2015-07-27 10:54:55 -07:00
Alexander Morozov 4dbdd98b41 Merge pull request #14547 from duglin/ErrDeadExec
Return 404 on exec-inspect when container is dead but exec is still around
2015-07-27 10:46:32 -07:00
Jessie Frazelle 6e1d887722 Merge pull request #13834 from hqhq/hq_memswap_change
Set default MemorySwap on Docker side
2015-07-27 10:46:10 -07:00
Jessie Frazelle 33bd41df94 Merge pull request #14118 from mountkin/fix-rmi-force
raise an error if rmi -f with multiple tags and running container
2015-07-27 10:42:07 -07:00
Jessie Frazelle a62dabe0b4 Merge pull request #14278 from squaremo/separate_overlay_docs
Put the network UI and overlay docs in separate files
2015-07-27 10:41:17 -07:00
Jessie Frazelle fdb932fa17 Merge pull request #14560 from bkeyoumarsi/volume-plugin-doc-fix
Updated volume-driver plugin api docs
2015-07-27 10:39:15 -07:00
Jessie Frazelle f3af9c8bdb Merge pull request #14735 from charleswhchan/patch-1
Minor edits to Environment variables section
2015-07-27 10:37:39 -07:00
Jessie Frazelle 2f5dc43ca2 Merge pull request #14852 from rhatdan/relabel
Rename internal field Relabel to Mode
2015-07-27 10:31:08 -07:00
Jessie Frazelle 303345dc6a Merge pull request #14875 from brahmaroutu/lint_daemon_graphdriver_btrfs
daemon/graphdriver/btrfs fix lint errors/warnings
2015-07-27 10:28:50 -07:00
Jessie Frazelle 70842ea942 Merge pull request #14899 from mountkin/fix-exec-resize-panic
fix the panic caused by resizing a starting exec
2015-07-27 10:27:29 -07:00
Jessie Frazelle b48b6de623 Merge pull request #14959 from runcom/remove-pkg-systemd-booted-go
Remove pkg/systemd/booted.go
2015-07-27 10:22:58 -07:00
Jessie Frazelle 5329d28536 Merge pull request #14971 from moxiegirl/man-page-carry-14637
Carry man page for the load command
2015-07-27 10:18:44 -07:00
Jessie Frazelle 912bafcf36 Merge pull request #14981 from calavera/bump_api_version
Bump api version to 1.21.
2015-07-27 10:17:24 -07:00
Jessie Frazelle 35250b685c Merge pull request #15009 from larchunix/devel
Fix docker-rm man page formatting
2015-07-27 10:16:57 -07:00
David Calavera c451d597f2 Merge pull request #15028 from vbatts/typo
api/client/build: typo in error
2015-07-27 10:13:05 -07:00
David Calavera e89aec0dfb Merge pull request #15010 from runcom/14947-fix-inspect-time-RFC3339Nano
Format times in inspect command with a template as RFC3339Nano
2015-07-27 10:08:21 -07:00
Jessie Frazelle f0f753d70a Merge pull request #14988 from ChanderG/master
Fix minor typo in Debian installation docs
2015-07-27 09:51:58 -07:00
David Calavera 0eb88a0751 Bump api version to 1.21.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-27 09:48:47 -07:00
Alexander Morozov b2930933c9 Merge pull request #14974 from duglin/BetterTrustErr
Show exact file being parsed on error.
2015-07-27 09:39:48 -07:00
Alexander Morozov ec8173b517 Merge pull request #14917 from srust/14915-empty-hostconfig-on-create
Check for nil before using HostConfig to adjustCpuShares
2015-07-27 09:38:32 -07:00
Aaron Lehmann 091dbc1034 Update vendored distribution repo to new version
This version includes a fix that avoids checking against specific HTTP
status codes. The previous behavior violated the registry API spec.

Fixes #14975

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-27 09:37:38 -07:00
Alexander Morozov ae5c8e3b69 Merge pull request #14786 from brahmaroutu/lint_image
image fix lint errors/warnings
2015-07-27 09:25:30 -07:00
moxiegirl 6c0c6b120a Merge pull request #15007 from cles/arch-systemd-network-issue
Add arch install docs warning about systemd-network
2015-07-27 09:22:01 -07:00
moxiegirl a65f7acbbf Merge pull request #14987 from vdemeester/fix-cli-import-docs
Add missing documentation to cli/import.md
2015-07-27 09:19:57 -07:00
bin liu aa5fc634f1 Change restarting Docker daemon command in CentOS
Signed-off-by: bin liu <liubin0329@gmail.com>
2015-07-27 23:30:06 +08:00
Vincent Batts 7b4e6fc47b *: s/direcotry/directory/g typo
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-27 11:29:28 -04:00
Vincent Batts 0e697ebe6e api/client/build: typo in error
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-27 11:01:26 -04:00
Doug Davis d883540440 Adda test for using -f w/git repo on build
https://github.com/docker/docker/pull/14546 actually fixed issue #14837
but I don't see a new test to ensure we don't regress. So this PR adds
a test and then we can close #14837.

Closes #14837

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-27 07:49:42 -07:00
root b061572916 /image - fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-27 05:40:57 +00:00
Bardia Keyoumarsi cc997a7f44 Updated volume-driver plugin api docs
There was a mistake in the plugin_volume.md file regarding the /VolumeDriver.Remove call.

Added fix and a better explanation.

Signed-off-by: Bardia Keyoumarsi <b.keyoumarsi@gmail.com>
2015-07-26 21:02:42 -07:00
Alexander Morozov 39999edcc9 Merge pull request #14992 from runcom/remove-unused-funcs
Remove unused functions
2015-07-26 18:36:37 -07:00
Morgan Bauer c2cf349bcd Fix Plugins links
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-26 18:28:25 -07:00
Jessie Frazelle 23b0fdc896 Merge pull request #14998 from jfrazelle/fix-systemd-debs
fix deb packaging systemd files
2015-07-26 17:49:19 -07:00
Stephen Rust c358a4cd35 Check for nil before using HostConfig to adjustCpuShares
Fix #14915. Add unit test for #14915.
Thanks @runcom for the test case: when the client calls 1.18 api
version w/o hostconfig it results in a nil pointer dereference.

Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-07-26 20:33:04 -04:00
Oriol Francès 26fa9b0d0d much improved wording for manual network config setup on arch install docs by @moxiegirl
Signed-off-by: Oriol Francès <oriolfa@gmail.com>
2015-07-26 19:11:27 +02:00
Vincent Demeester 3101941120 Add missing documentation to cli/import.md
PR #11907 added support for import using file (path), but it missed
the update of cli/import.md. This fixes that.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-26 18:39:42 +02:00
James Turnbull 77adf6abf1 Merge pull request #15012 from johnktims/patch-3
Fix typo
2015-07-26 11:04:17 -04:00
John Tims 7b552c7a37 Fix typo
Signed-off-by: John Tims <john.k.tims@gmail.com>
2015-07-26 10:53:07 -04:00
Antonio Murdaca c9207bc0aa Format times in inspect command with a template as RFC3339Nano
In 1.6.2 we were decoding inspect API response into interface{}.
time.Time fields were JSON encoded as RFC3339Nano in the response
and when decoded into interface{} they were just strings so the inspect
template treated them as just strings.
From 1.7 we are decoding into types.ContainerJSON and when the template
gets executed it now gets a time.Time and it's formatted as
2015-07-22 05:02:38.091530369 +0000 UTC.
This patch brings back the old behavior by typing time.Time fields
as string so they gets formatted as they were encoded in JSON -- RCF3339Nano

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-26 15:25:08 +02:00
Oriol Francès e1b57b2a87 Change of wording, rearrange section ordering
Signed-off-by: Oriol Francès <oriolfa@gmail.com>
2015-07-26 13:27:35 +02:00
Oriol Francès 6bd15a68cf Add arch install docs warning about systemd-network
Signed-off-by: Oriol Francès <oriolfa@gmail.com>
2015-07-26 13:27:07 +02:00
Sebastiaan van Stijn 5297a25b4e Merge pull request #15004 from charleswhchan/patch-2
Update faq.md
2015-07-26 13:03:45 +02:00
Sebastiaan van Stijn a059701fa5 Merge pull request #15006 from czerasz/patch-1
Fix typo in JSON config example, in the CLI documetation
2015-07-26 12:56:38 +02:00
Michał Czeraszkiewicz 09a9958e22 Fix typo in JSON config example, in the CLI documetation
Signed-off-by: Michał Czeraszkiewicz <czerasz.hosting@gmail.com>
2015-07-26 12:09:31 +02:00
Charles Chan c6816dfc67 Update faq.md
Fix case for PostgreSQL.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-25 22:03:20 -07:00
Arnaud Porterie b04dd6b7bc Merge pull request #14996 from chrisseto/master
Fix go vet errors
2015-07-25 19:20:48 -07:00
Denis Ollier 9356049680 Fix docker-rm man page formatting
Signed-off-by: Denis Ollier <larchunix@users.noreply.github.com>
2015-07-26 04:18:48 +02:00
Chander G ceeb22dc6e Fix minor typo in Debian installation docs
Signed-off-by: Chander G <chandergovind@gmail.com>
2015-07-26 03:49:18 +05:30
Sebastiaan van Stijn 6b2b6cb3fc Merge pull request #14940 from coolljt0725/add_vxfs_magic_number
Add VxFS magic number, fixes #14847
2015-07-25 23:25:48 +02:00
Jessica Frazelle a2ea8f2ad8 fix deb packaging systemd files
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-25 14:04:39 -07:00
Chris Seto 04f76b67c9 Fix go vet errors
Signed-off-by: Chris Seto <chriskseto@gmail.com>
2015-07-25 17:00:10 -04:00
Sebastiaan van Stijn 2d61de4625 Merge pull request #14245 from gs11/master
Clarifications in usage
2015-07-25 22:48:48 +02:00
Antonio Murdaca 0e69318b27 Remove unused functions
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-25 19:54:05 +02:00
gs11 547d6c6656 Clarify error message when container name is already in use. Signed-off-by: Gustav Sinder <gustav.sinder@gmail.com>
Signed-off-by: gs11 <gustav.sinder@gmail.com>
2015-07-25 14:08:38 +02:00
Sebastiaan van Stijn c051ed7953 Merge pull request #14720 from icecrime/14662_document_branches_tags
Document branches and tags
2015-07-25 13:12:47 +02:00
Alexander Morozov 6b12d37ced Merge pull request #14941 from hqhq/hq_cli_remove_cleanup
Remove unnecessary container cleanup in integration-cli
2015-07-24 20:38:15 -07:00
Tibor Vass afb831d35e Merge pull request #14979 from runcom/fix-flacky-TestRunNonRootUserResolvName
Fix TestRunNonRootUserResolvName flackiness
2015-07-24 21:50:44 -04:00
Arnaud Porterie 5bdd4d0ec4 Merge pull request #14966 from mrjana/vendor18
Vendoring libnetwork
2015-07-24 17:58:23 -07:00
Antonio Murdaca 30d4c70d28 Fix TestRunNonRootUserResolvName flackiness
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-25 02:45:17 +02:00
Arnaud Porterie 4f5b677fd9 Merge pull request #14546 from dmcgowan/trusted-notary-integration
Notary integration
2015-07-24 17:44:14 -07:00
Arnaud Porterie 542685d856 Merge pull request #14976 from calavera/revert_unconfined_aa_policy
Revert "Introduce a dedicated unconfined AA policy"
2015-07-24 17:31:28 -07:00
Jana Radhakrishnan 2ad81da856 Vendoring libnetwork
Vendoring libnetwork commit f1c5671f1ee2133055144e566cd8b3a0ae4f0433

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-07-24 17:11:47 -07:00
Arnaud Porterie e4c77b047d Document branches and tags
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-24 16:56:30 -07:00
Arnaud Porterie 78906612a2 Merge pull request #14935 from stevvooe/registry-moratorium
Impose moratorium on remote registry access
2015-07-24 16:45:05 -07:00
Jessie Frazelle 935810bd20 Merge pull request #14977 from jfrazelle/fix-lxc
fix lxc
2015-07-24 16:43:46 -07:00
David Calavera 94ab0d312f Revert "Introduce a dedicated unconfined AA policy"
This reverts commit 87376c3add.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-24 16:35:51 -07:00
Derek McGowan 259cadb0b1 Rename to flags and environment variables to content trust
Update help line to allow 90 characters instead of 80

The trust flag pushes out the help description column wider, requiring more room to display help messages.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 16:31:18 -07:00
Diogo Monica 3e90b12d42 Added tests for expired snapshots and timestamps
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-07-24 16:31:18 -07:00
Nathan McCauley 268fa5af47 Add tests simulating an evil server
Signed-off-by: Nathan McCauley <nathan.mccauley@docker.com>
2015-07-24 16:31:18 -07:00
Derek McGowan 871d2b96ed Add build integration cli tests
Clean up tests to remove duplicate code

Add tests which run pull and create in an isolated configuration directory.
Add build test for untrusted tag

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 16:31:12 -07:00
Jessica Frazelle 0a5b8c40c0 ignore certain tests on lxc driver
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-24 16:10:59 -07:00
Jessie Frazelle 5ab4b60e11 Merge pull request #14969 from tianon/utopic-eol
Remove Ubuntu 14.10 (Utopic Unicorn) from build-deb targets
2015-07-24 15:48:34 -07:00
Jessica Frazelle a38b544ef0 fix memory swappiness lxc
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-24 15:46:51 -07:00
Zhang Kun 0547b5fb2a #14474 skip DockerSuite.TestRunCapAddCHOWN on lxc
Signed-off-by: Zhang Kun <zkazure@gmail.com>
2015-07-24 15:16:07 -07:00
Doug Davis 76106b494b Show exact file being parsed on error.
When there's more than on json file in there we don't tell the user
which one was an issue.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-24 15:08:24 -07:00
Sebastiaan van Stijn 86c7ea4863 Merge pull request #14637 from metalivedev/patch-1
Document that load supports compressed tarballs.
2015-07-24 23:38:43 +02:00
Sebastiaan van Stijn d951ef128f Merge pull request #14522 from carlossg/patch-1
Clarify filters option in list containers doc
2015-07-24 23:13:32 +02:00
Diogo Monica eeb6d0a71b Add test for incorrect nonroot passphrase
Fix failing tests for create, push, and pull

Signed-off-by: Diogo Monica <diogo@docker.com>
2015-07-24 14:08:20 -07:00
Nathan McCauley 1406cb35fd Add trust tests for Docker create, run, push, and pull
Created date util function

Signed-off-by: Nathan McCauley <nathan.mccauley@docker.com>
2015-07-24 14:08:20 -07:00
Diogo Monica 356b07c896 Add more integration tests for trusted push and pull
Signed-off-by: Diogo Monica <diogo@docker.com>
2015-07-24 14:08:20 -07:00
Josh Hawn 578b1521df Add notary integration to docker build
The Dockerfile is rewritten with images references on FROM
instructions resolved to trusted digests. The rewritten Dockerfile
is swapped with the original one during context upload.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-24 14:08:20 -07:00
Josh Hawn 3021b7a4a0 Refactor api/client/build.go
Separated preparation of context and Dockerfile for
the various different methods of specifying them.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-24 14:08:20 -07:00
Derek McGowan 58a1de9b59 Add integration cli trust tests
Added notary server to docker base image.
Created trust suite which runs trust server for running trusted commands.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 14:08:20 -07:00
Derek McGowan ed13c3abfb Use notary library for trusted image fetch and signing
Add a trusted flag to force the cli to resolve a tag into a digest via the notary trust library and pull by digest.
On push the flag the trust flag will indicate the digest and size of a manifest should be signed and push to a notary server.
If a tag is given, the cli will resolve the tag into a digest and pull by digest.
After pulling, if a tag is given the cli makes a request to tag the image.

Use certificate directory for notary requests

Read certificates using same logic used by daemon for registry requests.

Catch JSON syntax errors from Notary client

When an uncaught error occurs in Notary it may show up in Docker as a JSON syntax error, causing a confusing error message to the user.
Provide a generic error when a JSON syntax error occurs.

Catch expiration errors and wrap in additional context.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 14:08:20 -07:00
Doug Davis 2084eee02c Merge pull request #14967 from Microsoft/10662-fixpaniconwindowsdaemon
Windows: Fixes panic on daemon binary
2015-07-24 16:48:37 -04:00
moxiegirl 2b847df8c2 Merge pull request #14939 from rtrauntvein/docs-autobuild
Fix broken link in automated build doc
2015-07-24 13:48:14 -07:00
Mary Anthony ae45ffc1fe Carry man page for 14637
Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-24 13:39:29 -07:00
Tibor Vass 84e917b876 Merge pull request #14835 from aaronlehmann/registry-lint-cleanup
Improve documentation and golint compliance of registry package
2015-07-24 16:23:23 -04:00
Tianon Gravi a83e4e4a34 Remove Ubuntu 14.10 (Utopic Unicorn) from build-deb targets
As of July 23, 2015, it is officially EOL (https://lists.ubuntu.com/archives/ubuntu-announce/2015-July/000198.html) and will receive no further updates.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-07-24 13:21:01 -07:00
John Howard b405e89d5c Windows: Fixes panic on daemon binary
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-24 12:30:49 -07:00
Aaron Lehmann 4fcb9ac40c Improve documentation and golint compliance of registry package
* Add godoc documentation where it was missing

* Change identifier names that don't match Go style, such as INDEX_NAME

* Rename RegistryInfo to PingResult, which more accurately describes
  what this structure is for. It also has the benefit of making the name
  not stutter if used outside the package.

Updates #14756

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-24 11:55:07 -07:00
Alexander Morozov 44e327b29e Merge pull request #14964 from tiborvass/fix-reexec
reexec: Use in-memory binary /proc/self/exe on linux instead of os.Args[0]
2015-07-24 11:51:56 -07:00
Tibor Vass 5aee8807a6 reexec: Use in-memory binary on linux instead of os.Args[0]
This keeps reexec working properly even if the on-disk binary was replaced.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-24 14:15:50 -04:00
Jessie Frazelle e1dea0c485 Merge pull request #14920 from jfrazelle/release-script-updates-for-new-repo
warn the script is depreciated
2015-07-24 11:09:35 -07:00
Jessica Frazelle ff271f5190 warn the script is depreciated
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-24 10:34:41 -07:00
David Calavera 3a07e7d115 Merge pull request #14958 from LK4D4/fix_valid
Fix option validation for log-drivers without it
2015-07-24 09:57:36 -07:00
Tianon Gravi 4eee075f22 Merge pull request #14865 from calavera/update_init_scripts
Update init scripts to use `docker daemon`.
2015-07-24 09:47:03 -07:00
Antonio Murdaca f29dcfd215 Remove pkg/systemd/booted.go
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-24 18:09:27 +02:00
Alexander Morozov d68c55bc72 Fix option validation for log-drivers without it
There is no option validation for "journald" log-driver, so it makes no
sense to fail in that case.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-24 09:00:53 -07:00
Sebastiaan van Stijn f32295eda6 Merge pull request #14877 from calavera/deprecate_docker_d
Add -d to the deprecated feature list for 1.8.
2015-07-24 17:44:23 +02:00
Tibor Vass 9c0bb22571 Merge pull request #14925 from calavera/fix_volume_symlink_test
Remove reference to old Volumes field in inspect struct.
2015-07-24 10:41:00 -04:00
Charles Chan 42263dafcf Minor edits to Environment variables section
* Clarify the list of supported instructions.
* Clarify behavior of ONBUILD, based on comments by @SvenDowideit, @theJeztah in PR #14735.
* Reorder list of instructions in alphabetical order.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-24 06:38:55 -07:00
Shijiang Wei 9f7698a637 raise an error if rmi -f with multiple tags and running container
Fixes https://github.com/docker/docker/issues/14116

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-07-24 20:44:13 +08:00
Shijiang Wei ba5e098052 fix the panic caused by resizing a starting exec
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-07-24 20:43:07 +08:00
Dan Walsh 4cb9479ce4 Rename internel field Relabel to Mode
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-24 07:14:37 -04:00
Carlos Sanchez 1fb29e6c3c Clarify filters option in list containers and list images docs
Based on the list containers with filters options it would seem that filtering containers with label `test=docker-java` could be done with `{"test":["docker-java"]}` which doesn't work

The options that work are `{"label":["test"]}` and `{"label":["test=docker-java"]}`

As seen in https://github.com/docker-java/docker-java/pull/262

Signed-off-by: Carlos Sanchez <carlos@apache.org>
2015-07-24 11:57:18 +02:00
Lei e1c5e9b561 Add VxFS magic number, fixes #14847
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-24 16:37:56 +08:00
Derek McGowan f5a4a8da15 Vendor notary
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 01:31:50 -07:00
Nathan McCauley 48250832a3 Add cmdline docs for signing and verification flows
Signed-off-by: Nathan McCauley <nathan.mccauley@docker.com>
2015-07-24 01:31:50 -07:00
Qiang Huang bcc0968a2c Remove unnecessary container cleanup in integration-cli
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-24 14:48:26 +08:00
Sebastiaan van Stijn 58bab11ee2 Merge pull request #14700 from charleswhchan/patch-2
Add benefit to using automated build.
2015-07-24 08:22:59 +02:00
Ryan Trauntvein 8e66e627d7 Fix broken link in automated build doc
Signed-off-by: Ryan Trauntvein <rtrauntvein@novacoast.com>
2015-07-23 23:12:06 -07:00
Charles Chan c9ff01ffc7 * Add benefit to using automated build.
* Wording based on suggestions by @thaJeztah, @moxiegirl in PR #14700.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-23 21:01:23 -07:00
Jessie Frazelle 7674f21686 Merge pull request #13771 from tiborvass/daemon-cli
New `docker daemon` command
2015-07-23 19:30:39 -07:00
Stephen J Day 24f7d0afc9 Impose moratorium on remote registry access
A moratorium has been added to the road map to add a moratorium on adding
remote registry access to commands that don't already do so.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-07-23 19:09:20 -07:00
moxiegirl 163acd07e2 Merge pull request #14696 from rtrauntvein/patch-1
Fix link to examples documentation
2015-07-23 18:25:31 -07:00
Jessie Frazelle d5e085572d Merge pull request #14926 from dmcgowan/prune-tar-split
Fix pruning in vendor script
2015-07-23 17:43:17 -07:00
Tibor Vass e246f1e4ee Update docs to use the new docker daemon command
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-23 20:31:43 -04:00
Shishir Mahajan e7fc632147 Add and modify tests for legacy and new daemon invokations
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-23 20:31:43 -04:00
Ryan Trauntvein 4f62dec548 Add index.md to examples docs
Signed-off-by: Ryan Trauntvein <rtrauntvein@novacoast.com>
2015-07-23 17:24:44 -07:00
David Calavera cd9dd55233 Merge pull request #14919 from tianon/empty-ps-headers
Fix "docker ps" with no containers regression
2015-07-23 16:52:43 -07:00
Tibor Vass 96ce3a194a cli: new daemon command and new cli package
This patch creates a new cli package that allows to combine both client
and daemon commands (there is only one daemon command: docker daemon).

The `-d` and `--daemon` top-level flags are deprecated and a special
message is added to prompt the user to use `docker daemon`.

Providing top-level daemon-specific flags for client commands result
in an error message prompting the user to use `docker daemon`.

This patch does not break any old but correct usages.

This also makes `-d` and `--daemon` flags, as well as the `daemon`
command illegal in client-only binaries.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-23 19:44:46 -04:00
moxiegirl 490e78a642 Merge pull request #14557 from maaquib/14418-dangling-link-in-runmd
Fixing dangling link in docs/reference/commandline/run.md
2015-07-23 16:29:17 -07:00
moxiegirl ae027c0864 Merge pull request #14589 from paetling/ae-update_net_docs
add to docs that ports do not get exposed when using --net
2015-07-23 16:22:21 -07:00
Derek McGowan 82685367d8 Keep license files
Currently the vendor script removes directories which do not have imported go packages, however this also ends up removing license files which may be other directories.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-23 16:12:21 -07:00
David Calavera bb43bdf6c5 Remove reference to old Volumes field in inspect struct.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-23 16:10:31 -07:00
Srini Brahmaroutu 17c19f395f daemon/graphdriver/btrfs fix lint errors/warnings
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-23 22:48:45 +00:00
Derek McGowan a8546df89d Fix pruning on tar split
Currently the vendor script prunes files which are currently checked in.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-23 15:21:32 -07:00
Avi Miller 59e48b3468 Fix typo.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-24 08:14:06 +10:00
Avi Miller a43199f143 Switch to using only the RPM command to determine the distro version.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-24 07:38:28 +10:00
Alexander Morozov c6f4c192fe Merge pull request #14545 from Djelibeybi/oraclelinux6-rpm
Updated docker-engine.spec to build on Oracle Linux 6.
2015-07-23 13:29:48 -07:00
Tianon Gravi f57fc03e3b Fix "docker ps" with no containers regression
The header row was not being printed when "docker ps" was invoked without containers thanks to the new format support, and we instead received a single blank line.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-07-23 13:23:24 -07:00
Stephen Day 4af94efcf0 Merge pull request #14831 from duglin/VendorDist
Vendor latest distributions so we can use the new errcode stuff
2015-07-23 13:17:55 -07:00
Alexander Morozov f28877257b Merge pull request #14034 from hqhq/hq_checkconfig_xattr
Some check_config enhancement
2015-07-23 13:01:59 -07:00
Vincent Batts 1e40915e9d Merge pull request #14854 from rhvgoyal/unmount-base
docker: Unmount -init layer root before taking a snapshot
2015-07-23 15:17:07 -04:00
moxiegirl 4e035031b0 Merge pull request #14900 from duglin/AddFilterToDoc
Add filter to /images/json docs
2015-07-23 11:57:12 -07:00
Phil Estes 9dcd0cc1ee Merge pull request #14887 from Microsoft/10662-stupidtypo
Windows: Stupid copy/paste error
2015-07-23 14:49:17 -04:00
Doug Davis b874ef8f43 Do Docker edits so we can use the new distribution code
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-23 10:24:46 -07:00
Doug Davis 8b69552b50 Vendor latest distributions so we can use the new errcode stuff
ping @stevvooe @RichardScothern

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-23 10:24:46 -07:00
Tianon Gravi 8c28363993 Merge pull request #13933 from ypid/mkimage-no-compression
Do not compress rootfs archive in mkimage.sh.
2015-07-23 10:22:07 -07:00
David Calavera ac9fc03c74 Merge pull request #14855 from ewindisch/apparmor-unconfined
Introduce a dedicated unconfined AA policy
2015-07-23 10:21:51 -07:00
Jessie Frazelle e5d8fb9658 Merge pull request #14903 from jfrazelle/fix-experimental-rpm-debs
pass DOCKER_EXPERIMENTAL into build images
2015-07-23 10:05:00 -07:00
David Calavera 2cf9fec111 Merge pull request #14901 from albers/completion-log-opt-fixes
Fixes to bash completion for log driver options
2015-07-23 10:03:29 -07:00
Jessica Frazelle 76d6751600 pass DOCKER_EXPERIMENTAL into build images
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-23 09:42:22 -07:00
Sebastiaan van Stijn 9e438ffb61 Merge pull request #14891 from jgeiger/fix_typo_in_builder_docs_for_dockerignore
Fix typo in builder.mb .dockerignore example
2015-07-23 18:26:16 +02:00
Sebastiaan van Stijn d44e334a6e Merge pull request #14893 from Evalle/14653-fix-sles-issue
Fixing SLES12 issue
2015-07-23 18:22:38 +02:00
Arnaud Porterie c9937c3a80 Merge pull request #14905 from jfrazelle/fix-fedora-install
fix fedora release
2015-07-23 09:17:48 -07:00
Jessica Frazelle 8192a9ac6c fix fedora release
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-23 09:16:35 -07:00
Phil Estes c2346f6406 Merge pull request #14898 from runcom/sockRequestRaw-close-body
Ensure body is closed after error is checked
2015-07-23 10:11:44 -04:00
Antonio Murdaca 18faf6f94e Ensure body is closed after error is checked
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-23 14:34:38 +02:00
Doug Davis a20bf5e61c Add filter to /images/json docs
Closes #14894

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-23 05:29:09 -07:00
Harald Albers de40f3997a Complete all known driver options if no log driver was specified
Without this fix, `docker --log-opt ` would not complete anything
because the completions were driver specific.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-23 14:19:13 +02:00
Harald Albers 6de8dd1a6e Fix problem with = in completion of docker global options
Without this fix, `docker --log-driver fluentd --log-opt fluentd-tag=b`
would complete `b` to `build`.
Completion of the commands has to be nailed to __docker_pos_first_nonflag

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-23 13:52:06 +02:00
evalle 94119c58a1 Fixing SLES12 issue
Signed-off-by: evalle <shmarnev@gmail.com>
2015-07-23 08:59:23 +02:00
Florian Klein 323259ec4e explain how to make it work on awazon ec2.
Signed-off-by: Klein Florian <florian.klein@free.fr>
2015-07-23 08:47:05 +02:00
jgeiger 9086c16f42 Fix typo in builder.mb .dockerignore example
Signed-off-by: jgeiger <jgeiger@gmail.com>
2015-07-22 23:54:46 -06:00
Phil Estes d593130fda Merge pull request #14880 from Microsoft/10662-paniconremotetest
Stop SIGSEGV on test dial not reachable
2015-07-22 23:21:12 -04:00
Phil Estes c5053d4700 Merge pull request #14886 from duglin/FixDepDoc
Fix typo in deprecation doc
2015-07-22 23:15:09 -04:00
Phil Estes 7e4db0a370 Merge pull request #12850 from coolljt0725/add_ulimi_to_build
Add ulimit to docker build
2015-07-22 23:11:47 -04:00
John Howard cef5cb2dcb Windows: Stupid copy/paste error
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-22 19:30:47 -07:00
Lei 877dbbbde8 Add ulimit to docker build.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-23 10:26:06 +08:00
Doug Davis ea3dcee913 Fix typos in deprecation doc
thanks @tiborvass

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-22 18:45:12 -07:00
John Howard 09b86c46b8 Stop SIGSEGV on test dial not reachable
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-22 18:44:04 -07:00
Stephen Day 48d057f8a9 Merge pull request #14884 from aaronlehmann/redundant-image-checks
Avoid redundant HEAD requests for identical layers on push
2015-07-22 18:28:39 -07:00
Aaron Lehmann 810d3b2642 Avoid redundant HEAD requests for identical layers on push
pushV2Tag already deduplicates layers, but the scope of this
deduplication is only for a particular tag. If we are pushing all tags
in a repository, we may check layers several times. Fix this by moving
the layersSeen map from the pushV2Tag function to the v2Pusher struct.

In addition to avoiding some useless round-trips, this makes the "docker
push" output less confusing. It formerly could contain many repeated
lines like:

    124e2127157f: Image already exists
    124e2127157f: Image already exists
    ...

Add test coverage based on the "docker push" output: a hash should not
appear multiple times when pushing multiple tags.

Fixes #14873

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-22 17:54:20 -07:00
Michael Bridgen b442db9935 Put the network UI and overlay docs in separate files
.. and link to them separately. They are different features.

Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
2015-07-23 00:36:34 +01:00
Jessie Frazelle 5fdc102396 Merge pull request #14878 from icecrime/14756_golint_on_ci
Enable validate-lint as part of CI
2015-07-22 16:32:29 -07:00
Tibor Vass a3857cc379 Merge pull request #14580 from rohitkadam19/patch-1
Update docker_remote_api_v1.17.md
2015-07-22 19:22:37 -04:00
Jessie Frazelle f218192754 Merge pull request #14638 from jfrazelle/new-repo-install-script
update install script/docs for new apt and yum repos
2015-07-22 15:25:27 -07:00
Arnaud Porterie bc8b8e03b4 Enable validate-lint as part of CI
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-22 15:23:34 -07:00
Alexander Morozov 3198e76b77 Merge pull request #14862 from vdemeester/validate-lint-all-files
Update validate-lint to lint all go files
2015-07-22 15:18:02 -07:00
Jessica Frazelle 451d3f5950 update install script for new repos
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-22 15:08:19 -07:00
Jessica Frazelle 877d740d48 update docs for new install script
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-22 15:08:14 -07:00
David Calavera 9a1728a427 Add -d to the deprecated feature list for 1.8.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-22 15:05:23 -07:00
Sebastiaan van Stijn a628155a72 Merge pull request #13900 from duglin/Deprecate
Define Docker's deprecation policy
2015-07-22 23:23:37 +02:00
Vincent Demeester fa34f07ec0 Update validate-lint to lint all go files
By default, using go with package will only validate the go file for the
current platform (or at last misses file_windows.go for example). This
tries to fix that.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-22 23:21:18 +02:00
David Calavera f82ebe5932 Merge pull request #14839 from jfrazelle/better-io-error
better i/o timeout error on pull
2015-07-22 14:10:50 -07:00
Doug Davis 27b828c9e4 Define Docker's deprecation policy
Announce the cmd line options that are targetted for removal

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-22 14:09:49 -07:00
Sebastiaan van Stijn 4160d1af7d Merge pull request #14528 from estesp/add-readme-links
Add links and correct locations in project/README.md
2015-07-22 23:05:32 +02:00
Jessie Frazelle a7d8450312 Merge pull request #14864 from ewindisch/apparmor-engine-policy
Add AppArmor policy for the docker binary
2015-07-22 13:56:33 -07:00
Jessie Frazelle 80fec1dbaf Merge pull request #14872 from jfrazelle/fix-debs-apparmour
update deb dockerfiles
2015-07-22 13:35:24 -07:00
Phil Estes 9055eb0ce4 Add links and correct locations in project/README.md
After removing the duplicate ROADMAP in a separate PR, a few other
issues were noted in README.md which are fixed here:
- the directory is project, not hack
- make.sh is no longer in the current dir since hack/ is not project/
  anymore
- MAINTAINERS is no longer here as a markdown file, but is a TOML file
  in the root of the project
- links were added to all files to make it easier to follow from here
  to the appropriate location

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-07-22 16:31:12 -04:00
Alexander Morozov 3ee7297b7e Merge pull request #14869 from calavera/remove_duplicated_cp_handlers_init
Remove duplicated code parsing parameters for the archiving handlers.
2015-07-22 13:25:34 -07:00
Brian Goff d106a2ea2a Merge pull request #14613 from stefanberger/nohidevols2
Do not hide user provided network mounts [v2]
2015-07-22 16:24:22 -04:00
Sebastiaan van Stijn d3ba2457d9 Merge pull request #14769 from clintonskitson/add_plugindocs_rexray
updated plugin docs to include REX-Ray
2015-07-22 22:12:41 +02:00
Sebastiaan van Stijn 933d9f2e0d Merge pull request #14799 from coolljt0725/docs_fix_devicemapper_default_basesize
Docs: update the devicemapper default basesize from 10G to 100G
2015-07-22 22:07:38 +02:00
Jessica Frazelle 1fff0a5cc5 actually update deb dockerfiles
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-22 13:06:04 -07:00
David Calavera 53fb4d6fb6 Merge pull request #14871 from jfrazelle/change-leeroy-uri
move leeroy under docker
2015-07-22 13:03:22 -07:00
Jessica Frazelle 9bc502ecde move leeroy under docker
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-22 12:57:13 -07:00
David Calavera 1639288b0a Merge pull request #14067 from vbatts/vbatts-tar-split
graph: layer tar disassembly and reassembly
2015-07-22 12:53:26 -07:00
Alexander Morozov c328e0c827 Merge pull request #14628 from estesp/update-docker-py
Update docker-py commit to current master (~1.3.1 release)
2015-07-22 12:41:41 -07:00
David Calavera 1612ff9726 Remove duplicated code parsing parameters for the archiving handlers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-22 12:39:46 -07:00
David Calavera 1c6fe58efc Merge pull request #14442 from cpuguy83/refactor_logdrvier_reader
Refactor log driver reader
2015-07-22 11:54:35 -07:00
Jeff Minard 6f8fdb8aa8 Allow RHEL init script to detect daemon start pid failure
If you have some kind of bogus `other_args` in `/etc/sysconfig/docker` the start script will report "started" but it's full of lies. This enhances the flow so that if the pidfile never shows up (failure to start) you get a proper failure message.

I also added dots for fun.

Signed-off-by: Jeff Minard <jeff.minard@creditkarma.com>
2015-07-22 11:36:34 -07:00
Brian Goff 19ba7f9e23 Merge pull request #14753 from flavio/zfs-initialization-errors
ZFS driver: raise better errors during init
2015-07-22 14:27:46 -04:00
David Calavera 346ce4f8d2 Update init scripts to use docker daemon.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-22 11:24:38 -07:00
Eric Windisch 39dae54a3f Add AppArmor policy for the engine
Wraps the engine itself with an AppArmor policy.

This restricts what may be done by applications
we call out to, such as 'xz'.

Significantly, this policy also restricts the policies
to which a container may be spawned into. By default,
users will be able to transition to an unconfined
policy or any policy prefaced with 'docker-'.

Local operators may add new local policies prefaced
with 'docker-' without needing to modify this policy.
Operators choosing to disable privileged containers
will need to modify this policy to remove access
to change_policy to unconfined.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-22 14:20:50 -04:00
David Calavera 40b922418c Merge pull request #14699 from estesp/docker-ps-format
Carry #10255: Docker ps format
2015-07-22 10:58:34 -07:00
Stefan Berger 6bd389b9db Do not hide user provided network mounts [v2]
Prevent the docker daemon from mounting the created network files over
those provided by the user via -v command line option. This would otherwise
hide the one provide by the user.
The benefit of this is that a user can provide these network files using the
-v command line option and place them in a size-limited filesystem.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2015-07-22 13:44:21 -04:00
Phil Estes 65fb04228e Update docker-py to current master (~docker-py 1.3.1)
The docker-py commit used in the standard `Dockerfile` is from Feb. 2015
and is out of date with the current API level and has fixes for things
like the new docker cli config location and registry v2 changes/API
responses as well.

Also pass "NOT_ON_HOST=true" to docker-py test suite so that tests
relying on direct HOST interaction (versus running in a container) are
skipped.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-07-22 13:17:59 -04:00
David Calavera fe68ac806b Merge pull request #14858 from icecrime/14756_update_linted_packages
Update linted package list
2015-07-22 10:11:51 -07:00
Phil Estes 542b58d8f7 ps --format: Add config.js doc, fix gofmt, add integration tests
Re-add the docs from @calavera's PR to the moved cli cmd reference docs.
Fix gofmt and vet issues from carried commits
Add integration test for using format with --no-trunc and multi-names
Fix custom_test map order dependency on expected value check
Add docs to reference/commandline/ps.md
Remove "-F" flag option from original carried PR content

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-07-22 12:51:16 -04:00
moxiegirl 7d8859a4f5 Merge pull request #14217 from ankushagarwal/ubuntu-15.04
Add support for 15.04, add systemd note for 15.04
2015-07-22 08:56:02 -07:00
Arnaud Porterie b7184f8574 Update linted package list
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-22 08:46:42 -07:00
Vincent Batts 22347fdb63 graph: isolate the (dis)assembly logic
with the current duplication of code in the grap.go split-up, this puts
all assembly/disassembly logic into isolated functions

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-22 11:36:15 -04:00
Vincent Batts 5a00326d29 graph: use tar archive entries for TarLayer
if there is a tar-data.json.gz present for an image layer, then use it
to create the tar archive, instead of the traditional graphdriver Diff.

Signed-off-by: Vincent Batts <vbatts@redhat.com>

Conflicts:
	graph/graph.go
2015-07-22 11:36:15 -04:00
Vincent Batts ba1f76cbfa graph: variablize file names
and add a comment.. :-)

Signed-off-by: Vincent Batts <vbatts@redhat.com>

Conflicts:
	graph/graph.go
2015-07-22 11:36:15 -04:00
Vincent Batts 5d9f06599c graph: preserve tar archive entries
Preserve the entries from the tar archive for layers added to the graph.

With these entries and relative filesystem path, the tar archives can be
reassembled later.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-22 11:36:15 -04:00
Vincent Batts 7fb061832a vendor: adding tar-split dependency for graph
tar-split is a facility to disassemble and reassemble tar archives

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-22 11:36:10 -04:00
Eric Windisch 87376c3add Introduce a dedicated unconfined AA policy
By using the 'unconfined' policy for privileged
containers, we have inherited the host's apparmor
policies, which really make no sense in the
context of the container's filesystem.

For instance, policies written against
the paths of binaries such as '/usr/sbin/tcpdump'
can be easily circumvented by moving the binary
within the container filesystem.

Fixes GH#5490

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-22 11:28:32 -04:00
Tibor Vass 875fffdff8 Merge pull request #14851 from bfirsh/golint-integration-cli
Golint integration-cli
2015-07-22 11:28:19 -04:00
Alexander Morozov a751c0a52f Merge pull request #14790 from hqhq/hq_golint_build
Fix golint warnings for builder
2015-07-22 08:17:04 -07:00
Vivek Goyal fe26669205 docker: Unmount -init layer root before taking a snapshot
When we are creating a container, first we call into graph driver to take
snapshot of image and create root for container-init. Then we write some
files to it and call into graph driver again to create container root
from container-init as base.

Once we have written files to container-init root, we don't unmount it
before taking a snapshot of it. Looks like with XFS it leaves it in such
a state that when we mount the container root, it goes into log recovery
path.

Jul 22 10:24:54 vm2-f22 kernel: XFS (dm-6): Mounting V4 Filesystem
Jul 22 10:24:54 vm2-f22 kernel: XFS (dm-6): Starting recovery (logdev: internal)
Jul 22 10:24:54 vm2-f22 kernel: XFS (dm-6): Ending recovery (logdev: internal)

This should not be required. So let us unmount container-init before use
it  as a base for container root and then XFS does not go into this
internal recovery path.

Somebody had raised this issue for ext4 sometime back and proposed the same
change. I had shot it down at that point of time. I think now time has
come for this change.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-07-22 10:32:53 -04:00
Brian Goff f0d0a52d80 Merge pull request #14817 from runcom/golint-pkg-mount
pkg: mount: golint
2015-07-22 09:23:26 -04:00
Doug Davis a10cb08bbb Merge pull request #14802 from rhatdan/error
If a user hits this error it would be helpful to know tagstore name.
2015-07-22 06:17:38 -07:00
Doug Davis 5328cc346f Merge pull request #14850 from runcom/14846-fix-get-images-search-content-type
Fix wrong Content-Type returned by /images/search API
2015-07-22 06:16:16 -07:00
Ben Firshman 6b3c928140 Fix golint warnings for integration-cli
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-07-22 14:03:50 +01:00
Dan Walsh 4815fdc334 Merge branch 'master' of github.com:docker/docker into error
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-22 08:06:19 -04:00
Antonio Murdaca 1a5d6a94c9 Fix wrong Content-Type returned by /images/search API
/images/search was replying with Content-Type text/plain instead
of application/json.
Fix #14846

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-22 11:07:41 +02:00
Antonio Murdaca 0f5c9d301b pkg: mount: golint
Fix the following warnings:

pkg/mount/mountinfo.go:5:6: type name will be used as mount.MountInfo by other packages, and that stutters; consider calling this Info
pkg/mount/mountinfo.go:7:2: struct field Id should be ID

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-22 10:26:10 +02:00
Sebastiaan van Stijn 757c4f0d5c Merge pull request #14821 from stevvooe/coding-style-guidelines
Adding Go coding style guidelines
2015-07-22 09:08:43 +02:00
Sebastiaan van Stijn 50d2597e49 Merge pull request #13711 from calavera/version_volumes_inspect
Expose new mount points structs in inspect.
2015-07-22 09:02:00 +02:00
Qiang Huang 8c4a282a57 Fix golint warnings for builder
Addresses: #14756

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-22 13:29:03 +08:00
Alexander Morozov 30b951ff08 Merge pull request #14842 from hqhq/hq_remove_rootuid
Remove unused parameter in NewTtyConsole
2015-07-21 21:37:21 -07:00
Jessie Frazelle ff011ededb Merge pull request #14804 from dave-tucker/golint_nat
golint: Fix issues in pkg/nat
2015-07-21 20:38:40 -07:00
Jessie Frazelle 06162fed8b Merge pull request #14822 from runcom/host-config-links-on-start
Allow starting a container with an existing hostConfig which contains links
2015-07-21 20:06:26 -07:00
Jessie Frazelle 052b23e290 Merge pull request #14770 from albers/completion-log-opt
Bash completion for log drivers and their options
2015-07-21 19:58:12 -07:00
Jessie Frazelle b6c5f6d075 Merge pull request #14794 from HuKeping/ci
CI: use dockerCmd in integration-cli when possible
2015-07-21 19:57:33 -07:00
Hu Keping 012b67c3ea CI: use dockerCmd in integration-cli when possible
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-07-22 17:55:41 +08:00
Jessie Frazelle 162ae444af Merge pull request #14677 from vincentbernat/fix/zsh-completion-update-4
zsh: update zsh completion for docker command
2015-07-21 19:56:03 -07:00
Jessie Frazelle 5dda570d50 Merge pull request #14688 from Microsoft/10662-hookupmac
Windows: Hook up user supplied MAC
2015-07-21 19:55:21 -07:00
Jessie Frazelle 7a06e85270 Merge pull request #14812 from LK4D4/fix_cgroup_parent_tests
Fix cgroup parent tests
2015-07-21 19:53:48 -07:00
Jessie Frazelle dda1d66ac7 Merge pull request #14808 from cpuguy83/bump_md2man
Bump go-md2man to 1.0.3
2015-07-21 19:53:26 -07:00
Qiang Huang af3059855c Remove unused parameter in NewTtyConsole
It's introduced in
68ba5f0b69 (Execdriver implementation on new libcontainer API)

But I don't see reson why we need it.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-22 10:32:31 +08:00
Jessica Frazelle ca3dae523b better i/o timeout error on pull
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-21 19:08:15 -07:00
Clinton Kitson ca552a953e added REX-Ray as volume plugin to plugin docs
Signed-off-by: Clinton Kitson <clintonskitson@gmail.com>
2015-07-21 21:00:27 -05:00
Brian Goff d3b3ebc3a4 remove dead code after decoupling from jsonlog
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-21 20:47:35 -04:00
Brian Goff c0391bf554 Split reader interface from logger interface
Implement new reader interface on jsonfile.
Moves jsonlog decoding from daemon to jsonfile logger.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-21 20:47:31 -04:00
Arnaud Porterie c986f85f73 Merge pull request #13171 from jlhawn/archive_copy
docker cp to and from containers
2015-07-21 16:59:44 -07:00
Dave Tucker 15d01d6e6c golint: Fix issues in pkg/nat
Updates #14756

Signed-off-by: Dave Tucker <dt@docker.com>
2015-07-22 00:47:41 +01:00
John Howard c923774c41 Windows: CLI Improvement
The Ansi parser and their associated actions have been decoupled. Now
parsing results in call backs to an interface which performs the
appropriate actions depending on the environment.

This improvement provides a functional Vi experience and the vttest no
longer panics.

This PR replaces docker/docker #13224 with the latest console updates.

Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-21 16:38:44 -07:00
Tibor Vass 879f440a99 Merge pull request #14833 from icecrime/14756_update_lint_script
Update validate-lint script
2015-07-21 19:28:19 -04:00
Tibor Vass 42533e323c Merge pull request #14829 from RichardScothern/registry-tls
Configure TLS for private v2 registry mirrors.
2015-07-21 19:23:39 -04:00
David Calavera 36106a20ca Merge pull request #14682 from duglin/Issue14621
Remove panic in nat package on invalid hostport
2015-07-21 15:48:51 -07:00
Antonio Murdaca d52b2b98ba Merge pull request #14830 from Microsoft/10662-removebadcomment
Windows: Remove erroneous comment only (no code change)
2015-07-22 00:39:58 +02:00
David Calavera 1c3cb2d31e Expose new mount points structs in inspect.
Keep old hashes around for old api version calls.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-21 15:33:05 -07:00
Josh Hawn e54b1e081a docs: Updated for docker cp and its API changes
Documented changes to API to enable new `docker cp` behavior.

Added documentation on `docker cp` usage and behavior.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 15:30:20 -07:00
Richard Scothern 6b36a488e7 Remove v1 registry mirror configuration from LookupEndpoints.
V1 mirrors do not mirror the index and those endpoints should
only be indexes.

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-07-21 15:21:41 -07:00
Richard Scothern cb57b25689 Configure TLS for private registry mirrors.
If a registry mirror is using TLS, ensure that certs for it
are picked up from /etc/docker/certs.d

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-07-21 15:21:25 -07:00
Josh Hawn 418135e7ea integration-cli: New docker cp integration tests
Adds several integration tests for `docker cp` behavior with over a dozen
tests for each of:

  container -> local
  local -> container

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 15:19:52 -07:00
Josh Hawn 93c3e6c91e api/client: New and Improved docker cp behavior
Supports copying things INTO a container from a local file or from a tar
archive read from stdin.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 15:19:52 -07:00
Josh Hawn db9cc91a9e api/server: StatPath, ArchivePath, ExtractToDir
Adds http handlers for new API endpoints:

GET ContainersArchivePath
  Return a Tar Archive of the contents at the specified location in a
  container. Deprecates POST ContainersCopy. Use a HEAD request to stat
  the resource.

PUT ContainersExtractToDir
  Extract the Tar Archive from the request body to the directory at the
  specified location inside a container.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 15:19:52 -07:00
Arnaud Porterie 7f02cc420a Update validate-lint script
Add a set of newly linted packages, and fix the script.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-21 15:02:46 -07:00
Tibor Vass 0d17cba922 Merge pull request #14820 from aaronlehmann/registry-dead-code
Remove dead code in registry package
2015-07-21 17:45:49 -04:00
Victor Palma d821426fa0 Cleanup: factor anonymous function out of cli.clientRequestAttemptLogin
Signed-off-by: Victor Palma <palma.victor@gmail.com>
2015-07-21 16:28:41 -05:00
John Howard bd30d27636 Windows: Remove erroneous comment
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-21 14:25:08 -07:00
Stephen J Day d57ea8da25 Adding Go coding style guidelines
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-07-21 13:47:02 -07:00
Arnaud Porterie c88ce893a5 Merge pull request #14805 from dave-tucker/golint_namesgen
golint: Lint pkg/namesgenerator
2015-07-21 13:45:31 -07:00
Antonio Murdaca 65121e5fce Allow starting a container with an existing hostConfig which contains links
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-21 22:10:00 +02:00
Aaron Lehmann 9e76e184e4 Remove unused types in registry package
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-21 11:53:57 -07:00
Aaron Lehmann 962dc622d9 Remove dead code in registry package
The only uses of RequestAuthorization and its associated functions were
removed in 19515a7ad8 ("Update graph to
use vendored distribution client for the v2 codepath")

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-21 11:45:53 -07:00
Josh Hawn c32dde5baa daemon: container ArchivePath and ExtractToDir
The following methods will deprecate the Copy method and introduce
two new, well-behaved methods for creating a tar archive of a resource
in a container and for extracting a tar archive into a directory in a
container.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 11:20:10 -07:00
Josh Hawn a74799b701 pkg/archive: new utilities for copying resources
Adds TarResource and CopyTo functions to be used for creating
archives for use with the new `docker cp` behavior.

Adds multiple test cases for the CopyFrom and CopyTo
functions in the pkg/archive package.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-21 11:03:25 -07:00
David Calavera 3ee15acaad Merge pull request #14659 from calavera/promote_volumes_experimental_to_master
Promote volume drivers from experimental to master.
2015-07-21 10:39:17 -07:00
Antonio Murdaca d796bb9151 Merge pull request #14815 from LK4D4/remove_tty_terminal
Remove unused TtyTerminal interface
2015-07-21 19:36:43 +02:00
Arnaud Porterie 943bf44686 Merge pull request #13617 from Microsoft/10662-sql
Windows: Statically linkable SQLite3
2015-07-21 10:12:40 -07:00
Alexander Morozov 6ae377ffa0 Remove unused TtyTerminal interface
It was used only by integration tests, which now gone.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-21 09:56:28 -07:00
Alexander Morozov e4f1cf787c Merge pull request #14780 from icecrime/14756_add_golint
Add golint to the development toolbox
2015-07-21 09:50:58 -07:00
John Howard 10bcaca914 Windows: Statically linkable SQLite3
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-21 09:33:46 -07:00
David Calavera c4d45b6a29 Promote volume drivers from experimental to master.
Remove volume stubs and use the experimental path as the only path.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-21 09:32:44 -07:00
Antonio Murdaca 06b922c63f Merge pull request #14801 from HuKeping/golint
golint: use golint to check package util
2015-07-21 18:09:39 +02:00
Hu Keping 17ce34116a golint: use golint to check package util
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-07-22 05:34:13 +08:00
Arnaud Porterie 6cce8d1838 Add golint to the development toolbox
Add golint to the Dockerfile, and a `validate-lint` task to the
Makefile. Currently, the linter will process a harcoded list of packages
that will expand as we fix more warnings. Eventually, the linter should
process all subpackages of the repo (excluding vendored code).

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-21 09:00:36 -07:00
Alexander Morozov 844fc5f77c Fix cgroup parent tests
After merging mounting cgroups in container this tests doing wrong
checks. Cgroup paths could be prepended by other cgroups from host.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-21 08:59:17 -07:00
Brian Goff 6c95040e3b Merge pull request #14765 from runcom/fix-dockerCmd-refactor
Refactor missed dockerCmd changes
2015-07-21 11:53:28 -04:00
Alexander Morozov 380959dd68 Merge pull request #14609 from ewindisch/apparmor-policy
Move AppArmor policy to contrib & deb packaging
2015-07-21 08:48:02 -07:00
Antonio Murdaca 9818d8fa22 Merge pull request #14796 from WeiZhang555/golint-network
golint on daemon/network package
2015-07-21 17:37:40 +02:00
Dave Tucker c5667bc569 golint: Lint pkg/namesgenerator
Also addded a couple more tests

Updates #14756

Signed-off-by: Dave Tucker <dt@docker.com>
2015-07-21 16:33:34 +01:00
Eric Windisch 80d99236c1 Move AppArmor policy to contrib & deb packaging
The automatic installation of AppArmor policies prevents the
management of custom, site-specific apparmor policies for the
default container profile. Furthermore, this change will allow
a future policy for the engine itself to be written without demanding
the engine be able to arbitrarily create and manage AppArmor policies.

- Add deb package suggests for apparmor.
- Ubuntu postinst use aa-status & fix policy path
- Add the policies to the debian packages.
- Add apparmor tests for writing proc files
Additional restrictions against modifying files in proc
are enforced by AppArmor. Ensure that AppArmor is preventing
access to these files, not simply Docker's configuration of proc.
- Remove /proc/k?mem from AA policy
The path to mem and kmem are in /dev, not /proc
and cannot be restricted successfully through AppArmor.
The device cgroup will need to be sufficient here.
- Load contrib/apparmor during integration tests
Note that this is somewhat dirty because we
cannot restore the host to its original configuration.
However, it should be noted that prior to this patch
series, the Docker daemon itself was loading apparmor
policy from within the tests, so this is no dirtier or
uglier than the status-quo.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-21 11:05:53 -04:00
Zhang Wei 7be8336fb5 golint on daemon/network package
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-07-21 22:49:49 +08:00
moxiegirl 1ca737875d Merge pull request #14725 from charleswhchan/issue-14433
Issue #14433
2015-07-21 07:48:54 -07:00
Brian Goff dd7d4d1101 Bump go-md2man to 1.0.3
Fixes an issue with curly braces being escaped when they should not be.
This was particularly an issue in places where `--format '{{ ...  }}'`
is used in the man docs.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-21 10:42:02 -04:00
Arnaud Porterie a7d61882c0 Merge pull request #14778 from thaJeztah/remove-rhel6-rpm-from-generate
Remove reference to CENTOS6 from generate script
2015-07-21 07:27:29 -07:00
Sebastiaan van Stijn 739f7b1da6 Merge pull request #14731 from Evalle/14729-Fix-ubuntu-doc-issue
Fixing ubuntu doc issue
2015-07-21 15:51:11 +02:00
Brian Goff 5a29f0ac88 Merge pull request #14798 from coolljt0725/minor_fix_TestLogsStderrInStdout
Minor fix of TestLogsStderrInStdout
2015-07-21 09:33:34 -04:00
Dan Walsh 96a4469835 If a user hits this error it would be helpful to know tagstore name.
There are several bug reports on this error happening, and error is
not helpful unless you read the code.  Google brings up removing
the repositories.btrfs file.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-21 09:26:27 -04:00
Lei 36cc6a985b Docs: update the devicemapper default basesize from 10G to 100G
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-21 20:46:31 +08:00
Lei 2e7daffd7b Minor fix of TestLogsStderrInStdout
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-21 20:37:14 +08:00
Sebastiaan van Stijn 1e9394103c Merge pull request #14727 from vdemeester/opts-docs-updates
Update documentation according to opts updates (#13694)
2015-07-21 14:19:29 +02:00
Vincent Demeester dc8b765930 Update documentation according to opts updates
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-21 14:08:19 +02:00
Sebastiaan van Stijn 197c9010bc Merge pull request #14766 from runcom/remove-ref-from-libcontainer
Remove reference to docker/libcontainer
2015-07-21 12:49:36 +02:00
Sebastiaan van Stijn f0473eaf01 Merge pull request #14744 from gesellix/add-gradle-docker-remote-api-plugin
Add gradle docker remote api plugin
2015-07-21 08:34:08 +02:00
Harald Albers d5aeb3398b Second level completions for --log-opt
Advanced completion for some log driver options:
gelf-address, syslog-address, syslog-facility.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-21 08:25:14 +02:00
Sven Dowideit 2eda00c861 Merge pull request #14757 from rhatdan/man
Fix man pages
2015-07-21 16:08:02 +10:00
Brian Goff d241d2f36c vendor fsnotify
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-20 22:47:03 -04:00
David Calavera 37209190c7 Docker ps custom formatting.
Docker-DCO-1.1-Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-20 22:46:55 -04:00
Jeff Mickey de0e883331 docker ps: add fields for ordering and column selection
* api/client/ps.go: Refactor CmdPs to use a fields list of
  characters to determine which columns to print on `docker ps`
  invocation.

This adds an ability for the docker command to print the columns of
output in arbitrary order.

Signed-off-by: Jeff Mickey <j@codemac.net>

Docker-DCO-1.1-Signed-off-by: Jeff Mickey <j@codemac.net>
2015-07-20 22:45:21 -04:00
Tibor Vass efd56bbe6f Merge pull request #14779 from duglin/BetterErrMsg14774
Add better output for TestLinksEtcHostsContentMatch to help debug #14774
2015-07-20 20:40:06 -04:00
Doug Davis 4d0990a753 Merge pull request #14762 from LK4D4/lint_reexec
Add docstring to reexec.Command
2015-07-20 20:37:27 -04:00
Antonio Murdaca 4c0fb85729 Merge pull request #14776 from MHBauer/cliconfig-lint
golint fixes for cliconfig
2015-07-21 02:22:09 +02:00
Doug Davis 09a3b57f94 Merge pull request #14775 from runcom/move-nat-tests
move nat tests from container's unit test to nat's ones
2015-07-20 20:06:34 -04:00
Alexander Morozov 9738b9319b Add docstring to reexec.Command
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-20 17:00:18 -07:00
Morgan Bauer dea49b7474 golint for cliconfig
- fully capitalize HTTP in HTTPHeaders
 - comment for CONFIGFILE
 - camelcase and privatize oldConfigfile, defaultIndexserver
 - remove unused var errConfigFileMissing
 - comments for methods and functions throughout
 - external references to renamed variables changed

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
2015-07-20 16:48:58 -07:00
Doug Davis 6751a49d14 Add better output for TestLinksEtcHostsContentMatch to help debug #14774
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-20 16:46:51 -07:00
Sebastiaan van Stijn 18ca5d7c0e Remove reference to CENTOS6 from generate script
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-07-21 01:21:33 +02:00
Antonio Murdaca 37d737fc2c Merge pull request #14691 from Microsoft/10662-start
Windows: hostconfig on start
2015-07-21 00:52:19 +02:00
Antonio Murdaca f2aff58483 move nat tests from container's unit test to nat's ones
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-21 00:29:24 +02:00
Arnaud Porterie cc7fe0d2d9 Merge pull request #14771 from Microsoft/10662-image2image
Fixing Image struct to no longer use Graph.
2015-07-20 15:25:06 -07:00
Sebastiaan van Stijn 8b7923620a Merge pull request #14768 from fredlf/style-guide-edits
Small edits and clean up
2015-07-21 00:23:56 +02:00
John Howard 9001ea26e7 Fixing Image struct to no longer use Graph.
Signed-off-by:  John Howard <jhoward@microsoft.com>
2015-07-20 13:59:53 -07:00
David Calavera bd8386c127 Merge pull request #14764 from sevki/14756-lint
golint fix TLs->TLS in docker/
2015-07-20 13:19:42 -07:00
Harald Albers 38acec94c4 Completion: Add support for '=' in arguments to __docker_pos_first_nonflag
This solves several problems that arise from the special treatment of
"=" in Bash.
The fix was required as some log drivers have options in a key=value
form. It also addresses the --option=value and the negated boolean syntax
(--boolean=false).

Note that this is not a general fix for these problems, it is limited to
the __docker_pos_first_nonflag function.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-20 21:22:56 +02:00
Fred Lifton 6609cfb5e7 Small edits and clean up
Signed-off-by: Fred Lifton <fred.lifton@docker.com>

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2015-07-20 11:59:48 -07:00
Antonio Murdaca bd328da555 Refactor missed dockerCmd changes
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-20 20:55:57 +02:00
Antonio Murdaca 691e3a3e70 Remove reference to docker/libcontainer
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-20 20:30:22 +02:00
Harald Albers faa8b658e7 Driver-specific completions for --log-opt
Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-20 20:24:01 +02:00
Sevki Hasirci ce3156f1eb fix mixed typo TlS -> TLS
Signed-off-by: Sevki Hasirci <s@sevki.org>
2015-07-20 21:14:45 +03:00
Harald Albers e09d0febe6 Add missing log drivers to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-20 20:13:59 +02:00
Sevki Hasirci 16ea3cf3a3 golint fix TLs->TLS in docker/
Signed-off-by: Sevki Hasirci <s@sevki.org>
2015-07-20 20:50:03 +03:00
David Calavera 46cbfcb168 Merge pull request #14746 from jfrazelle/remove-rhel-centos-6-rpm
remove centos/rhel 6 from rpm builder
2015-07-20 10:44:18 -07:00
David Calavera fc2f90fc63 Merge pull request #14741 from HuKeping/ci-refactor
CI: use dockercmd when possible
2015-07-20 09:49:40 -07:00
Hu Keping 27ac154d05 CI: use dockercmd when possible
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-07-21 04:40:15 +08:00
David Calavera ee7af0d2cb Merge pull request #14671 from hqhq/hq_use_dockerCmd
Use dockerCmd when possible
2015-07-20 09:44:42 -07:00
Dan Walsh 732141442a Fix man pages
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-20 11:47:59 -04:00
Tibor Vass 77bbee3d00 Merge pull request #14716 from LK4D4/update_libcontainer
Update libcontainer to v0.0.2
2015-07-20 11:33:19 -04:00
Antonio Murdaca c6a3517246 Merge pull request #14724 from coolljt0725/14603-dockerCmd-integration-cli-3
Refactor: use dockerCmd when possible in integraiton-cli tests
2015-07-20 16:00:38 +02:00
Flavio Castelli f95b3a6b6a ZFS driver: raise better errors during init
The ZFS driver should raise proper errors when the ZFS utility is
missing or when there's no zfs partition active on the system. Raising the
proper errors make possible to silently ignore the ZFS storage
driver when no default storage driver is specified.

Previous to this commit it was no longer possible to start the
docker daemon in that way:

  docker -d --storage-opt dm.loopdatasize=2GB

The above command resulted in an exit error because the ZFS driver
tried to use the storage options.

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
2015-07-20 15:24:48 +02:00
Vincent Bernat 3a1596f0f5 zsh: update zsh completion for docker command
zsh completion is updated with the content of
felixr/docker-zsh-completion.

 - felixr/docker-zsh-completion@a93e1cb7bd Fix completion of repositories with tags
 - felixr/docker-zsh-completion@590ea70596 Respect provided `--host` flag when invoking docker
 - felixr/docker-zsh-completion@6c557babaa Several cosmetic improvements
 - felixr/docker-zsh-completion@5b63cc591a Update completion for `inspect`
 - felixr/docker-zsh-completion@b7d8f2f7cc Order completions alphabetically
 - felixr/docker-zsh-completion@63f6a06224 Factor completion for `build`, `create` and `run`
 - felixr/docker-zsh-completion@ade49ee47f Enforce positional arguments being last
 - felixr/docker-zsh-completion@850b6b6d95 Update completion for build/commit/export/exec/history/import
 - felixr/docker-zsh-completion@01bfd8c075 Remove completion for `insert` and duplicate of `import`
 - felixr/docker-zsh-completion@c64a1d730a Update completion for `stats` to add `--no-stream` flag
 - felixr/docker-zsh-completion@5e81d78b52 Update completion for `log` to add `--since` flag
 - felixr/docker-zsh-completion@b3c146a1a2 Update completion for `run` to add `--group-add` flag
 - felixr/docker-zsh-completion@8d4f196ad8 Don't trigger expensive completion function for flags
 - felixr/docker-zsh-completion@bd5aaa124d Add completion for `--help` everywhere
 - felixr/docker-zsh-completion@3a67a0e8c4 Return appropriate status code on completion
 - felixr/docker-zsh-completion@4dfcb450ea Add Steve as a regular contributor.
 - felixr/docker-zsh-completion@996a1c6def Add completion for top-level flags
 - felixr/docker-zsh-completion@b6df75905f Ensure short/long option are not allowed twice
 - felixr/docker-zsh-completion@75b6a500a0 Complete repositories with tags only on repository match
 - felixr/docker-zsh-completion@5e6292135f Factorize completion of images/repositories/tags
 - felixr/docker-zsh-completion@1c504eb677 Handle repositories with ":"
 - felixr/docker-zsh-completion@0a05bf818b Update completion for `pause' and `unpause'
 - felixr/docker-zsh-completion@b3a63253e2 Containers name can include Swarm host

In summary:

 - Swarm support
 - Handling repositories with ":"
 - Rework how completion of images/repositories/tags work:
    - felixr/docker-zsh-completion@5e6292135f
    - felixr/docker-zsh-completion@75b6a500a0
    - felixr/docker-zsh-completion@a93e1cb7bd

The remaining changes are here to sync changes done in Docker repository
(mostly from PR #14074 and #14555, by @sdurrheimer). With some minor changes:

 - boolean flags don't complete their arguments (true/false)
 - reuse of `--host` argument is done with `$opt_arg` to avoid parsing
   error
 - build/create/run common options are factorized out
 - `--help` flag is handled differently
 - `pause` and `unpause` accepts several containers as far as I know, so
   the change is reverted
 - some more, but difficult to notice (more completion for some flags I think)

Some labels are reverted, mostly because I did the merge by copy/pasting
new options instead of modifying existing options.

This commit is partial. The way the `--help` option is handled triggered
a major change due to the way things are quoted. Those changes were
partially and programmaticaly reverted in this commit only to minimize
the changes to review. The next commit will restore the full changes.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2015-07-20 14:25:48 +02:00
Sebastiaan van Stijn 46d7762f26 Merge pull request #14614 from hqhq/hq_simplify_swappiness
Simplify swappiness check
2015-07-20 13:51:39 +02:00
Qiang Huang 6f8ddec1d0 Simplify swappiness check
As suggested in https://github.com/docker/docker/pull/14004/files#r34022527

The concern there is we can't differentiate whether user explicitly
asked for an invalid value of -1 or he did not specify anything.

I don't think this would be a problem, because:
 - like all other default values like zero, we can't differentiate
   user specify it or not, most of which, zeros are also invalid, so
   default is default, we show these default values in help info,
   so users would know if they set value as default, it'll be like
   they set nothing.
 - we can't do this kind of string check in REST api request, so
   it'll make the behave different from docker command and RESTapi.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-20 16:10:10 +08:00
Qiang Huang 668e2369cc dockerCmd when possible
Addresses: #14603

integration-cli/docker_cli_daemon_experimental_test.go (hqhq)
integration-cli/docker_cli_daemon_test.go (hqhq)
integration-cli/docker_cli_diff_test.go (hqhq)
integration-cli/docker_cli_events_test.go (hqhq)
integration-cli/docker_cli_events_unix_test.go (hqhq)
integration-cli/docker_cli_exec_test.go (hqhq)
integration-cli/docker_cli_exec_unix_test.go (hqhq)
integration-cli/docker_cli_experimental_test.go (hqhq)
integration-cli/docker_cli_export_import_test.go (hqhq)
integration-cli/docker_cli_help_test.go (hqhq)
integration-cli/docker_cli_history_test.go (hqhq)
integration-cli/docker_cli_images_test.go (hqhq)
integration-cli/docker_cli_import_test.go (hqhq)
integration-cli/docker_cli_info_test.go (hqhq)
integration-cli/docker_cli_inspect_test.go (hqhq)
integration-cli/docker_cli_kill_test.go (hqhq)

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-20 14:55:40 +08:00
Lei eef6eda7d2 Recfactor: Use dockerCmd when possible in integration-cli tests
Part of #14603
integration-cli/docker_cli_links_test.go (coolljt0725)
integration-cli/docker_cli_links_unix_test.go (coolljt0725)
integration-cli/docker_cli_logs_test.go (coolljt0725)
integration-cli/docker_cli_nat_test.go (coolljt0725)
integration-cli/docker_cli_network_test.go (coolljt0725)
integration-cli/docker_cli_stats_test.go (coolljt0725)
integration-cli/docker_cli_tag_test.go (coolljt0725)
integration-cli/docker_cli_top_test.go (coolljt0725)
integration-cli/docker_cli_version_test.go (coolljt0725)
integration-cli/docker_cli_wait_test.go (coolljt0725

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-20 14:44:22 +08:00
Sven Dowideit 008d57bf7f Merge pull request #14747 from moxiegirl/update-docs-dockerfile
Updating to use the new base
2015-07-20 12:00:02 +10:00
Ankush Agarwal 9847c0c8b0 Add support for 15.04, add systemd note for 15.04
Fixes #12002

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-19 18:33:55 -07:00
Mary Anthony e0bceb7064 Updating to use the new base
Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-19 15:39:43 -07:00
Jessica Frazelle af5fb9b7d0 remove centos6 from rpm builder
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-19 14:30:48 -07:00
Arnaud Porterie ccc78c9968 Merge pull request #14715 from icecrime/14365_remove_rhel6_from_docs
Update RHEL/Centos/Fedora installation docs
2015-07-19 13:00:50 -07:00
Tobias Gesellchen a51684ff8f add gradle-docker-plugin, update docker-client url
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-07-19 21:28:11 +02:00
Tobias Gesellchen 38e7069668 remove unused row-even and row-odd css classes
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-07-19 21:27:12 +02:00
Charles Chan 08d5424c04 Issue #14433
Try to improve the cache behavior for `ADD` and `COPY` commands.

Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-19 12:19:28 -07:00
moxiegirl 32764fe3b9 Merge pull request #14676 from duglin/Issue14675
Add missing 'Names' field to /containers/json API output
2015-07-19 06:53:25 -07:00
evalle 120c21c97c Fixing ubuntu doc issue
Signed-off-by: evalle <shmarnev@gmail.com>
2015-07-18 18:24:45 +02:00
Sebastiaan van Stijn a89370039a Merge pull request #14667 from charleswhchan/patch-5
Trim excess from image. Based on the context, the email itself is sufficient.
2015-07-18 11:14:28 +02:00
Lei c6cde91b7d Add dockerCmdWithStdoutStderr function
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-18 10:48:28 +08:00
Alexander Morozov a0a0b8499e Merge pull request #14722 from duglin/FixInspectExecIDTest
Move inspect into the loop on InspectExecID test
2015-07-17 18:21:49 -07:00
Doug Davis f06620ece3 Move inspect into the loop on InspectExecID test
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-17 17:30:24 -07:00
David Calavera 7f353a11e4 Merge pull request #13681 from tiborvass/carry-11784
Carry 11784: rmi dangling is unsafe when pulling
2015-07-17 16:17:18 -07:00
Alexander Morozov f0f261a899 Update libcontainer to v0.0.2
This is fix for proper setup of nested containers cgroups.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-17 15:05:17 -07:00
Jessie Frazelle 465192cb28 Merge pull request #14706 from duglin/FixInspectTest
Fix InspectExecID test
2015-07-17 14:37:23 -07:00
Arnaud Porterie 340bd135dd Update RHEL/Centos/Fedora installation docs
Remove mentions of older systems.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-17 14:04:19 -07:00
Sebastiaan van Stijn 415f744d0c Merge pull request #11485 from wlan0/rollover_log
Add rollover log driver, and --log-driver-opts flag
2015-07-17 22:41:26 +02:00
Arnaud Porterie a192105d3b Merge pull request #14413 from vbatts/vbatts-graph-cleanup
graph: comment clarification about shadowed `err`
2015-07-17 13:39:27 -07:00
Doug Davis 12b6083c8f Remove panic in nat package on invalid hostport
Closes #14621

This one grew to be much more than I expected so here's the story... :-)
- when a bad port string (e.g. xxx80) is passed into container.create()
  via the API it wasn't being checked until we tried to start the container.
- While starting the container we trid to parse 'xxx80' in nat.Int()
  and would panic on the strconv.ParseUint().  We should (almost) never panic.
- In trying to remove the panic I decided to make it so that we, instead,
  checked the string during the NewPort() constructor.  This means that
  I had to change all casts from 'string' to 'Port' to use NewPort() instead.
  Which is a good thing anyway, people shouldn't assume they know the
  internal format of types like that, in general.
- This meant I had to go and add error checks on all calls to NewPort().
  To avoid changing the testcases too much I create newPortNoError() **JUST**
  for the testcase uses where we know the port string is ok.
- After all of that I then went back and added a check during container.create()
  to check the port string so we'll report the error as soon as we get the
  data.
- If, somehow, the bad string does get into the metadata we will generate
  an error during container.start() but I can't test for that because
  the container.create() catches it now.  But I did add a testcase for that.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-17 13:02:54 -07:00
Arnaud Porterie 98ed9a55f4 Merge pull request #14693 from LK4D4/update_libcontainer
Update libcontainer
2015-07-17 13:02:04 -07:00
David Calavera 25d9f38852 Merge pull request #13680 from jfrazelle/new-apt-yum-repos
WIP: new apt yum repos for release scripts
2015-07-17 12:29:21 -07:00
Sebastiaan van Stijn a763637eae Merge pull request #13951 from calavera/plugins_path
Separate plugin sockets and specs.
2015-07-17 21:11:31 +02:00
Brian Goff e939a30039 Merge pull request #14709 from rhvgoyal/base-size-100G
devicemapper: Change default basesize to 100G
2015-07-17 12:41:28 -04:00
Brian Goff fb34537a99 Merge pull request #14685 from Microsoft/10662-revendorhcsshim
Windows: Revendor hcsshim@f674a70f1306dbe20b3a516bedd3285d85db60d9
2015-07-17 12:31:58 -04:00
Jessie Frazelle 97be366961 Merge pull request #14708 from icecrime/14445_remove_workflow_from_maintainers
Remove reviewing process from MAINTAINERS
2015-07-17 09:03:53 -07:00
Ma Shimiao 1b67c38f6f fix 8926: rmi dangling is unsafe when pulling
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-17 11:39:57 -04:00
David Calavera ff05f9c285 Merge pull request #14445 from icecrime/reviewing_process_and_labels
Document and adjust reviewing process and labels
2015-07-17 08:25:41 -07:00
David Calavera 7b83b0e15c Merge pull request #14605 from brahmaroutu/gccgo_scheduler
Go Scheduler issue with sync.Mutex
2015-07-17 08:16:32 -07:00
Vivek Goyal 424d5e55a2 devicemapper: Change default basesize to 100G
Current default basesize is 10G. Change it to 100G. Reason being that for
some people 10G is turning out to be too small and we don't have capabilities
to grow it dyamically.

This is just overcommitting and no real space is allocated till container
actually writes data. And this is no different then fs based graphdrivers
where virtual size of a container root is unlimited.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-07-17 11:10:23 -04:00
Brian Goff b900aaac46 Merge pull request #14701 from charleswhchan/patch-6
Add missing space
2015-07-17 10:42:48 -04:00
Vincent Batts a40e337882 graph: clarify the need for named error
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-17 10:01:52 -04:00
Doug Davis c5c98c31a1 Fix InspectExecID test
The check for the end of the loop was off by one which is why we saw
errors on the following inpsect() call instead of a timeout

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-17 06:46:37 -07:00
Charles Chan ceca4109fa Add missing space
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-16 22:49:46 -07:00
Alexander Morozov ac3f7c71b8 Merge pull request #14698 from duglin/AddErr
Add missing 'err' to Fatalf to help debug an issue
2015-07-16 21:42:42 -07:00
Doug Davis 97c5f64001 Add missing 'err' to Fatalf to help debug an issue
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-16 20:27:14 -07:00
root 9ca913d0f1 Go Scheduler issue with sync.Mutex using gccgo
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-17 01:33:58 +00:00
David Calavera 15cb7dfc9e Merge pull request #14578 from mountkin/fix-rmi-image-not-found
don't allow deleting the image of running containers
2015-07-16 18:02:51 -07:00
Alexander Morozov c86189d554 Update libcontainer
Replaced github.com/docker/libcontainer with
github.com/opencontainers/runc/libcontaier.
Also I moved AppArmor profile generation to docker.

Main idea of this update is to fix mounting cgroups inside containers.
After updating docker on CI we can even remove dind.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-16 16:02:26 -07:00
Alexander Morozov 8801906ced Merge pull request #14620 from hqhq/hq_cgroup_ro_optional
Remove cgroup read-only flag when privileged
2015-07-16 16:00:02 -07:00
John Howard 39ad38ccf9 Windows: hostconfig on start
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-16 15:33:13 -07:00
David Calavera 5d3043649a Merge pull request #14690 from LK4D4/update_libnetwork
Update libnetwork
2015-07-16 15:13:24 -07:00
David Calavera 6c0795747b Separate plugin sockets and specs.
Check if there is a plugin socket first under `/run/docker/plugins/NAME.sock`.
If there is no socket for a plugin, check `/etc/docker/plugins/NAME.spec` and
`/usr/lib/docker/plugins/NAME.spec` for spec files.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-16 14:20:07 -07:00
Alexander Morozov b84ceb3d0a Update github.com/docker/libnetwork to 2a5cb84758b5115d99d8f82c84845417c6c345a3
This update includes removal of libcontainer dependency.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-16 13:58:38 -07:00
John Howard a207ce6ae4 Windows: Hook up user supplied MAC
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-16 13:20:14 -07:00
Stephen Day 212525f951 Merge pull request #14664 from calavera/fix_load_tag_with_digest
Check if a tag name to load is a valid digest.
2015-07-16 12:46:05 -07:00
John Howard 83ad0536c1 Windows: Vendor hcsshim@f674a70f1306dbe20b3a516bedd3285d85db60d9
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-07-16 12:07:20 -07:00
David Calavera 5365e6b463 Merge pull request #13375 from tiborvass/distribution-refactor
Vendor distribution client v2
2015-07-16 11:54:08 -07:00
David Calavera 1ec25653d8 Check if a tag name to load is a valid digest.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-16 10:53:56 -07:00
Derek McGowan 19515a7ad8 Update graph to use vendored distribution client for the v2 codepath
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-16 13:13:47 -04:00
Tibor Vass 276c640be4 remove pkg/transport and use the one from distribution
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-16 13:13:46 -04:00
Tibor Vass 745820fec0 Vendor docker distribution registry client and dependencies
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-16 13:13:46 -04:00
Tibor Vass 48a01a317c Merge pull request #14679 from tiborvass/fix-docker-py-search-test
Fix issue where Search API endpoint would panic due to empty AuthConfig
2015-07-16 13:12:31 -04:00
Tibor Vass b32c4cb459 Fix issue where Search API endpoint would panic due to empty AuthConfig
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-16 12:38:44 -04:00
Sebastiaan van Stijn 8c77e39627 Merge pull request #14571 from charleswhchan/patch-2
Documentation: Split apt-get example onto multiple lines
2015-07-16 18:32:56 +02:00
David Calavera ac8299ae15 Merge pull request #14623 from HuKeping/refactor-dockercmd
Refactor : Use dockerCmd in integration-cli tests
2015-07-16 09:24:59 -07:00
Hu Keping 71868228c7 Refactor : Use dockerCmd in integration-cli tests
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-07-17 04:07:12 +08:00
Alexander Morozov 97515a35ca Merge pull request #14604 from Microsoft/10662-addbridge
Windows: Plumb through -b on daemon
2015-07-16 08:44:40 -07:00
Doug Davis 081991c01e Add missing 'Names' field to /containers/json API output
Closes #14675

Wasn't sure how far back I needed to go so I did just a few.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-16 08:23:55 -07:00
James Turnbull b70428c4dd Merge pull request #14670 from chenchun/fix_fluentd_link
Fix fluentd link name
2015-07-16 10:44:54 -04:00
Charles Chan c4d2b34d13 Split apt-get example onto multiple lines. Use extra spaces to align the code block.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-16 06:42:07 -07:00
Robin Schneider 397de38ae6 Updated usage information because of removed short parameters.
Signed-off-by: Robin Schneider <ypid@riseup.net>
2015-07-16 10:44:58 +02:00
Chun Chen ed23ecd305 Fix fluentd link name
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-07-16 14:23:56 +08:00
Shijiang Wei ce6410cd4c don't allow deleting the image of running containers
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-07-16 13:14:48 +08:00
Charles Chan f373bd97c3 Trim excess from image. Based on the context, the email itself is sufficient.
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-15 20:15:57 -07:00
David Calavera cd642973fa Merge pull request #14661 from LK4D4/vet_warns
Fix some formatting calls
2015-07-15 16:41:18 -07:00
David Calavera a81dcaef93 Merge pull request #13993 from Ramzec/index_iteration
graph: use truncindex consistently to iterate graph entries
2015-07-15 16:39:59 -07:00
Jessica Frazelle c850e97c84 Add release-deb & release-rpm scripts.
These will create the apt & yum repos for the deb/rpms generated by build-deb
and build-rpm.

Adds sign-repo script which signs the repo metadata with a gpg key.

Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-15 15:54:00 -07:00
Arnaud Porterie 57c43960f8 Remove reviewing process from MAINTAINERS
The pull request reviewing process and labeling strategy is described as
part of a dedicated file in `project/REVIEWING.md`: remove the existing
description from the `MAINTAINERS` file.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-15 13:56:04 -07:00
Arnaud Porterie 6157937f67 Document reviewing process and labels
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-15 13:14:21 -07:00
Jessica Frazelle 4a5fd6c0f9 add tianon's suites.sh file
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-15 12:48:49 -07:00
Alexander Morozov a5142f6ac3 Fix some formatting calls
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-15 12:25:50 -07:00
David Calavera 46aea60fb0 Merge pull request #14332 from ankushagarwal/failedLogin
Add 500 check for registry api call
2015-07-15 11:19:31 -07:00
Brian Goff e98a881570 Merge pull request #14624 from vdemeester/14603-dockerCmd-integration-cli-1
Integration test refactors to use dockerCmd
2015-07-15 14:03:58 -04:00
Jessie Frazelle 386f11a63d Merge pull request #14555 from sdurrheimer/master
Zsh completion updates and improvements
2015-07-15 10:40:41 -07:00
Jessie Frazelle 308ecafad8 Merge pull request #14655 from duglin/CleanupBuild
Cleanup build tmp dir stuff
2015-07-15 09:42:24 -07:00
Jessie Frazelle e46c7060cc Merge pull request #14643 from dmcgowan/fix-canonical-repo-info
Set canonical name correctly
2015-07-15 09:39:01 -07:00
David Calavera e0728035fe Merge pull request #14636 from calavera/bump_changelog
Bump changelog from 1.7.1
2015-07-15 08:56:03 -07:00
Brian Goff 39e380b97a Merge pull request #14657 from anatolyborodin/typo_fix
Fix a typo: change "such Bash" to "such as Bash" in dockerfile_best-practices.md
2015-07-15 11:29:38 -04:00
Anatoly Borodin 5f9d1bc018 Fix a typo: change "such Bash" to "such as Bash"
Signed-off-by: Anatoly Borodin <anatoly.borodin@gmail.com>
2015-07-15 17:10:22 +02:00
Brian Goff 1df7a2f940 Merge pull request #14644 from charleswhchan/patch-4
Remove duplicated period in link
2015-07-15 10:34:01 -04:00
Doug Davis 13c08b898b Cleanup build tmp dir stuff
If there's an error while unpacking the build context then we weren't erasing
the tmp dir created to persist the context.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-15 06:23:19 -07:00
Sven Dowideit a031b6476c Merge pull request #14574 from SvenDowideit/elastic-ip-webhooks
Trusted build servers moved to AWS and use an elastic IP
2015-07-15 12:20:50 +10:00
Sven Dowideit 174870e64f Trusted build servers moved to AWS and use an elastic IP
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-07-14 19:20:09 -07:00
Sven Dowideit 8e7f2fc2e7 Merge pull request #14584 from Jason-Green-Aver/patch-1
Add missing periods to elements in ROADMAP.md
2015-07-15 12:01:31 +10:00
moxiegirl 35746ef97f Merge pull request #14635 from jfrazelle/update-rpm-url
update urls for rpms
2015-07-14 18:04:17 -07:00
Charles Chan 3a23203255 Remove duplicated period in link
Signed-off-by: Charles Chan <charleswhchan@users.noreply.github.com>
2015-07-14 17:50:19 -07:00
Derek McGowan 7f48cd7dce Set canonical name correctly
Currently canonical name gets set to the local name and displayed in the errors.
Canonical name should be the unique and canonical name for an image.
Use docker.io as the canonical domain for images on the public registry.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-14 17:45:49 -07:00
Jessie Frazelle 8c7cd78650 Merge pull request #14639 from calavera/fix_read_write_check
Fix read-write check for volumes.
2015-07-14 16:36:01 -07:00
Andy Rothfusz 918229cbdf Document that load supports compressed tarballs.
As per
https://github.com/docker/docker/blob/ecdbf868842f702e2b824aa1e11097809d48a659/pkg/archive/archive.go#L96

Signed-off-by: Andy Rothfusz <github@developersupport.net>
2015-07-14 15:51:06 -07:00
David Calavera 82a54001fd Fix read-write check for volumes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-14 15:50:43 -07:00
Stephen Day c7d4a4b2b4 Merge pull request #14521 from mattmoor/authenticated-search
Add the X-Docker-Token header to the /v1/search requests.
2015-07-14 15:43:28 -07:00
Jessica Frazelle 24bb36297c update urls for rpms
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-14 15:26:11 -07:00
David Calavera b49cbe289f Bump version to 1.8.0-dev.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-14 15:24:48 -07:00
David Calavera 2932069dc7 Bump to version 1.7.1
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-14 15:23:55 -07:00
David Calavera ecdbf86884 Merge pull request #13694 from vdemeester/opts-test-coverage
Tests, refactor and coverage on package opts
2015-07-14 15:09:48 -07:00
Jessie Frazelle 4e9280ffdb Merge pull request #14304 from vieux/http_proxy_support
add support for base path in docker cli -H
2015-07-14 13:21:51 -07:00
Vincent Demeester 5c295460da Use dockerCmd when possible (#14603)
- integration-cli/docker_cli_attach_test.go
- integration-cli/docker_cli_attach_unix_test.go
- integration-cli/docker_cli_build_test.go
- integration-cli/docker_cli_build_unix_test.go
- integration-cli/docker_cli_by_digest_test.go
- integration-cli/docker_cli_commit_test.go
- integration-cli/docker_cli_config_test.go
- integration-cli/docker_cli_cp_test.go
- integration-cli/docker_cli_create_test.go
- integration-cli/docker_cli_pause_test.go
- integration-cli/docker_cli_port_test.go
- integration-cli/docker_cli_port_unix_test.go
- integration-cli/docker_cli_proxy_test.go
- integration-cli/docker_cli_ps_test.go
- integration-cli/docker_cli_pull_test.go
- integration-cli/docker_cli_push_test.go

- docker_api_attach_test.go
- docker_api_containers_test.go
- docker_api_events_test.go
- docker_api_exec_resize_test.go
- docker_api_exec_test.go
- docker_api_images_test.go
- docker_api_info_test.go

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-14 21:52:43 +02:00
Phil Estes d2fe5bd12f Merge pull request #14618 from hqhq/hq_add_check_for_swappiness
Add hostConfig check for MemorySwappiness
2015-07-14 15:24:50 -04:00
Brian Goff e5fa2a740d Merge pull request #14629 from LK4D4/pubsub_timer_off
pkg/pubsub: Don't use time.After if there is no timeout
2015-07-14 13:06:57 -04:00
Sebastiaan van Stijn 899f6f2a89 Merge pull request #14252 from sallyom/docs-use-lowercase
Modify man pages for image-naming
2015-07-14 18:34:36 +02:00
Alexander Morozov bc6ad1608c Don't use time.After if there is no timeout
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-14 09:14:51 -07:00
Alexander Morozov 7080f5d1cf Add docstring to pubsub.Publisher
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-14 09:10:14 -07:00
Jessie Frazelle cf09e435c8 Merge pull request #14608 from vincentbernat/fix/zsh-reviewers
zsh: remove Vincent Bernat from reviewers for ZSH completion
2015-07-14 07:08:06 -07:00
James Turnbull aaf1426995 Merge pull request #14494 from HuKeping/update-docs
docs: update docs for API history
2015-07-14 08:16:00 -04:00
Hu Keping 29660f263e docs: update docs for API history
The response of hitory API includes more information now.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-07-14 19:54:24 +08:00
Steve Durrheimer 91a2d9cc7d Several cosmetic improvements in zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-07-14 11:34:33 +02:00
Steve Durrheimer 12f67141f9 Zsh completion update for the following commits:
- Add fluentd logging driver to zsh completion #12876
- Add inspect --type flag to zsh completion #13187
- Respect -H option in zsh completion #13195
- Fix number of argument limit for pause and unpause in zsh completion

Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-07-14 11:32:26 +02:00
Qiang Huang a7f5e1c4c3 Remove cgroup read-only flag when privileged
Fixes: #14543

It needs libcontainer fix from:
https://github.com/opencontainers/runc/pull/91

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-14 15:00:41 +08:00
Vincent Demeester 4290bdefab Add dockerCmdWithError
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-14 08:35:06 +02:00
Sebastiaan van Stijn daffcc044b Merge pull request #14458 from hqhq/hq_fix_docs_create
Docs: fix commandline doc create.md and run.md
2015-07-14 08:10:41 +02:00
Qiang Huang 19c7b65ea6 Add hostConfig check for MemorySwappiness
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-14 13:52:57 +08:00
Brian Goff 154820aca6 Merge pull request #14595 from LK4D4/pubsub_bench
Benchmark and race test for pkg/pubsub
2015-07-13 23:04:44 -04:00
Jason Green 59aa3b27ca Add missing periods to elements in ROADMAP.md
Signed-off-by: Jason Green <Jason.Green@AverInformatics.Com>
2015-07-13 23:01:34 -04:00
Qiang Huang c3b77bbe8b Docs: fix commandline doc create.md and run.md
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-14 09:26:59 +08:00
Vincent Batts 5ca3e7c54c Merge pull request #14021 from rhvgoyal/detect-pool-loopback-devices
devicemapper: Check loop devices of existing pool
2015-07-13 21:15:23 -04:00
Jessie Frazelle 35b0223921 Merge pull request #10717 from mrunalp/feature/group_add
Adds support for specifying additional groups.
2015-07-13 17:08:05 -07:00
Jessie Frazelle e221291a25 Merge pull request #14194 from phemmer/cli-version-format
add --format flag to `docker version`
2015-07-13 17:04:06 -07:00
Patrick Hemmer 41588a5766 add --format flag to docker version
Signed-off-by: Patrick Hemmer <patrick.hemmer@gmail.com>
2015-07-13 19:10:56 -04:00
Alexander Morozov 60b34cb957 Merge pull request #14599 from brahmaroutu/gccgo_timeduration
time duration should be nano seconds, gccgo treats it as zero
2015-07-13 16:44:45 -06:00
moxiegirl 73bd855dcc Merge pull request #14581 from vdemeester/14573-docs-docker-bestpractice-fix
Fixes TOC in dockerfile_best_practices.md
2015-07-13 15:14:56 -07:00
Arnaud Porterie 23d0676c07 Merge pull request #14607 from brahmaroutu/increase_timeout
increase timeout to run tests on slow platforms
2015-07-13 14:56:17 -07:00
Vincent Demeester d03923732f Fixes TOC in dockerfile_best_practices.md
Decided to put the link in a reference word.

Closes #14573

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-13 23:46:04 +02:00
Jessie Frazelle 5e331ad41a Merge pull request #14343 from Pensu/14232-Add-Warning-To-Ubuntu-Script
14232 add warning to ubuntu script
2015-07-13 14:38:58 -07:00
Jessie Frazelle 4185809659 Merge pull request #14518 from Microsoft/10662-infowarnings
Windows: Remove meaningless warnings on docker info
2015-07-13 14:30:57 -07:00
Jessie Frazelle 363cc51e82 Merge pull request #14205 from YanFeng-Adam/patch
update testcase mount/sharedsubtree_linux_test.go
2015-07-13 14:28:30 -07:00
Vincent Bernat 5dbb217bcb zsh: remove Vincent Bernat from reviewers for ZSH completion
Signed-off-by: Vincent Bernat <vincent@bernat.im>
2015-07-13 23:15:16 +02:00
root b98edced9e Increase timeout to run tests on slow platforms
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-13 21:13:17 +00:00
Robin Schneider 3f0fa1f643 Removed short parameters and use Bash features to make code shorter. Thanks to @tianon.
Signed-off-by: Robin Schneider <ypid@riseup.net>
2015-07-13 22:56:15 +02:00
Jessie Frazelle 15f9766691 Merge pull request #14567 from Microsoft/10662-fixbuilder
Windows: Fix builder
2015-07-13 13:50:52 -07:00
Alexander Morozov c2b9fa8c9a Merge pull request #14516 from Microsoft/10662-mergeLXCconf
Windows: Tidy up daemon\utils*.go
2015-07-13 14:47:25 -06:00
Jessie Frazelle 655b1d2367 Merge pull request #14556 from Evalle/14497-fix-install-script
Fix issue with detection logic of Centos in install.sh
2015-07-13 13:47:08 -07:00
Alexander Morozov 1da3843149 Merge pull request #14601 from runcom/cleanup-deleteImages
Cleanup not needed calls to deleteImages
2015-07-13 14:04:20 -06:00
Sally O'Malley 05a86905a2 Modify man pages for image-naming
This PR adds recommendations in man pages to use only [a-z0-9-_.] when
naming and tagging images.  The purpose of this is to add consistency
and to make image naming caps rules seem less arbitrary.

This PR addresses confusion with:
1. BaseImage:Tagged (not allowed)
2. baseimage:Tagged (allowed)
3. baseimage/tagged:V1 (allowed)
4. baseimage/Tagged:V1 (not allowed)

Signed-off-by: Sally O'Malley <somalley@redhat.com>
2015-07-13 15:49:41 -04:00
Doug Davis 9158ddef89 Merge pull request #14596 from Microsoft/quieter-clean-exec-commands
Quieter debug logging for clean exec commands
2015-07-13 15:43:27 -04:00
John Howard e0ec0cc115 Windows: Plumb through -b on daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-13 12:41:48 -07:00
evalle 33039aa129 Fix issue with detection logic of Centos in install.sh
Signed-off-by: evalle <shmarnev@gmail.com>
2015-07-13 20:50:31 +02:00
Mrunal Patel 7fb456589b Fixup rebase.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-07-13 14:50:30 -04:00
Mrunal Patel d77d0268eb Adds documentation for additional groups.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-07-13 14:47:28 -04:00
Mrunal Patel 0b7938e845 Adds test for additional groups.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-07-13 14:47:28 -04:00
Mrunal Patel e0d96fb3ef Adds support for specifying additional groups.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-07-13 14:47:28 -04:00
Antonio Murdaca d3566fa0b1 Cleanup not needed calls to deleteImages
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-13 20:30:53 +02:00
root 6c4e14b3e2 time duration should be nano seconds, gccgo treats it as zero
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-13 18:01:43 +00:00
Sebastiaan van Stijn 4ef67b79bc Merge pull request #14597 from albers/docs-typo-1
Fix typo in documentation
2015-07-13 19:56:54 +02:00
John Howard b271593c34 Quieter debug logging for clean exec commands
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-13 10:36:36 -07:00
Alexander Morozov 0f466c36b9 Merge pull request #14500 from runcom/add-diff-emtpy-arg-test
Add diff command with emtpy string testcase
2015-07-13 11:30:31 -06:00
Harald Albers 41def26c1b Fix typo in documentation
Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-13 19:17:33 +02:00
Jessie Frazelle 0badebe734 Merge pull request #14426 from albers/completion-events
Add some missing events to bash completion
2015-07-13 10:05:36 -07:00
Alexander Morozov b39c330a18 Merge pull request #14587 from rhatdan/man
Man page fixes
2015-07-13 10:59:55 -06:00
Jessie Frazelle a20994fd54 Merge pull request #14508 from jfrazelle/deb-rpm-make
add deb and rpm targets to makefile
2015-07-13 09:48:43 -07:00
Alexander Morozov e13f9edfed Merge pull request #14583 from sagarhani/patch-1
Added entry for Sir M.Visvesvaraya
2015-07-13 10:47:08 -06:00
Arnaud Porterie 7ba54a4628 Merge pull request #14569 from vdemeester/pkg-fileutils-tests
Add missing tests and docs for pkg/fileutils
2015-07-13 09:29:30 -07:00
Alexander Morozov 8aa7ba731a Race test for pkg/pubsub package
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-13 09:05:47 -07:00
Arnaud Porterie 161f5b2790 Merge pull request #14554 from Ajeey/added-notable-indian-scientists
Added notable indian scientists to names-generator.go
2015-07-13 09:05:47 -07:00
Alexander Morozov e5da4d62ef Benchmark for pkg/pubsub package
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-13 09:02:16 -07:00
Arnaud Porterie eb174dbb1e Merge pull request #14553 from WPH95/fix-install
Fix failure on adding source list for ubuntu
2015-07-13 09:00:26 -07:00
Antonio Murdaca 1f963af697 Merge pull request #14586 from Tenk42/14362-Improve-sockRequestRaw-check
Improve sockRequest and sockRequestRaw check
2015-07-13 15:59:39 +02:00
Brian Goff 24c09006c9 Merge pull request #14588 from rhatdan/ro
We now support multiple roModes
2015-07-13 09:53:55 -04:00
paetling ca4ff1ae36 add to docs that ports do not get exposed when using --net
Signed-off-by: paetling <paetling@gmail.com>
2015-07-13 09:46:39 -04:00
Phil Estes 441ae6c943 Merge pull request #14004 from ktraghavendra/13938_container_swappiness
Add the memory swappiness tuning option to docker.
2015-07-13 09:22:08 -04:00
Dan Walsh b28d6eaa94 We now support multiple roModes
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-13 09:19:15 -04:00
Dan Walsh 3eea6f753a Robert P.J. Day found this problems in man pages
Example in docker search has an extranious -t
docker rmi has a typo

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-13 08:59:03 -04:00
Quentin Tayssier fa6925aa9b Improve sockRequest and sockRequestRaw check
Signed-off-by: Quentin Tayssier <qtayssier@gmail.com>
2015-07-13 21:49:08 +09:00
Sagar Hani 45dbdabdc7 Added entry for Sir M.Visvesvaraya
Signed-off-by: Sagar Hani <sagarhani33@gmail.com>
2015-07-13 17:20:45 +05:30
Rohit Kadam d51ae591e0 Update docker_remote_api_v1.17.md
HostConfig had misplaced comma(,) for Devices and SecurityOpt keys. Corrected comma position.

Signed-off-by: rohitkadam19 <rohit.d.kadam@gmail.com>
2015-07-13 15:51:27 +05:30
Qiang Huang 7e0dfbf4cd Set default MemorySwap on Docker side
As discussed in docker/libcontainer#616,
we should move this behavior to Docker side.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-13 15:17:43 +08:00
Arnaud Porterie b0da494aa3 Merge pull request #14559 from Microsoft/10662-todo1
Windows: Move daemon check back centrally
2015-07-12 21:22:43 -07:00
Jessie Frazelle b58565e9d6 Merge pull request #14568 from runcom/test-vet-fixes
Add minor vet fixes
2015-07-12 14:00:44 -07:00
Vincent Demeester 09adf87f23 Add missing tests and docs for pkg/fileutils
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-12 22:43:42 +02:00
Antonio Murdaca 26ce3f4c90 Add minor vet fixes
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-12 19:16:38 +02:00
John Howard 2ceb114607 Windows: Fix builder
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-12 09:06:18 -07:00
Vincent Demeester dfc6c04fa3 Add test coverage to opts and refactor
- Refactor opts.ValidatePath and add an opts.ValidateDevice
  ValidePath will now accept : containerPath:mode, hostPath:containerPath:mode
  and hostPath:containerPath.
  ValidateDevice will have the same behavior as current.

- Refactor opts.ValidateEnv, opts.ParseEnvFile
  Environment variables will now be validated with the following
  definition :
  > Environment variables set by the user must have a name consisting
  > solely of alphabetics, numerics, and underscores - the first of
  > which must not be numeric.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-12 10:33:30 +02:00
Raghavendra K T 921da495d2 Add the memory swappiness tuning option to docker.
Memory swappiness option takes 0-100, and helps to tune swappiness
behavior per container.
For example, When a lower value of swappiness is chosen
the container will see minimum major faults. When no value is
specified for memory-swappiness in docker UI, it is inherited from
parent cgroup. (generally 60 unless it is changed).

Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
2015-07-12 13:16:33 +05:30
John Howard 62a75fca68 Windows: Move daemon check back centrally
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-11 12:42:46 -07:00
Mohammed Aaqib Ansari ee685dca0d Fixing dangling link in docs/reference/commandline/run.md
Signed-off-by: Mohammed Aaqib Ansari <maaquib@gmail.com>
2015-07-11 14:10:54 -04:00
Ajey Charantimath c27b93ea26 Added notable indian scientists to names-generator.go
Signed-off-by: Ajey Charantimath <ajey.charantimath@gmail.com>
2015-07-11 20:11:22 +05:30
Penghan Wang 80e90499aa Fix failure on adding source list for ubuntu
For hybrid cloud, some ubuntu vm images doesn't have the directory
`/etc/apt/sources.list.d` which cause failure on creating
`/etc/apt/sources.list.d/docker.list`.

To fix this issue, create this directory first (if it doesn't exist).

Signed-off-by: Penghan Wang <ph.wang@daocloud.io>
2015-07-11 22:37:02 +08:00
Doug Davis d841b779fd Return 404 on exec-inspect when container is dead but exec is still around
When a container is removed but it had an exec, that still hasn't been
GC'd per PR #14476, and someone tries to inspect the exec we should
return a 404, not a 500+container not running.  Returning "..not running" is
not only misleading because it could lead people to think the container is
actually still around, but after 5 minutes the error will change to a 404
after the GC. This means that we're externalizing our internall soft-deletion/GC
logic which shouldn't be any of the end user's concern. They should get the
same results immediate or after 5 minutes.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-10 20:19:42 -07:00
Avi Miller 865d3a1488 Updated docker-engine.spec to build on Oracle Linux 6.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-11 09:53:00 +10:00
Jessie Frazelle 9264d38424 Merge pull request #14537 from stevvooe/allow-one-character-repository-names
Allow one character repository names
2015-07-10 15:41:53 -07:00
Jessie Frazelle 4aeb84612f Merge pull request #14371 from Microsoft/10662-graphdriver
Windows: Graph driver implementation
2015-07-10 15:35:00 -07:00
Jessie Frazelle ff8cef3326 Merge pull request #13986 from tg123/master
prompt a cli login if receive 401 from registry v2 auth server
2015-07-10 15:33:42 -07:00
Jessie Frazelle 703248da20 Merge pull request #13669 from ewindisch/readonly-proc
Make /proc, /sys, & /dev readonly for readonly containers
2015-07-10 15:32:13 -07:00
Jessie Frazelle 892ac93ec9 Merge pull request #14501 from duglin/FixCommitDocs
Align 'docker commit' docs with the code
2015-07-10 15:21:29 -07:00
Jessie Frazelle a828415286 Merge pull request #14533 from natebrennand/update-docker-config-docs
update reference to config file
2015-07-10 15:20:52 -07:00
John Howard 52f4d09ffb Windows: Graph driver implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-10 14:33:11 -07:00
Phil Estes b7e8169274 Merge pull request #13554 from Microsoft/10662-winexec
Windows: The real Windows exec driver is here.
2015-07-10 17:13:10 -04:00
Sebastiaan van Stijn 5bf98dd997 Merge pull request #12856 from duglin/ConfigLocation
Add support for DOCKER_CONFIG/--config to specify config file dir
2015-07-10 23:05:49 +02:00
John Howard 9ae9d4c87a Windows: Exec driver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-10 13:36:56 -07:00
Stephen J Day 451789cf88 Allow one character repository name components
The docker/distribution dependency was updated in the previous commit to allow
repository name components to only consist of a single letter. The unit tests
have been updated to cement this change.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-07-10 14:06:15 -06:00
Stephen J Day bfd5202c17 Update docker/distribution dependency
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-07-10 14:05:38 -06:00
Doug Davis daced1d303 Add support for DOCKER_CONFIG/--config to specific config file dir
Carry #11675

Aside from what #11675 says, to me a key usecase for this is to support
more than one Docker cli running at the same time but each may have its
own set of config files.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-10 12:51:34 -07:00
Brian Goff 20ac0e6164 Merge pull request #14306 from Microsoft/validatepsfilter
Validate status= filter to docker ps
2015-07-10 15:43:01 -04:00
Nate Brennand 6827782bef update reference to config file
`docker login` in 1.7 produces a config file in `~/docker/config.json`
instead of a `~/.dockercfg`.

Signed-off-by: Nate Brennand <nate.brennand@clever.com>
2015-07-10 18:55:47 +00:00
moxiegirl 5bf335d0a2 Merge pull request #14450 from hqhq/hq_fix_oom_kill_disable_doc
Fix docs for oom-kill-disable
2015-07-10 11:15:02 -07:00
moxiegirl 471fbc9b99 Merge pull request #14478 from atilacamurca/patch-1
Update run.md
2015-07-10 11:13:51 -07:00
Michael Crosby 1dd2fda394 Merge pull request #13312 from hqhq/hq_enable_cgroupfs
Add cgroup bind mount by default
2015-07-10 10:45:05 -07:00
Michael Crosby c4b85baf3d Merge pull request #14527 from duglin/MoreExecTests
More extensive testing of new GC of execs
2015-07-10 10:42:28 -07:00
John Howard 615681f517 Windows: Remove meaningless warnings on docker info
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-10 10:06:20 -07:00
Doug Davis 72b75cd4e7 More extensive testing of new GC of execs
This is a follow-on to PR #14520.

PR #14520 is the quick fix to get the testing working again.

This PR makes sure that the list of execs associated with  a container goes
from zero to one (as a new exec is run), then back to zero when the exec is
finished.  However, we should be able to query the exec while the container
is still around, and even though the exec isn't listed in the container's
inspect data.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-10 07:27:11 -07:00
Brian Goff 469e234ded Merge pull request #14520 from duglin/FixExecTest
Minor fix to the exec inspect test
2015-07-10 09:57:43 -04:00
Doug Davis 899c85b405 Minor fix to the exec inspect test
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-10 06:19:03 -07:00
Qiang Huang f18fb5b3ef Add cgroup bind mount by default
Libcontainer already supported mount container's own cgroup into
container, with this patch, we can see container's own cgroup info
in container.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-10 13:12:09 +08:00
Matt Moore 5a170484d1 Add the X-Docker-Token header to the /v1/search requests.
By adding this header AuthTransport will add Basic authentication to the request and allow 'docker search' results to include private images.

Signed-off-by: Matt Moore <mattmoor@google.com>
2015-07-09 20:56:23 -07:00
Brian Goff 6e64e0548f Merge pull request #14514 from hqhq/hq_fix_file_leak
Fix file leak in integration-cli
2015-07-09 21:52:59 -04:00
John Howard 3875be9830 Windows: Tidy up daemon\utils*.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-09 18:47:32 -07:00
Jessie Frazelle 4893ecc112 Merge pull request #14512 from Microsoft/10662-fixdockerinfo
Windows: Fix docker info not to SIGSEGV
2015-07-09 17:16:49 -07:00
John Howard 4348ad68f8 Windows: Fix docker info not to SIGSEGV
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-09 16:37:54 -07:00
Jessie Frazelle 56e8a99b61 Merge pull request #14480 from Microsoft/fix-windows-ci
Fix Windows CI fail due to GH13866
2015-07-09 16:37:41 -07:00
Michael Crosby e64af7a70e Merge pull request #14505 from kostickm/12905-port-container-attach-tests
Port POST container attach tests
2015-07-09 16:27:03 -07:00
Arnaud Porterie 7df186dac7 Merge pull request #14509 from Microsoft/10662-remove-linux
Windows: Remove linux
2015-07-09 15:42:53 -07:00
Jessie Frazelle 382799a642 Merge pull request #14476 from crosbymichael/execid-growth-fix
Prevent uncontrolled exec config growth
2015-07-09 15:36:11 -07:00
John Howard 7d3bbe9d34 Windows: Remove linux
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-09 15:15:25 -07:00
Jessie Frazelle a29af0cc42 Merge pull request #14507 from estesp/remove-old-roadmap
No need for the old project/ROADMAP.md
2015-07-09 15:11:26 -07:00
Phil Estes 548caddaf6 No need for the old project/ROADMAP.md
Now that we have ROADMAP.md in the root of the project, the outdated and
non-specific ROADMAP.md in project/ can be removed.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-07-09 18:05:09 -04:00
Michael Crosby 34ab8c4326 Use mark and sweep for exec command removal
This takes the final removal for exec commands in two steps.  The first
GC tick will mark the exec commands for removal and then the second tick
will remove the config from the daemon.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-09 14:51:10 -07:00
Jessica Frazelle 21a07a63c9 add deb and rpm targets to dockerfile
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-09 14:51:02 -07:00
Jessie Frazelle c9e2a71509 Merge pull request #14484 from LK4D4/check_dockerinit_lxc
Check dockerinit only if lxc driver is used
2015-07-09 14:47:03 -07:00
Jessie Frazelle 0f9c458730 Merge pull request #14457 from Djelibeybi/oraclelinux-rpms
Add support for building docker-engine RPM on Oracle Linux 7.
2015-07-09 14:44:42 -07:00
Avi Miller f18c4f23cc Change generate.sh so that the yum command for packages remains generic across distros.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-10 07:34:47 +10:00
Jessie Frazelle dce90c0bdd Merge pull request #14502 from calavera/help_release_announce_text
Help the release captain to announce the released packages.
2015-07-09 14:27:24 -07:00
David Calavera eae99e9da7 Help the release captain to announce the released packages.
Add a few links to the release output that the release captain can use to announce the release.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-09 14:19:05 -06:00
Doug Davis 0bf0e5a6ef Align 'docker commit' docs with the code
It was missing some variants and 'maintainer' isn't actually supported.
Also sorted the list of allowed cmds in the code just to make it easier
to diff with the docs.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-09 13:17:47 -07:00
Megan Kostick a8715ea220 Port POST container attach tests
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-07-09 12:52:45 -07:00
John Howard c1b524486c Fix Windows CI fail due to GH13866 and patch up tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-09 10:09:45 -07:00
Antonio Murdaca 9d84d4c2cc Add diff command with emtpy string testcase
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-09 18:46:38 +02:00
Phil Estes 37771c122b Merge pull request #14498 from calavera/fix_volume_from_references
Fix volumes-from mount references.
2015-07-09 12:34:27 -04:00
Alexander Morozov 5369b6cf29 Merge pull request #14348 from sunyuan3/TestPullImageWithAllTagFromCentralRegistry
Add TestPullImageWithAllTagFromCentralRegistry test case.
2015-07-09 09:56:53 -06:00
David Calavera 3d029c3bf3 Fix volumes-from mount references.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-09 09:01:57 -06:00
Qiang Huang d28b0ba115 Fix file leak in integration-cli
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-09 18:52:18 +08:00
Doug Davis 0afd7bde02 Merge pull request #14381 from Mashimiao/cleanup-client-unused-code
api/client: unify format of args check
2015-07-09 06:42:57 -04:00
Sebastiaan van Stijn f0e90606cd Merge pull request #13989 from squaremo/netplugin_docs
Mention network driver plugins and point to protocol docs
2015-07-09 09:27:05 +02:00
Sebastiaan van Stijn ca3e4ccb80 Merge pull request #14241 from ZJU-SEL/fix-ulimit-usage
Fix ulimit usage of nproc
2015-07-09 08:23:26 +02:00
Harry Zhang 54ac3ad736 Clarify that nproc is not for per container
Fix ulimit nproc spec in daemon

Signed-off-by: Harry Zhang <harryzhang@zju.edu.cn>
2015-07-09 02:40:47 +00:00
Jessie Frazelle cab02a5bbc Merge pull request #14456 from Djelibeybi/issue14042
Remove RPM specific dependencies
2015-07-08 17:17:55 -07:00
Victor Vieux d2cde4fa66 update doc
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-07-08 15:42:41 -07:00
Victor Vieux 47a7f770f4 add support for base path in docker cli -H
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-07-08 15:42:40 -07:00
Jessie Frazelle 885e7f2a1e Merge pull request #14479 from LK4D4/fix_test_inspect
Remove prefix dots from inspects in tests
2015-07-08 15:10:51 -07:00
Phil Estes 2df65c32d7 Merge pull request #14402 from mrjana/mh
Vendoring libnetwork
2015-07-08 17:15:13 -04:00
Alexander Morozov 96bc377a8d Check dockerinit only if lxc driver is used
This allow you to run dynamically linked docker without compiling
dockerinit.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-08 14:12:51 -07:00
Michael Crosby 5f017bba48 Add GC loop to clean exec command refs on daemon
This adds an event loop for running a GC cleanup for exec command
references that are on the daemon.  These cannot be cleaned up
immediately because processes may need to get the exit status of the
exec command but it should not grow out of bounds.  The loop is set to a
default 5 minute interval to perform cleanup.

It should be safe to perform this cleanup because unless the clients are
remembering the exec id of the process they launched they can query for
the status and see that it has exited.  If they don't save the exec id
they will have to do an inspect on the container for all exec instances
and anything that is not live inside that container will not be returned
in the container inspect.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-08 13:47:59 -07:00
Alexander Morozov 67058e388b Remove prefix dots from inspects in tests
Dots prepended to key in inspectField function

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-08 12:41:05 -07:00
Brian Goff 42eb82ae92 Merge pull request #14477 from Microsoft/10662-runconfig-oopsie
Windows: Wrong build tag in runconfig
2015-07-08 15:34:05 -04:00
Átila Camurça Alves 7121a2ae46 Update run.md
Put a space after the `###` in the Example section. On the github parser the result file looks ok, but in the docker page (<https://docs.docker.com/reference/run/>) looks ugly.

Signed-off-by: Átila Camurça <camurca.home@gmail.com>
2015-07-08 16:09:40 -03:00
Sebastiaan van Stijn 2f566f747b Merge pull request #14459 from lexandro/add-dockery-to-client-libs
Adding dockery as client lib to the docs
2015-07-08 20:52:24 +02:00
John Howard 4cd9301692 Windows: Wrong build tag in runconfig
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-08 11:38:28 -07:00
Michael Crosby 04c9f86bdc Remove exec config from container after exit
This removes the exec config from the container after the command exits
so that dead exec commands are not displayed in the container inspect.
The commands are still kept on the daemon so that when you inspect the
exec command, not the container, you are still able to get it's exit
status.

This also changes the ProcessConfig to a pointer.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-08 10:55:42 -07:00
David Calavera 3833c990e7 Merge pull request #14471 from icecrime/14451_devmapper_startup_panic
Fix panic on devicemapper initialization
2015-07-08 11:18:00 -06:00
Arnaud Porterie f089899023 Fix panic on devicemapper initialization
The ability to save and verify base device UUID (#13896) introduced a
situation where the initialization would panic when removing the device
returns EBUSY.

Functions `verifyBaseDeviceUUID` and `saveBaseDeviceUUID` now take the
lock on the `DeviceSet`, which solves the problem as `removeDevice`
assumes it owns the lock.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-07-08 09:10:20 -07:00
Yuan Sun c9a4c1401f Add TestPullImageWithAllTagFromCentralRegistry test case.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-08 19:47:33 +08:00
Robert Stern cd454fef5a Adding dockery as client lib to the docs
Signed-off-by: Robert Stern <lexandro2000@gmail.com>
2015-07-08 12:09:34 +02:00
Ma Shimiao 9a4cbb358d api/client: unify format of args check
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-07-08 17:29:47 +08:00
Peeyush Gupta 7e4725cb66 Adding a warning to Ubuntu script
Signed-off-by: Peeyush Gupta <gpeeyush@linux.vnet.ibm.com>
2015-07-08 12:28:30 +05:30
Avi Miller 0117330ae7 Add support for building docker-engine RPM on Oracle Linux 7.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-08 16:12:19 +10:00
Avi Miller e3b5889783 Remove specific dependencies and let RPM auto-generate the dependencies on libraries during build.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
2015-07-08 15:30:42 +10:00
Alexander Morozov f5ebcfe1dc Merge pull request #14429 from coolljt0725/fix_cp_created_container
Fix copy from a "created" container. Fixes #14420
2015-07-07 22:27:01 -06:00
David Calavera 159e830068 Merge pull request #14379 from Mashimiao/add-missing-stream-close
api/client: close the returned io.ReadCloser
2015-07-07 21:15:45 -06:00
Lei Jitang 289ee90b04 Fix copy from a "created" container. Fixes #14420
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-08 11:15:09 +08:00
Ma Shimiao 91a496055c api/client: close the returned io.ReadCloser
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-07-08 10:06:25 +08:00
Qiang Huang c92fb4d517 Fix docs for oom-kill-disable
Addresses: #14440

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-08 09:51:10 +08:00
Jessie Frazelle 2fe51ecee7 Merge pull request #14100 from rhvgoyal/overlay-docker-inspect
overlay: Export metadata for container and image in docker-inspect
2015-07-07 18:11:27 -07:00
Jessie Frazelle 9c96304a86 Merge pull request #14315 from Pensu/14176-fix-run-table-rendering
Fixing the table rendering in reference/run.md
2015-07-07 18:09:53 -07:00
Jessie Frazelle 2cd417df73 Merge pull request #14388 from runcom/14316-fix-events-filters
Fix combined image events filters
2015-07-07 18:08:56 -07:00
Jessie Frazelle 25151eb24e Merge pull request #14417 from crosbymichael/attach-stdin
Always attach STDIN if -i,--interactive is specified
2015-07-07 18:07:46 -07:00
Brian Goff 045ccc4326 Merge pull request #14432 from coolljt0725/umount_rootf_on_cp_fail
Always umount container rootfs and volumes on docker cp failed
2015-07-07 21:04:16 -04:00
Jessie Frazelle 81c30c3303 Merge pull request #14430 from zmarouf/master
fix(docs): Small typoes in the Supported installation page
2015-07-07 18:00:19 -07:00
Jessie Frazelle 16f8afb451 Merge pull request #14369 from maximkulkin/14123-dockerize-disk-with-non-en-locale
Fix dockerize-disk.sh working in non-en locale
2015-07-07 17:51:29 -07:00
Jessie Frazelle e13b7862ab Merge pull request #14335 from konstruktoid/issue_14263
Mention experimental build
2015-07-07 17:49:37 -07:00
Michael Crosby 806b3fa145 Merge pull request #13835 from cpuguy83/gen-prc
generate plugin clients via template
2015-07-07 17:17:39 -07:00
Michael Crosby a5283d2ff3 Merge pull request #13866 from brahmaroutu/runOOM_13766
RunOOM test should check to see if Oom Control is enabled
2015-07-07 16:21:46 -07:00
David Calavera b2b367a6ad Merge pull request #14427 from Evalle/14404-add-Metatag
Adding Group Metatag
2015-07-07 16:43:20 -06:00
Arnaud Porterie f7ea9114d6 Merge pull request #14415 from calavera/warning_on_no_dev_sync
Put dm.override_udev_sync_check back.
2015-07-07 14:35:49 -07:00
David Calavera e27131519f Warn when udev_sync is not supported.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-07 15:10:24 -06:00
Arnaud Porterie e3966c1031 Merge pull request #14380 from sunyuan3/TestRunCapAddCHOWN
add TestRunCapAddCHOWN test case
2015-07-07 12:36:14 -07:00
David Calavera 9af7afb9eb Revert "Fix implicit DeviceMapper selection"
This reverts commit 0a376291b2.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-07 12:27:19 -07:00
James Turnbull a14b1f1e9d Merge pull request #14441 from embray/patch-1
Update windows.md
2015-07-07 15:14:37 -04:00
Roman Strashkin cc955ae73c added ability to iterate over all indexes and use index.Iterate() instead of ReadDir() to walk over the graph
Signed-off-by: Roman Strashkin <roman.strashkin@gmail.com>
2015-07-07 22:13:28 +03:00
Michael Crosby a8f8748f7a Merge pull request #14398 from ankushagarwal/gitignore-iml
Removing .idea from .gitignore
2015-07-07 12:10:54 -07:00
Michael Crosby bfc5966d0b Merge pull request #14094 from rghv/master
Added entries of a few ancient Indian mathematicians who did cool things centuries ago.
2015-07-07 12:03:28 -07:00
Vivek Goyal bebf534439 devicemapper: Check loop devices of existing pool
Often it happens that docker is not able to shutdown/remove the thin
pool it created because some device has leaked into some mount name
space. That means device is in use and that means pool can't be removed.

Docker will leave pool as it is and exit. Later when user starts the
docker, it finds pool is already there and docker uses it. But docker
does not know it is same pool which is using the loop devices. Now
docker thinks loop devices are not being used. That means it does not
display the data correctly in "docker info", giving user wrong information.

This patch tries to detect if loop devices as created by docker are
being used for pool and fills in the right details in "docker info".

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-07-07 14:13:29 -04:00
Arnaud Porterie 2ea4d90da4 Merge pull request #14422 from Microsoft/10662-dumpstacks
Windows: Win32 event for sigusr1 linux equivalence
2015-07-07 10:54:00 -07:00
Erik Bray 12c85f3671 Update windows.md
With apologies (it wasn't clear from the contributing guidelines how this project feels about PRs for one or two word doc fixes).

Signed-off-by: Erik M. Bray <erik.m.bray@gmail.com>
2015-07-07 13:51:17 -04:00
Michael Crosby cd72c7f3bb Merge pull request #14421 from dmcgowan/fix-duplicate-layers
Fix duplicate layers in manifest
2015-07-07 10:50:45 -07:00
Brian Goff 10bbf62081 Merge pull request #14375 from coolljt0725/fix_test_events_default_empty
Fix test TestEventsDefaultEmpty. Fixes #14360
2015-07-07 10:37:40 -04:00
moxiegirl 833cdd28ed Merge pull request #14307 from kolyshkin/readme-fixes
README.md: fix cgroups/namespaces name and link
2015-07-07 06:09:20 -07:00
Antonio Murdaca 61418e39d5 Merge pull request #14428 from sunyuan3/TestPushBusyboxImage
Correct wrong comment of TestPushBusyboxImage.
2015-07-07 14:44:08 +02:00
Lei Jitang 13c36ce65e Always umount container rootfs and volumes on docker cp failed
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-07 20:27:45 +08:00
zmarouf 3bee3a2927 fix(docs): Small typoes in the Supported installation page
-> https://docs.docker.com/installation/

Signed-off-by: Zeid Marouf <zeid.marouf@gmail.com>
2015-07-07 11:09:12 +02:00
Yuan Sun f244ed2531 Correct wrong comment of TestPushBusyboxImage.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-07 16:10:37 +08:00
Sebastiaan van Stijn 270d7e1af8 Merge pull request #14406 from duglin/tweakCmdlineHelp
Fix example in cmdline help text to have correct output
2015-07-07 09:26:13 +02:00
Sebastiaan van Stijn 244141a8aa Merge pull request #13987 from larsks/bug/7583
Update docker commit man page re: volumes
2015-07-07 09:16:54 +02:00
evalle 0db7c2a9a6 Adding Group Metatag
Signed-off-by: evalle <shmarnev@gmail.com>
2015-07-07 09:08:55 +02:00
Harald Albers ea26b38784 Add some missing events to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-07-07 09:04:15 +02:00
Sebastiaan van Stijn 81964ca555 Merge pull request #14275 from ankushagarwal/runtime-metrics-docs-stats
Add Docker stats to runtime metrics article
2015-07-07 08:21:31 +02:00
Sebastiaan van Stijn a25ee91f1c Merge pull request #14095 from timwraight/master
Clarify .dockerignore example for Markdown files
2015-07-07 07:59:39 +02:00
Kir Kolyshkin 68efb27e99 daemon.md: fix placement of exec driver heading
Options for zfs storage driver were incorrectly placed
under 'exec driver options' header. Move the header to
the correct place.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-07-06 22:51:31 -07:00
Kir Kolyshkin 7e309aed4e README.md: fix cgroups/namespaces name and link
The features Docker relies on are called "cgroups" and "namespaces",
so fix the language accordingly.

Also for cgroups, provide a link to Linux kernel documentation that
is more relevant (and deep) than the Wikipedia article.

Cc: Ankush Agarwal <ankushagarwal11@gmail.com>
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-07-06 22:45:56 -07:00
Jana Radhakrishnan c6dc6bcbb8 Vendoring libnetwork
Vendoring libnetwork commit: 8fb0a8bc9e3166216ca3da2d0bb15332f6685745
    - Fixes breakage in k/v store handling logic in experimental
    - Adds back all the fixes that went in 1.7.1 to master
    - Change VXLAN port in overlay driver to IANA assigned port

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-07-06 20:53:03 -07:00
Lei Jitang 2802831218 Fix test TestEventsDefaultEmpty. Fixes #14360
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-07 11:27:00 +08:00
Doug Davis 58edd21c05 Merge pull request #14409 from vdemeester/fix-testRequires-network
Fix integration tests with testRequires(c, Network)
2015-07-06 23:08:34 -04:00
John Howard f4b08c7f5e Windows: Win32 event for sigusr1 linux equivalence
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-06 18:58:53 -07:00
Doug Davis aea0fd0115 Fix example in cmdline help text to have correct output
Showing "$$ exit 13" caught my eye and wasn't correct.
While in there I also made it so the following paragraph didn't go past 80 chars

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-06 17:51:09 -07:00
Derek McGowan 35081ea4b6 Fix duplicate layers in manifest
Currently the layer array is initialized with the first layer then the first layer is appened to the layer list. Adding the first layer twice causes the layer to appear twice in the manifest, making a duplicate push and pull attempt occur.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-06 17:31:06 -07:00
David Calavera 2905fe4806 Merge pull request #14414 from jfrazelle/fix-rpms
fix rpms
2015-07-06 17:12:38 -07:00
moxiegirl 6ffce0131c Merge pull request #14154 from chrismckinnel/master
Fix a broken link to .dockerignore
2015-07-06 15:48:25 -07:00
Ankush Agarwal 274c838ced Add Docker stats to runtime metrics article
Fixes #13170

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-06 15:40:26 -07:00
Michael Crosby 691b2851f7 Always attach STDIN if -i,--interactive is specified
There is no reason to error out or not do what the user expects when -i
is specified on the cli.  We should always attach to the stdin of the
container in this situation.

Closes #14390

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-06 15:24:23 -07:00
Sebastiaan van Stijn 4f69609ac2 Merge pull request #14411 from duglin/Issue14407
Add some missing events to the API docs
2015-07-06 23:29:56 +02:00
root e7fb38410d RunOOM test should check to see if Oom Control is enabled
closes #13766
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-06 21:15:55 +00:00
Jessica Frazelle 76a853de6e fix rpms
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-06 14:14:26 -07:00
Vincent Demeester 6e4c6da819 Fix integration tests with testRequires(c, Network)
It seems http://hub.docker.com is not accessible anymore, so switching
to https://hub.docker.com for testRequires(c, Network).

Adds a Timeout check on the TestRequirement to *panic* if there is a
timeout (fail fast).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-06 22:08:35 +02:00
Doug Davis 4bb3c253e8 Add some missing events to the API docs
Closes #14407

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-06 11:39:37 -07:00
Vincent Batts c7492126ef Merge pull request #14127 from vbatts/vbatts-dm-active-external
pkg/devicemapper: external device activation
2015-07-06 14:07:33 -04:00
Ankush Agarwal b0f7a1c62c Removing .idea from .gitignore
The project cannot include every editor's
ignore files. Contributers can use a local
global gitignore : https://help.github.com/articles/ignoring-files

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-06 10:41:38 -07:00
Lars Kellogg-Stedman a974789537 Update docker commit man page re: volumes
Update the man page for 'docker commit' to make explicit the fact that
'commit' does not save data in volumes.

Addresses comments in #7583

Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2015-07-06 10:16:21 -04:00
Doug Davis 26a35dd09b Merge pull request #14344 from Mashimiao/add-json-check-for-execcreate
api/server: Add missing json check
2015-07-05 19:04:12 -04:00
Sebastiaan van Stijn 7fde07ea16 Merge pull request #14394 from moxiegirl/carry-pr-13361
Carries and closes 13361
2015-07-05 11:30:17 +02:00
Mary Anthony 2c5e044b59 Carries and closes 13361
Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-04 18:12:52 -07:00
moxiegirl 7aa554c444 Merge pull request #14392 from moxiegirl/fix-fedora-table
Table formatting was broken
2015-07-04 16:30:17 -07:00
Sebastiaan van Stijn 57286aad25 Merge pull request #14235 from mlarcher/mlarcher-patch-2
Add workaround in docs for git bash usage issue
2015-07-04 21:00:53 +02:00
James Turnbull f240bb5e94 Merge pull request #14309 from Tenk42/14287-wheezy-link-broken-on-debian-page
Fixing Wheezy link on debian installation page
2015-07-04 14:57:00 -04:00
Mary Anthony 762214ccc8 Table formatting was broken
Signed-off-by: Mary Anthony <mary@docker.com>
2015-07-04 07:32:58 -07:00
Antonio Murdaca 36958ba49b Merge pull request #14374 from Mashimiao/clinent-load-tiny-typo-fix
client/load: tiny typo fix
2015-07-04 00:24:21 +02:00
Antonio Murdaca 19e6de2654 Fix combined image events filters
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-04 00:19:08 +02:00
Alexander Morozov 90bc5513a9 Merge pull request #14383 from runcom/runconfig-merge-cleanup
add break after key is found in for loop
2015-07-03 15:18:09 -07:00
Antonio Murdaca a5be803458 Add break after key is found in for loop
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-03 20:37:34 +02:00
Sebastiaan van Stijn bca32648f4 Merge pull request #14195 from ch3lo/master
update in Kitematic OS support
2015-07-03 18:05:27 +02:00
Marcelo Salazar 1b3bde47ef update in Kitematic OS support
Kitematic now support Windows

Signed-off-by: Marcelo Salazar R <chelosalazar@gmail.com>
2015-07-03 12:32:00 -03:00
Yuan Sun 230179c8dc add TestRunCapAddCHOWN test case
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-03 23:25:52 +08:00
Sebastiaan van Stijn a89f4e36ab Merge pull request #14159 from tristan0x/patch-1
docker-hub Admin right gives access to build logs
2015-07-03 16:56:04 +02:00
Tristan Carel 515df52f19 Rewrite DockerHub group permissions documentation
On behalf of @moxiegirl
    https://gist.github.com/moxiegirl/1c34957b9edc0f6d528c#file-gistfile1-md

Signed-off-by: Tristan Carel <tristan.carel@gmail.com>
2015-07-03 16:29:30 +02:00
Doug Davis 0dedadd4d6 Merge pull request #14377 from coolljt0725/validate_restart_policy
Validate restart policy. Fixes #14351
2015-07-03 07:01:44 -05:00
Lei Jitang f3faf59925 Validate restart policy. Fixes #14351
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-07-03 17:33:33 +08:00
mlarcher 33be2c5d2e Add workaround in docs for git bash usage issue
When using boot2docker through git bash, there is a nasty issue when trying to share a folder, due to how git bash parses the URIs. The issue is explained in [issue #12751](https://github.com/docker/docker/issues/12751) but needs more visibility in the docs.

Signed-off-by: Matthieu Larcher <github@ringabell.org>
2015-07-03 09:07:44 +02:00
Sebastiaan van Stijn 7b0666f568 Merge pull request #14378 from airandfingers/patch-2
Edit "Working with Containers" page for readability
2015-07-03 08:43:50 +02:00
ayoshitake 0ed7fd46b6 Edit "Working with Containers" page for readability
Signed-off-by: ayoshitake <airandfingers@gmail.com>
2015-07-02 23:10:36 -07:00
Ma Shimiao 801a7fed19 api/server: Add missing json check
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-07-03 08:52:32 +08:00
Ma Shimiao 87cfc2bc58 client/load: tiny typo fix
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-07-03 08:37:27 +08:00
James Turnbull d7326bd787 Merge pull request #14190 from ankushagarwal/experimentalDownloadLink
Document the location of experimental binary
2015-07-02 20:14:15 -04:00
James Turnbull 7dc8e77cc7 Merge pull request #14295 from Lennie/patch-1
Fix for broken link
2015-07-02 19:24:57 -04:00
John Howard 7bf26d44b0 Validate status= filter to docker ps
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-02 16:12:42 -07:00
Maxim Kulkin 8630ad1530 Fix dockerize-disk.sh working in non-en locale
One part of script relies on messages that are
output by some system tool. In non-en locale
those messages get localized which breaks the
script.
This patch enforces en locale for that system
tool.

Signed-off-by: Maxim Kulkin <maxim.kulkin@gmail.com>
2015-07-02 16:08:12 -07:00
Sebastiaan van Stijn a45576ab40 Merge pull request #14104 from mariusGundersen/patch-1
Spelling
2015-07-03 01:03:58 +02:00
Ankush Agarwal 01cfb70b0a Document the location of experimental binary
Some devs might want to download the binary directly,
especially for systems where the install script does not
work.

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-02 15:59:13 -07:00
David Calavera 5b2d14fbbf Merge pull request #14349 from hqhq/hq_error_for_todisk
Show error message when todisk failed
2015-07-02 15:56:56 -07:00
Jessie Frazelle 9356c76d9f Merge pull request #14064 from jfrazelle/no-cache-for-experimental
add no cache for experimental builds bc cloudfront
2015-07-02 17:24:29 -04:00
Jessica Frazelle 0cc664fae3 add no cache for experimental builds bc cloudfront
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-02 13:50:11 -07:00
Ankush Agarwal 88f02c2f33 Add 500 check for registry api call
Partially Addresses #14326

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-02 12:41:24 -07:00
Eric Windisch 5400d8873f Make /proc, /sys, /dev readonly for readonly containers
If a container is read-only, also set /proc, /sys,
& /dev to read-only. This should apply to both privileged and
unprivileged containers.

Note that when /dev is read-only, device files may still be
written to. This change will simply prevent the device paths
from being modified, or performing mknod of new devices within
the /dev path.

Tests are included for all cases. Also adds a test to ensure
that /dev/pts is always mounted read/write, even in the case of a
read-write rootfs. The kernel restricts writes here naturally and
bad things will happen if we mount it ro.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-02 19:08:00 +00:00
David Calavera 71f8ca30ce Merge pull request #14359 from cpuguy83/14354_events_send_resp_immediately
Send resp immediately on GET /events
2015-07-02 12:00:45 -07:00
Arnaud Porterie f0ed68f852 Merge pull request #14292 from calavera/fix_driver_detection
Fix implicit DeviceMapper selection
2015-07-02 11:33:55 -07:00
Phil Estes e3d488e280 Merge pull request #13851 from ewindisch/no-allow-rc4
Remove RC4 from the list of registry cipher suites
2015-07-02 13:11:40 -04:00
Alexander Morozov 36f6b7331e Merge pull request #14350 from moysesb/fixdoc
Fixed outdated comment.
2015-07-02 10:06:31 -07:00
David Calavera 0a376291b2 Fix implicit DeviceMapper selection
DeviceMapper must be explicitly selected because the Docker binary might not be linked to the right devmapper library.

With this change, Docker fails fast if the driver detection finds the devicemapper directory but the driver is not the default option.
The option `override_udev_sync_check` doesn't make sense anymore, since the user must be explicit to select devicemapper, so it's being removed.
Docker fails to use devicemapper only if Docker has been built statically unless the option was explicit.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-02 09:21:27 -07:00
Brian Goff d0a299c027 Send resp immediately on GET /events
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-07-02 11:45:24 -04:00
Alexander Morozov f58758ce36 Merge pull request #14355 from vdemeester/log-to-logrus
Replace latest log by logrus
2015-07-02 08:20:16 -07:00
Vincent Demeester 10e114fb95 Replace latest log by logrus
Related to #11618 and #11614

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-02 16:11:52 +02:00
Sebastiaan van Stijn 9300eb6684 Merge pull request #13825 from Mashimiao/unify-help-message
Unify docker commands' usage in man and help
2015-07-02 15:31:57 +02:00
wlan0 9b782d3af3 add support for maximum log size, and max number of log files
Signed-off-by: wlan0 <sidharthamn@gmail.com>
2015-07-02 06:26:06 -07:00
Sebastiaan van Stijn ddc9bc6c56 Merge pull request #14341 from ankushagarwal/ubuntuUglyDocs
Fix missing newline
2015-07-02 15:17:27 +02:00
Moysés Borges 8b0e40bb38 Fixed outdated comment.
Synchronized the comment for httputils/mimetype.DetectContentType
with the actual code.

Signed-off-by: Moysés Borges <moysesb@gmail.com>
2015-07-02 08:17:11 -03:00
Qiang Huang af7f81878f Show error message when todisk failed
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-02 18:24:35 +08:00
Ma Shimiao f38232b475 Unify docker commands' usage in man and help
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-07-02 10:33:26 +08:00
Ankush Agarwal 942a0f994f Fix missing newline
Fixes #14340

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-07-01 18:16:22 -07:00
Sebastiaan van Stijn 98f988f62c Merge pull request #13187 from shishir-a412ed/docker_inspect_issue
Flag Addition: --type flag added for docker inspect command
2015-07-02 01:31:15 +02:00
Sebastiaan van Stijn f51d77f86e Merge pull request #12548 from camallen/docker_host_docs
add note in docs about DOCKER_HOST env var overriding unix socket config
2015-07-02 01:27:47 +02:00
Alexander Morozov 75864dcb38 Merge pull request #14324 from aboch/ds
Stats API to retrieve nw stats from libnetwork
2015-07-01 15:19:46 -07:00
Alexander Morozov 9b9a4b2e59 Merge pull request #14329 from runcom/14318-fix-regression-cap-add-drop-as-single-string
Fix regression in parsing capabilities
2015-07-01 13:28:07 -07:00
Brian Goff 1751b40b04 Merge pull request #14333 from LK4D4/fix_tags
Fix windows tag in pkg/term
2015-07-01 16:27:57 -04:00
Thomas Sjögren 9b42de0e57 remove bashism
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2015-07-01 22:19:24 +02:00
Alexander Morozov 7b3492df0c Fix windows tag in pkg/term
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-01 13:16:16 -07:00
Thomas Sjögren 21ec389fe1 mention the daily experimental build
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2015-07-01 22:12:57 +02:00
Antonio Murdaca 10a3061c5f Fix regression in parsing capabilities list when a single string is given
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-01 21:28:02 +02:00
Alessandro Boch 8b40e44c39 Stats API to retrieve nw stats from libnetwork
- Container networking statistics are no longer
  retrievable from libcontainer after the introduction
  of libnetwork. This change adds the missing code
  for docker daemon to retireve the nw stats from
  Endpoint.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-07-01 11:15:16 -07:00
Alexander Morozov 358c022cac Merge pull request #14321 from MattHauglustaine/14266-return-envfile-parse-bufio-error
Return bufio error when parsing env file
2015-07-01 11:06:33 -07:00
Alexander Morozov 53b897ce9c Merge pull request #13744 from turtlebender/feature/whitelist-label-for-commit
Support LABEL as change for `docker commit`
2015-07-01 10:57:33 -07:00
Brian Goff 5fd0563505 Merge pull request #14322 from runcom/14320-fix-regression-attach-cont-notfound
Return not found before hijacking in attach/wsattach
2015-07-01 13:22:03 -04:00
Alexander Morozov be5e1498c3 Merge pull request #14134 from vdemeester/runconfig-test-coverage
Refactor and add tests coverage on package runconfig
2015-07-01 10:15:26 -07:00
Antonio Murdaca 88d32a6109 Fix regression in containers attach/wsattach api, return not found before hijacking
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-01 18:16:17 +02:00
Shishir Mahajan 2cb74e6915 Flag Addition: --type flag added for docker inspect command
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-07-01 12:14:01 -04:00
David Calavera 1d7a62d776 Merge pull request #14314 from sunyuan3/TestRmiBlank
Add the expected error verification for TestRmiBlank.
2015-07-01 09:09:56 -07:00
David Calavera d02540a44a Merge pull request #14305 from aboch/nwst
Import latest libnetwork
2015-07-01 09:07:40 -07:00
Matthieu Hauglustaine 0dadf11bec Add unit tests for ParseEnvFile.
Add unit tests of the ParseEnvFile function. Test for:
* good file
* empty file
* non existent file
* badly formatted file

Signed-off-by: Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
2015-07-01 17:43:03 +02:00
Matthieu Hauglustaine e848494017 Return bufio error if set in ParseEnvFile
Return an error value if bufio failed to properly read a token.
Avoids running a container with partial environment.

Fixes: #14266

Signed-off-by: Matthieu Hauglustaine <matt.hauglustaine@gmail.com>
2015-07-01 17:17:48 +02:00
Yuan Sun 2179dd00dd Add the expected error verification for TestRmiBlank.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-01 19:34:43 +08:00
Peeyush Gupta 636ec6383b Fixing the table rendering in reference/run.md
Signed-off-by: Peeyush Gupta <gpeeyush@linux.vnet.ibm.com>
2015-07-01 16:07:39 +05:30
Vincent Demeester d4aec5f0a6 Refactor test and add coverage to runconfig
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-01 10:16:36 +02:00
Quentin Tayssier 82b444e3fa Fixing Wheezy link
Signed-off-by: Quentin Tayssier <qtayssier@gmail.com>
2015-07-01 13:01:00 +09:00
Alessandro Boch 126b1b2923 Import latest libnetwork
- To bring in interface which retrieves endpoint statistics

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-30 14:16:16 -07:00
David Calavera bb2cd98b28 Merge pull request #14238 from rileytg/fix-graphdb-test-typo
fixed typo in graphdb_test failure message
2015-06-30 14:15:02 -07:00
Alexander Morozov 27af9a52a1 Merge pull request #14303 from cpuguy83/fix_nat_import
Nat was moved to pkg/nat
2015-06-30 13:56:11 -07:00
Brian Goff d9af8551f8 Nat was moved to pkg/nat
Somehow this import was missed

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-30 16:48:17 -04:00
David Calavera a2621ac6da Merge pull request #14294 from mavenugo/bnone
fixed incorrect assumption on --bridge=none treated as disable network
2015-06-30 13:40:52 -07:00
Alexander Morozov caa4acc7b1 Merge pull request #14297 from pwaller/move-nat-pkg
Move /nat to /pkg/nat
2015-06-30 13:23:30 -07:00
Madhu Venugopal c9328c6ccf fixed incorrect assumption on --bridge=none treated as disable network
libnetwork host, none and bridge driver initialization is incorrectly
disabled if the daemon flag --bridge=none. The expected behavior of
setting --bridge as none is to disable the bridge driver alone and let
all other modes to be operational.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-30 13:04:28 -07:00
Sebastiaan van Stijn a453da2114 Merge pull request #13962 from unclejack/shrink_docs_images
docs: shrink some big images
2015-06-30 21:55:44 +02:00
Brian Goff 2de810df3f Merge pull request #14231 from ankushagarwal/checkValidPort
Validate hostConfig on daemon. Check for invalid port specifications
2015-06-30 15:54:24 -04:00
Arnaud Porterie 2d8dd6b93e Merge pull request #12846 from dave-tucker/network_integration
integration-cli: Add Tests for IPv6 and Fixed CIDR
2015-06-30 12:52:07 -07:00
Brian Goff f13b40f6e7 Merge pull request #13524 from calavera/plugin_json_spec
Plugins JSON spec.
2015-06-30 15:44:48 -04:00
Ankush Agarwal 477201a295 Validate Port specifications on daemon side
Fixes #14230

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-06-30 12:14:49 -07:00
Alexander Morozov bb364ff459 Merge pull request #14268 from unclejack/lower_allocations_execdriver
daemon: lower allocations
2015-06-30 12:12:06 -07:00
David Calavera 96417dd6c3 Merge pull request #14211 from icecrime/roadmap
Add ROADMAP.md
2015-06-30 11:40:45 -07:00
Lennie d6da3736d7 Fix for broken link
The link pointed to experimental.md, but that didn't exist. It looks like README.md was intended. Probably experimental.md was renamed.

Signed-off-by: Leen Besselink <github@consolejunkie.net>
2015-06-30 20:10:12 +02:00
Arnaud Porterie aa5fb884b4 Add ROADMAP.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-30 10:17:08 -07:00
Peter Waller 9c2374d196 Move /nat to /pkg/nat
By convention /pkg is safe to use from outside the docker tree, for example
if you're building a docker orchestrator.

/nat currently doesn't have any dependencies outside of /pkg, so it seems
reasonable to move it there.

This rename was performed with:

```
gomvpkg -vcs_mv_cmd="git mv {{.Src}} {{.Dst}}" \
	-from github.com/docker/docker/nat \
        -to   github.com/docker/docker/pkg/nat

```

Signed-off-by: Peter Waller <p@pwaller.net>
2015-06-30 17:43:17 +01:00
moxiegirl 90024b952c Merge pull request #14267 from ankushagarwal/memory-swap-docs
Typo in memory-swap flag
2015-06-30 05:48:47 -07:00
unclejack c1477db04f daemon: lower allocations
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-06-30 01:45:31 +03:00
Alexander Morozov 20467faf13 Merge pull request #14269 from vdemeester/pkg-parsers-test-coverage
Add and refactor tests for pkg/parsers{,*}
2015-06-29 15:24:14 -07:00
David Calavera 18d5d3ba03 Merge pull request #14133 from Microsoft/10662-netmode
Windows: Refactor network modes
2015-06-29 15:02:42 -07:00
Alexander Morozov 475ae0889e Merge pull request #14218 from calavera/fix_exec_user
Default process user to container config user.
2015-06-29 14:31:45 -07:00
Vincent Demeester b81472a6d8 Add test coverage to pkg/parsers
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-06-29 22:30:11 +02:00
John Howard c5e6a4b307 Windows: Refactor network modes
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-29 13:13:55 -07:00
Ankush Agarwal e7e48bcfdd Typo in memory-swap flag
Fixes #14253

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-06-29 13:12:08 -07:00
David Calavera 0faa4518ed Default process user to container config user.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-29 12:52:05 -07:00
James Turnbull 77396bd66a Merge pull request #14222 from erikdw/fix-casing-of-vmware-in-main-doc
Use proper casing for VMware in README
2015-06-29 15:16:01 -04:00
moxiegirl 4fd284bde0 Merge pull request #14244 from ankushagarwal/patch-1
Update README.md
2015-06-29 11:53:25 -07:00
Michael Bridgen f05e503aec Mention network driver plugins and point to protocol docs
Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
Signed-off-by: Tom Denham <tom.denham@metaswitch.com>
2015-06-29 19:08:23 +01:00
Fred Lifton 0aea0e4072 Merge pull request #14261 from jeremyprice/basics-doc-typo-fix
fix(docs): removed extra quote character in heading
2015-06-29 11:05:54 -07:00
David Calavera d543a01e17 Merge pull request #14061 from runcom/clean-builder-daemon-config
Add struct to configure Builder commit
2015-06-29 11:04:05 -07:00
David Calavera 333ac3a3eb Plugins JSON spec.
Allow full configuration of external plugins via a JSON document.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-29 10:32:18 -07:00
Alexander Morozov cb2079e218 Merge pull request #14193 from stevvooe/concurrent-pull-fix
Attempt to protect on disk image store with mutex
2015-06-29 10:28:02 -07:00
moxiegirl 985fd1c6cc Merge pull request #14243 from moxiegirl/carry-pr-13323
Closes #13323 and carries
2015-06-29 08:33:34 -07:00
Jeremy Price d612782023 fix(docs): removed extra quote character in heading
Signed-off-by: Jeremy Price <jprice.rhit@gmail.com>
2015-06-29 09:46:50 -05:00
Phil Estes a386a00a3c Merge pull request #14147 from ericsage/patch-1
Fix Typo in experimental docs
2015-06-29 10:41:09 -04:00
Antonio Murdaca e1afbbf247 Merge pull request #13876 from vdemeester/pkg-jsonlog-test-coverage
Add test coverage to pkg/jsonlog
2015-06-29 16:39:56 +02:00
Dave Tucker 2dfb7f3b7d integration-cli: Add Tests for IPv6 and Fixed CIDR
This patch adds tests for the `--ipv6` and `--fixed-cidr` daemon flags

Signed-off-by: Dave Tucker <dt@docker.com>
2015-06-29 14:45:00 +01:00
Mary Anthony 078b23a37d Closes #13323 and carries
Entering comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-29 06:18:41 -07:00
Eric Windisch 37846bff58 Remove RC4 from the list of registry cipher suites
The registry client's TLS configuration used the
default cipher list, including RC4. This change
copies the default cipher list from Golang 1.4 and
removes RC4 from that list. RC4 ciphers are considered
weak and vulnerable to a number of attacks.

Uses the tlsconfig package to define allowed ciphers.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-06-29 09:15:13 -04:00
Ankush Agarwal 9bbdaa9280 Update README.md
cgroups and namespaces links are broken. They point to blog.dotcloud.com which is dead. Updating the links to point to informative pages.

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-06-29 01:10:27 -07:00
Doug Davis 40a41ffdf0 Merge pull request #14198 from cpuguy83/14170_fix_entrypoint_as_string
Fix unmarshalling of Command and Entrypoint
2015-06-28 19:47:26 -06:00
Riley Guerin c9175d681b fixed typo in graphdb_test failure message
Signed-off-by: Riley Guerin <rileytg.dev@gmail.com>
2015-06-28 16:54:05 -07:00
Yan Feng 2cca502c05 update testcase mount/sharedsubtree_linux_test.go
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-06-27 14:34:32 -04:00
Vincent Demeester e7a9a0bed8 Add test coverage to pkg/jsonlog
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-06-27 10:13:47 +02:00
Erik Weathers 9030f53165 Use proper casing for VMware in README
Signed-off-by: Erik Weathers <erikdw@gmail.com>
2015-06-26 19:16:29 -07:00
Antonio Murdaca 7571e6d900 Merge pull request #13779 from estesp/tls-confusing-error
Add better client-side error for failed certificate verification
2015-06-27 02:08:04 +02:00
Phil Estes d175ef6773 Add better client error for client certificate failure (missing or denied)
This adds a more meaningful error on the client side so the "bad
certificate" error coming from the TLS dial code has some context for
the user.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-06-26 16:23:05 -07:00
David Calavera 389b806945 Merge pull request #13740 from Microsoft/10662-securitywarning
Windows: Security warning based on server OS
2015-06-26 13:09:03 -07:00
David Calavera 2d15b35f7a Merge pull request #14120 from mdavranche/tempDir
tempDir (in the root dir), must be created after the root dir.
2015-06-26 11:46:55 -07:00
John Howard 126529c6d0 Windows: Security warning based on server OS
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-26 10:33:45 -07:00
moxiegirl 31ae9d876a Merge pull request #14126 from laijs/fix-file-permission
docs: fix file's permissions
2015-06-26 10:08:06 -07:00
Alexander Morozov f46ac8c51c Merge pull request #14162 from dnozay/patch-1
more friendly message for when docker daemon is not running.
2015-06-26 09:27:21 -07:00
Brian Goff 17d6f00ec2 Fix unmarshalling of Command and Entrypoint
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-26 09:00:57 -07:00
Alexander Morozov b96f109344 Merge pull request #12876 from tagomoris/logger-driver-fluentd
Add new Logging driver "fluentd"
2015-06-26 08:41:10 -07:00
moxiegirl b49c9850a6 Merge pull request #14200 from moxiegirl/create-install-index
Adding installation index
2015-06-26 02:14:44 -07:00
Mary Anthony d5de3ed09e Adding installation index
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-26 02:12:27 -07:00
Chris McKinnel 3c5b17cf7e Fix a broken anchor tag on the CLI builder page
Signed-off-by: Chris McKinnel <chrismckinnel@gmail.com>
2015-06-26 09:43:30 +01:00
Stephen J Day 7eac23cf8d Attempt to protect on disk image store with mutex
During `(*Graph).Register, there was no protection on adding new layers
concurrently. In some cases, this resulted in corruption of a layer by creating
the directory but not the underlying data. This manifested in several different
IO errors reported in the client.  This attempts to fix this by adding a mutex
by Image ID to protect the Register operation.

We do not completely understand the root cause of this corruption other than
the result is somehow tied to this particular function.  This fix has been
confirmed to address the issue through testing.

Unfortunately, this fix does not address existing corruption. The user will
have to remove and re-pull the corrupt layer to stop the error from happening
in the future. This change only ensures that the layer will not become corrupt.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-06-25 20:16:37 -07:00
Stephen Day c7ece73fa4 Merge pull request #14046 from mattmoor/token-investigation
Unconditionally use AuthTransport.
2015-06-25 19:07:10 -07:00
TAGOMORI Satoshi 78f4a9dad4 Update English expressions by review comments
Signed-off-by: TAGOMORI Satoshi <tagomoris@gmail.com>
2015-06-26 11:04:26 +09:00
TAGOMORI Satoshi 361a582ba0 Add new logging driver: fluentd
Signed-off-by: TAGOMORI Satoshi <tagomoris@gmail.com>
2015-06-26 11:03:11 +09:00
Tibor Vass dd408891ba Merge pull request #14139 from jlhawn/fix_build_with_auth
[api, builder] Fix build auth config
2015-06-25 17:39:36 -07:00
moxiegirl 2e078b24b8 Merge pull request #14187 from Microsoft/docs-version
Fix docs for #14047
2015-06-25 16:07:27 -07:00
Vivek Goyal 67473c6d06 overlay: Export metadata for container and image in docker-inspect
Export metadata for container and image in docker-inspect when overlay
graphdriver is in use. Right now it is done only for devicemapper graph
driver.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-06-25 17:33:20 -04:00
John Howard 857e0ba32e Fix docs for #14047
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-25 13:39:12 -07:00
moxiegirl 50a1d0f0ef Merge pull request #14142 from fl0yd/patch-1
Update plugins_volume.md
2015-06-25 13:17:02 -07:00
moxiegirl be33d13f67 Merge pull request #14183 from ChanderG/master
Fix minor typo in CONTRIBUTING.md
2015-06-25 13:16:04 -07:00
moxiegirl de9c5473f7 Merge pull request #14178 from csarrazi/patch-1
[Easy-Pick] [Documentation] Fix broken links for Fedora
2015-06-25 13:15:26 -07:00
moxiegirl 15d8e7bc6b Merge pull request #14161 from laijs/man_pages
man: convert `docker/docs/man` to `docker/man`
2015-06-25 13:12:46 -07:00
moxiegirl 8c8e8d624f Merge pull request #14156 from HuKeping/master
Docs: fix wrong example of API Exec
2015-06-25 13:09:36 -07:00
moxiegirl 7201127cfb Merge pull request #14189 from moxiegirl/carry-14079
Splitting out the cli command into parts.
2015-06-25 12:05:56 -07:00
Mary Anthony 561bfb268d Splitting out the cli command into parts.
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-25 12:02:41 -07:00
Alexander Morozov c281549610 Merge pull request #14030 from estesp/init-memory-swappiness
Initialize swappiness in libcontainer cgroups template
2015-06-25 11:36:54 -07:00
Phil Estes e8b87cfce1 Merge pull request #13907 from chenchun/exitcode
Set exit code of old running container as 137
2015-06-25 10:57:48 -07:00
moxiegirl 81d6f60935 Merge pull request #14182 from moxiegirl/fix-logging
Breaking logging driver material out of run
2015-06-25 10:28:36 -07:00
Alexander Morozov e0cfe36b8e Merge pull request #14163 from mrjana/cnm_integ
Fix endpoint leave failure for --net=host mode
2015-06-25 10:17:03 -07:00
Damien Nozay e9ac7d24a7 Update utils.go
make error message when running commands while daemon is down more user-friendly.

```
docker@54.175.201.239 ~: sudo service docker stop
docker stop/waiting
docker@54.175.201.239 ~: docker images
Get http:///var/run/docker.sock/v1.19/images/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
```

Signed-off-by: Damien Nozay <damien.nozay@gmail.com>
2015-06-25 10:15:52 -07:00
Chun Chen b0b2f979c7 Set exit code of old running container as 137
Signed-off-by: Chun Chen <chenchun.feed@gmail.com>
2015-06-25 22:30:09 +08:00
ChanderG e594a2fb54 Fix minor typo in CONTRIBUTING.md
Signed-off-by: ChanderG <chandergovind@gmail.com>
2015-06-25 18:23:38 +05:30
Mary Anthony 31dd97f4ad Breaking logging driver material out of run
- creating index which is overview of configuring logs
- linking to individual journald/fluent material
- leaving behind table and link to index in run

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-25 05:00:49 -07:00
Charles Sarrazin 62213219dc Fix broken fedora documentation
The documentation is currently broken for the fedora page. This PR fixes missing the markup.

Signed-off-by: Charles Sarrazin <charles@sarraz.in>
2015-06-25 10:16:46 +02:00
moxiegirl 4ab8b88286 Merge pull request #13973 from calavera/fix_zfs_options_doc_location
Move zfs options doc to the storage section.
2015-06-24 15:52:13 -07:00
Jana Radhakrishnan 9bb69f9726 Fix endpoint leave failure for --net=host mode
When a container is started with `--net=host` with
a particular name and it is subsequently destroyed,
then all subsequent creations of the container with
the same name will fail. This is because in `--net=host`
the namespace is shared i.e the host namespace so
trying to destroy the host namespace by calling
`LeaveAll` will fail and the endpoint is left with
the dangling state. So the fix is, for this mode, do
not attempt to destroy the namespace but just cleanup
the endpoint state and return.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-06-24 12:33:52 -07:00
Hu Keping 221fa4c3d1 Docs: fix wrong example of API Exec
The last "," should not shown up, otherwise you will get the error
back as below:
- invalid character '}' looking for beginning of object key string.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-06-25 02:03:27 +08:00
Sebastiaan van Stijn afd4d544cf Merge pull request #14119 from moxiegirl/fix-heading-blanks
Fix heading blanks
2015-06-24 08:35:42 -07:00
Lai Jiangshan 85e2957409 man: convert docker/docs/man to docker/man
Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
2015-06-24 23:31:12 +08:00
unclejack 0a9c580fad Merge pull request #14153 from feixueliantian1/typo
Fix Typo in stdcopy.go
2015-06-24 16:11:20 +03:00
yuchengxia 16be453e0f Fix Typo in stdcopy.go
Signed-off-by: Yu Chengxia <yuchengxia@huawei.com>
2015-06-24 15:00:14 +08:00
Eric Sage 4466d00534 Typo
Signed-off-by: Eric Sage <eric.david.sage@gmail.com>
2015-06-23 19:41:55 -07:00
fl0yd 0835b20ace Update plugins_volume.md
Signed-off-by: Mark Oates <fl0yd@me.com>
2015-06-23 15:30:36 -07:00
Josh Hawn 02c7bbefb8 [api, builder] Fix build auth config
With the 1.7 release, we introduced a change to how we store registry
credentials, but the build API endpoint did not expect a change in the format
of that file. This patch fixes this problem so that you can again pull private
images during `docker build`.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-06-23 12:58:17 -07:00
Alexander Morozov 4dd1d1bfa5 Merge pull request #13810 from d23/syslog-facility
Add syslog-facility option
2015-06-23 12:05:15 -07:00
Alexander Morozov d5721f0385 Merge pull request #13833 from Microsoft/10662-dockerbuild
Windows: Start docker build working
2015-06-23 11:46:56 -07:00
David Calavera aa4f495cae Merge pull request #13966 from mountkin/fix-stats-goroutine-leak
fix the goroutine leak in the stats API if the container is not running
2015-06-23 10:06:35 -07:00
Vincent Batts 5c93c265f6 Merge pull request #14047 from Microsoft/10662-versionadd
Add build time to version and tidy output
2015-06-23 09:57:31 -07:00
Lai Jiangshan f23698bb14 docs: fix file's permissions
The README.md and the *.png should not have the executable
permissions, remove them.

Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
2015-06-24 00:09:27 +08:00
Alexander Morozov 9b5875eb9d Merge pull request #14114 from HuKeping/master
Remove useless conversion
2015-06-23 08:10:34 -07:00
Hu Keping 250ce20fee Remove useless conversion
It is already type float.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-06-24 00:47:08 +08:00
root 41f69883d2 tempDir (in the root dir), must be created after the root dir.
Signed-off-by: mikael.davranche <mikael.davranche@corp.ovh.net>
2015-06-23 14:53:18 +02:00
Mary Anthony 960cbd2c8d Fixes #14117
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-23 05:17:20 -07:00
Mary Anthony e81861ea54 Closes #14055 for anchal
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-23 05:14:53 -07:00
Dennis Docter 609e7b0a55 Add --log-opt to specify facility for syslog driver
Signed-off-by: Dennis Docter <dennis@d23.nl>
2015-06-23 14:04:25 +02:00
Shijiang Wei 1cbf5a54da fix the goroutine leak in the stats API if the container is not running
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-06-23 19:38:15 +08:00
Antonio Murdaca cb6ca19b53 Merge pull request #14110 from webwurst/patch-2
Typo
2015-06-23 12:34:16 +02:00
Vincent Batts 8861d65e97 pkg/devicemapper: external device activation
Reported-by: Sheng Yang <shend.yang@rancher.com>
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-06-22 20:28:15 -04:00
moxiegirl 51264fa63c Merge pull request #14111 from bfirsh/update-compose-swarm-docs
Fix compose/swarm/network docs
2015-06-22 17:23:57 -07:00
Ben Firshman fe1f210c42 Update documentation for compose/swarm/network
Thanks to @aanand for help debugging

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-06-22 16:45:22 -07:00
Tobias Bradtke 1797f03760 Typo
Signed-off-by: Tobias Bradtke <webwurst@gmail.com>
2015-06-23 00:52:16 +02:00
David Calavera 74be85500a Merge pull request #12812 from sharidas/8373-display-docker-ps-host
Display when a container is in --net=host in docker ps
2015-06-22 14:06:07 -07:00
John Howard 87eae0d659 Add branch and build time to version
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-22 13:00:27 -07:00
Ben Firshman e02947b236 Add link to compose/swarm/network to readme
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-06-22 11:38:46 -07:00
Marius Gundersen 2e7399a52b spelling
Signed-off-by: Marius Gundersen <me@mariusgundersen.net>
2015-06-22 20:04:06 +02:00
Tim Wraight 182d2668a1 Clarify .dockerignore example for Markdown files
The current documentation correctly states that dockerignore pattern
searches are non-recursive. However, the example given for Markdown
files seems to contradict this by saying that `*.md` will exclude *all*
Markdown files. This commit clarifies the situation by explicitly
specifying that `*.md` will only exclude files in the root directory of
the project.

Signed-off-by: Tim Wraight <tim.wraight@tangentlabs.co.uk>
2015-06-22 17:53:05 +01:00
moxiegirl a7116c5e2b Merge pull request #14101 from aanand/compose-swarm-networking-guide
Add experimental Compose/Swarm/multi-host networking guide
2015-06-22 09:47:33 -07:00
David Calavera f39b9a0b0f Merge pull request #14071 from mavenugo/mhnet
Vendoring libnetwork 83743db8ceb2bdbfa0960d9a54ed2f98df4ea846
2015-06-22 08:35:18 -07:00
Aanand Prasad a5f6407c5b Add experimental Compose/Swarm/multi-host networking guide
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-22 08:33:20 -07:00
VinayRaghavanKS 1a28fb7583 Added entries for aryabhata, bhaskara, brahmagupta, mahavira, panini and varahamihira - ancient Indian mathematicians
Signed-off-by: VinayRaghavanKS <raghavan.vinay@gmail.com>
2015-06-22 19:50:07 +05:30
Madhu Venugopal 739996c1d7 Adding container to secondary network to support port mapping
With publish-service and default-network support, a container could be
connected to a user-defined network that is backed by any driver/plugin.
But if the user uses port mapping or expose commands, the expectation
for that container is to behave like existing bridge network.
Thanks to the Libnetwork's CNM model, containers can be connected
to the bridge network as a secondary network in addition to the
user-specified network.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-22 04:15:57 -07:00
Madhu Venugopal 1e59169509 Reworked ReleaseNetwork to make use of libnetwork's new LeaveAll API
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-22 04:15:57 -07:00
Madhu Venugopal 53b0f686f7 Removed the default "bridge" in builder
Now that the default network mode is "default" and this mode is chosen
even if the mode is empty string, it is not correct to have builder
still pointing to "bridge" as default (though this is daemon default).

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-22 04:15:56 -07:00
Madhu Venugopal 508065a7ad Vendoring in libnetwork for native multihost networking
- brings in vxlan based native multihost networking
- added a daemon flag required by libkv for dist kv operations
- moved the daemon flags to experimental

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-22 04:15:41 -07:00
Sujith Haridasan 8a9ed09746 Display when a container is in --net=host in docker ps
Display */tcp, */udp when a container is in --net=host in docker ps

Signed-off-by: Sujith Haridasan <sujith.h@gmail.com>
2015-06-22 11:44:33 +05:30
moxiegirl abb85f822d Merge pull request #14085 from moxiegirl/1.7-release-notes
Commenting out the release-notes for 1.6
2015-06-21 20:46:45 -07:00
Mary Anthony efef353a29 Commenting out the release-notes for 1.6
Original text

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-21 20:41:43 -07:00
Alexander Morozov c782be0e2a Merge pull request #14062 from runcom/cleanup-dead-code
Remove dead code
2015-06-21 16:01:19 -07:00
Arnaud Porterie 4548d3fb77 Merge pull request #14074 from sdurrheimer/master
Update the zsh completion
2015-06-21 15:43:09 -07:00
Brian Goff 7491f9a9c1 Merge pull request #12099 from moysesb/12078-binary_remote_context
Handle binary remote contexts when creating builder jobs.
2015-06-21 13:59:26 -07:00
Steve Durrheimer b2cc6f1b47 Update the zsh completion
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-06-21 17:33:07 +02:00
Arnaud Porterie fef0e84b2d Merge pull request #14051 from mavenugo/services
experimental services ui
2015-06-20 18:24:37 -07:00
Sebastiaan van Stijn 67f9bbcbd4 Merge pull request #11907 from gcuisinier/11094-allow-import-from-file2
fix #11094 - Allow 'docker import' to load from local files
2015-06-20 12:17:58 -07:00
Dave Tucker 4736b17315 Initial Services docs
Signed-off-by: Dave Tucker <dt@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-20 11:04:25 -07:00
Madhu Venugopal 1ac350a0ec Support for --publish-service flag in docker run
This commit makes use of the CNM model supported by LibNetwork and
provides an ability to let a container to publish a specified service.
Behind the scenes, if a service with the given name doesnt exist, it is
automatically created on appropriate network and attach the container.

Signed-off-by: Alessandro Boch <aboch@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-20 11:03:38 -07:00
Antonio Murdaca 927d13bc3c Remove dead code
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-20 19:14:15 +02:00
Jessie Frazelle a93a5ee50a Merge pull request #14054 from konstruktoid/issue_14045
rpm name and location
2015-06-20 07:14:22 -07:00
Antonio Murdaca 7046651b87 Add struct to configure Builder commit instead of using one defined in daemon
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-20 12:53:47 +02:00
Robin Schneider 52e193bed7 Implemented as proposed by @tianon and @ypid. Restores the default behavior (using xz compression).
* `--compression=none` and `--no-compression` to disable compression.
* `--compression=auto` to use the default compression (enabled by default).
* `--compression=xz` to use xz compression (default compression).
* `--compression=gz` to use gzip compression.

Signed-off-by: Robin Schneider <ypid@riseup.net>
2015-06-20 12:14:49 +02:00
Gildas Cuisinier 3f64b76d4c work on #11094 allow import from local file
Signed-off-by: Gildas Cuisinier <gildas.cuisinier@gcuisinier.net>
2015-06-20 09:04:43 +02:00
Brian Goff c3997daeb5 Merge pull request #14052 from Microsoft/10662-fixcgroupcheck
Windows: Fix cgroup regression
2015-06-19 21:17:39 -04:00
Alexander Morozov e5ded9c378 Merge pull request #13997 from runcom/drop-old-client
Error out if client API version is too old
2015-06-19 17:05:39 -07:00
Thomas Sjögren a0a010e2e3 rpm name and location
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2015-06-20 01:14:58 +02:00
John Howard 9d0ed1dea0 Windows: Fix cgroup regression
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-19 15:29:47 -07:00
David Calavera 7313a9ae9c Merge pull request #14044 from duglin/MakeDocs
Add back top-level "make docs"
2015-06-19 12:42:11 -07:00
Moysés Borges d48bface59 Support downloading remote tarball contexts in builder jobs.
Signed-off-by: Moysés Borges <moysesb@gmail.com>
2015-06-19 16:35:00 -03:00
David Calavera 7ce20fad99 Merge pull request #13780 from LK4D4/use_checkv
Remove timer and use -check.v for tests formatting
2015-06-19 11:34:31 -07:00
David Calavera de6d2603f9 Merge pull request #13848 from estesp/tls-server-client-cipher-cleanup
Split client and server cipher suite list in TLS defaults
2015-06-19 11:08:19 -07:00
Alexander Morozov 3ee67caf3b Merge pull request #14032 from lizf-os/fix-sysinfo-regression
Fix sysinfo regression
2015-06-19 11:00:13 -07:00
Matt Moore c2315102ff Unconditionally add AuthTransport.
Today, endpoints implementing v2 cannot properly fallback to v1 because the underlying transport that deals with authentication (Basic / Token) doesn't get annotated.

This doesn't affect DockerHub because the DockerHub endpoint appears as 'https://index.docker.io/v1/' (in .dockercfg), and the 'v1' tricks this logic just long enough that the transport is always annotated for DockerHub accesses.

Signed-off-by: Matt Moore <mattmoor@google.com>
2015-06-19 10:12:52 -07:00
Doug Davis 2bc0d2bf51 Add back top-level "make docs"
Just to make life easier on devs so they don't need to 'cd' into
the docs dir just to test their docs edits.  This doesn't do anything
more than "cd docs && make docs" so that all of the smarts are still
in the docs's Makefile and not in docker's.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-06-19 09:42:39 -07:00
David Calavera df73d5e0cd Merge pull request #14023 from mavenugo/net_ui
experimental network ui
2015-06-19 09:26:05 -07:00
Madhu Venugopal 742db1737c attaching services api and UI chain to docker parent
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-19 09:19:09 -07:00
Qiang Huang fb85a99f58 Add some cgroup related config check
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-06-19 13:47:48 +08:00
Qiang Huang 0c4c830289 Add check config for ext3 file system
Some distros still use ext3 as default file system, we should check
these configs as well.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-06-19 13:45:07 +08:00
Zefan Li 4398693201 Fix sysinfo regression
The cleanup to sysinfo package introduced a regression.

If memory cgroup isn't supported and --memory is specified when
starting a container, we should return info instead of nil in
checkCgroupMem(), otherwise we'll access a nil pointer.

Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-06-19 09:44:23 +08:00
Alexander Morozov b3254dab49 Merge pull request #14031 from tianon/update-frozen-images
Update frozen busybox and hello-world images
2015-06-18 18:15:45 -07:00
Tianon Gravi 4d171281bf Update frozen busybox and hello-world images
These have both been updated to no longer include the empty "scratch" layer, and `hello-world` has a fix for http->https.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-18 17:09:57 -07:00
Phil Estes 9e9d227677 Initialize swappiness in libcontainer cgroups template
By default, the cgroup setting in libcontainer's configs.Cgroup for
memory swappiness will default to 0, which is a valid choice for memory
swappiness, but that means by default every container's memory
swappiness will be set to zero instead of the default 60, which is
probably not what users are expecting.

When the swappiness UI PR comes into Docker, there will be docker run
controls to set this per container, but for now we want to make sure
*not* to change the default, as well as work around an older kernel
issue that refuses to allow it to be set when cgroup hiearchies are in
use.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-06-18 19:27:04 -04:00
Jessie Frazelle 1334a2fc39 Merge pull request #14028 from jfrazelle/fix-index-generation-experimental
fix s3_url for release script for experimental
2015-06-18 15:22:26 -07:00
Jessica Frazelle 0f0f5ecd57 fix s3_url for release script for experimental
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-18 14:54:40 -07:00
Alexander Morozov 4253a1f87e Remove timer and use -check.v for tests formatting
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-18 14:22:40 -07:00
Antonio Murdaca d7544217dd Merge pull request #13978 from cpuguy83/cleanup_sysinfo
cleanup sysinfo package
2015-06-18 22:27:32 +02:00
David Calavera b1143f4cb0 Merge pull request #13218 from brahmaroutu/decoder_issue_gccgo
Decoder does not work properly with nested pointers using gcc
2015-06-18 13:22:28 -07:00
James Turnbull 1487350b85 Merge pull request #14016 from vizv/patch-1
fix the url in article "Best practices for writing Dockerfiles"
2015-06-18 13:05:26 -07:00
Brian Goff ebef527b39 Merge pull request #13976 from icecrime/12934_carry
LXC execdriver compatibility with recent LXC versions
2015-06-18 15:08:55 -04:00
Madhu Venugopal cca990c67a Network UI / API docs
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-18 12:07:58 -07:00
Madhu Venugopal da5a3e6dee register libnetwork API and UI with docker parent chain
This commit also brings in the ability to specify a default network and its
corresponding driver as daemon flags. This helps in existing clients to
make use of newer networking features provided by libnetwork.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-18 12:07:58 -07:00
Jessie Frazelle 8ea1b54065 Merge pull request #14019 from jfrazelle/bump-version
Bump version
2015-06-18 11:25:19 -07:00
Jessica Frazelle 53f5f5b7f4 bump version to 1.8.0-dev
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-18 10:47:53 -07:00
Jessica Frazelle 2e0e038fb2 Bump version to v1.7.0
Signed-off-by: Jessica Frazelle <princess@docker.com>
(cherry picked from commit 0baf609845)
2015-06-18 10:47:25 -07:00
Wenxuan Zhao 3dd134ceca Fix the url in comparison of "COPY" and "RUN curl"
From context on next line,`tar -xJC` implies
the file is `big.tar.xz` instead of `big.tar.gz`.

Signed-off-by: Wenxuan Zhao <viz@linux.com>
2015-06-18 12:33:46 -04:00
Tibor Vass fc793bf1a3 Merge pull request #13830 from clnperez/check-apparmor-file-first
Check for apparmor file before reading it
2015-06-18 08:18:01 -04:00
Antonio Murdaca 910322a893 Error out if client API version is too old
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-18 11:03:07 +02:00
Campbell Allen 3cb9f7f6aa add note about DOCKER_HOST env var overriding unix socket config
when trying to use docker without sudo and the DOCKER_HOST env var is set docker tries to connect to the specified host instead of using the unix socket.

Signed-off-by: Campbell Allen <campbell.allen@gmail.com>
2015-06-18 06:51:21 +01:00
Jessie Frazelle 423e6dc333 Merge pull request #14002 from moxiegirl/hugo-test-fixes
Hugo final 1.7 Documentation PR -- please read carefully
2015-06-17 22:00:09 -07:00
Mary Anthony 328dbd0aa2 Fixing seds, deleting old stuff
Signed-off-by: Mary Anthony <mary@docker.com>

Upding sed, adding script to avoid redirects, remove mkdos

Signed-off-by: Mary Anthony <mary@docker.com>

Ignoring graphics with sed

Signed-off-by: Mary Anthony <mary@docker.com>

Fixing kitematic image

Signed-off-by: Mary Anthony <mary@docker.com>

Removing draft

Signed-off-by: Mary Anthony <mary@docker.com>

Fixing link

Signed-off-by: Mary Anthony <mary@docker.com>

removing from the menu

Signed-off-by: Mary Anthony <mary@docker.com>

Updatiing order of project material

Signed-off-by: Mary Anthony <mary@docker.com>

Removing from Regsitry v2 content per Olivier

Signed-off-by: Mary Anthony <mary@docker.com>

tweaking the touchup

Signed-off-by: Mary Anthony <mary@docker.com>

Removing include; only used four places; hugo global var replace

Signed-off-by: Mary Anthony <mary@docker.com>

Entering fixes from page-by-page

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-17 21:05:37 -07:00
Brian Goff baa1664478 Merge pull request #13991 from LalatenduMohanty/adding_new_scientists
Proposing Chandrasekhar, Khorana, Saha for name-generator
2015-06-17 21:06:24 -04:00
Brian Goff 9b05aa6ee8 cleanup sysinfo package
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-17 20:41:14 -04:00
Sebastiaan van Stijn 206acbcf89 Merge pull request #13070 from shishir-a412ed/cleanup_cmd_tag
Use distribution's ValidateRepositoryName for remote name validation.
2015-06-17 23:26:27 +02:00
Derek McGowan d86345b9f7 Merge pull request #13575 from mattmoor/consistent-push-fallback
Make v2 push have v1-fallback behavior consistent with pull.
2015-06-17 13:41:58 -07:00
Alexander Morozov af845d42a5 Merge pull request #13988 from runcom/fix-old-code-path-removal
Remove missed code path for api < 1.12
2015-06-17 12:30:11 -07:00
Phil Estes c107e9d790 Merge pull request #13870 from lindenlab/pull-single-tag
Only request a single repository tag when pulling a specific image:tag
2015-06-17 15:29:39 -04:00
Lalatendu Mohanty 3fa2ddc452 Proposing Chandrasekhar, Khorana, Saha for name-generator
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
2015-06-18 00:52:29 +05:30
Shishir Mahajan b8301005ff Use distribution's ValidateRepositoryName for remote name validation.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-06-17 15:15:16 -04:00
David Calavera 85d3b75dfd Merge pull request #13896 from rhvgoyal/verify-base-uuid
devicemapper: Compare uuid of base device on startup
2015-06-17 11:30:04 -07:00
Michael Crosby 010470dd53 Merge pull request #13893 from mrunalp/update_libcontainer
Updates libcontainer to v2.2.1
2015-06-17 10:47:49 -07:00
John Howard 3c177dc877 Windows: Docker build starting to work
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-17 10:41:28 -07:00
Christy Perez 691ed6ef99 Check for apparmor file before reading it
I ran a single integration test and got an error that the file
/sys/module/apparmor/parameters/enabled doesn't exist. I don't have
apparmor installed. So, just check the file first to avoid a confusing
error.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2015-06-17 11:58:17 -05:00
moxiegirl 424bb26b6c Merge pull request #13827 from moxiegirl/rpm-rhel-centos-fedora
RPMs update to installation guides
2015-06-17 08:29:33 -07:00
Antonio Murdaca b6a6c56915 Remove missed code path for api < 1.12
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-17 17:00:48 +02:00
tgic fe7b3658bd prompt a cli login if receive 401 from registry v2 auth server
Signed-off-by: tgic <farmer1992@gmail.com>
2015-06-17 19:28:13 +08:00
Alexander Morozov 9ad87523c0 Merge pull request #13292 from coolljt0725/add_bridge_nf_to_docker_info
Add bridge-nf-call-iptables/bridge-nf-call-ipv6tables to docker info
2015-06-16 22:15:48 -07:00
Phil Estes a27d8f9aa4 Merge pull request #13975 from stevvooe/move-setup-init-layer
Move graph.SetupInitLayer to daemon package where it is used
2015-06-16 22:37:51 -04:00
Lei Jitang 57d12a0e0a Add bridge-nf-call-iptables/bridge-nf-call-ipv6tables to docker info
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-06-17 09:19:11 +08:00
Vivek Goyal c06b05b11e devicemapper: Compare uuid of base device on startup
It is easy for one to use docker for a while, shut it down and restart
docker with different set of storage options for device mapper driver
which will effectively change the thin pool. That means any of the
metadata stored in /var/lib/docker/devicemapper/metadata/ is not valid
for the new pool and user will run into various kind of issues like
container not found in the pool etc.

Users think that their images or containers are lost but it might just
be the case of configuration issue. People might use wrong metadata
with wrong pool.

To detect such situations, save UUID of base image and once docker
starts later, query and compare the UUID of base image with the
stored one. If they don't match, fail the initialization with the
error that UUID failed to match.

That way user will be forced to cleanup /var/lib/docker/ directory
and start docker again.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-06-16 21:12:27 -04:00
Stephen J Day b7f887a9a2 Move graph.SetupInitLayer to daemon package where it is used
An inspection of the graph package showed this function to be way out of place.
It is only depended upon by the daemon code. The function prepares a top-level
readonly layer used to provide a consistent runtime environment for docker
images.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-06-16 16:50:56 -07:00
David Calavera ba9db62e68 Merge pull request #13685 from yuchangchun1/tag_regx
add a more accurate error description for invalid tag name
2015-06-16 16:33:17 -07:00
Mary Anthony f9ab04ad13 First pass of updates
Working docs
Update after check
update to centos 7 after second test
Updating with hopefully correct urls
Adding thaJetzah's comments
Updating with the new images
Updating after a visual check

Signed-off-by: Mary Anthony <mary@docker.com>

Updating with comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-16 16:29:11 -07:00
David Calavera b6531d4ec3 Merge pull request #13961 from unclejack/linting_changes
linting changes
2015-06-16 15:55:18 -07:00
Arnaud Porterie cb979edec0 Fix typo in lxc_template.go
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-16 15:19:43 -07:00
Alex Samorukov 6089e679a2 Make LXC exec driver compatible with recent LXC where lxc.autodev is enabled by default
Update LXC to 1.1.2

Signed-off-by: Alex Samorukov <samm@os2.kiev.ua>
2015-06-16 15:19:00 -07:00
unclejack 2f6e4fdb29 linting changes
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-06-17 01:16:57 +03:00
Vincent Batts e69df2589c Merge pull request #13198 from rhvgoyal/extend-docker-inspect
docker-inspect: Extend docker inspect to export image metadata related to graph driver
2015-06-16 15:03:14 -05:00
Tom Howe 6e2662b3ba just adding label to whitelist for commit command (Fixes #13738)
Signed-off-by: Tom Howe <turtlebender@gmail.com>
2015-06-16 13:59:16 -05:00
David Calavera b1f984a29f Merge pull request #13970 from cpuguy83/13964_fix_tlsverify_env
Fix DOCKER_TLS_VERIFY being ignored
2015-06-16 10:24:41 -07:00
David Calavera b674ae0639 Move zfs options doc to the storage section.
Zfs options belong to the storage section, but they were added under the exec driver section.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-16 10:12:00 -07:00
Jessie Frazelle c80256a31d Merge pull request #13915 from tianon/validate-pkg
Add new "validate-pkg" bundlescript
2015-06-16 10:09:11 -07:00
Tibor Vass 952d030be2 Merge pull request #13955 from jfrazelle/update-install-script-w-experimental-gpg
add gpg fingerprint for experimental
2015-06-16 12:44:40 -04:00
Alexander Morozov 2420ef8cf1 Merge pull request #13972 from tiborvass/update-go-net
Update vendored go.net to use golang.org/x/net canonical path
2015-06-16 09:37:07 -07:00
Tibor Vass de6e6d4b28 Merge pull request #13965 from cpuguy83/fix_windows_vfs_import
Fix circular import for windows vfs graphdriver
2015-06-16 12:32:24 -04:00
Brian Goff 5a6a33f7ac Fix DOCKER_TLS_VERIFY being ignored
DOCEKR_TLS_VERIFY was being ignored because we were just checking if the
`-tlsverify` flag was set, not the actual value, which is defaulted to
the value of `os.Getenv("DOCKER_TLS_VERIFY") != ""`

The problem that this specifically fixes is where the client has set the
`DOCKER_TLS_VERIFY` env var but is connecting to a daemon that is not
verifed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-16 12:04:00 -04:00
Tibor Vass d820e00aac Update vendored go.net to use golang.org/x/net canonical path
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-06-16 11:40:04 -04:00
Brian Goff 49834e8d59 Fix circular import for windows vfs graphdriver
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-16 09:08:10 -04:00
moxiegirl 57aa0248af Merge pull request #13960 from yous/fix-static-file-links
Remove `sources/` under `docs` directory
2015-06-16 05:54:23 -07:00
unclejack b68d0c6612 docs: shrink some big images
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-06-16 13:57:42 +03:00
ChaYoung You 3f4eeca68f Remove sources/ under docs directory
See #13936.

Signed-off-by: ChaYoung You <yousbe@gmail.com>
2015-06-16 19:15:48 +09:00
Don Kjer b349a74c71 Only pulling single repository tag on pull for a specific tag. extending TestGetRemoteTags unit test
Splitting out GetRemoteTag from GetRemoteTags.  Adding registry.ErrRepoNotFound error

Signed-off-by: Don Kjer <don.kjer@gmail.com>
2015-06-16 07:10:09 +00:00
Jessica Frazelle 957622d452 add gpg fingerprint for experimental
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-15 18:49:22 -07:00
Brian Goff 9dffd032f4 Merge pull request #13950 from Microsoft/10662-vfsforreal
Windows - Really fix VFS this time
2015-06-15 21:41:12 -04:00
Jessie Frazelle b81f2ee5f2 Merge pull request #13953 from crosbymichael/network-mtu
Get Mtu from default route
2015-06-15 17:13:44 -07:00
Michael Crosby ff4e58ff56 Get Mtu from default route
If no Mtu value is provided to the docker daemon, get the mtu from the
default route's interface.  If there is no default route, default to a
mtu of 1500.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-06-15 16:33:02 -07:00
David Calavera f48fadd05c Merge pull request #13941 from unclejack/fix_umask
docker/daemon: set umask to the default on startup
2015-06-15 16:19:38 -07:00
Jessie Frazelle 4d23f459ad Merge pull request #13947 from mavenugo/vin
Picking up missed out vendor files via hack/vendor.sh
2015-06-15 16:16:02 -07:00
Jessie Frazelle 748814a97a Merge pull request #13935 from asbjornenge/tm_syntax_updates
TM syntax updates
2015-06-15 16:12:22 -07:00
Mrunal Patel 6d022bda3b Updates libcontainer to v2.2.1
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-06-15 18:18:38 -04:00
John Howard 59cfc08982 Windows - Really fix VFS this time
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-15 15:09:48 -07:00
Antonio Murdaca 835f1c9116 Merge pull request #13547 from coolljt0725/fix_unpause_not_running_container
Correct the message of pause and unpause a non-running container
2015-06-15 23:56:32 +02:00
Josh Hawn 86d6a5b11f Merge pull request #13869 from jlhawn/multi_line_help_usage
api/client: Allow for multi-line usage help
2015-06-15 14:50:17 -07:00
Arnaud Porterie b3b04fd85a Merge pull request #13945 from dmcgowan/distribution-store-digest-on-pull
Store layer digests on pull
2015-06-15 14:37:30 -07:00
moxiegirl d409b05970 Merge pull request #13936 from moxiegirl/test-tooling
Updated retooling for Hugo to go out with 1.7
2015-06-15 13:57:12 -07:00
Mary Anthony f93fee5f48 retooling for hugo
Tweaking for Hugo
Updating the Dockerfile with new sed; fix broken link on Kitematic
Fixing image pull for Dockerfile
Removing docs targets

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-15 13:19:38 -07:00
Madhu Venugopal dcc4a14ba3 Picking up missed out vendor files via hack/vendor.sh
while wokring on another PR, I noticed that hack/vendor.sh was picking
up unrelated files. Maybe a previous update to the hack/vendor.sh failed
to run the script and push the vendor changes ?

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-15 11:38:06 -07:00
Michael Crosby 3f11e05db2 Merge pull request #13942 from calavera/fix_unshare_mount_regression
Fix regression bind mounting shared.
2015-06-15 11:25:35 -07:00
Derek McGowan a98ea87e46 Store layer digests on pull
Currently digests are not stored on pull, causing a simple re-tag or re-push to send up all layers. Storing the digests on pull will allow subsequent pushes to the same repository to not push up content.
This does not address pushing content to a new repository. When content is pushed to a new repository, the digest will be recalculated. Since only one digest is currently stored, it may cause a new content push to the original repository.

Fixes #13883

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-15 11:08:21 -07:00
Vivek Goyal 407a626be6 docker-inspect: Extend docker inspect to export image/container metadata related to graph driver
Export image/container metadata stored in graph driver. Right now 3 fields
DeviceId, DeviceSize and DeviceName are being exported from devicemapper.
Other graph drivers can export fields as they see fit.

This data can be used to mount the thin device outside of docker and tools
can look into image/container and do some kind of inspection.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-06-15 14:05:10 -04:00
David Calavera d8592eaff8 Revert "contrib/init: unshare mount namespace for inits"
This reverts commit b6569b6b82.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-15 10:35:17 -07:00
Alexander Morozov 1157fcc4a4 Merge pull request #13926 from Microsoft/10662-createfixup
Windows: Fixup compile in daemon_windows.go
2015-06-15 10:17:24 -07:00
Sebastiaan van Stijn 637023a5f8 Merge pull request #13502 from coolljt0725/conflict_port_and_netmode
Add --net=container with --publish --expose --publish-all error out
2015-06-15 16:25:59 +02:00
unclejack 6578ad90c3 docker/daemon: set umask to the default on startup
This sets up the umask so that it's the same on all systems.

Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-06-15 16:47:20 +03:00
Asbjørn Enge dfec4a48c7 Various cleanups added to asbjornenge/Docker.tmbundle (by the TM maintainer) and support for the LABEL instruction
Docker-DCO-1.1-Signed-off-by: Asbjorn Enge <asbjorn@hanafjedle.net> (github: asbjornenge)
2015-06-15 00:04:05 +02:00
Asbjørn Enge ac8cbf4952 Updated TextMate install instruction - this bundle is not included in TM 😄 :rocket
Docker-DCO-1.1-Signed-off-by: Asbjorn Enge <asbjorn@hanafjedle.net> (github: asbjornenge)
2015-06-15 00:02:10 +02:00
Robin Schneider 0030df868a Do not compress rootfs archive in mkimage.sh.
* This wastes CPU time for compressing and decompressing.

Signed-off-by: Robin Schneider <ypid@riseup.net>
2015-06-14 20:51:11 +02:00
moxiegirl ee40f29712 Merge pull request #13927 from moxiegirl/carry-13250
Carry of PR #13520
2015-06-13 10:29:56 -07:00
Tibor Vass f27c9bc6e7 Merge pull request #13895 from calavera/fix_get_env_split
Correct getEnv split.
2015-06-13 12:43:45 -04:00
Mary Anthony cd44018856 Carry of PR #13520
Removinig files

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-13 09:27:30 -07:00
Arnaud Porterie cd36b15ccb Merge pull request #13860 from jlhawn/cli_call_headers
api/client: have cli.call() return headers
2015-06-13 09:14:40 -07:00
John Howard c7975f12d6 Windows: Fixup compile in daemon_windows.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-13 09:10:54 -07:00
Arnaud Porterie 261af00282 Merge pull request #13682 from mavenugo/ln_vin
Vendoring in libnetwork to 3be488927db8d719568917203deddd630a194564
2015-06-13 09:00:33 -07:00
Doug Davis f1ea3e5c74 Merge pull request #13504 from coolljt0725/refactor_verifyhostconfig
Refactor verifyHostConfig: change to verifyConfigs and add verify config
2015-06-12 19:59:45 -07:00
Lei Jitang b37832e353 Add verify config to verifyContainerSettings
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-06-13 09:31:19 +08:00
Arnaud Porterie 422fa7f0a6 Merge pull request #13749 from Microsoft/adduseragent
Add GOOS in User-Agent
2015-06-12 17:19:51 -07:00
Michael Crosby 39bf57e085 Merge pull request #13344 from hqhq/hq_fix_arm64_test
Fix unit-test build error on ARM64
2015-06-12 17:11:18 -07:00
Arnaud Porterie 6a7a7570bb Merge pull request #12833 from burke/faster-changes
Optimize archive.ChangesDirs on Linux
2015-06-12 17:05:34 -07:00
Madhu Venugopal 083300168f Vendoring in libnetwork to 3be488927db8d719568917203deddd630a194564
This PR brings the vendored libnetwork code to
3be488927db8d719568917203deddd630a194564, which pulls in quite a few
fixes to support kvstore, windows daemon compilation fixes,
multi-network support for Bridge driver, etc...

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-12 16:10:40 -07:00
Jessie Frazelle cd71c5ed43 Merge pull request #13836 from amylindburg/master
Update plugins.md
2015-06-12 15:40:20 -07:00
Amy Lindburg 0a529b6e7a Update plugins.md
Fixed broken link.

Signed-off-by: Amy Lindburg <amy.lindburg@docker.com>

Update plugins.md

Some other broken links!

Signed-off-by: Amy Lindburg <amy.lindburg@docker.com>

Update plugin_api.md

FIxing broken links.

Signed-off-by: Amy Lindburg <amy.lindburg@docker.com>

Update plugins_volume.md

Fixing more links.

Signed-off-by: Amy Lindburg <amy.lindburg@docker.com>
2015-06-12 15:38:15 -07:00
David Calavera 421b9b6859 Merge pull request #13916 from Microsoft/10662-compileserver
Windows: Patch up compile after adjustCpuShares
2015-06-12 13:48:22 -07:00
John Howard d2c5fcc8d5 Windows: Patch up compile after adjustCpuShares
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-12 13:00:59 -07:00
Tianon Gravi 9465272c28 Add new "validate-pkg" bundlescript
This helps ensure that `github.com/docker/docker/pkg/...` is actually safe to use in isolation (ie, doesn't import anything from `github.com/docker/docker` except other things from `pkg` or vendored dependencies).

Adding `github.com/docker/docker/utils` to the imports of `pkg/version/version.go`:

```
---> Making bundle: validate-pkg (in bundles/1.7.0-dev/validate-pkg)
These files import internal code: (either directly or indirectly)
 - pkg/version/version.go imports github.com/docker/docker/autogen/dockerversion
 - pkg/version/version.go imports github.com/docker/docker/utils
```

And then removing it again:

```
---> Making bundle: validate-pkg (in bundles/1.7.0-dev/validate-pkg)
Congratulations! "./pkg/..." is safely isolated from internal code.
```

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-12 12:28:23 -07:00
Antonio Murdaca 5bddafe169 Merge pull request #13912 from icecrime/13902_improve_test
Replace "sleep" by "top" in test implementation
2015-06-12 20:24:31 +02:00
David Calavera e7533d7f81 Merge pull request #13494 from Microsoft/10662-vfsdriveroption
Windows: Allow VFS
2015-06-12 11:12:32 -07:00
Antonio Murdaca 27e2837c6c Merge pull request #13911 from cpuguy83/13910_fix_stats_nostream_resp
Fixes content-type/length for stats stream=false
2015-06-12 19:53:18 +02:00
Arnaud Porterie e5b7f61f09 Replace "sleep" by "top" in test implementation
Eliminate any chance of race condition by replacing a call to sleep by a
call to top, and rely on test cleanup logic to have it exit cleanly.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-12 10:45:42 -07:00
Arnaud Porterie 2351557607 Merge pull request #13902 from ibuildthecloud/api-fixes
Set omitempty for IP and PublicPort to conform w/ API 1.18
2015-06-12 10:42:07 -07:00
Brian Goff 855a056af7 Fixes content-type/length for stats stream=false
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-12 13:06:06 -04:00
Darren Shepherd 09de92b891 Set omitempty for IP and PublicPort to conform w/ API 1.18
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-06-12 09:49:53 -07:00
John Howard e89f837bc6 Windows: Allow VFS
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-12 09:21:17 -07:00
Arnaud Porterie 5a02d0727b Merge pull request #13899 from mavenugo/hp
Vendoring in libnetwork to fix #13873.
2015-06-12 07:27:07 -07:00
Brian Goff c98eafe564 Merge pull request #13906 from chenchun/closed_chan
Fix send on closed channel bug
2015-06-12 09:37:53 -04:00
Brian Goff e70d680d72 Merge pull request #13903 from dqminh/fix-cli-exec-output
TestExecStopNotHanging: log output as string
2015-06-12 09:23:45 -04:00
Madhu Venugopal f3d1826350 Vendoring in libnetwork to fix #13873.
Libnetwork sha# e578e95aa101441481411ff1d620f343895f24fe

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-12 04:58:37 -07:00
Chun Chen a408790de8 Fix send on closed channel bug
Signed-off-by: Chun Chen <chenchun.feed@gmail.com>
2015-06-12 15:42:34 +08:00
Daniel, Dao Quang Minh d898372568 TestExecStopNotHanging: log output as string
When cmd failed, log its ouput as string instead of byte array to prevent test
log like: [49 53 ....] exit status 1

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-06-11 22:53:55 -04:00
Arnaud Porterie 00b8fec75f Merge pull request #13773 from dmcgowan/refactor-1-image-graph-separation
refactor: separate graph from image
2015-06-11 17:44:37 -07:00
David Calavera 85f895ce68 Correct getEnv split.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-11 14:40:46 -07:00
Arnaud Porterie 71ead0ef5c Merge pull request #13722 from samuelkarp/CpuShareRemoteAPI
Adjust disallowed CpuShares in /containers/create
2015-06-11 14:20:50 -07:00
Jessie Frazelle 0de7065897 Merge pull request #13801 from bexelbie/bex_manpage_indention
Updates man page generation to use go-md2man v1.0.2
2015-06-11 14:12:17 -07:00
Jessie Frazelle 98391f0a39 Merge pull request #13890 from moxiegirl/vieux-fix
Updating with fix for first line and the vieux/amy comment on website
2015-06-11 13:22:03 -07:00
Mary Anthony 566466e714 Updating with fix for first line and the vieux/amy comment on website
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-11 12:48:01 -07:00
Jessie Frazelle cada9b54b5 Merge pull request #13865 from Mic92/zfs-selinux
zfs: correctly apply selinux context
2015-06-11 12:42:06 -07:00
Phil Estes 9b43f5a3a1 Split client and server cipher suite list in TLS defaults
Per @ewindisch, removing the CBC ciphers from the client preferred TLS
cipher suites.  This will allow a future version of the server to also
remove the CBC ciphers from the accepted list.

This changes the server default to client + additional CBC cipher list,
and client default to the non-CBC ciphers.

Also, cipher order preference is modified so that best and highest-bit count
ciphers are most preferred.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-06-11 14:00:31 -04:00
Jessie Frazelle e3821feb13 Merge pull request #13783 from tianon/vendor-pruning
Add intelligent vendor pruning (via "go list")
2015-06-11 10:32:53 -07:00
Tianon Gravi b0d748325f Update "vendor/"
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-11 09:59:12 -07:00
Tianon Gravi 9e4ee3dea5 Add intelligent vendor pruning (via "go list")
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-11 09:59:12 -07:00
Tianon Gravi f61d595b55 Adjust "Dockerfile" to build tools we need in isolated mktemp GOPATHs
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-11 09:59:12 -07:00
Srini Brahmaroutu eb97de7dee Decoder does not work properly with nested pointers using gcc
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-06-11 16:45:54 +00:00
Doug Davis b27f960504 Merge pull request #13879 from eolamey/13878-nil-ip-opt-as-empty-string
Display empty string instead of <nil> when IP opt is nil.
2015-06-11 09:30:52 -07:00
moxiegirl 9001c4bc48 Merge pull request #13839 from eolamey/13838-fix-docs-url
Fix docs URL not using https.
2015-06-11 08:59:35 -07:00
Brian Goff 4fc6449944 Merge pull request #13861 from mrjana/cnm_integ
Vendoring libnetwork to fix stale arp cache issue
2015-06-11 09:12:34 -04:00
Eric-Olivier Lamey 9ad89281ae Display empty string instead of <nil> when IP opt is nil.
Fixes #13878.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-11 11:14:28 +00:00
Vincent Batts ef171afdbb Merge pull request #13590 from mountkin/fix-archive-tests
Add the parent directory to changes set if new files are generated
2015-06-11 05:12:45 -04:00
Jörg Thalheim 19c31a703f zfs: correctly apply selinux context
fixes #13858

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-06-11 11:11:37 +02:00
Brian (bex) Exelbierd 5d51118c7c Update man page Dockerfile to use go-md2man v1.0.1 and go-lang 1.4
The main Dockerfile to was updated - this update brings the
sub-directory specific file inline with it.

Fixes #12866

Signed-off-by: Brian Exelbierd <bex@pobox.com>
2015-06-11 08:36:21 +02:00
Antonio Murdaca 2b27fe17a1 Merge pull request #13862 from Microsoft/10662-fixelementsrestored
Show actual number of elements restored
2015-06-11 07:13:19 +02:00
Eric-Olivier Lamey 212dfb45de Fix docs URL not using https.
Fixes #13838.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-11 04:50:50 +00:00
Jana Radhakrishnan 386ab25137 Vendoring libnetwork to fix stale arp cache issue
Vendoring in libnetwork 90638ec9cf7fa7b7f5d0e96b0854f136d66bff92

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-06-10 19:29:10 -07:00
Arnaud Porterie 883d661b69 Merge pull request #13867 from calavera/fix_daemon_cleanup_order
Cleanup driver and graph db after stopping containers.
2015-06-10 17:05:41 -07:00
David Calavera ad9080a87c Merge pull request #13868 from jfrazelle/update-gitignore-man
update gitignore for new manpages
2015-06-10 16:55:15 -07:00
Josh Hawn 0cdc3b7539 api/client: have cli.call() return headers
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-06-10 16:20:13 -07:00
Josh Hawn 4cb0c93f92 api/client: Allow for multi-line usage help
Subcommands can provide multiple usage synopses.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-06-10 16:14:45 -07:00
David Calavera 0964a664e8 Cleanup driver and graph db after stopping containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-10 16:11:50 -07:00
Jessica Frazelle f88e620359 update gitignore for new manpages
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-10 16:11:15 -07:00
Doug Davis 466efebf0e Merge pull request #13863 from Microsoft/typoclientutils
Typo fix in api\client\utils.go
2015-06-10 15:57:37 -07:00
John Howard 84aec1e8e6 Typo fix in api\client\utils.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-10 15:24:53 -07:00
John Howard 141cd2a1f2 Show actual number of elements restored
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-10 15:18:51 -07:00
David Calavera b6049b5c49 Merge pull request #13804 from moxiegirl/proposal-man-pages
PROPOSAL: Moving man pages out of docs
2015-06-10 15:04:19 -07:00
Arnaud Porterie 9da65ed84f Merge pull request #13854 from crosbymichael/revert-shared-root
Revert shared container rootfs
2015-06-10 14:12:14 -07:00
Mary Anthony eacae64bd8 Moving man pages out of docs
Adding in other areas per comments
Updating with comments; equalizing generating man page info
Updating with duglin's comments
Doug is right here again;fixing.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-10 13:43:35 -07:00
Tibor Vass add64dc297 Merge pull request #13832 from mapk0y/fix-error-msg
fix typo.
2015-06-10 16:38:07 -04:00
Brian Goff 05644ccea9 Merge pull request #13272 from Microsoft/10662-daemonrefactorv2
Windows: Refactor daemon
2015-06-10 16:28:56 -04:00
David Calavera 17324c91e3 Merge pull request #13015 from mariussturm/master
Add logging driver for GELF via UDP
2015-06-10 12:45:12 -07:00
John Howard 8fb0ca2c35 Windows: Refactor daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-10 12:42:43 -07:00
Jessie Frazelle 65d0670d65 Merge pull request #13853 from jfrazelle/fix-hack-make
ugh typo in hack scripts fix, introduced by 2b4facdf
2015-06-10 11:53:47 -07:00
Michael Crosby c9d71317be Revert shared container rootfs
This is breaking various setups where the host's rootfs is mount shared
correctly and breaks live migration with bind mounts.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-06-10 11:29:27 -07:00
Marius Sturm 96d06e106f add UDP GELF logging-driver
allows to send container logs to Graylog or Logstash.

Signed-off-by: Marius Sturm <marius@graylog.com>
2015-06-10 20:21:50 +02:00
Jessica Frazelle c5f49886fa ugh typo in hack scripts fix, introduced by 2b4facdf
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-10 11:00:59 -07:00
Jessie Frazelle 12149e8293 Merge pull request #13754 from cpuguy83/13753_fix_events_64
Default events since to current time
2015-06-10 10:34:13 -07:00
Brian Goff 74c12aa429 Default events since to current time
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-10 12:37:40 -04:00
Brian Goff 88e4dff9a9 use go-generate to build volume/driver/proxy.go
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-10 11:42:15 -04:00
James Turnbull 5821f13b8c Merge pull request #13844 from ponsfrilus/master
Typo psuedo - pseudo
2015-06-10 11:41:44 -04:00
Brian Goff 4c81c9dddc generate plugin clients via template
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-10 11:41:40 -04:00
Doug Davis 46af724e81 Merge pull request #12371 from rhatdan/kill
docker kill should return error if container is not running.
2015-06-10 08:32:57 -07:00
Tibor Vass de90aef411 Merge pull request #12813 from Microsoft/10662-nolinuxgraph
Windows: Don't build Linux graph drivers
2015-06-10 10:01:50 -04:00
Shijiang Wei e2c6a8be7c Add the parent directory to changes set if new files are generated
The "TestChangesWithChanges" case randomlly fails on my development
VM with the following errors:
```
--- FAIL: TestChangesWithChanges (0.00s)
        changes_test.go:201: no change for expected change C /dir1/subfolder != A /dir1/subfolder/newFile
```

If I apply the following patch to changes_test.go, the test passes.

```diff
diff --git a/pkg/archive/changes_test.go b/pkg/archive/changes_test.go
index 290b2dd..ba1aca0 100644
--- a/pkg/archive/changes_test.go
+++ b/pkg/archive/changes_test.go
@@ -156,6 +156,7 @@ func TestChangesWithChanges(t *testing.T) {
        }
        defer os.RemoveAll(layer)
        createSampleDir(t, layer)
+       time.Sleep(5 * time.Millisecond)
        os.MkdirAll(path.Join(layer, "dir1/subfolder"), 0740)

        // Let's modify modtime for dir1 to be sure it's the same for the two layer (to not having false positive)
```

It seems that if a file is created immediately after the directory is created,
the `archive.Changes` function could't recognize that the parent directory of
the new file is modified.

Perhaps the problem may reproduce on machines with low time precision?
I had successfully reproduced the failure on my development VM as well as
a VM on DigitalOcean.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-06-10 20:29:29 +08:00
Nicolas Borboën e12839fa5a Typo psuedo - pseudo
Signed-off-by: ponsfrilus <ponsfrilus@gmail.com>
2015-06-10 13:27:55 +02:00
Arnaud Porterie 55bdb51659 Merge pull request #13699 from calavera/volume_backwards
Allow to downgrade local volumes from > 1.7 to 1.6.
2015-06-09 19:51:06 -07:00
David Calavera bd9814f0db Allow to downgrade local volumes from > 1.7 to 1.6.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-09 18:04:59 -07:00
Michael Crosby 4750e1f77e Merge pull request #13784 from mrjana/cnm_integ
libnetwork: Add garbage collection trigger
2015-06-09 17:24:30 -07:00
Arnaud Porterie c3b962d327 Merge pull request #13831 from LK4D4/update_libcontainer
Update libcontainer to v2.1.1
2015-06-09 17:12:20 -07:00
Arnaud Porterie 13baeb3b70 Merge pull request #13815 from tiborvass/do-not-send-basic-auth-on-302
Do not set auth headers for registry v1 if 302
2015-06-09 15:34:53 -07:00
Jessie Frazelle ceee2595b6 Merge pull request #12583 from Mic92/hack/explicit-bundles
Hack/explicit bundles
2015-06-09 14:34:52 -07:00
mapk0y 416e855e9b fix typo.
Signed-off-by: mapk0y <mapk0y@gmail.com>
2015-06-10 06:26:07 +09:00
Alexander Morozov 38acd31e8a Update libcontainer to v2.1.1
It includes fix for mounting / as volume on SELinux.
docker/libcontainer#619

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-09 13:54:57 -07:00
Alexander Morozov 5e86b818ed Merge pull request #13828 from calavera/plugin_fixes
Fix volume plugin serialization.
2015-06-09 13:30:55 -07:00
David Calavera 18ddc2728d Merge pull request #13805 from aboch/czo
Add integ test for unpublished ports in ps o/p
2015-06-09 11:30:06 -07:00
Alexander Morozov 06aef2b5c2 Merge pull request #13819 from Mashimiao/optimize-logic-of-get-container
daemon: cleanup getting container logic
2015-06-09 10:42:24 -07:00
David Calavera 30448166de Fix volume plugin serialization.
Unmarshal errors into strings.
Fix `omit` typos.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-09 10:39:46 -07:00
Alessandro Boch 7b9ae696d8 Add integ test for unpublished ports in ps o/p
- This is a test to assert the fix #13734

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-09 09:40:19 -07:00
Sebastiaan van Stijn 90259fed2e Merge pull request #12031 from jlhawn/build_cache_ignore_mtime
Make build cache ignore mtime
2015-06-09 18:26:07 +02:00
James Turnbull 3b01dac44d Merge pull request #13814 from duglin/DocTweak
Fix COPY/ADD quoted/json form
2015-06-09 04:56:35 -04:00
Ma Shimiao 73bc885b23 daemon: cleanup getting container logic
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-06-09 14:47:07 +08:00
Jörg Thalheim 2b4facdf2e hack: explicit bundles for integration-cli prequisites
no longer load hide critical code such as in .integration-daemon-{start,stop},
if this step failed, it will had logged the corresponding module before:

---> Making bundle: .integration-daemon-start (in bundles/1.7.0-dev/daemon-start)

which is nicer to debug.

This will make it also easier to execute a single tests in an interactive shell.

$ make shell
docker> . hack/make.sh binary .integration-daemon-start .integration-daemon-setup
docker> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED STATUS              PORTS               NAMES
docker> go test github.com/docker/docker/integration-cli

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-06-09 07:22:26 +02:00
Alexander Morozov 7f6aa3b783 Merge pull request #13816 from xiekeyang/remove
Registry: remove unwanted return variable name
2015-06-08 20:38:30 -07:00
xiekeyang a31be25121 Registry: remove unwanted return variable name
Signed-off-by: xiekeyang <xiekeyang@huawei.com>
2015-06-09 10:58:33 +08:00
Jessie Frazelle 5e0e71bbe0 Merge pull request #13714 from flavio/add-suse-support-to-docker-installer
Added openSUSE and SUSE Linux Enterprise support to install.sh
2015-06-08 17:20:33 -07:00
Tibor Vass 123a0582b2 Do not set auth headers if 302
This patch ensures no auth headers are set for v1 registries if there
was a 302 redirect.

This also ensures v2 does not use authTransport.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-06-08 19:59:39 -04:00
Doug Davis f4a3e8bef0 Fix COPY/ADD quoted/json form
Minor tweak to the quoted/json form and made man page look like the Dockerfile
docs.  W/o the `,` people may think there should be a space delimited list.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-06-08 16:40:20 -07:00
Jessie Frazelle a2ab067b3c Merge pull request #13022 from Microsoft/10662-addrsrc
Windows: Add resources for manifest and icon
2015-06-08 15:16:10 -07:00
Jessie Frazelle 75f63499a0 Merge pull request #12992 from aidanhs/aphs-easy-debug-build
Allow passing DOCKER_DEBUG= to `make`
2015-06-08 15:15:49 -07:00
John Howard 9a9dc5ba96 Windows: Don't build Linux graph drivers
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-08 15:09:33 -07:00
David Calavera 4ad05ed985 Merge pull request #13808 from Microsoft/10662-volumefixcompile
Windows: Fix PR13278 compile break
2015-06-08 15:02:47 -07:00
Tianon Gravi 969cb545ae Merge pull request #13546 from hqhq/hq_checkconfig_rescount
Don't check RESOURCE_COUNTERS in new kernel
2015-06-08 14:43:17 -07:00
Tianon Gravi c69d3b749d Merge pull request #13790 from jfrazelle/update-authors-mailmap
update authors and mailmap
2015-06-08 14:24:32 -07:00
Josh Hawn cd7e2a6b2b [docs] Update builder docs on last-modified times
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-06-08 13:55:02 -07:00
Josh Hawn 0e10507a1c [builder] Make build cache ignore mtime
Build cache uses pgk/tarsum to get a digest of content which is
ADD'd or COPY'd during a build. The builder has always used v0 of
the tarsum algorithm which includes mtimes however since the whole
file is hashed anyway, the mtime doesn't really provide any extra
information about whether the file has changed and many version
control tools like Git strip mtime from files when they are cloned.

This patch updates the build subsystem to use v1 of Tarsum which
explicitly ignores mtime when calculating a digest. Now ADD and
COPY will result in a cache hit if only the mtime and not the file
contents have changed.

NOTE: Tarsum is NOT a meant to be a cryptographically secure hash
function. It is a best-effort approach to determining if two sets of
filesystem content are different.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-06-08 13:54:47 -07:00
John Howard 71eadd4176 Windows: Fix PR13278 compile break
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-08 13:47:09 -07:00
Michael Crosby b099eb796a Merge pull request #13800 from eolamey/13799-fix-docs-url-in-systemd-service-file
Fix docs URL in systemd service file.
2015-06-08 09:36:36 -07:00
Sebastiaan van Stijn 875eafb00b Merge pull request #13713 from draghuram/manport
Fix examples in "docker port" man page.
2015-06-08 17:08:37 +02:00
Raghuram Devarakonda bf6492e689 Fix examples in "docker port" man page.
Closes #13667.

Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-06-08 10:40:24 -04:00
James Turnbull c622ca6d4b Merge pull request #13797 from eolamey/13796-tiny-systemd-docs-improvements
Tiny improvements to systemd docs.
2015-06-08 08:57:13 -04:00
Eric-Olivier Lamey 68bfd9e3ae Tiny improvements to systemd docs.
Show how to use `systemctl show` and recommend against modifying
system unit files in `/usr` and `/lib`.

Fixes #13796.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-08 12:05:34 +00:00
Eric-Olivier Lamey dbf5e36fd6 Fix docs URL in systemd service file.
Fixes #13799.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-08 10:21:43 +00:00
Alexander Morozov a63c7c7be6 Merge pull request #13582 from coolljt0725/remove_useless_code
Cleanup: remove some useless code
2015-06-07 23:01:39 -07:00
Jana Radhakrishnan c68e7f96f9 libnetwork: Add garbage collection trigger
When the daemon is going down trigger immediate
garbage collection of libnetwork resources deleted
like namespace path since there will be no way to
remove them when the daemon restarts.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-06-07 21:33:51 -07:00
Lei Jitang 67552fb22d Cleanup: remove some useless code and change verifyHostConfig to verifyContainerSetting
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-06-08 09:06:58 +08:00
Doug Davis 5d22afc54e Merge pull request #13795 from michael-k/daemonFolder
[integration-cli] Made doc consistent with code
2015-06-07 16:57:54 -04:00
Michael Käufl 54ac3d9c76 Made doc consistent with code
The name of the folder was shortened in a1ea562

Signed-off-by: Michael Käufl <docker@c.michael-kaeufl.de>
2015-06-07 22:32:29 +02:00
Doug Davis 07b22fcf50 Merge pull request #13787 from runcom/check-nil-Config
Avoid nil pointer dereference while creating a container with an empty Config
2015-06-07 12:28:41 -04:00
James Turnbull 3c37a307bc Merge pull request #13791 from eolamey/minor-docs-fixes
Fix a typo and a minor formatting issue in the docs.
2015-06-07 09:25:15 -04:00
Eric-Olivier Lamey 173d0918a8 Fix a typo and a minor formatting issue in the docs.
Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-07 12:49:03 +00:00
Jessica Frazelle ae68dfe31b update authors and mailmap
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-06 21:42:14 -07:00
Alexander Morozov 3d10540bc3 Merge pull request #13757 from eolamey/13755-we-would-like-default-gateway-back-please
Restore --default-gateway{,-v6} daemon options.
2015-06-06 16:02:59 -07:00
Antonio Murdaca 4ce817796e Avoid nil pointer dereference while creating a container with an empty Config
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-06 20:07:32 +02:00
James Turnbull 3c132ff62d Merge pull request #13764 from bcexelbi/bexelbie_man_typo
Fixing typo in Dockerfile manpage
2015-06-06 08:50:27 -04:00
moxiegirl ffd74e74b1 Merge pull request #13776 from duglin/MinorVolDocEdit
Minor doc edit to add clarity around the --volume path format
2015-06-05 18:41:37 -07:00
Derek McGowan c0b4421819 Update graph to use digest type
Update get and set functions to use digests.
Update push code to use the digest type instead of string

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 18:07:41 -07:00
Derek McGowan bb50a4159b Update graph walkhistory to pass by value
Remove unused graph history function

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 18:06:09 -07:00
Derek McGowan 2b58b677a5 Separate graph from image
Move graph related functions in image to graph package.
Consolidating graph functionality is the first step in refactoring graph into an image store model.
Subsequent refactors will involve breaking up graph into multiple types with a strongly defined interface.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 18:06:09 -07:00
Jessie Frazelle f20863929b Merge pull request #13778 from LK4D4/rename_file
Rename test file to have _test postfix
2015-06-05 15:43:55 -07:00
Doug Davis 3fcf53db92 Minor doc edit to add clarity around the --volume path format
Also add a comment to the ValidatePath func so devs/reviewers
know exactly what its looking for.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-06-05 15:11:42 -07:00
Alexander Morozov ff9877ccc4 Rename test file to have _test postfix
Without this go test was unable to find line number of error in that
file.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-05 13:49:58 -07:00
moxiegirl 7c64ed5c8c Merge pull request #12573 from clnperez/doc-article-baseimage
Update doc with usage of the scratch image
2015-06-05 13:36:33 -07:00
Jessie Frazelle af29aff53c Merge pull request #13772 from icecrime/13770_image_labels_to_containers
Container don't inherit from image labels
2015-06-05 13:25:34 -07:00
Christy Perez 77bd53adfe Update doc with usage of the scratch image
The scratch image used to be a regular image, but as of
commit 8936789919 it is a
special case, and cannot be used with 'docker pull.'

Update this doc to reflect the new behavior and clear up
confusion surrounding this image.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2015-06-05 14:47:03 -05:00
Arnaud Porterie 79621c7728 Container don't inherit from image labels
Labels are metadata that apply to a particular resource: image,
container, maybe volumes and networks in the future. We shouldn't have
containers inherit from its image labels: they are not the same obejcts,
and labels cannot be interpreted in the way.

It remains possible to apply metadata to an image using the LABEL
Dockerfile instruction, to query them using `docker inspect <img>`, or
to filter images on them using `docker images --filter <key>=<value>`.

Fixes #13770.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-05 11:11:22 -07:00
Jessie Frazelle 5c051e2e26 Merge pull request #13767 from duglin/TweakInNetOpts
Remove duplicate call to net.ParseIP
2015-06-05 10:46:31 -07:00
Alexander Morozov 078b8e54e4 Merge pull request #13768 from jfrazelle/fix-lxc-again-bleh
fix lxc build
2015-06-05 10:27:58 -07:00
Arnaud Porterie efe5c64768 Merge pull request #13636 from tiborvass/refactor-tls
Refactor TLS code with a new `tlsconfig` package
2015-06-05 10:16:24 -07:00
Sebastiaan van Stijn 69c2f5649a Merge pull request #13748 from icecrime/experimental_docs
Minor changes to experimental docs
2015-06-05 19:11:51 +02:00
Jessica Frazelle 0adfb908a6 fix lxc build
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-05 09:50:30 -07:00
Doug Davis b180de55ca Remove duplicate call to net.ParseIP
and a little cleanup

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-06-05 09:44:10 -07:00
Tibor Vass bfed4b7cc3 Refactor TLS code with a new tlsconfig package
This patch creates a new `tlsconfig` package to handle creation of
secure-enough TLS configurations for clients and servers.

The package was created by refactoring TLS code in the client and the
daemon. After this patch, it is expected that all code creating TLS
configurations use this `tlsconfig` package for greater security,
consistency and readability.

On the server side, this fixes a bug where --tlsverify was not taken
into account. Now, if specified, it will require the client to
authenticate.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-06-05 12:38:38 -04:00
Phil Estes edb7e84ddb Merge pull request #13751 from cpuguy83/use_closenotifier_for_logs
Fix goroutine leak on logs -f with no output
2015-06-05 11:43:47 -04:00
Brian (bex) Exelbierd d32e01be1a Fixing typo in Dockerfile manpage
Signed-off-by: Brian Exelbierd <bex@pobox.com>
2015-06-05 16:33:11 +02:00
Sven Dowideit 159f5e0137 Merge pull request #13760 from SvenDowideit/update-dhe-docs-jun-5
Bring over DHE docs updates for publishing
2015-06-05 21:07:57 +10:00
Sven Dowideit 9ed2cb300b Bring over DHE docs updates for publishing
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-06-05 21:06:59 +10:00
Eric-Olivier Lamey 5fa60149e2 Restore --default-gateway{,-v6} daemon options.
This was added before the libnetwork merge, and then lost. Fixes #13755.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
2015-06-05 06:21:22 +00:00
Samuel Karp ed39fbeb2a Adjust disallowed CpuShares in /containers/create
Previous versions of libcontainer allowed CpuShares that were greater
than the maximum or less than the minimum supported by the kernel, and
relied on the kernel to do the right thing. Newer libcontainer fails
after creating the container if the requested CpuShares is different
from what was actually created by the kernel, which breaks compatibility
with earlier Docker Remote API versions. This change explicitly adjusts
the requested CpuShares in API versions < 1.20.

Signed-off-by: Samuel Karp <skarp@amazon.com>
2015-06-04 17:19:39 -07:00
Jessie Frazelle cd1a1ee972 Merge pull request #13752 from tianon/fix-release-debs
Fix release script to release _both_ .deb files
2015-06-04 16:37:59 -07:00
David Calavera e33aeac708 Merge pull request #13640 from Microsoft/10662-implementmeminfo
Windows: Implement ReadMemInfo()
2015-06-04 16:09:24 -07:00
Tianon Gravi 4572329d4b Fix release script to release _both_ .deb files
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-04 16:08:12 -07:00
Antonio Murdaca a06e0bb8b4 Merge pull request #13648 from tiborvass/print-debugtransport-to-test-output
registry: debugTransport should print with testing.T.Log
2015-06-05 00:42:22 +02:00
Brian Goff a2602c617d Merge pull request #13684 from lizf-os/cleanup-verify-volumes-info
Cleanup Daemon.verifyVolumesInfo() a bit
2015-06-04 15:39:31 -07:00
Brian Goff 0c84604f54 Fix goroutine leak on logs -f with no output
Also noticed potential hang when only stdout or stderr are used with
follow=1

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-06-04 13:56:40 -07:00
John Howard 543cf79ffb Add GOOS in User-Agent
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-04 13:37:41 -07:00
Arnaud Porterie b63ec6e4b1 Merge pull request #13734 from aboch/master
Fix for #13720. Unpublished ports missing in docker ps
2015-06-04 12:05:47 -07:00
John Howard fd935ee63d Windows: Build docker.exe manifested and with icon
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-06-04 11:49:10 -07:00
Michael Crosby b26428257f Merge pull request #13728 from calavera/copy_old_volume_content
Migrate data from old vfs paths to new local volumes path.
2015-06-04 11:14:34 -07:00
Tianon Gravi 7c2178b358 Merge pull request #13736 from SvenDowideit/double-the-double-the-lines
Tiny spelling issue in the debian control file :)
2015-06-04 11:10:55 -07:00
Alexander Morozov cbe120db58 Merge pull request #13745 from icecrime/test_import_path
Fix kr/pty import path in test-integration-cli
2015-06-04 10:59:37 -07:00
Arnaud Porterie d8680f7beb Remove reference to experimental release
Remove reference to experimental releases as it is really a nightly
channel rather than a scheduled release.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-04 10:33:20 -07:00
Arnaud Porterie 8352f2e264 Rename EXPERIMENTAL.md to README.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-04 10:32:50 -07:00
David Calavera 16a5590c5b Migrate data from old vfs paths to new local volumes path.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-04 10:16:19 -07:00
Alexander Morozov 9069cded57 Merge pull request #13586 from kvasdopil/zfs-88chars
Avoid 88-chars mountpoint length limit on freebsd
2015-06-04 10:05:01 -07:00
David Calavera 2c09dbb7dd Merge pull request #13733 from lizf-os/discovery-test-remove-tmpdir
Don't forget to clenaup tmpdir in TestFileSpecPlugin()
2015-06-04 09:21:53 -07:00
moxiegirl 4efedb3fba Merge pull request #13716 from moxiegirl/move-experimental
Moving experimental
2015-06-04 09:11:00 -07:00
Arnaud Porterie 9ec5e4f7df Fix kr/pty import path
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-04 09:02:14 -07:00
Zefan Li d31224743b Don't forget to clenaup tmpdir in TestFileSpecPlugin()
Also remove redundant code.

Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-06-04 21:26:15 +08:00
Sven Dowideit 318defe1de Tiny spelling issue in the debian control file :)
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-06-04 18:16:24 +10:00
Alessandro Boch ea180a73bc Fix for #13720
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-03 23:39:27 -07:00
Jessie Frazelle ef3e956aa2 Merge pull request #13704 from tianon/build-utc
Swap build-* to use UTC instead of local time
2015-06-03 22:05:09 -07:00
Arnaud Porterie 57bba29f79 Merge pull request #13732 from mavenugo/netdisabled
Using container NetworkDisabled to fix #13725
2015-06-03 21:40:15 -07:00
Madhu Venugopal 83208a531d Using container NetworkDisabled to fix #13725
container.config.NetworkDisabled is set for both daemon's
DisableNetwork and --networking=false case. Hence using
this flag instead to fix #13725.

There is an existing integration-test to catch this issue,
but it is working for the wrong reasons.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-03 17:31:22 -07:00
Arnaud Porterie f37e6e180f Merge pull request #13731 from jfrazelle/fix-version-on-old-versions
fix version struct on old versions
2015-06-03 17:24:53 -07:00
Jessie Frazelle fdd6175bca Merge pull request #13718 from runcom/fix-containers-json
SizeRW & SizeRootFs omitted if empty in /container/json call
2015-06-03 17:14:58 -07:00
Jessica Frazelle 229b599259 fix version struct on old versions
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-03 16:56:50 -07:00
Arnaud Porterie babf751e1b Merge pull request #13715 from LK4D4/update_logrus
Update github.com/Sirupsen/logrus to 0.8.2
2015-06-03 14:24:37 -07:00
Jessie Frazelle ca66419522 Merge pull request #13709 from jfrazelle/update-url
Update urls from .com to .org.
2015-06-03 14:21:38 -07:00
Antonio Murdaca 6945ac2d02 SizeRW & SizeRootFs omitted if empty in /container/json call
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-03 23:13:56 +02:00
Arnaud Porterie ad56d797d3 Merge pull request #13712 from LK4D4/fix_leak_events
Support CloseNotifier for events
2015-06-03 13:43:39 -07:00
Mary Anthony 95dfc4c4a5 Moving experimental
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-03 13:43:27 -07:00
Jessica Frazelle 7943bce894 Update urls from .com to .org.
I added 301 redirects from dockerproject.com to dockerproject.org but may as
well make sure everything is updated anyways.

Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-03 13:28:47 -07:00
Alexander Morozov fa020341e4 Update github.com/Sirupsen/logrus to 0.8.2
Fix #13708

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-03 13:22:56 -07:00
Antonio Murdaca f18ce101fb Merge pull request #13165 from ahmetalpbalkan/durations
Allow duration strings as --since/--until
2015-06-03 22:14:42 +02:00
Flavio Castelli d0c4c7c83f Added openSUSE and SUSE Linux Enterprise support to install.sh
Handle docker installation on openSUSE and SUSE Linux Enterprise
via https://get.docker.io/

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
2015-06-03 21:56:27 +02:00
Arnaud Porterie a29633f687 Merge pull request #13703 from runcom/13691-container-ps-regression
Do not omit empty json field in /containers/json api response
2015-06-03 12:30:12 -07:00
Sebastiaan van Stijn b30121984e Merge pull request #13702 from BenSeverson/patch-1
quick doc fix for windows versions
2015-06-03 21:24:13 +02:00
David Calavera c962f53a3e Merge pull request #13645 from calavera/fix_stats_flaky_test
Fix stats flaky test.
2015-06-03 12:05:43 -07:00
Alexander Morozov 9e7fc245a7 Support CloseNotifier for events
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-03 11:42:51 -07:00
Ben Severson a448b7aff2 quick doc fix for windows versions
Signed-off-by: Ben Severson <BenSeverson@users.noreply.github.com>
2015-06-03 10:28:11 -07:00
Tianon Gravi aa54a93f74 Swap build-* to use UTC instead of local time
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-03 09:56:46 -07:00
Alexander Morozov 521926f6c4 Merge pull request #13231 from Microsoft/10662-chrootarchive
Windows: chrootarchive refactor
2015-06-03 09:54:42 -07:00
Antonio Murdaca 725f34151c Do not omit empty json field in /containers/json api response
Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-06-03 18:53:40 +02:00
Sebastiaan van Stijn 0636bb7b73 Merge pull request #13672 from LK4D4/syslog_tag
Add syslog-tag option
2015-06-03 17:04:59 +02:00
moxiegirl 641f3e0932 Merge pull request #13205 from hqhq/hq_fix_ipforward_doc
Add docs for ip-forward
2015-06-03 07:50:19 -07:00
Antonio Murdaca f03daf29dc Merge pull request #13696 from hqhq/hq_add_comment_inspect
Add comment about inspect output
2015-06-03 13:36:00 +02:00
Qiang Huang 01a9a9284f Add comment about inspect output
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-06-03 17:35:57 +08:00
Qiang Huang 8bfc8102be Don't check RESOURCE_COUNTERS in new kernel
Closes: #13543

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-06-03 17:26:39 +08:00
Qiang Huang 85fffe1341 Add docs for ip-forward
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-06-03 16:37:40 +08:00
Matt Moore bd2575cc4f Make the v2 logic fallback on v1 when v2 requests cannot be authorized.
Signed-off-by: Matt Moore <mattmoor@google.com>
2015-06-02 21:22:59 -07:00
Jessie Frazelle 63823cd6c1 Merge pull request #13683 from crosbymichael/nat-test-fixes
Fix nat integration tests
2015-06-02 18:54:17 -07:00
yuchangchun e0475d331b add a more accurate error description for invalid tag name
Signed-off-by: yuchangchun <yuchangchun1@huawei.com>
2015-06-03 09:38:39 +08:00
Michael Crosby 4f42097883 Fix nat integration tests
This removes complexity of current implementation and makes the test
correct and assert the right things.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-06-02 18:21:16 -07:00
Zefan Li 8b4c0decfc Cleanup Daemon.verifyVolumesInfo() a bit
vols.VolumesRW has been initialized so it can't be nil. Furthermore
it's ok to read a nil map.

Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-06-03 09:19:16 +08:00
Jessie Frazelle 25376c652d Merge pull request #13679 from icecrime/update_vendoring
Update vendoring
2015-06-02 17:41:48 -07:00
Arnaud Porterie 1664d6cd66 Update vendoring
Update libnetwork to 005bc475ee49a36ef2ad9c112d1b5ccdaba277d4
Synchronize changes to distribution (was missing _test.go file)

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-02 16:41:02 -07:00
David Calavera af09b06dfa Merge pull request #13675 from runcom/13663-config-regression
Expose old config field for api < 1.19
2015-06-02 15:23:51 -07:00
Antonio Murdaca 6deaa58ba5 Expose old config field for api < 1.19
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-06-02 23:37:59 +02:00
David Calavera 6c42b3947a Merge pull request #12838 from fntlnz/test-cmd
Using dockerCmd when possible
2015-06-02 14:12:22 -07:00
Alexander Morozov 3f26066425 Merge pull request #13591 from kvasdopil/update-go-zfs
Update go-zfs to last version
2015-06-02 14:05:29 -07:00
Ahmet Alp Balkan 4e3b21f99e Allow duration strings as --since/--until
Fixes #13107. This change enables Go duration strings
computed relative to the client machine’s time to be used
as input parameters to `docker events --since/--until`
and `docker logs --since` arguments.

Added unit tests for pkg/timeutils.GetTimestamp as well.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-06-02 21:02:47 +00:00
Doug Davis da255ec962 Merge pull request #13661 from vdemeester/pkg-jsonmessage-test-coverage
Add test coverage to pkg/jsonmessage
2015-06-02 16:54:50 -04:00
Sebastiaan van Stijn 7e8639a9df Merge pull request #13671 from moxiegirl/carry-13147-fix
Tweaking text identified in PR #13147
2015-06-02 21:48:47 +02:00
Alexander Morozov 3df19749d4 Wrap lines for journald docs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-02 12:46:51 -07:00
Mary Anthony cb4af853f6 Tweaking text identified in PR #13147
Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-02 12:44:47 -07:00
Alexander Morozov 8979fe4d8a Change address to syslog-address in syslog docs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-02 12:44:23 -07:00
Alexander Morozov a81af2e26a Add syslog-tag option for syslog log-driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-02 12:43:00 -07:00
Vincent Demeester e6bd8c1e19 Add test coverage to pkg/jsonmessage
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-06-02 21:19:38 +02:00
Phil Estes 63b5d5fadc Merge pull request #13668 from calavera/bump_libnetwork
Bump libnetwork for 1.7 release.
2015-06-02 15:04:38 -04:00
David Calavera ad244668c3 Update libnetwork to 4ded6fe3641b71863cc5985652930ce40efc3af4
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-02 11:30:36 -07:00
Phil Estes 278798236b Merge pull request #13650 from jvgogh/master
Upon HTTP 302 redirect do not include "Authorization" header on 'untr…
2015-06-02 14:23:20 -04:00
Arnaud Porterie 274baf70bf Merge pull request #13576 from stevvooe/verify-digests
Properly verify manifests and layer digests on pull
2015-06-02 11:16:23 -07:00
Jessie Frazelle 7d33bc0bec Merge pull request #13656 from lizf-os/13641-skip-test-on-lxc
test: Skip TestDevicePermissions on lxc
2015-06-02 11:05:22 -07:00
David Calavera ad41efd9a2 Bump libnetwork for 1.7 release.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-02 11:00:54 -07:00
David Calavera 814a92c5a1 Merge pull request #13607 from vieux/PrintfIfNotEmpty
do not print empty values in docker info
2015-06-02 10:52:45 -07:00
Sebastiaan van Stijn bdb6fad34c Merge pull request #13654 from porjo/netipv6
Networking docs: add reference to ndppd
2015-06-02 19:06:17 +02:00
Arnaud Porterie 2de2782fe8 Merge pull request #13666 from runcom/13665-kill-signal-wrong-handled
Fix wrong kill signal parsing
2015-06-02 09:40:55 -07:00
Alexander Morozov 9f098cabfc Merge pull request #13664 from runcom/dead-code
Remove old struct
2015-06-02 09:37:55 -07:00
Sebastiaan van Stijn fbadf11d20 Merge pull request #13633 from ZJU-SEL/fix-doc
fix typo.
2015-06-02 18:36:52 +02:00
Antonio Murdaca 39eec4c25b Fix wrong kill signal parsing
Signed-off-by: Antonio Murdaca <antonio.murdaca@gmail.com>
2015-06-02 18:01:19 +02:00
Vincent Batts d13af493f8 Merge pull request #13630 from vdemeester/pkg-tarsum-test-coverage
Add test coverage for pkg/tarsum
2015-06-02 11:44:42 -04:00
Phil Estes 8a11b40fea Merge pull request #13553 from Microsoft/10662-revert908db
Windows: Undo 908db518 for Windows daemon
2015-06-02 10:22:39 -04:00
Antonio Murdaca da1a77defd Remove old struct
Signed-off-by: Antonio Murdaca <antonio.murdaca@gmail.com>
2015-06-02 16:10:39 +02:00
James Turnbull 879f0fb338 Merge pull request #13657 from chriswahl/patch-1
Corrected VMWare to VMware
2015-06-02 07:41:25 -04:00
Alexey Guskov ea5ce27564 update go-zfs to last version
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-06-02 10:37:38 +03:00
Vincent Demeester 25f7d7822d Add test coverage for pkg/tarsum
And removing unused code.
- tarsum.go :
  NewTarSumHash could be non exported (for now)
  NewTarSumForLabel is never used, except for the tests
- fileinfosums.go:
  SortByPos is never used, except for the tests
- versionning.go:
  GetVersions is never used, expect for the tests

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-06-02 09:08:01 +02:00
Ian Bishop b1a1cff368 Networking docs: add reference to ndppd
Signed-off-by: Ian Bishop <ianbishop@pace7.com>
2015-06-02 15:56:24 +10:00
Chris Wahl 55cea4952b Corrected VMWare to VMware
Corrected spelling of VMware.

Signed-off-by: Chris Wahl <github@wahlnetwork.com>
2015-06-01 22:34:43 -05:00
Zefan Li e55649192e test: Skip TestDevicePermissions on lxc
Closes: #13641

Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-06-02 10:27:54 +08:00
He Simei 0d72772c37 fix typo.
Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-06-02 09:44:52 +08:00
Tibor Vass 1f903f652c Merge pull request #13651 from RichardScothern/v1-mirror-fix
Fallback to pull from hub if mirrors unavailable.
2015-06-01 21:09:54 -04:00
moxiegirl cd79751cfa Merge pull request #13644 from mchiang0610/patch-1
Fix - Download button does not download
2015-06-01 17:33:38 -07:00
Arnaud Porterie 05b1d02423 Merge pull request #13609 from Microsoft/10662-refixserverwindows
Windows: Fix windows to match linux after compile break
2015-06-01 17:03:13 -07:00
Jeffrey van Gogh 65c5105fcc Upon HTTP 302 redirect do not include "Authorization" header on 'untrusted' registries.
Refactoring in Docker 1.7 changed the behavior to add this header where as Docker <= 1.6 wouldn't emit this Header on a HTTP 302 redirect.

This closes #13649

Signed-off-by: Jeffrey van Gogh <jvg@google.com>
2015-06-01 16:12:56 -07:00
Jessie Frazelle aa8d8fdc0c Merge pull request #13611 from duglin/Issue13417a
Allow .dockerignore to ignore everything
2015-06-01 15:59:57 -07:00
Jessie Frazelle 1f472c3768 Merge pull request #13536 from Mic92/master
remove redundant mount/unmount calls on commit
2015-06-01 15:57:14 -07:00
Jessie Frazelle f358b39521 Merge pull request #13597 from sanketsaurav/master
Proposing Bose, Raman and Ramanujan
2015-06-01 15:56:16 -07:00
Richard 6e4ff1bb13 If no endpoint could be established with the given mirror configuration,
fallback to pulling from the hub as per v1 behavior.

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-06-01 15:18:56 -07:00
Victor Vieux c790aa36ea no not print empty keys in docker info
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-06-01 15:05:20 -07:00
Tibor Vass 78bc233a01 registry: debugTransport should print with testing.T.Log
It should not print to STDOUT so that it only prints the debugTransport
output if there was an error in one of the registry tests.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-06-01 17:48:30 -04:00
Jessie Frazelle 488c355d94 Merge pull request #13643 from LK4D4/fix_registry_race
Fix race condition in registry/session
2015-06-01 14:44:12 -07:00
David Calavera 4fde1cb695 Fix stats flaky test.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-06-01 14:05:26 -07:00
Alexander Morozov b7101d528d Merge pull request #13638 from icecrime/maintainers_add_calavera
Add @calavera to maintainers
2015-06-01 14:05:12 -07:00
Alexander Morozov cd80a61cc1 Merge pull request #13443 from duglin/CleanupEvents
Cleanup container LogEvent calls
2015-06-01 14:04:33 -07:00
Michael Chiang 5606f32eec Fix - Download button does not download
Fix - Download button does not download

Users got confused when Kitematic is not being downloaded after clicking on the download button, and instead got brought to a screen to teach them how to download Kitematic.

The additional step caused a significant drop in Kitematic downloads. This pull request fixes the issue, to allow users to directly download Kitematic after clicking on the Download button. 

Signed-off-by: Michael Chiang <michael.chiang@docker.com>
2015-06-01 13:29:44 -07:00
Alexander Morozov 9d98c28855 Fix race condition in registry/session
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-01 13:25:18 -07:00
David Calavera 64a7431663 Merge pull request #13639 from tonistiigi/fix-git-escape
Make sure git remote subdirs don't escape git root
2015-06-01 13:04:39 -07:00
Stephen J Day 84413be3c9 Break down loadManifest function into constituent parts
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-06-01 13:02:50 -07:00
Phil Estes 71d960d455 Merge pull request #13557 from ewindisch/apparmor-unshare-priv
Expand unshare test to include privileged test
2015-06-01 15:43:37 -04:00
John Howard 22b195f241 Windows: Implement ReadMemInfo()
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-01 12:40:33 -07:00
Doug Davis 8232312c1e Cleanup container LogEvent calls
Move some calls to container.LogEvent down lower so that there's
less of a chance of them being missed. Also add a few more events
that appear to have been missed.

Added testcases for new events: commit, copy, resize, attach, rename, top

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-06-01 12:39:28 -07:00
Tonis Tiigi 7f7ebeffe8 Fix breakouts from git root during build
Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com>
2015-06-01 22:10:55 +03:00
Arnaud Porterie 62afcbc6d4 Add @calavera to maintainers
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-06-01 12:02:12 -07:00
Alexander Morozov 24fbcffeac Merge pull request #13560 from Microsoft/10662-statscollector
Windows: Factor out stat collector
2015-06-01 11:39:19 -07:00
Brian Goff d156bc9dd4 Merge pull request #13637 from LK4D4/remove_debug
Remove useless debug message
2015-06-01 11:38:05 -07:00
Alexander Morozov f1b59d64d2 Remove useless debug message
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-06-01 11:15:15 -07:00
Brian Goff a7005c44b5 Merge pull request #13320 from coolljt0725/add_stats_no_stream_show_cpu_usage
Add docker stats --no-stream show cpu usage
2015-06-01 09:40:04 -07:00
David Calavera 6fb454b9f0 Merge pull request #13464 from davidrjenni/10184-fix-auto-created-devices
Fixes issue #10184.
2015-06-01 09:30:04 -07:00
Phil Estes d37aad170f Merge pull request #13568 from jfrazelle/fix-release-script-for-experimental
fix release script for experimental
2015-06-01 12:29:45 -04:00
moxiegirl 7c190b9556 Merge pull request #13523 from moxiegirl/carry-12572-fix
Updating after the pr went through
2015-06-01 09:21:12 -07:00
Mary Anthony 3ce2797541 Updating after the pr went through
Updating with comments.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-01 09:20:31 -07:00
John Howard 68c879406b Windows: Factor out stat collector
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-01 09:11:03 -07:00
Sebastiaan van Stijn 09bfbfd74e Merge pull request #13615 from gesellix/docs-container-create-start
indicate HostConfig to be used for "create container"
2015-06-01 17:46:32 +02:00
Brian Goff b445004364 Merge pull request #13390 from mrjana/cnm_integ
Do not attempt releasing network when not attached to any network
2015-06-01 08:25:20 -07:00
Tobias Gesellchen 16e649c589 indicate HostConfig to be used for "create container"
Closes #13614

Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2015-06-01 07:04:41 +02:00
Sven Dowideit 4caa9392f8 Merge pull request #13622 from jogo/spelling
Fix spelling mistakes in documentation
2015-06-01 11:37:48 +10:00
Joe Gordon 3d87b80b46 Fix spelling mistakes in documentation
While reading  some of the docs I noticed a few errors, so I ran
misspellings (https://pypi.python.org/pypi/misspellings) on markdown files

Signed-off-by: Joe Gordon <joe.gordon0@gmail.com>
2015-05-31 11:53:23 -07:00
moxiegirl 093f57a261 Merge pull request #13460 from moxiegirl/add-created-state-diagram
Updating event diagram with the created state. Cool, thank you.
2015-05-30 19:47:24 -07:00
Jessie Frazelle 0ea14e5c6d Merge pull request #13603 from tianon/consistent-dest
Make "DEST" a make.sh construct instead of ad-hoc
2015-05-30 16:42:10 -07:00
James Turnbull 73683e807d Merge pull request #13616 from konstruktoid/docs_openssl
Docs: sha256 and 4096 when using openssl
2015-05-30 19:20:21 -04:00
Thomas Sjögren 5cd64cb93f aes256 and 4096 bits
squashing down to a single commit and change back to cert.pem

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2015-05-31 01:05:49 +02:00
Lei Jitang 20927ffbe7 Correct the error message of pause and unpause non-running container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-31 03:32:29 +08:00
Aidan Hobson Sayers a121ac858e Restore DEBUG as DOCKER_DEBUG (removed in #10665), add as make variable
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-05-30 19:37:36 +01:00
Tianon Gravi ac3388367b Make "DEST" a make.sh construct instead of ad-hoc
Using "DEST" for our build artifacts inside individual bundlescripts was already well-established convention, but this officializes it by having `make.sh` itself set the variable and create the directory, also handling CYGWIN oddities in a single central place (instead of letting them spread outward from `hack/make/binary` like was definitely on their roadmap, whether they knew it or not; sneaky oddities).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-30 11:16:43 -07:00
Sebastiaan van Stijn f2154a5a6b Merge pull request #13367 from duglin/Issue13353
Add a "Created" state for new containers that haven't been run yet
2015-05-30 19:49:38 +02:00
Lei Jitang 96123a1fd5 Add docker stats --no-stream show cpu usage
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-31 01:25:51 +08:00
Doug Davis dc697b1c9f Add a "Created" state for new containers that haven't been run yet
Closes #13353

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-30 07:48:46 -07:00
Sebastiaan van Stijn 279c877451 Merge pull request #13580 from vdemeester/update-api-commit
Update api documentation to add labels in commit
2015-05-30 14:44:05 +02:00
James Turnbull 18c11dc264 Merge pull request #13612 from duglin/DocsNewLine
Premature newline insertions
2015-05-30 08:33:46 -04:00
Doug Davis e51b311129 Premature newline insertions
Noticed that there were a few newlines in the middle of a \`...\` blocks that
made the text look funny when displayed in HTML.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-30 04:46:24 -07:00
Doug Davis 82ea6ed2bc Allow .dockerignore to ignore everything
Change CLI error msg because it was too specific and didn't make sense
when there were errors not related to inaccessible files.

Removed some log.Error() calls since they're not really errors we should
log. Returning the error will be enough.

Closes: #13417

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-30 04:16:00 -07:00
Vincent Demeester c61fa8471a Update api documentation to add labels in commit
It is already possible to set labels at commit when using the API. But
it is not present in the API documentation. Added an integration test
too, to validate this work (and will be in the future).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-05-30 11:31:51 +02:00
David R. Jenni c913c9921b Fix issue #10184.
Merge user specified devices correctly with default devices.
Otherwise the user specified devices end up without permissions.

Signed-off-by: David R. Jenni <david.r.jenni@gmail.com>
2015-05-30 11:09:47 +02:00
John Howard 2b7569ccc3 Windows: Refix server_windows to match linux
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-29 21:25:27 -07:00
David Calavera 04c6f09fbd Merge pull request #12400 from coolljt0725/kill_all_containers_on_daemon_shutdown
Ensure all the running containers are killed on daemon shutdown
2015-05-29 16:45:57 -07:00
Stephen J Day 74528be903 Add tests for loadManifest digest verification
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-05-29 16:30:21 -07:00
Sebastiaan van Stijn 1613897d2d Merge pull request #13561 from icecrime/warn_overlay_docs
Add note about overlay not being production ready
2015-05-30 01:24:02 +02:00
Sanket Saurav a18c0b3b3c Proposing Bose, Raman and Ramanujan
Signed-off-by: Sanket Saurav <sanketsaurav@gmail.com>
2015-05-30 04:14:11 +05:30
Jessie Frazelle 3aa4a3a0c5 Merge pull request #13606 from runcom/revert-doc-in-api-1-19
Revert api doc for 1.19 about PortSpecs removal
2015-05-29 15:42:56 -07:00
Antonio Murdaca c42ede311b Revert api doc for 1.19 about PortSpecs removal
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-30 00:32:03 +02:00
Stephen J Day 1e653ab645 Attempt to retain tagging behavior
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-05-29 15:20:37 -07:00
Stephen J Day 06612cc0fe Properly verify manifests and layer digests on pull
To ensure manifest integrity when pulling by digest, this changeset ensures
that not only the remote digest provided by the registry is verified but also
that the digest provided on the command line is checked, as well. If this check
fails, the pull is cancelled as with an error. Inspection also should that
while layers were being verified against their digests, the error was being
treated as tech preview image signing verification error. This, in fact, is not
a tech preview and opens up the docker daemon to man in the middle attacks that
can be avoided with the v2 registry protocol.

As a matter of cleanliness, the digest package from the distribution project
has been updated to latest version. There were some recent improvements in the
digest package.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-05-29 15:20:28 -07:00
David Calavera eaa9c1b97e Merge pull request #13596 from jfrazelle/11414-fix-once-and-for-all
fix bug with rmi multiple tag
2015-05-29 15:10:22 -07:00
David Calavera 4389fc8bf9 Merge pull request #13425 from runcom/13421-stats-default-stream
Fix regression in stats API endpoint
2015-05-29 15:05:21 -07:00
Antonio Murdaca d79654d0f6 Merge pull request #13567 from draghuram/apiver
Make the version mismatch message more explicit.
2015-05-29 23:39:48 +02:00
Jessie Frazelle d96ca04f24 Merge pull request #13601 from tianon/precise
Finally add precise/12.04 as a build-deb target
2015-05-29 14:35:07 -07:00
David Calavera ec167972bf Merge pull request #13446 from runcom/remove-PortSpecs
Remove PortSpecs from Config
2015-05-29 14:31:48 -07:00
Jessie Frazelle 4d9191e15d Merge pull request #13604 from tianon/vim-embedded-shell
Add embedded shell script highlight to vim syntax
2015-05-29 14:17:07 -07:00
Jessie Frazelle e2524d8ace Merge pull request #13605 from tianon/vim-dockerfile
Adjust vim ftdetect to match "Dockerfile", "dockerfile", and "Dockerfile.*" which are all reasonably safe to assume "this is a Dockerfile"
2015-05-29 14:16:50 -07:00
Jessie Frazelle a39de41871 Merge pull request #13527 from duglin/FixImagesPrefixNotFound
Fix error when trying to delete an image due to a bad container
2015-05-29 14:09:26 -07:00
Jessica Frazelle 185f392691 fix bug with rmi multiple tag
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-29 14:04:06 -07:00
Phil Estes 1680c78e63 Merge pull request #13577 from WeiZhang555/httpClose
bug fix: close http response body no longer in use
2015-05-29 16:59:17 -04:00
Phil Estes 8d726709ad Merge pull request #13578 from WeiZhang555/errRet
return error when failed to read http response body
2015-05-29 16:57:27 -04:00
Arnaud Porterie 67cb748e26 Add note about overlay not being production ready
Add a paragraph in cli.md mentioning that overlay is not a production
ready graphdriver.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-29 13:53:09 -07:00
Tianon Gravi e02744404d Adjust vim ftdetect to match "Dockerfile", "dockerfile", and "Dockerfile.*" which are all reasonably safe to assume "this is a Dockerfile"
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-29 13:46:51 -07:00
Tianon Gravi 62d3b1bf2e Add embedded shell script highlight to vim syntax
This highlights `RUN`, `CMD`, and `ENTRYPOINT` lines using shell highlighting.  It doesn't bother detecting the JSON forms, but that's OK because JSON arrays highlight pretty reasonably with shell highlights. :)

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-29 13:39:37 -07:00
Antonio Murdaca ec97f41465 Fix regression in stats API endpoint where stream query param default is true
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-29 22:38:36 +02:00
Alexander Morozov 3b831a2f3a Merge pull request #13589 from vdemeester/pkg-stringutils-test-coverage
Add test coverage for pkg/stringutils
2015-05-29 13:38:12 -07:00
Antonio Murdaca 15134a3320 Remove PortSpecs from Config
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-29 22:38:09 +02:00
Alexander Morozov c42810fe99 Merge pull request #13564 from burke/fix-memory-leak
Use bufio.Reader instead of bufio.Scanner for logger.Copier
2015-05-29 13:37:15 -07:00
Alexander Morozov 04a451998f Merge pull request #13255 from vdemeester/11588-pkg-pools-test-coverage
Add test coverage for pkg/pools (#11588)
2015-05-29 13:36:20 -07:00
David Calavera 4c9fd72a91 Merge pull request #13598 from calavera/fix_windows_build
Do not require cgroups capabilities on windows to run the integration tests.
2015-05-29 12:57:40 -07:00
Tianon Gravi 98180b8954 Finally add precise/12.04 as a build-deb target
Ubuntu Precise has a number of warts that made it non-trivial to add initially, but I've managed to work through some of them and come up with a working build.  Two important parts to note are that it has neither the `btrfs` nor the `devicemapper` graphdriver backends since `btrfs-tools` and `libdevmapper-dev` in the precise repositories are too ancient for them to even compile.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-29 12:55:58 -07:00
Jessie Frazelle b21ef2d1d3 Merge pull request #13581 from s7v7nislands/fix_lxc_url
update lxc url
2015-05-29 11:48:44 -07:00
David Calavera a914101296 Do not require cgroups capabilities on windows to run the integration tests.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-29 11:42:40 -07:00
Alexander Morozov 6d8e517bce Merge pull request #13482 from boucher/criu-libcontainer-update
Update vendored libcontainer
2015-05-29 10:28:58 -07:00
David Calavera f1fed87fc0 Merge pull request #13392 from runcom/syslog-connection-url-log-opt
Add syslog-address log-opt
2015-05-29 10:21:57 -07:00
Jessica Frazelle b372f9f224 fix experimental version and release script
add api version experimental

Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-29 10:00:22 -07:00
Tianon Gravi 24d9edd8d1 Merge pull request #13585 from albers/completion-1.7
Update bash completion for 1.7.0
2015-05-29 09:43:44 -07:00
Burke Libbey f779cfc5d8 Use bufio.Reader instead of bufio.Scanner for logger.Copier
When using a scanner, log lines over 64K will crash the Copier with
bufio.ErrTooLong. Subsequently, the ioutils.bufReader will grow without
bound as the logs are no longer being flushed to disk.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-05-29 12:29:42 -04:00
moxiegirl 87d36079a7 Merge pull request #13574 from anchal-agrawal/13345-fix-mac-install-docs
Fixing Mac Boot2Docker installation doc  Your fix has left the building.
2015-05-29 09:13:04 -07:00
Brian Goff 00b8d37084 Merge pull request #13563 from calavera/fix_bind_mount_regression
Mount bind volumes coming from the old volumes configuration.
2015-05-29 11:13:33 -04:00
Vincent Demeester 6c36572e8b Add test coverage for pkg/stringutils
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-05-29 15:49:29 +02:00
Doug Davis 34342e9cef Merge pull request #13583 from vdemeester/pkg-timeutils-test-coverage
Add test coverage to pkg/timeutils
2015-05-29 09:35:34 -04:00
Alexey Guskov 112b7e6546 avoid 88-chars mountpoint length limit on freebsd
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-05-29 16:33:04 +03:00
moxiegirl 059dc15ab9 Merge pull request #12773 from HuKeping/update-docs
Fix inconsistent of remote API and document
2015-05-29 06:27:15 -07:00
Hu Keping 22fda380a9 Fix inconsistent of remote API and document
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-05-29 22:56:35 +08:00
Vincent Demeester 9aa8a590b7 Add test coverage to pkg/timeutils
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-05-29 15:09:35 +02:00
Harald Albers b2832dffe5 Update bash completion for 1.7.0
Signed-off-by: Harald Albers <github@albersweb.de>
2015-05-29 12:42:59 +02:00
XiaoBing Jiang 2b69b326bc update lxc url
Signed-off-by: XiaoBing Jiang <s7v7nislands@gmail.com>
2015-05-29 16:10:57 +08:00
Zhang Wei de225b5d13 return error when failed to read http response body
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-05-29 12:52:51 +08:00
Zhang Wei 6c49576a86 bug fix: close http response body no longer in use
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-05-29 12:03:40 +08:00
Anchal Agrawal 27ffccf540 Fixing Mac Boot2Docker installation doc
Signed-off-by: Anchal Agrawal <aagrawa4@illinois.edu>
2015-05-28 22:53:54 -05:00
Jessie Frazelle 7f6a7973cd Merge pull request #13566 from jfrazelle/fix-lxc-tests
skip test on lxc
2015-05-28 16:19:21 -07:00
Jessie Frazelle fcdea09ea5 Merge pull request #13530 from jfrazelle/bump-api-version
bump api version to 1.20
2015-05-28 16:14:30 -07:00
David Calavera 7317b84ce0 Merge pull request #13558 from calavera/doc_ulimit
Add comment about ulimit format.
2015-05-28 15:51:06 -07:00
Antonio Murdaca e8c88d2533 Add syslog-address log-opt
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-29 00:42:11 +02:00
Jessica Frazelle e76d0f5571 bump api version to 1.20
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-28 15:32:05 -07:00
moxiegirl 742a8a6cff Merge pull request #13562 from moxiegirl/fixes-to-119-api
Fixes to the 1.19 version Thank you @thaJeztah and @jfrazelle!
2015-05-28 15:25:08 -07:00
Raghuram Devarakonda 7b6f9da52c Make the version mismatch message more explicit.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-05-28 17:54:48 -04:00
Jessica Frazelle 1392f99a97 skip test on lxc
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-28 14:54:12 -07:00
Mary Anthony 30901609a8 Fixes to the 1.19 version
updating with changes to this instant
Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-28 14:25:26 -07:00
Jessie Frazelle 1f22676fcb Merge pull request #13559 from LK4D4/fix_systemd_listen
Treat systemd listeners as all other
2015-05-28 14:15:34 -07:00
David Calavera 9292859fce Add comment about ulimit format.
Fixes #12116

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-28 14:14:07 -07:00
David Calavera 53d9609de4 Mount bind volumes coming from the old volumes configuration.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-28 14:06:17 -07:00
Eric Windisch e58161fedc Expand unshare test to include privileged test
This ensures that AppArmor, not other mechanisms used
by Docker or the kernel is restricting the mount.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-05-28 16:49:48 -04:00
Alexander Morozov 6f9fa64645 Treat systemd listeners as all other
Fix #13549

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-28 12:15:03 -07:00
John Howard d66ae67418 Windows: Undo 908db518 for Windows daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-28 12:04:09 -07:00
Alexander Morozov 3bda841e3e Merge pull request #13430 from runcom/fix-race-modify-request
Fix race in httpsRequestModifier.ModifyRequest when writing tlsConfig
2015-05-28 11:31:04 -07:00
David Calavera 37cc42ee0e Merge pull request #13416 from Microsoft/10662-fixintegrationtests
Windows: Pass temp environment through
2015-05-28 11:22:37 -07:00
David Calavera 617a0c2fde Merge pull request #13428 from duglin/niceHelp2
Nice help2
2015-05-28 11:09:02 -07:00
David Calavera f99a962742 Merge pull request #13539 from tianon/deb-ubuntu-wily
Add Ubuntu Wily (15.10) as a build-deb target
2015-05-28 11:01:27 -07:00
David Calavera 24a0800d87 Merge pull request #13551 from albers/pgp-over-http
Use http for PGP key download
2015-05-28 10:59:14 -07:00
Jessie Frazelle 5bb6262d88 Merge pull request #13529 from hqhq/hq_skip_cgroup_test
Skip test if not have Cpu quota or Cpu period
2015-05-28 10:57:32 -07:00
David Calavera 85096cfd4f Merge pull request #13512 from moysesb/progressreader_close_silently
Close progressreader silently when read is complete.
2015-05-28 10:54:08 -07:00
David Calavera 0256bbdebb Merge pull request #13039 from stevenbrichards/13031-Upstart
Fix check for upstart not detecting properly
2015-05-28 10:38:55 -07:00
Alexander Morozov b90732f801 Merge pull request #13548 from kvasdopil/zfs_magicnum
ZFS filesystem magic number check is fixed on FreeBSD
2015-05-28 10:27:12 -07:00
Moysés Borges 709fa2ad87 Modified progress reader to close silently when read is complete.
Closes #13432

Signed-off-by: Moysés Borges <moysesb@gmail.com>
2015-05-28 14:09:30 -03:00
Brian Goff 45488f9dc0 Merge pull request #13259 from Microsoft/10662-configbridge
Windows: factor out bridgeConfig from server+config
2015-05-28 12:59:57 -04:00
David Calavera 70bedc8ee5 Merge pull request #13538 from tianon/rpm-fedora-22
Add fedora:22 to our rpm targets
2015-05-28 09:55:09 -07:00
Steven Richards e5ff643aed Fixes #13031 - Check for upstart or init is not detecting properly
This will now properly check whether /etc/init.d/docker or service docker is
invoking the script and respond to the user accordingly.

Signed-off-by: Steven Richards <steven@axiomzen.co>
2015-05-28 09:52:05 -07:00
Brian Goff 27919bab2d Merge pull request #13269 from Microsoft/10662-statsrefactor
Windows: refactor stats
2015-05-28 12:46:34 -04:00
Brian Goff 33c7c01a62 Merge pull request #13055 from Microsoft/10662-internalsfixperms
Windows: Fixup builder/internals.go
2015-05-28 12:31:45 -04:00
Brian Goff a364dd8fc6 Merge pull request #13535 from coolljt0725/fix_automatically_publish_without_publish
Fix automatically publish ports without --publish-all or --publish
2015-05-28 11:49:53 -04:00
Alexey Guskov 36bf6e4440 zfs magicnumber check on freebsd is fixed
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-05-28 18:38:08 +03:00
Harald Albers c1c5d760a6 Use http for PGP key download
Signed-off-by: Harald Albers <github@albersweb.de>
2015-05-28 16:43:36 +02:00
Brian Goff ac7a33b45c Merge pull request #13541 from coolljt0725/remove_reduntant_enter_create
Clean up: remove redundant '\n' in Create
2015-05-28 10:30:07 -04:00
Lei Jitang bcd076b5fe Clean up: remove redundant '\n' in Create
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-28 17:08:55 +08:00
Tianon Gravi 38c77ba876 Add Ubuntu Wily (15.10) as a build-deb target
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-28 01:06:11 -07:00
Tianon Gravi 96903c837f Add fedora:22 to our rpm targets
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-28 01:01:45 -07:00
Sebastiaan van Stijn 7011d9ee8a Merge pull request #13515 from lloydde/doc-cli-lint
doc cli lint.
2015-05-28 09:13:25 +02:00
Qiang Huang 34e5b6af19 Skip test if not have Cpu quota or Cpu period
Closes: #13522

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-28 14:59:58 +08:00
Jörg Thalheim 6473b0f127 remove redundant mount/unmount calls on commit
daemon.Diff already implements mounting for naivegraphdriver and
aufs which does diffing on its owns does not need the container to be mounted.
So new filesystem driver should mount filesystems on their own if it is needed
to implement Diff(). This issue was reported by @kvasdopil while working on a
freebsd port, because freebsd does not allow mount an already mounted
filesystem. Also it saves some cycles for other operating systems as well.

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-28 08:43:31 +02:00
Tianon Gravi 15b45113eb Merge pull request #13532 from jfrazelle/fix-fix-release-script
fix release script
2015-05-27 23:17:45 -06:00
Jessica Frazelle 9f619282db fix release script
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-27 20:57:46 -07:00
Doug Davis 71a4990229 Fix error when trying to delete an image due to a bad container
I ran into a situation where I was trying:
	`docker rmi busybox`
and it kept failing saying:
    `could not find image: Prefix can't be empty`

While I have no idea how I got into this situation, it turns out this is
error message is from `daemon.canDeleteImage()`. In that func we loop over
all containers checking to see if they're using the image we're trying to
delete.  In my case though, I had a container with no ImageID. So the code
would die tryig to find that image (hence the "Prefix can't be empty" err).
This would stop all processing despite the fact that the container we're
checking had nothing to do with 'busybox'.

My change logs the bad situation in the logs and then skips that container.
There's no reason to fail all `docker rmi ...` calls just because of one
bad container.

Will continue to try to figure out how I got a container w/o an ImageID
but as of now I have no idea, I didn't do anything but normal docker cli
commands.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-27 19:19:43 -07:00
Tibor Vass 2daede5a9c Merge pull request #13374 from RichardScothern/v2-mirror
V2 mirror support
2015-05-27 21:15:26 -04:00
Arnaud Porterie c2e8f07a05 Merge pull request #13518 from mrjana/clone
Vendoring in libnetwork 2da2dc055de5a474c8540871ad88a48213b0994f
2015-05-27 17:42:10 -07:00
Richard e817e08481 Review feedback:
- Match verbiage with other output
    - Remove dead code and clearer flow

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-05-27 17:29:24 -07:00
Jana Radhakrishnan d429465b37 Vendoring in libnetwork 2da2dc055de5a474c8540871ad88a48213b0994f
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-28 00:04:01 +00:00
Tianon Gravi c9d3681a5d Merge pull request #13477 from kvasdopil/freebsd-build
Make hack/make.sh work on FreeBSD
2015-05-27 17:42:49 -06:00
David Calavera 49e734c6e4 Merge pull request #13496 from Microsoft/10662-windefaults
Windows: Set default exec driver to windows
2015-05-27 16:02:24 -07:00
Richard f6f7d35248 Restore the stripped registry version number
Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-05-27 15:15:47 -07:00
Lloyd Dewolf b4a52fc4e9 doc cli lint.
- 79 char line length (non-command).
- Consistent single space between sentences.
- Replace start of line tabs with spaces.
- Remove trailing white space.
- Consistent "**Note:**" style.
  https://docs.docker.com/project/doc-style/#notes
- Replace the ``` sections with indented code.

Signed-off-by: Lloyd Dewolf <foolswisdom@gmail.com>
2015-05-27 15:07:57 -07:00
Arnaud Porterie ec471a7c9b Merge pull request #12572 from jfrazelle/selinux-labels-carry
Modify volume mounts SELinux labels on the fly based on :Z or :z
2015-05-27 14:46:16 -07:00
Brian Goff b2a43baf2e Use SELinux labels for volumes
Fixes a regression from the volumes refactor where the vfs graphdriver
was setting labels for volumes to `s0` so that they can both be written
to by the container and shared with other containers.
When moving away from vfs this was never re-introduced.
Since this needs to happen regardless of volume driver, this is
implemented outside of the driver.

Fixes issue where `z` and `Z` labels are not set for bind-mounts.

Don't lock while creating volumes

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-27 13:43:38 -07:00
Dan Walsh 35a7f0c59e Merge branch 'master' of github.com:docker/docker into kill
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-05-27 16:37:32 -04:00
David Calavera f5d3311839 Merge pull request #13449 from duglin/FixRaceInStop
Fix race condition on container stop
2015-05-27 13:05:53 -07:00
Jessica Frazelle af7d17a6c9 apply selinux labels volume patch on volumes refactor
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-27 12:50:16 -07:00
Dan Walsh 160dc79db0 Modify volume mounts SELinux labels on the fly based on :Z or :z
This patch is extending the qualifiers on the -v command to allow
an admin to tell the system to relabel, content. There might be a
need for something similar for changing the DAC Permissions.

Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-27 12:50:16 -07:00
Alexander Morozov 7b57fae046 Merge pull request #13507 from hqhq/hq_remove_redundant_set_header
Remove redundant set header
2015-05-27 10:44:57 -07:00
David Calavera 26650e2ccc Merge pull request #13483 from jfrazelle/lxc-we-meet-again
fix lxc tests unshare, they dont use our apparmor profile
2015-05-27 10:22:31 -07:00
Doug Davis b29f3bb1c3 Merge pull request #13506 from hqhq/hq_fix_wrong_return_nil
Return err if we got err on parseForm
2015-05-27 12:38:53 -04:00
Alexander Morozov 2029257e3c Merge pull request #13493 from jlhawn/volume_unmount_fix
Fix container unmount networkMounts
2015-05-27 08:44:11 -07:00
Phil Estes f3e56420a3 Merge pull request #13499 from cpuguy83/fix_stats_unsubscribe
Fix unregister stats on when rm running container
2015-05-27 11:10:36 -04:00
Dan Walsh 66121d1b45 Merge branch 'master' of github.com:docker/docker into kill
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-05-27 11:00:12 -04:00
Antonio Murdaca 3f66f6f2f0 Merge pull request #13500 from HuKeping/cleanup
Remove unused code
2015-05-27 13:59:40 +02:00
Hu Keping a34cb32186 Remove unused code
As far as I see, it's a dead code.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-05-27 22:39:02 +08:00
Qiang Huang 94d604357f Remove redundant set header
Which is already done in writeJSON.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-27 18:25:57 +08:00
Qiang Huang 7c7aebfcfe Return err if we got err on parseForm
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-27 18:16:28 +08:00
Lei Jitang 13f2aa7068 Add --net=container with --publish --publish-all --expose error out
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-27 15:31:06 +08:00
Alexey Guskov f228fb09ac script cleaned up
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-05-27 10:21:09 +03:00
Brian Goff b3e8ab3021 Fix unregister stats on when rm running container
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-26 22:22:03 -04:00
moxiegirl e580734149 Merge pull request #13406 from moxiegirl/experimental-work
Placeholder Part II: For commenting about install
2015-05-26 18:19:26 -07:00
Lei Jitang bdb77078b5 Ensure all the running containers are killed on daemon shutdown
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-27 09:09:25 +08:00
Josh Hawn 04f99a6ca8 Fix container unmount networkMounts
UnmountVolumes used to also unmount 'specialMounts' but it no longer does after
a recent refactor of volumes. This patch corrects this behavior to include
unmounting of `networkMounts` which replaces `specialMounts` (now dead code).

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-05-26 17:38:26 -07:00
Arnaud Porterie b50e780925 Merge pull request #13491 from jfrazelle/revert-exec-privileged
Revert "Add docker exec run a command in privileged mode"
2015-05-26 16:41:50 -07:00
Brian Goff 838e1a8947 Merge pull request #13487 from calavera/volume_load_regression_test
Add regression test to make sure we can load old containers with volumes.
2015-05-26 19:40:08 -04:00
Tibor Vass 54b514735c Merge pull request #12881 from nakedible/patch-1
Prevent fallback to v1 registry for digest pulls
2015-05-26 19:24:37 -04:00
John Howard 041ba90dbb Windows: Set default exec driver to windows
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-26 16:17:33 -07:00
Mary Anthony 1ba1a0550f Fixes title, line wrap, and Adds install area
Tibor's comment
Updating with the new plugins
Entering comments from Seb

Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-26 15:37:38 -07:00
Alexander Morozov 0d445685b8 Merge pull request #13444 from runcom/fix-race-stats
Fix race in stats cli and native driver
2015-05-26 15:34:50 -07:00
David Calavera ea0e15ba62 Add regression test to make sure we can load old containers with volumes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-26 15:28:58 -07:00
Arnaud Porterie bd18d86250 Merge pull request #13492 from calavera/donot_force_syscall_unmount_on_cleanup
Do not force `syscall.Unmount` on container cleanup.
2015-05-26 15:23:16 -07:00
David Calavera f78dce152c Do not force syscall.Unmount on container cleanup.
This is not necessary and it's a regression from the old behavior.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-26 14:28:26 -07:00
Alexander Morozov de318d8c1d Merge pull request #13489 from cpuguy83/cleanup_rm_funcs
Cleanup container rm funcs
2015-05-26 14:24:02 -07:00
Jessica Frazelle 40b71adee3 Revert "Add docker exec run a command in privileged mode"
This reverts commit 72a500e9e5.

Signed-off-by: Jessica Frazelle <princess@docker.com>

Conflicts:
	daemon/execdriver/native/exec.go
	integration-cli/docker_cli_exec_test.go
	runconfig/exec.go
2015-05-26 14:12:16 -07:00
Arnaud Porterie 47e727d1fc Merge pull request #13440 from LK4D4/fix_bridge_none
Fix network with -b none
2015-05-26 14:08:21 -07:00
Tianon Gravi 3b795e035b Merge pull request #13409 from LK4D4/add_opts_to_checkconfig
Add some opts to checkconfig
2015-05-26 13:54:23 -06:00
boucher 4509f91b26 Update vendored libcontainer to v2.1
Docker-DCO-1.1-Signed-off-by: Ross Boucher <rboucher@gmail.com> (github: boucher)
2015-05-26 12:47:57 -07:00
Brian Goff f8628ba891 Cleanup container rm funcs
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-26 15:38:52 -04:00
Derek McGowan c19962ade1 Allow mirroring only for the official index
Strip authconfig from session to keep credentials from being sent to the mirror.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-26 11:08:19 -07:00
Richard 13deed3801 Registry v2 mirror support.
The v2 registry will act as a pull-through cache, and needs to be
handled differently by the client to the v1 registry mirror.

See docker/distribution#459 for details

Configuration

Only one v2 registry can be configured as a mirror. Acceptable configurations
in this chanage are: 0...n v1 mirrors or 1 v2 mirror. A mixture of v1 and v2
mirrors is considered an error.

Pull

If a v2 mirror is configured, all pulls are redirected to that mirror. The
mirror will serve the content locally or attempt a pull from the upstream mirror,
cache it locally, and then serve to the client.

Push

If an image is tagged to a mirror, it will be pushed to the mirror and be
stored locally there. Otherwise, images are pushed to the hub. This is
unchanged behavior.

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
2015-05-26 11:08:19 -07:00
David Calavera fc679bebb9 Merge pull request #13479 from Microsoft/10662-fixcontaineragain
Windows: Fix up container again
2015-05-26 10:49:48 -07:00
Arnaud Porterie 7853bd29ec Merge pull request #13480 from Microsoft/10662-fixvolumecompile
Windows: Fix volume_windows compile
2015-05-26 10:32:44 -07:00
Jessica Frazelle a08fb73f93 fix lxc tests unshare, they dont use our apparmor profile
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-26 10:31:21 -07:00
John Howard 1dc0499b64 Windows: Fix volume_windows compile
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-26 09:43:21 -07:00
John Howard 5d207de509 Windows: Fix up container again
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-26 09:33:55 -07:00
Brian Goff 0fccc40307 Merge pull request #13471 from ibuildthecloud/no-nil
Preinitialize MountPoints to avoid assigning to a nil map
2015-05-26 12:26:49 -04:00
Sebastiaan van Stijn aee9ac302d Merge pull request #13335 from jfrazelle/add-apparmor-unshare-test
add unshare apparmor profile test
2015-05-26 17:32:45 +02:00
Alexey Guskov 9e00e34092 Make hack/make.sh work on FreeBSD
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-05-26 15:59:36 +03:00
Antonio Murdaca 9e425d56d0 Add lock before accessing native driver active containers
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-26 13:55:02 +02:00
Antonio Murdaca 77280a87b7 Fix race in stats cli and native driver
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-26 13:55:02 +02:00
Darren Shepherd 59214a0737 Preinitialize MountPoints to avoid assigning to a nil map
Fixes #13435

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-25 19:37:57 -07:00
James Turnbull 628c396555 Merge pull request #13467 from epc/epc-2015145
Documentation Copy edits for typos
2015-05-25 14:32:17 -04:00
Ed Costello 7d75c5be95 Copy edits for typos
Signed-off-by: Ed Costello <epc@epcostello.com>
2015-05-25 13:39:56 -04:00
Sebastiaan van Stijn 8efd87f5a2 Merge pull request #13447 from justone/mention-dockviz-alternative
mention dockviz alternative
2015-05-25 19:26:19 +02:00
Sebastiaan van Stijn 187362414d Merge pull request #13418 from donkirkby/patch-1
small formatting and grammar fixes
2015-05-25 19:15:47 +02:00
Nate Jones 453c0abf1c mention dockviz alternative
closes #13431

Signed-off-by: Nate Jones <nate@endot.org>
2015-05-25 09:43:25 -07:00
Sebastiaan van Stijn c12081987a Merge pull request #13461 from moxiegirl/add-glossary-back
Adding back in Glossary
2015-05-25 18:32:15 +02:00
Sebastiaan van Stijn 5f57143b31 Merge pull request #13458 from janjaapdriessen/patch-1
Fix markdown syntax for "docker run" instruction example
2015-05-25 18:07:19 +02:00
Don Kirkby 5051aee555 small formatting and grammar fixes
Having the line break in the middle of a code span caused the line break to appear on the web site version, even though it doesn't appear in the preview.

The other two changes are just small grammar improvements.

Signed-off-by: don <donkirkby@gmail.com>
2015-05-25 09:05:42 -07:00
Sebastiaan van Stijn e2ed11df13 Merge pull request #13445 from lloydde/doc-cli-no-head
doc: cli images examples rm "| head".
2015-05-25 17:32:13 +02:00
Jan-Jaap Driessen 02405a96b2 Markdown changes (thanks to runcom for the rebase+squash handholding)
Signed-off-by: Jan-Jaap Driessen <janjaapdriessen@gmail.com>
2015-05-25 17:24:41 +02:00
Mary Anthony 08da08f3f9 Adding back in Glossary
Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-25 07:39:27 -07:00
Mary Anthony 9c65862cd6 Updating with the created state
Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-25 07:33:01 -07:00
Doug Davis 29bdcaf3cf Fix race condition on container stop
I'm fairly consistently seeing an error in
DockerSuite.TestContainerApiRestartNotimeoutParam:

docker_api_containers_test.go:969:
    c.Assert(status, check.Equals, http.StatusNoContent)
    ... obtained int = 500
    ... expected int = 204

And in the daemon logs I see:
INFO[0003] Container 8cf77c20275586b36c5095613159cf73babf92ba42ed4a2954bd55dca6b08971 failed to exit within 0 seconds of SIGTERM - using the force
ERRO[0003] Handler for POST /containers/{name:.*}/restart returned error: Cannot restart container 8cf77c20275586b36c5095613159cf73babf92ba42ed4a2954bd55dca6b08971: [2] Container does not exist: container destroyed

ERRO[0003] HTTP Error                                    err=Cannot restart container 8cf77c20275586b36c5095613159cf73babf92ba42ed4a2954bd55dca6b08971: [2] Container does not exist: container destroyed
 statusCode=500

Note the "container destroyed" error message.  This is being generatd by
the libcontainer code and bubbled up in container.Kill() as a result of the
call to `container.killPossiblyDeadProcess(9)` on line 439.

See the comment in the code, but what I think is going on is that because we
don't have any timeout on the Stop() call we immediate try to force things to
stop. And by the time we get into libcontainer code the process just finished
stopping due to the initial signal, so this secondary sig-9 fails due to the
container no longer running (ie. its 'destroyed').

Since we can't look for "container destroyed" to just ignore the error, because
some other driver might have different text, I opted to just ignore the error
and keep going - with the assumption that if it couldnt send a sig-9 to the
process then it MUST be because its already dead and not something else.

To reproduce this I just run:
curl -v -X POST http://127.0.0.1:2375/v1.19/containers/8cf77c20275586b36c5095613159cf73babf92ba42ed4a2954bd55dca6b08971/restart

a few times and then it fails with the HTTP 500.

Would like to hear some other ideas on to handle this since I'm not
thrilled with the proposed solution.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-25 04:28:23 -07:00
Sebastiaan van Stijn fd28f15288 Merge pull request #13452 from WeiZhang555/cleanup
Cleanup: change test func name
2015-05-25 13:11:31 +02:00
Zhang Wei ab121345ee Cleanup: change test func name
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-05-25 14:51:10 +08:00
Lloyd Dewolf ca23ac37ef doc: cli images examples rm "| head".
It's a given that lines of example output might be truncated or come
from a contrived environment.

Signed-off-by: Lloyd Dewolf <foolswisdom@gmail.com>
2015-05-24 14:04:13 -07:00
Alexander Morozov 3cb14df68c Fix network with -b none
* Don't AllocateNetwork when network is disabled
* Don't createNetwork in execdriver when network is disabled

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-24 08:26:59 -07:00
Arnaud Porterie f83073d3eb Merge pull request #13424 from mavenugo/vendorin
Vendoring in libnetwork 67438080724b17b641b411322822c00d0d3c3201
2015-05-23 21:08:58 -07:00
John Howard ead2f80073 Windows: factor out bridge server+config
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-23 19:22:06 -07:00
Arnaud Porterie bce3e761c0 Merge pull request #13161 from calavera/plugin_discovery
Proposal: Volume refactor and external volume plugins
2015-05-23 18:44:18 -07:00
Madhu Venugopal a3d22c764c Vendoring in libnetwork 67438080724b17b641b411322822c00d0d3c3201
This version brings in upto-date important bug-fixes from libnetwork

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-23 18:42:34 -07:00
moxiegirl 2e2e36e476 Merge pull request #13427 from moxiegirl/event-state-12164
Finally, finally, close #12164
2015-05-23 15:37:57 -07:00
Antonio Murdaca a27395e6df Fix race in httpsRequestModifier.ModifyRequest when writing tlsConfig
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-23 23:50:08 +02:00
Mary Anthony 6de4138465 Finally, finally, close #12164
Updating with typo Seb found

Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-23 14:27:50 -07:00
Doug Davis 8324d7918b Carry #11858
Continues 11858 by:
- Making sure the exit code is always zero when we ask for help
- Making sure the exit code isn't zero when we print help on error cases
- Making sure both short and long usage go to the same stream (stdout vs stderr)
- Making sure all docker commands support --help
- Test that all cmds send --help to stdout, exit code 0, show full usage, no blank lines at end
- Test that all cmds (that support it) show short usage on bad arg to stderr, no blank line at end
- Test that all cmds complain about a bad option, no blank line at end
- Test that docker (w/o subcmd) does the same stuff mentioned above properly

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-23 09:14:18 -07:00
Alexander Morozov 89582f9781 Merge pull request #13403 from hqhq/hq_fix_ipcmode_check
Don't check running container at create time
2015-05-23 08:32:51 -07:00
Arnaud Porterie 8d0486832d Document in the experimental section
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
(cherry picked from commit a31633c2707c78c2ffd684a5a3e576f310af0fb5)
2015-05-22 17:00:04 -07:00
David Calavera ab8a5bcf04 Move Documentation changes out or this PR.
The will come in a follow up PR inside the experimental section.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-22 16:58:48 -07:00
David Calavera d592778f4a Propagate unmount events to the external volume drivers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-22 16:43:34 -07:00
Qiang Huang 84aae5a226 Don't check running container at create time
We should let user create container even if the container he wants
join is not running, that check should be done at start time.

In this case, the running check is done by getIpcContainer() when
we start container.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-23 07:15:14 +08:00
John Howard fba44a7ccf Windows: Pass temp environment through
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-22 15:14:22 -07:00
Jessie Frazelle 4bcfa47362 Merge pull request #13414 from tiborvass/no-distrib-in-dockerfile
Remove distribution source code from /go/src
2015-05-22 15:11:36 -07:00
Tibor Vass 2b0b0c4b97 Remove distribution source code from /go/src
We already vendor distribution under ./vendor, but
because the GOPATH is /go:/go/src/github.com/.../vendor
Go will always compile the source code at /go not in ./vendor.

Apart from the fact that it is very inconvenient during
development, it was also a time-bomb: someone vendors a fix
from upstream distribution, but forgets to update
REGISTRY_COMMIT in the Dockerfile, and the binary doesn't get
the fix.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-05-22 16:50:56 -04:00
Alexander Morozov 6cc4cf7c0c Add BRIDGE_NETFILTER to check-config.sh
It is needed to use network with --userland-proxy=false and for
--icc=false

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-22 10:46:55 -07:00
Jessie Frazelle f2c0b54315 Merge pull request #13408 from jfrazelle/13407-fix-experimental-build
lol 108 chars ETOOMANY
2015-05-22 10:42:57 -07:00
Alexander Morozov ceca037d05 Add optional CONFIG_BLK_CGROUP and CONFIG_IOSCHED_CFQ to check-config.sh
It is needed for blkio.weight support

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-22 10:41:29 -07:00
Michael Crosby ed9ad0be6d Merge pull request #13391 from jfrazelle/add-security-maintainers
Add diogo and nathan as security maintainers.
2015-05-22 10:12:04 -07:00
Jessica Frazelle a1ea562b20 lol 108 chars ETOOMANY
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-22 10:10:17 -07:00
Alexander Morozov d71ba0cc83 Merge pull request #13372 from calavera/move_socket_creation_to_package
Extract sockets initialization to a package.
2015-05-22 08:46:31 -07:00
moxiegirl 8e76c0d1d8 Merge pull request #13303 from moxiegirl/experimental-work
Experimental features placeholder
2015-05-22 08:42:57 -07:00
Brian Goff 0775456b46 Merge pull request #13401 from WeiZhang555/cleanup
Delete "defer deleteAllContainers()" from integration-cli
2015-05-22 09:17:23 -04:00
Zhang Wei 6809fa6861 Delete "defer deleteAllContainers()" from integration-cli
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-05-22 17:01:52 +08:00
David Calavera a867c1b70a Mark volume drivers and plugins as experimental in the documentation.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-21 20:34:17 -07:00
David Calavera 3bf0ca31cf Allow named volumes for external drivers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-21 20:34:17 -07:00
Arnaud Porterie 2653c7c16c Make API volume-driver dependent on 'experimental'
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-21 20:34:17 -07:00
Arnaud Porterie 4fc37a1ede Mark --volume-driver as experimental
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-21 20:34:17 -07:00
Arnaud Porterie 7da5a7eb66 Disable -v overloading
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
(cherry picked from commit ec5a362fb93358244305067419589f602fd33807)
2015-05-21 20:34:17 -07:00
David Calavera 81fa9feb0c Volumes refactor and external plugin implementation.
Signed by all authors:

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Jeff Lindsay <progrium@gmail.com>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Signed-off-by: Luke Marsden <luke@clusterhq.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-21 20:34:17 -07:00
Brian Goff 23e8dff9e7 Merge pull request #13399 from hqhq/hq_fix_run_test
Fix test failure when --net none build
2015-05-21 21:50:44 -04:00
Brian Goff 88275e94d6 Merge pull request #12766 from Microsoft/10662-graphdriverrefactor
Windows: graphdriver refactor
2015-05-21 21:28:24 -04:00
Jessica Frazelle 7c6cab6345 Add diogo and nathan as security maintainers.
Updated my email.

Also retabbed the whole file... I am OCD.

Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-21 17:59:38 -07:00
Jessie Frazelle 2b8271399e Merge pull request #13386 from icecrime/experimental_suffix_version
Suffix experimental version / fix warning output
2015-05-21 17:42:23 -07:00
Qiang Huang c0dd8538db Fix test failure when --net none build
Closes: #13369

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-22 08:21:09 +08:00
Arnaud Porterie 78578125ce Add suffix to experimental builds version
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-21 16:27:42 -07:00
Sven Dowideit ddf783ed2f Merge pull request #13395 from SvenDowideit/cs-docker-1.6.2cs5-release-notes
Publish release notes for latest cs Docker engine
2015-05-22 09:16:12 +10:00
Sven Dowideit 740b1b5a2d Publish release notes for latest cs Docker engine
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-22 09:14:06 +10:00
Sebastiaan van Stijn b639f00280 Merge pull request #13336 from calavera/document_missing_build_flags
Document missing build flags.
2015-05-22 01:03:37 +02:00
Jessie Frazelle 6c5a140f8a Merge pull request #13393 from tiborvass/fix-token-bug
registry: Fix auth bug
2015-05-21 15:58:17 -07:00
David Calavera 2be757f869 Merge pull request #12964 from Microsoft/10662-emptywindowsexecdriver
Windows: Empty Windows Exec Driver
2015-05-21 15:30:21 -07:00
David Calavera a85b09d8a4 Document missing build flags.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-21 15:02:00 -07:00
Tibor Vass fc29f7f70b registry: fix auth bug
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-05-21 16:53:22 -04:00
Alexander Morozov 7fffcfff32 Merge pull request #13387 from cpuguy83/fix_ngroutine_test
Better checking for LogsFollowGoroutinesWithStdout
2015-05-21 12:31:57 -07:00
Jana Radhakrishnan 6cdf8623d5 Do not attempt releasing network when not attached to any network
Sometimes container.cleanup() can be called from multiple paths
for the same container during error conditions from monitor and
regular startup path. So if the container network has been already
released do not try to release it again.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-21 18:57:17 +00:00
Brian Goff 2805ff1ece Better checking for LogsFollowGoroutinesWithStdout
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-21 14:13:01 -04:00
Michael Crosby 523d2f6a04 Merge pull request #13371 from theadactyl/patch-2
Add theadactyl as community manager
2015-05-21 11:06:38 -07:00
David Calavera 00e78a18ba Merge pull request #13380 from coolljt0725/add_missing_check_return_err_function
Add missing return error check for container.WriteHostConfig() in container_linux.go
2015-05-21 09:32:52 -07:00
David Calavera 0ac5e8a170 Merge pull request #13383 from duglin/CreateRMTest
Add a 'docker create' + 'docker rm' testcase
2015-05-21 09:32:32 -07:00
Doug Davis 012e588a74 Add a 'docker create' + 'docker rm' testcase
Per @thaJeztah's comment here: https://github.com/docker/docker/pull/13367#issuecomment-104286651
I couldn't find an existing test that covered this.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-21 07:30:51 -07:00
Lei Jitang a9bc05a2f8 Add missing return error check
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-21 17:03:43 +08:00
Jessie Frazelle ef0a145593 Merge pull request #13310 from coolljt0725/make_ps_size_show_virtual_size_work
Make docker ps --size show virtual size really work
2015-05-20 18:32:11 -07:00
Mary Anthony 7231692a02 Experimental features placeholder
Signed-off-by: Mary Anthony <mary@docker.com>

Adding experimental features into the mix

Signed-off-by: Mary Anthony <mary@docker.com>

renaming file

Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-20 18:10:07 -07:00
Lei Jitang d0de2b1e2f Make docker ps --size show virtual size really work
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-21 08:57:11 +08:00
Jessie Frazelle 366fe46c6a Merge pull request #13326 from tianon/squeeze-lts
Fix "squeeze" detection in contrib/mkimage/debootstrap
2015-05-20 17:41:27 -07:00
Tianon Gravi f74d9b8672 Merge pull request #13195 from albers/completion-custom-host
respect -H in bash completion
2015-05-20 17:31:16 -07:00
Jessie Frazelle c68915ff70 Merge pull request #13270 from samsabed/gpg-dockerfile
Trivial use port 80 for dev Dockerfile gpg
2015-05-20 17:30:01 -07:00
Tianon Gravi 28465588d0 Merge pull request #13241 from hqhq/hq_enhance_checkconfig
Enhance check-config.sh
2015-05-20 17:25:30 -07:00
David Calavera 0bfbc6e788 Extract sockets initialization to a package.
Because I just used it somewhere else and it would be nice if I didn't have to copy and paste the code.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-20 16:48:39 -07:00
theadactyl f86d39c6b6 Add theadactyl as community manager
Added Community Manager role to Org.Operators and added theadactyl as community manager

Signed-off-by: Thea Lamkin <thea@docker.com>
2015-05-20 16:21:36 -07:00
moxiegirl 2bf409d4ef Merge pull request #13366 from moxiegirl/162-release-notes
Updating with 1.6.2-cs5 notes
2015-05-20 15:03:27 -07:00
Mary Anthony 7554949da6 Updating with 1.6.2-cs5 notes
Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-20 14:39:00 -07:00
Antonio Murdaca 0fddb6ad7e Merge pull request #13263 from rajdeepd/dry-run-test-2
TestCase for CpuShares and Cpuset
2015-05-20 23:33:42 +02:00
Jessica Frazelle 6f75dd85c5 add unshare apparmor profile test
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-20 14:06:00 -07:00
Jessie Frazelle 19790c46dc Merge pull request #13338 from icecrime/13023_experimental_env_var
Add DOCKER_EXPERIMENTAL environment variable
2015-05-20 13:04:28 -07:00
Arnaud Porterie 79532e6d58 Merge pull request #13078 from Microsoft/10662-pkgarchive
Windows: Archive package changes for Windows daemon
2015-05-20 12:39:26 -07:00
Arnaud Porterie ca6722f1c5 Add DOCKER_EXPERIMENTAL environment variable
The DOCKER_EXPERIMENTAL environment variable drives the activation of
the 'experimental' build tag.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-20 12:21:17 -07:00
Alexander Morozov dec13cef2a Merge pull request #13346 from mrjana/cnm_integ
Fix network connectivity problem for non-root users
2015-05-20 12:02:07 -07:00
Jessie Frazelle 76a5fb3e1e Merge pull request #13359 from davidxia/increase-docker-kill-timeout
Increase upstart kill timeout to 20 seconds
2015-05-20 11:54:07 -07:00
Rajdeep Dua ebe344d34b TestCase for CpuShares and Cpuset
Signed-off-by: Rajdeep Dua <dua_rajdeep@yahoo.com>
2015-05-20 11:32:48 -07:00
David Xia 2f9e7a067a Increase upstart kill timeout to 20 seconds
Give Docker more time to kill containers before upstart kills Docker.
The default kill timeout is 5 seconds.
This will help decrease the chance of but not eliminate the chance of
orphaned container processes.

Signed-off-by: David Xia <dxia@spotify.com>
2015-05-20 14:20:46 -04:00
Alexander Morozov 53a795378d Merge pull request #13324 from duglin/BadRCOnVersion
Make version check return 400 instead of 404
2015-05-20 11:13:56 -07:00
Jana Radhakrishnan afd901e408 Fix network connectivity problem for non-root users
If a container was started with a non-root user the container
may not be able to resolve DNS names because of too restrictive
permission in the /etc/resolv.conf container file. This problem
is in how this file gets created in libnetwork and ths PR
attempts to fix the issue by vendoring in the libnetwork code
with the fix.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-20 17:51:20 +00:00
Brian Goff c6d9c904af Merge pull request #13356 from LK4D4/test_double_nethost
Test for two containers in --net=host
2015-05-20 13:17:16 -04:00
Jessie Frazelle b0315e4472 Merge pull request #13354 from jacobat/comment-fix
Fix wording in comment
2015-05-20 09:44:23 -07:00
Alexander Morozov 7e5902c92d Test for two containers in --net=host
This is test for regression which was encountered during libnetwork
merging.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-20 09:35:28 -07:00
John Howard 48f1cb4ebe Windows: refactor stats
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 09:08:45 -07:00
Jacob Atzen 007269ba24 Fix wording in comment
Signed-off-by: Jacob Atzen <jatzen@gmail.com>
2015-05-20 18:03:46 +02:00
John Howard 62f648b061 Windows: chrootarchive refactor
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 08:56:42 -07:00
John Howard 8228ee4b0f Windows: Archive package changes for Windows daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 08:55:54 -07:00
John Howard 010e3e046b Windows: Fixup builder\internals.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 08:55:13 -07:00
John Howard 8db09ff629 Windows: Empty Windows Exec Driver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 08:54:04 -07:00
John Howard 4e8b2509fd Windows: graphdriver refactor
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-20 08:51:27 -07:00
Jessie Frazelle c696993452 Merge pull request #13347 from fntlnz/13184-remove-delete-container
Removed deleteContainer calls
2015-05-20 07:18:41 -07:00
Brian Goff 37e4d40228 Merge pull request #13328 from icecrime/10662-registryfix-carry
Windows: fix registry filepath and location
2015-05-20 10:09:46 -04:00
Lorenzo Fontana 086b514f6a Removed deleteContainer calls
Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
2015-05-20 08:38:23 +02:00
Sven Dowideit a09dfbcaad Merge pull request #13214 from zoechi/master
add bwu_docker
2015-05-20 13:43:16 +10:00
Qiang Huang c646e514db Fix unit-test build error on ARM64
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-20 10:45:04 +08:00
Sven Dowideit a057accb59 Merge pull request #13315 from SvenDowideit/add-kitematic-docs
Add Kitematic documentation to docs.master.docker.com
2015-05-20 12:27:33 +10:00
Sven Dowideit 82bd3886d5 Add Kitematic documentation to docs.master.docker.com
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-20 01:57:45 +00:00
Jessie Frazelle d29dc0b608 Merge pull request #13325 from LK4D4/cleanup_mounts
Fix Put without Get in overlay
2015-05-20 03:11:58 +02:00
Arnaud Porterie 496bc46c88 Merge pull request #13060 from mrjana/cnm_integ
Replace existing docker networking code and integrate with libnetwork
2015-05-19 17:24:18 -07:00
Jana Radhakrishnan f12f51b8b9 Removed dead code from docker after libnetwork integration
As part of this some generic packages like iptables, etchosts and resolvconf
have also been moved to libnetwork. Even though they can still be
consumed in a generic fashion they will reside and be maintained
from within the libnetwork project.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-19 22:40:55 +00:00
Jana Radhakrishnan d18919e304 Docker integration with libnetwork
- Updated Dockerfile to satisfy libnetwork GOPATH requirements.
    - Reworked daemon to allocate network resources using libnetwork.
    - Reworked remove link code to also update network resources in libnetwork.
    - Adjusted the exec driver command population to reflect libnetwork design.
    - Adjusted the exec driver create command steps.
    - Updated a few test cases to reflect the change in design.
    - Removed the dns setup code from docker as resolv.conf is entirely managed
      in libnetwork.
    - Integrated with lxc exec driver.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-19 22:40:19 +00:00
Jana Radhakrishnan 272f8cd4bc Vendoring in libnetwork, netns, netlink
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-19 22:40:18 +00:00
David Calavera 322f675123 Merge pull request #13332 from LK4D4/fix_race_in_rand
Use goroutine-safe version of rand.Source
2015-05-19 14:20:33 -07:00
Jessie Frazelle 92c869cd12 Merge pull request #12437 from fmzhen/remove-regex-replace
Removal of the regex to replace ips
2015-05-19 22:59:17 +02:00
Fred Lifton 4a743c39dd Merge pull request #13119 from psankar/master
Followup commit to https://github.com/docker/docker/pull/12986
2015-05-19 13:14:20 -07:00
Alexander Morozov d8661250e7 Use goroutine-safe version of rand.Source
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-19 12:32:40 -07:00
Lorenzo Fontana a2787469ac Using dockerCmd when possible
Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
2015-05-19 20:33:59 +02:00
Doug Davis 7fcf849749 Make version check return 400 instead of 404
Closes: #13321

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-19 11:21:05 -07:00
Arnaud Porterie 81e7d3571b Windows: fix registry filepath and location
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-19 10:58:45 -07:00
Arnaud Porterie 0cc5da0635 Merge pull request #12884 from Microsoft/10662-startcontainerrefactor
Windows: Refactor container
2015-05-19 10:44:23 -07:00
Arnaud Porterie a16b2ab274 Merge pull request #13265 from tiborvass/refactor-v1-auth
registry: Refactor requestfactory to use http.RoundTrippers
2015-05-19 09:57:34 -07:00
Tianon Gravi c64466fb68 Fix "squeeze" detection in contrib/mkimage/debootstrap
This stops us from erroneously adding "squeeze-lts" to "oldstable" which is now "wheezy", not "squeeze" (but "oldoldstable" _is_ squeeze, hence the new check on `/etc/debian_version` being `6.*` instead, and done as a `case` for the eventual addition of `wheezy-lts`, etc).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-19 09:38:27 -07:00
Alexander Morozov ea4f43c2fa Merge pull request #13258 from unclejack/fix_build_network
builder/internals: set up network as bridge
2015-05-19 09:36:03 -07:00
Alexander Morozov 3916561619 Fix Put without Get in overlay
It is called for example on daemon start after crash

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-19 09:32:23 -07:00
moxiegirl 6f4b808f41 Merge pull request #13238 from hqhq/hq_fix_usingdocker_md
Remove wrong usage in usingdocker.md
2015-05-19 09:24:31 -07:00
Alexander Morozov 29595fd944 Merge pull request #13311 from WeiZhang555/cleanup
clean some redundant else clauses
2015-05-19 07:57:52 -07:00
Qiang Huang f46cf73295 Remove wrong usage in usingdocker.md
Fixes: https://github.com/docker/docker/issues/13235

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-19 13:07:41 +08:00
Tibor Vass 73823e5e56 Add transport package to support CancelRequest
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-05-18 23:31:42 -04:00
Zhang Wei d91ae65280 clean some redundant else clauses
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-05-19 10:54:04 +08:00
Mingzhen Feng 3ab7ceb5d7 Removal of the regex to replace ips
Signed-off-by: Mingzhen Feng <fmzhen@zju.edu.cn>
2015-05-19 10:15:18 +08:00
Jason Shepherd 48231d623f adding nicer help when missing arguments (#11858)
Signed-off-by: Jason Shepherd <jason@jasonshepherd.net>
2015-05-19 12:02:13 +10:00
Tibor Vass cf8c0d0f56 requestdecorator: repurpose the package and rename to useragent
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-05-18 21:51:54 -04:00
Tibor Vass a01cc3ca77 registry: Refactor requestfactory to use http.RoundTrippers
This patch removes the need for requestFactories and decorators
by implementing http.RoundTripper transports instead.

It refactors some challenging-to-read code.

NewSession now takes an *http.Client that can already have a
custom Transport, it will add its own auth transport by wrapping
it.

The idea is that callers of http.Client should not bother
setting custom headers for every handler but instead it should
be transparent to the callers of a same context.

This patch is needed for future refactorings of registry,
namely refactoring of the v1 client code.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-05-18 21:51:53 -04:00
Doug Davis 472538bee0 Merge pull request #13219 from brahmaroutu/gccgo_compile_issue
fix to gccgo compilation error
2015-05-18 20:43:47 -04:00
moxiegirl 6a18412d5b Merge pull request #13189 from alvinr/mongodb-fixup
Fixup MongoDB changes to line up with MongoDB 3.0 release
2015-05-18 15:22:41 -07:00
Doug Davis dfc329d76a Merge pull request #13308 from lightsofapollo/issue-13307
Increase default connection timeout to 30s
2015-05-18 18:01:00 -04:00
James Lal f5e6f50a1e Increase default connection timeout to 30s
Closes #13307
Signed-off-by: James Lal <jlal@mozilla.com>
2015-05-18 13:26:33 -07:00
Alvin Richards 3f37afe0b9 Bring MongoDB examples up to date with 3.0 release
Signed-off-by: Alvin Richards <alvin.richards@docker.com>
2015-05-18 13:08:31 -07:00
Michael Crosby aac645ae04 Merge pull request #13282 from duglin/RemoveBash
Remove use of 'bash' from our tests
2015-05-18 13:06:21 -07:00
Brian Goff ccf02a9f77 Merge pull request #13279 from hqhq/hq_use_inspectfield
Use inspectField to simplify code
2015-05-18 14:53:37 -04:00
Michael Crosby 785ba790fb Merge pull request #13204 from chenhanxiao/gitignore
gitignore: add *.rej
2015-05-18 11:51:06 -07:00
Tianon Gravi 0c375a779a Merge pull request #13244 from hqhq/hq_update_vendor_pty
kr/pty: vendor upstream 5cf931ef8f
2015-05-18 11:46:43 -07:00
Brian Goff 3b69ca5b97 Merge pull request #13277 from runcom/restartpolicy-methods
RestartPolicy methods instead of strings checking
2015-05-18 14:36:54 -04:00
Michael Crosby 70e9e4bf9f Merge pull request #13249 from coolljt0725/fix_incorrect_document_of_storage_opt
Fix incorrect document storage-opt
2015-05-18 11:35:01 -07:00
Doug Davis 3b1f73fbcd Remove use of 'bash' from our tests
Not 100% sure why our Windows test don't complain about some of these,
I'm guessing it because we have bash as part of some git package, but
either way we really shouldn't require bash to run our tests unless we
really need to - which in these cases we don't

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-18 11:29:08 -07:00
Michael Crosby fc4f3e5650 Merge pull request #13295 from aimxhaisse/13294-mflag-panic
Fix panic when using default-initialized FlagSet
2015-05-18 11:27:12 -07:00
Sebastiaan van Stijn 93825056d8 Merge pull request #13206 from draghuram/info_api_doc
Bring /info API doc in line with the actual response.
2015-05-18 20:20:57 +02:00
James Turnbull 8f8ee7d5c3 Merge pull request #12804 from ankushagarwal/configuring-docker
Add CentOS/RHEL configuration to the config article
2015-05-18 14:18:32 -04:00
Michael Crosby aca4ae8c90 Merge pull request #13280 from runcom/test-clean-from-inspect
Clean tests from not needed inspect call
2015-05-18 11:06:18 -07:00
Michael Crosby cbc122e8a7 Merge pull request #13306 from ahmetalpbalkan/logopts-context
Pass --log-opts map to logdrivers
2015-05-18 10:58:17 -07:00
Raghuram Devarakonda 9c0608565c Bring /info API doc in line with the actual response.
The fix handles versions 1.18 and 1.19.

Closes #13139.

Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-05-18 13:55:42 -04:00
Ahmet Alp Balkan 8b11592d69 Pass -log-opts map to logdrivers
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-18 16:50:14 +00:00
Brian Goff 19ae59f910 Merge pull request #13283 from Microsoft/10662-fixbaselinenewdriver
Windows: NewDriver() re-baseline parms
2015-05-18 10:56:06 -04:00
s. rannou e94bab8278 Fix panic when using default-initialized FlagSet
Closes #13294

Signed-off-by: Sebastien Rannou <mxs@sbrk.org>
2015-05-18 11:55:38 +02:00
Nuutti Kotivuori 642e6a3773 Prevent fallback to v1 registry for digest pulls
The intention of the user is to download a verified image if explicitly
pulling with a digest and falling back to v1 registry circumvents that
protection.

Signed-off-by: Nuutti Kotivuori <naked@iki.fi>
2015-05-18 08:26:26 +03:00
Qiang Huang 74f8a4eca4 Use inspectField to simplify code
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-18 10:06:13 +08:00
Lei Jitang 9a09664b51 Fix automatically publish ports without --publish-all
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-18 02:57:17 +08:00
Alexander Morozov 9c5635a2a0 Merge pull request #13284 from Microsoft/10662-compileconfigwindows
Windows: Simple import error on config_windows.go
2015-05-17 08:59:00 -07:00
Sam Abed 79f704490c Use port 80 for Dockerfile gpg
Signed-off-by: Sam Abed <sam.abed@gmail.com>
2015-05-17 13:22:21 +10:00
Brian Goff 692b7b911e Merge pull request #13271 from Microsoft/10662-nounixsocket
Windows: No unix_socket.go
2015-05-16 21:34:15 -04:00
Jessie Frazelle 48b4229cb4 Merge pull request #13239 from Microsoft/10662-hack
Make which cross binary fails clearer
2015-05-17 01:09:36 +03:00
John Howard b9e4b95788 Windows: Refactor container
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-16 12:38:20 -07:00
John Howard dfddfa6bb8 Windows: Simple import error on config_windows.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-16 12:18:55 -07:00
John Howard 50b4079b5f Windows: NewDriver() re-baseline parms
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-16 11:38:19 -07:00
Sebastiaan van Stijn a9172f572e Merge pull request #13281 from mavenugo/plugin_typo
Fixing a Typo in plugins mime-type
2015-05-16 19:52:57 +02:00
Antonio Murdaca a268e36719 Clean tests from not needed inspect call
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-16 18:12:54 +02:00
Alexander Morozov b5e932a3bf Merge pull request #13237 from ahmetalpbalkan/tag/event
Introduce daemon event 'tag' upon image tagging
2015-05-16 09:05:03 -07:00
Madhu Venugopal 215a5ebdb6 Fixing a Typo in plugins mime-type
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-16 08:49:23 -07:00
Antonio Murdaca 624bf81fdb Add RestartPolicy methods instead of using strings checking
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-16 14:15:28 +02:00
Antonio Murdaca 42cfc95549 Merge pull request #13273 from HuKeping/remove-deadcode
Cleanup dead code of integration-cli/utils.go
2015-05-16 14:03:42 +02:00
Hu Keping 35b4ed4d17 Remove dead code of integration-cli/utils.go
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-05-16 16:49:55 +08:00
Vincent Demeester 07a75c48fd Add tests for pkg/pools
Fixes #11588

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-05-16 10:39:24 +02:00
Michael Crosby 115b11ae69 Merge pull request #13222 from calavera/plugins_infra
Remote plugins plumbing.
2015-05-15 16:37:55 -07:00
John Howard 6c187b8b4b Windows: No unix_socket.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-15 15:49:02 -07:00
Madhu Venugopal ba3bcf0537 Allow to call back when a plugin is loaded.
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-15 13:50:44 -07:00
Ahmet Alp Balkan 1630ed97ac Introduce daemon event 'tag' upon image tagging
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-15 20:21:59 +00:00
unclejack d6a545a989 builder/internals: set up network as bridge
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-05-15 22:58:21 +03:00
Alexander Morozov 27b77464d8 Merge pull request #13232 from Microsoft/10662-zfs
Windows: No ZFS graphdriver
2015-05-15 11:51:48 -07:00
Alexander Morozov 0db7365c66 Merge pull request #13221 from duglin/ReenableDebug
add link between -D and --log-level=debug back in
2015-05-15 11:45:44 -07:00
David Calavera b785e5091f Merge pull request #13086 from shishir-a412ed/docker_root_execdriver
root dir for execdriver (/var/run/docker) should be configurable
2015-05-15 11:16:12 -07:00
Alexander Morozov 88127ce475 Merge pull request #13246 from unclejack/refactor_statscollector
daemon/stats_collector: refactor getSystemCpuUsage
2015-05-15 11:06:47 -07:00
David Calavera 839d64ffb1 Remote plugins plumbing.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-15 11:04:58 -07:00
Michael Crosby 520955b1cf Merge pull request #13236 from vieux/revert_time_change
Revert "Fix inconsistent date formats in API"
2015-05-15 10:32:03 -07:00
John Howard 0bdeef94c7 Make which cross binary fails clearer
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-15 09:25:13 -07:00
Alexander Morozov 5d2ef30a38 Merge pull request #13251 from cpuguy83/13233_fix_log_follow_goroutine_check
Extend sleep/timeout for ngoroutine check
2015-05-15 08:57:25 -07:00
Brian Goff 248e5a4c83 Merge pull request #13220 from Microsoft/10662-sysinfo
Windows: Refactor sysinfo for compilation
2015-05-15 10:53:55 -04:00
Brian Goff 2c8eba14df Merge pull request #13243 from coolljt0725/remove_redundant_log
Cleanup:Remove redundant log in pkg/pidfile/pidfile.go
2015-05-15 10:13:19 -04:00
Brian Goff f207322c0a Extend sleep/timeout for ngoroutine check
In cases where this is failing it's ok to have the test take extra time,
but we don't want it to fail because of some race/performance
differences between systems.
So make the timeout go to 30s and double the sleep time in between
checks so it's not pounding the daemon quite so fast.

Originally I couldn't make this test fail (pre-change), but changed
graphdrivers and saw a failure pretty quickly.
This change seems to smooth that out.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-15 09:54:43 -04:00
Shishir Mahajan 8b2c6cb072 root dir for execdriver (/var/run/docker) should be configurable
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-05-15 09:30:36 -04:00
Lei Jitang 0204ecdf70 Fix incorrect document storage-opt
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-15 19:13:07 +08:00
unclejack 25f776451e daemon/stats_collector: refactor getSystemCpuUsage
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-05-15 12:22:50 +03:00
Lei Jitang 60e5c273cf Remove redundant log in pkg/pidfile/pidfile.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-15 15:26:00 +08:00
Qiang Huang 478d86a5f5 kr/pty: vendor upstream 5cf931ef8f
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-15 15:22:16 +08:00
Qiang Huang 6e19912df9 Enhance check-config.sh
Currently check-config.sh just said enable or missing, when I used
a fresh kernel, made check-config.sh happy, still can't start
container. It take me days debuging kernel and Docker and finally
found it's because I enabled some CONFIGs as modules and never
loaded these modules.

So I think it's necessary to let check-config.sh told users which
configs are enabled as modules.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-15 10:20:31 +08:00
Victor Vieux b261ce5fb0 Revert "Fix inconsistent date formats in API"
This reverts commit 945fc9d882.

Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-05-14 17:31:45 -07:00
David Calavera e4855eebf2 Merge pull request #13188 from ahmetalpbalkan/inputs-standard-rfc3339
Parse input timestamps with standard RFC3339
2015-05-14 16:49:01 -07:00
John Howard 35cdcbb323 Windows: No ZFS graphdriver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-14 15:57:45 -07:00
Tibor Vass c5240d79e3 Merge pull request #12770 from Microsoft/10662-daemonconfigrefactor
Windows: Start of daemon config refactor
2015-05-14 14:55:22 -07:00
Brian Goff a4592467e7 Merge pull request #13223 from Microsoft/10662-loggers
Windows: Factor out syslog and journald
2015-05-14 16:26:43 -04:00
Alexander Morozov b2ad9314a2 Merge pull request #13196 from crosbymichael/update-libocntainer-may13
Update libcontainer to a37b2a4f152e2a1c9de596f54c0
2015-05-14 10:49:25 -07:00
John Howard 655a58e27b Windows: Factor out syslog and journald
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-14 10:34:09 -07:00
Doug Davis a85ca8b7c4 add link between -D and --log-level=debug back in
Due to popular demand :-)
See #11965

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-14 10:29:49 -07:00
John Howard b7ee717a10 Windows: Refactor sysinfo for compilation
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-14 09:44:51 -07:00
vagrant d2a2c974d9 fix to gccgo compilation error
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-05-14 16:28:23 +00:00
Alexander Morozov fe6f77df2c Merge pull request #13087 from duglin/FixNatTest
Fix random errors in DockerSuite.TestNetworkNat
2015-05-14 08:35:27 -07:00
Brian Goff ac81cd1fc3 Merge pull request #13202 from duglin/ImportFix
Fix a regression in `docker import` on error from URL
2015-05-14 10:36:50 -04:00
Doug Davis 1c5a4728e1 Merge pull request #13208 from ahmetalpbalkan/nit
Remove out of date comment
2015-05-14 06:59:21 -07:00
Doug Davis 3f4926e49b Fix a regression in docker import on error from URL
when the daemon can't download the image from a `docker import` the
error message was lost due to 'err' being redefined with a block by
mistake.  This removes the ":" from "... err := " which fixes it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-14 06:56:52 -07:00
Günter Zöchbauer ef956253d8 Add bwu_docker to the list.
Signed-off-by: Guenter Zoechbauer <guenter@gzoechbauer.com>
2015-05-14 15:27:51 +02:00
Ahmet Alp Balkan 999f464feb Parse input timestamps with standard RFC3339
Fix for #13175.

This change allows user-input timestamps (e.g. to `docker events
--since/--until`  or `docker logs --since` to be parsed using
standard RFC3339Nano layout in Go instead of the layout that parses
all timestamps into fixed-length strings (currently buggy).

User inputs need not to be complying to the internal format
(`RFC3339NanoFixed`) anyway.

Added test case for `events --since/--until` with all possible
timestamp input formats.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-14 07:44:42 +00:00
Ahmet Alp Balkan 9448d3627b Remove out of date comment
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-14 07:37:31 +00:00
Ankush Agarwal 9bfe6f0d24 Update Configuring and running Docker article
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-05-14 07:45:20 +02:00
Sankar சங்கர் cb4d47ddb3 Copied info about google groups, IRC, etc. to README.md from CONTRIBUTORS.md
Signed-off-by: Sankar சங்கர்  <sankar.curiosity@gmail.com>
2015-05-14 11:12:20 +05:30
Sebastiaan van Stijn 1d57642906 Merge pull request #11706 from HuKeping/time
Fix inconsistent date formats in API
2015-05-13 20:23:19 -07:00
Hu Keping 945fc9d882 Fix inconsistent date formats in API
Prior to this patch, the response of
- GET /images/json
- GET /containers/json
- GET /images/(name)/history

display the Created Time as UNIX format which doesn't make sense.

These should be more readable as CLI command `docker inspect` shows.

Due to the case that an older client with a newer version daemon, we
need the version check for now.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-05-14 18:58:55 +08:00
Chen Hanxiao 3957cc8022 gitignore: add *.rej
Ignore noise from unsuccessful patch operation.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-05-13 22:10:26 -04:00
Sebastiaan van Stijn ed25742002 Merge pull request #12667 from ibuildthecloud/host-uts
Add --uts=host to allow sharing the UTS namespace
2015-05-13 18:30:32 -07:00
Darren Shepherd f2e5207fc9 Add --uts=host to allow sharing the UTS namespace
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-13 17:56:32 -07:00
Brian Goff f2bc54f796 Merge pull request #13201 from Microsoft/10662-fixdebugtrap
Fix package on debugtrap_unsupported.go
2015-05-13 20:44:13 -04:00
Brian Goff feb0fa8dbf Merge pull request #13112 from hqhq/hq_fix_oonkilldisable
Fix oom kill disable issue
2015-05-13 20:03:33 -04:00
John Howard 1e78eec826 Fix package on debugtrap_unsupported.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-13 16:38:59 -07:00
Antonio Murdaca b37abf2528 Merge pull request #13146 from rajdeepd/dry-run-test-1
Modified Test Case to include check for Memory and MemorySwap
2015-05-14 01:10:35 +02:00
Alexander Morozov 64ea54c0ed Merge pull request #13154 from coolljt0725/typo_remove_redundant_dot
Minor typo: remove redundant dot in error message in runconfig/parse.go
2015-05-13 15:24:01 -07:00
Michael Crosby 677d76cd4a Update test for /sys mounting
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-13 15:02:53 -07:00
moxiegirl 32f8a40398 Merge pull request #13193 from moxiegirl/dhe-commercial-release
adding release note for 1.6.2
2015-05-13 14:51:50 -07:00
Alexander Morozov 31c8112285 Merge pull request #13194 from crosbymichael/merge_release_v1.6.2
Merge release 1.6.2
2015-05-13 14:01:40 -07:00
Michael Crosby 87c35d0e0a Update libcontainer to a37b2a4f152e2a1c9de596f54c0
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-13 13:55:26 -07:00
Mary Anthony 6c17b4818d adding release note for 1.6.2
Signed-off-by: Mary Anthony <mary@docker.com>

ugh, cut n paste

Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-13 13:54:30 -07:00
Michael Crosby cec64ebef8 Bump to version 1.6.2
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	VERSION
2015-05-13 13:51:39 -07:00
Harald Albers db5b4a2a69 respect -H in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-05-13 13:39:25 -07:00
Rajdeep Dua 1eea2c589d Modified Test Case to include check for Memory and MemorySwap
Signed-off-by: Rajdeep Dua <dua_rajdeep@yahoo.com>
2015-05-13 13:39:07 -07:00
Alexander Morozov 877461bc20 Merge pull request #13190 from unclejack/precompile_regexp
Precompile regexp
2015-05-13 13:00:14 -07:00
David Calavera 3da0013ac4 Merge pull request #13155 from coolljt0725/fix_validate_tag_name
Fix validate tag name. Fix #13149
2015-05-13 12:03:22 -07:00
Michael Crosby c46c8f4e40 Merge pull request #13192 from tianon/fix-bad-vendor.sh-rebase
Fix mangled hack/vendor.sh rebase
2015-05-13 12:02:07 -07:00
Tianon Gravi c2d6187811 Fix mangled hack/vendor.sh rebase
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-13 12:52:59 -06:00
unclejack cb08c1173f pkg/stringid: precompile regexp
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-05-13 21:48:48 +03:00
unclejack 8f57e7d2ef image: precompile regexp
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-05-13 21:47:43 +03:00
Alexander Morozov 1b678f86b3 Merge pull request #13174 from ahmetalpbalkan/TestLogsSince
integ-cli: Fix race in TestLogsSince
2015-05-13 11:35:17 -07:00
Jessie Frazelle ebe9a85486 Merge pull request #13183 from runcom/fix-typo-tests-grouping
Fix typo to run tests grouped by RunUnprivileged
2015-05-13 11:33:14 -07:00
David Calavera 951c2ef2c9 Merge pull request #12226 from ahmetalpbalkan/logdrivers/refactoring
daemon: Logging drivers architectural refactoring
2015-05-13 11:00:50 -07:00
Brian Goff 8eac7d0779 Merge pull request #13180 from unclejack/fix_test_name
integcli: change Dettach to Detach
2015-05-13 09:07:18 -04:00
Antonio Murdaca a36f6a140b Fix typo to run tests grouped by RunUnprivileged
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-13 14:24:54 +02:00
unclejack fdec5197f1 integcli: change Dettach to Detach
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-05-13 12:49:19 +03:00
Lei Jitang e00cfbb6f2 Fix invalid tag name
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-13 14:28:52 +08:00
Antonio Murdaca 3401ee13f8 Merge pull request #13169 from jfrazelle/cleanup-integration
cleanup test-integration
2015-05-13 06:34:30 +02:00
Antonio Murdaca 56847ec4d4 Merge pull request #13106 from duglin/HumanizeCliErrors
Use stderr instead of logrus for CLI error messages
2015-05-13 05:23:56 +02:00
Lei Jitang c6dad07b1b Minor typo: remove redundant dot in error message in runconfig/parse.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-13 11:04:07 +08:00
Ahmet Alp Balkan 2fe2f7a186 integ-cli: Fix race in TestLogsSince
TestLogsSince used to rely on time synchronization and precision of
the timestamps. This change provides a less flaky alternative.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-13 02:59:11 +00:00
Jessie Frazelle 36d995a291 Merge pull request #11965 from duglin/DEBUG
Remove use of "DEBUG" env var from CLI and de-couple -D from --log-level
2015-05-12 18:24:04 -07:00
Tibor Vass 3985f17812 Merge pull request #13131 from Microsoft/10662-loadonwindows
Windows: Build load.go
2015-05-12 18:04:33 -07:00
Brian Goff ec4baad954 Merge pull request #13166 from runcom/small-streamformatter-refactor
Refactor pkg/stremformatter - custom constructors
2015-05-12 20:28:18 -04:00
Doug Davis 0024935f64 Use stderr instead of logrus for CLI error messages
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-12 17:22:41 -07:00
Jessie Frazelle df89008f0c Merge pull request #13099 from Microsoft/10662-pkgparsers
Windows: Implement parsers:kernel+os
2015-05-12 16:07:43 -07:00
Jessica Frazelle e096d56713 cleanup test-integration
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-12 15:39:57 -07:00
Antonio Murdaca 6b700bdaca Refactor pkg/stremformatter with custom constructors instead of passing a boolean
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-13 00:09:41 +02:00
John Howard f7ae2a372d Windows: Impl pkg\parsers kernel+os
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-12 14:41:02 -07:00
John Howard aed8f9f76e Windows: Build load.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-12 14:26:57 -07:00
Jessie Frazelle 37cb2a15bf Merge pull request #13040 from cpuguy83/13014_fix_goroutine_leak_on_logs_follow
Make sure log pipes are closed
2015-05-12 13:52:49 -07:00
Michael Crosby cb53a628b0 Merge pull request #13136 from Microsoft/10662-factoroutresolveconf
Windows: Don't pull in all of resolvconf
2015-05-12 13:49:47 -07:00
Michael Crosby e0777e69cb Merge pull request #13162 from jfrazelle/add-modprobe-br_netfilter
modprobe br_netfilter
2015-05-12 13:46:34 -07:00
Alexander Morozov f35038dfba Merge pull request #13160 from runcom/remove-api-codepath-less-than-1-12
Remove API codepaths < 1.12
2015-05-12 13:08:36 -07:00
Ahmet Alp Balkan 3a8728b431 daemon: Logging drivers refactoring
- noplog driver pkg for '--log-driver=none' (null object pattern)
- centralized factory for log drivers (instead of case/switch)
- logging drivers registers themselves to factory upon import
  (easy plug/unplug of drivers in daemon/logdrivers.go)
- daemon now doesn't start with an invalid log driver
- Name() method of loggers is actually now their cli names (made it useful)
- generalized Read() logic, made it unsupported except json-file (preserves
  existing behavior)

Spotted some duplication code around processing of legacy json-file
format, didn't touch that and refactored in both places.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-12 19:11:52 +00:00
Jessie Frazelle b0518fe038 Merge pull request #12847 from cpuguy83/fix_firewald_errors
Fix error message on firewalld init
2015-05-12 12:01:59 -07:00
Jessica Frazelle 4800d4df8c this fixes hairpin nat tryinng to ping a the host and port from inside a container
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-12 11:57:36 -07:00
Jessie Frazelle 73387bf15a Merge pull request #13105 from duglin/FixRunOutput
Fix RUN err msg (again)
2015-05-12 11:36:55 -07:00
Jessie Frazelle 5bf2ebf0a5 Merge pull request #13127 from shishir-a412ed/exec_opt_doc
Missing exec-opt[] option in CommandLine docs
2015-05-12 11:34:51 -07:00
Antonio Murdaca 7284b08204 Remove API codepaths < 1.12
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-12 20:09:49 +02:00
Jessie Frazelle d4eba30065 Merge pull request #13141 from vieux/fallback_inspect
fallback to interface with docker inspect
2015-05-12 11:02:06 -07:00
Alexander Morozov 445afe0977 Merge pull request #13151 from Mic92/master
zfs: update filesystem cache on filesystem creation/deletion
2015-05-12 10:53:01 -07:00
Brian Goff e3ba3dd5b8 Make sure log pipes are closed
Pipes are still not closed (and goroutines leaked) if neither pipe is
used.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-12 13:50:51 -04:00
Alexander Morozov c9821d8dd6 Merge pull request #13150 from hqhq/hq_remove_warn
Remove redundant warning
2015-05-12 10:32:01 -07:00
Alexander Morozov 3b13e56fd7 Merge pull request #13000 from runcom/refactor-server-to-use-daemon-service-followup
Refactor server to use the daemon as a service
2015-05-12 10:27:43 -07:00
John Howard b3bca3afc9 Windows: Start of daemon config refactor
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-12 09:50:32 -07:00
Sebastiaan van Stijn d0459abe6e Merge pull request #12362 from ahmetalpbalkan/logs/since
Add --since argument to docker logs cmd
2015-05-12 09:40:16 -04:00
Jörg Thalheim 2cb23527e4 zfs: update filesystem cache on filesystem creation/deletion
Previously the cache was only updated once on startup, because the graph
code only check for filesystems on startup. However this breaks the API as it
was supposed and so unit tests.

Fixes #13142

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-12 13:06:41 +02:00
Qiang Huang a8250a0b20 Remove redundant warning
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-12 18:02:30 +08:00
Sebastiaan van Stijn a5007e5737 Merge pull request #10786 from estesp/add-goroutine-debug
Add capability for goroutine dumping on SIGQUIT/USR1
2015-05-11 21:20:44 -04:00
Victor Vieux 52c3bb6a0e fallback to interface with docker inspect
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
2015-05-11 17:39:21 -07:00
Phil Estes 95fcf76cc6 Add SIGUSR1 handler for dumping stack/goroutine traces
Add handler for SIGUSR1 based on feedback regarding when to dump
goroutine stacks.  This will also dump goroutine stack traces on SIGQUIT
followed by a hard-exit from the daemon.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-05-12 10:09:23 +10:00
Tibor Vass e7568ed227 Merge pull request #9411 from Mic92/features/zfs-rebased
zfs-utils based zfs graph driver
2015-05-11 16:53:17 -07:00
Sven Dowideit c49695f976 Merge pull request #13137 from SvenDowideit/need-more-sudo
Need more sudo
2015-05-12 09:07:55 +10:00
Sven Dowideit c5e93d0950 Need more sudo
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-11 23:07:22 +00:00
John Howard 78604a9f3f Windows: Don't pull in all of resolvconf
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-11 15:28:08 -07:00
Sven Dowideit 34b9769538 Merge pull request #13134 from SvenDowideit/dhe-1.0.1-release
DHE 1.0.1 release
2015-05-12 07:34:30 +10:00
Sven Dowideit 38af208da1 DHE 1.0.1 release
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-11 21:23:56 +00:00
Jessie Frazelle a47fb5edca Merge pull request #13132 from LK4D4/fix_race_kill
Fix race between execdriver.Kill and execdriver.Run
2015-05-11 14:01:07 -07:00
Alexander Morozov ca7219f5da Fix race between execdriver.Kill and execdriver.Run
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-11 13:23:50 -07:00
Jessie Frazelle 8cc93856e3 Merge pull request #13074 from runcom/11824-short-link-if-equals-alias
Allow links to be specified with only the name if it matches the alias
2015-05-11 13:18:29 -07:00
Antonio Murdaca c6e6223ed7 Allow links to be specified with only the name if this matches the alias
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-11 21:50:47 +02:00
Shishir Mahajan 98277f3cad Missing exec-opt[] option in CommandLine docs
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-05-11 15:41:50 -04:00
Michael Crosby e66ad40c4e Merge pull request #12994 from Microsoft/10662-fixinvocation
Windows: Fix builder\dispatchers.go
2015-05-11 11:24:43 -07:00
Antonio Murdaca e2acca67c8 Move container.WaitStop, AttachWithLogs and WsAttachWithLogs to daemon service in api server
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-11 19:56:41 +02:00
Alexander Morozov 5e063326a3 Merge pull request #13101 from bharaththiruveedula/13092-remove-unwanted-locks
Removing extra locks for Pause and Unpause functions
2015-05-11 10:54:39 -07:00
Jessie Frazelle 92344602ea Merge pull request #13091 from LK4D4/generate_caps
Generate caps
2015-05-11 10:42:59 -07:00
Ahmet Alp Balkan cb9a6b9aed Add --since argument to docker logs cmd
Added --since argument to `docker logs` command. Accept unix
timestamps and shows logs only created after the specified date.

Default value is 0 and passing default value or not specifying
the value in the request causes parameter to be ignored (behavior
prior to this change).

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-05-10 20:42:14 +00:00
Sebastiaan van Stijn 4d6720bfbb Merge pull request #13111 from gianlucaborello/fix-mac-documentation
Correctly document MAC address generation
2015-05-10 13:43:27 -04:00
Alexander Morozov 13064646a6 Merge pull request #13102 from duglin/MissingOK
Add missing "ok" on "comma ok" idiom in test util
2015-05-10 09:22:44 -07:00
Gianluca Borello e324f51e5b Default MAC address generation is not random and should be stated in the documentation.
Signed-off-by: Gianluca Borello <g.borello@gmail.com>
2015-05-10 08:11:26 -07:00
Qiang Huang a2f39e7754 Fix oom kill disable issue
It should not be hard limit, we should only check oom kill disable
when user using it.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-10 14:55:00 +08:00
Bharath Thiruveedula 8c1ef5ceaf Removing extra locks for Pause and Unpause functions
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
2015-05-10 00:16:54 +05:30
Alexander Morozov 340fd140e6 Merge pull request #12988 from Mashimiao/remove-unused-container-functions
cleanup: remove unneeded locks
2015-05-09 09:42:27 -07:00
Alexander Morozov c5710c7318 Merge pull request #13093 from tianon/writeflusher
Move WriteFlusher out of utils into ioutils
2015-05-09 09:39:17 -07:00
Alexander Morozov 61cb6012e6 Merge pull request #13095 from Microsoft/10662-pkgrexec
Windows: reexec pkg supported
2015-05-09 09:38:42 -07:00
Doug Davis 006c066b6c Fix RUN err msg (again)
Previous fix used %q which incorrectly go-escaped things. For example:

```
RUN echoo A \& B	C
```
would result in the user seeing:
```
INFO[0000] The command '/bin/sh -c echoo A \\& B\tC' returned a non-zero code: 127
```
Note the double-\ and the \t instead of a tab character

The testcase had to double escape things due to logrus getting in the way
but I'm going to fix that in another PR because its a change to the UX.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-09 09:22:30 -07:00
Doug Davis dd4693f67c Add missing "ok" on "common ok" idiom in test util
w/o this the "ok" we're checking is from the previous type assertion.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-09 05:56:10 -07:00
Sebastiaan van Stijn 7699cee247 Merge pull request #12180 from Mashimiao/add-cpuperiod-and-cpuquota-support
add cpu.cfs_period_us  support
2015-05-08 22:32:09 -04:00
Ma Shimiao bcc24ec8ad cleanup remove unneeded locks
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-05-09 10:06:53 +08:00
Ma Shimiao dccb8b5c33 add cpu.cfs_period_us support
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-05-09 10:02:46 +08:00
John Howard 64715c4f33 Windows: reexec pkg supported
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-08 14:15:53 -07:00
Brian Goff 38b5c7266a Fix error message on firewalld init
If firewalld is not installed (or I suppose not running), firewalld was
producing an error in the daemon init logs, even though firewalld is not
required for iptables stuff to function.
The firewalld library code was also logging directly to logrus instead
of returning errors.

Moved logging code higher up in the stack and changed firewalld code to
return errors where appropriate.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-08 15:51:44 -04:00
John Howard 4d2f6fbde0 Windows: Fix builder\dispatchers.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-08 11:45:08 -07:00
Michael Crosby 3697dddc0d Merge pull request #12978 from Microsoft/10662-containerexeccreate
Windows: Split ContainerExecCreate
2015-05-08 11:38:03 -07:00
Tianon Gravi 223d6de728 Move WriteFlusher out of utils into ioutils
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-08 12:33:33 -06:00
Doug Davis 769df832a3 Fix random errors in DockerSuite.TestNetworkNat
I believe this was failing because 'nc' wouldn't show the data
it received sometimes. So intead of looking for that data we now
look for the output of the echo that comes after the nc command
successfully runs

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-08 10:59:26 -07:00
Alexander Morozov a559c1145a Generate capabilityList automatically
Generation based on CAP_LAST_CAP, I hardcoded
capability.CAP_BLOCK_SUSPEND as last for systems which has no
/proc/sys/kernel/cap_last_cap

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-08 09:40:05 -07:00
Alexander Morozov 5a2d592c27 Update github.com/syndtr/gocapability to 66ef2aa7a23ba682594e2b6f74cf40c0692b49fb
It adds List function for listing all supported caps

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-08 09:22:37 -07:00
Jörg Thalheim bad25ccf97 zfs: retrieve all filesystems on startup at once
The docker graph call driver.Exists() on initialisation for each filesystem in
the graph. This results will results in a lot `zfs get all` commands. To reduce
this, retrieve all descend filesystem at startup and cache it for later checks

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:49:39 +02:00
Jörg Thalheim 11e9167a6b zfs: improve performance by using legacy mounts
instead of let zfs automaticly mount datasets, mount them on demand using mount(2).
This speed up this graph driver in 2 ways:
- less zfs processes needed to start a container
- /proc/mounts get smaller, so zfs userspace tools has less to read (which can
  a significant amount of data as the number of layer grows)

This ways it can be also ensured that the correct mountpoint is always used.

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:49:39 +02:00
Jörg Thalheim ee00f07ea6 zfs: replace c for /proc/mounts parsing with go
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:49:39 +02:00
Jörg Thalheim 30f3bd643d integration: add variable to set storage options for testing
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:49:39 +02:00
Jörg Thalheim dd614b5e34 zfs: refactor error handling
thanks to @calavera

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:48:20 +02:00
Jörg Thalheim a25195d86c zfs: add myself to MAINTAINERS
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:48:20 +02:00
Jörg Thalheim bdf784ae4a docs: move zfs.fsname option to storage option section
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:48:20 +02:00
Jörg Thalheim bacecabf3b zfs: revert to NaiveGraphDriver for the moment
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:48:20 +02:00
Jörg Thalheim d5151ca8ab Implement Docker on ZFS
Signed-off-by: Arthur Gautier <baloo@gandi.net>
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-05-08 17:48:20 +02:00
Alexander Morozov 23abd51ef1 Merge pull request #13071 from tianon/explicit-vendor
Update "hack/vendor.sh" to be more explicit
2015-05-08 08:22:17 -07:00
Brian Goff af9dac9627 Merge pull request #13069 from runcom/dry-run-test
API tests - Container create with Hostname, Domainname and Network
2015-05-07 22:07:41 -04:00
Jessie Frazelle fe3becee34 Merge pull request #12422 from wlan0/logopts
add log opts flag to pass in logging options
2015-05-07 18:10:04 -07:00
Michael Crosby b94107c4d8 Merge pull request #13080 from jfrazelle/fix-tests-where-requires-libcontainerr-security
fix lxc because it doesnt have the hardened libcontainer stuff
2015-05-07 18:07:27 -07:00
Jessie Frazelle 128a07b512 Merge pull request #13027 from runcom/fix-typo-reference-remote-api
Fix typo in the api remote reference for links
2015-05-07 17:53:21 -07:00
Jessica Frazelle 52118df432 fix lxc because it doesnt have the hardened libcontainer stuff
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-07 17:40:37 -07:00
Jessie Frazelle 47fbe76a7e Merge pull request #13077 from duglin/MoveCommands
Make list of commands for help less static
2015-05-07 17:35:54 -07:00
Jessie Frazelle 6b6a26c769 Merge pull request #11516 from coolljt0725/add_show_error_set_some_flag_in_container_netmode
add support --net=container with --mac-address, --add-host error out
2015-05-07 17:13:32 -07:00
Jessie Frazelle de32f5c431 Merge pull request #11802 from hqhq/hq_add_blkio_weight
add blkio.weight support
2015-05-07 17:10:39 -07:00
Jessie Frazelle 982402f4e0 Merge pull request #11831 from cellpjs/patch-1
Remove mkimage-unittest.sh
2015-05-07 17:07:56 -07:00
Jessie Frazelle e03ac8d5b9 Merge pull request #12175 from dqminh/fix-allocate-port
#12148: sort ports mapping before allocating
2015-05-07 17:04:20 -07:00
Jessie Frazelle f6fa579d52 Merge pull request #12270 from burnison/11294-shortidfallback
Only use fallback to short IDs when obvious.
2015-05-07 17:02:58 -07:00
Jessie Frazelle d0bc0153c6 Merge pull request #12278 from duglin/12267-Wildcards
Fix for Daemon crashing when wildcards are used for COPY/ADD
2015-05-07 17:01:16 -07:00
Jessie Frazelle d0cbaeb0d2 Merge pull request #12318 from aarondav/best-effort-iptables-lock
Do our best not to invoke iptables concurrently if --wait is unsupported
2015-05-07 17:00:26 -07:00
Jessie Frazelle 67c10e762e Merge pull request #12830 from Microsoft/10662-refactorforwindowsexecdriver
Windows: Fork execdrivers.go for Windows execdriver
2015-05-07 16:57:59 -07:00
Jessie Frazelle 0ed2013590 Merge pull request #12952 from sunyuan3/trunc
Verify the no-trunc option for the search operation
2015-05-07 16:52:46 -07:00
Jessie Frazelle 372977148d Merge pull request #12961 from hqhq/hq_remove_err_out
a few cleanups for client output
2015-05-07 16:51:56 -07:00
Jessie Frazelle 6a4c219615 Merge pull request #12970 from tianon/frozen-user-images
Allow download-frozen-image.sh to work on user images too
2015-05-07 16:50:49 -07:00
Jessie Frazelle d34abea15b Merge pull request #12976 from Microsoft/10662-graphfirstchange
Windows: First fix for graph\graph.go
2015-05-07 16:50:20 -07:00
Jessie Frazelle b1572fd0a4 Merge pull request #12986 from psankar/master
Added information about mailing lists
2015-05-07 16:49:14 -07:00
Tianon Gravi b919dee834 Update "hack/vendor.sh" to be more explicit
Previously, we've taken advantage of the fact that libcontainer's `update-vendor.sh` is the same syntax as Docker's `vendor.sh` with some shell magic.  This changes that to copy libcontainer's dependencies into this file explicitly so that we can scale to more projects with varying methods of vendoring (assuming they don't use import re-writing, which screws up everyone).

We'll need to stay diligent in making sure this list matches what's in libcontainer's `update-vendor.sh` (minus the not-required codegangsta/cli dep), but that's a fair trade-off for being able to scale our dependency model better (and track new discrete dependencies more directly).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-07 17:43:11 -06:00
Tianon Gravi 6a1f862e40 Merge pull request #13032 from jfrazelle/nano-nano-nano
add nanorc to packaged builds
2015-05-07 17:35:03 -06:00
Jessie Frazelle b4dc101d74 Merge pull request #13062 from Microsoft/10662-nativedriver
Fix os.MkdirAll in native driver
2015-05-07 16:34:31 -07:00
David Calavera 404412282d Merge pull request #12777 from ZJU-SEL/fix_pull_import_errpromt
Fix error prompt for pull & import handler postImagesCreate.
2015-05-07 16:27:15 -07:00
Jessie Frazelle b6448f25f2 Merge pull request #13065 from tianon/fix-build-deb-tilde-expansion
Fix '~' expansion in build-deb... (properly this time)
2015-05-07 16:24:33 -07:00
Jessie Frazelle b4e8942367 Merge pull request #13076 from LK4D4/fix_api_daemon_order
Fix api servers creation and daemon start order
2015-05-07 16:23:44 -07:00
Doug Davis 4f00b1020e Make list of commands for help less static
Before this PR the list of commands that were printed for the help
text was statically put into the flags.Usage() function via main.init(). This
made it impossible to modify later on when we add new commands
via plugins.

This PR moves the list of commands (name & description) into a structure
that is sorted and printed dynamically by the Usage func.  This will allow
the code to add to the list of commands after the init() func is done
but before the help text is printed for the user.

This just moves code around - it should have no UX impact at all.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-07 16:22:06 -07:00
David Calavera 23193efd93 Merge pull request #13073 from jfrazelle/add_1.6.1_commits
Add 1.6.1 commits
2015-05-07 16:17:53 -07:00
Jessie Frazelle 237bd23af8 Merge pull request #13059 from burke/no-fsync-on-temp-archive
Remove fsync in archive.NewTempArchive
2015-05-07 16:16:52 -07:00
Jessie Frazelle 1efecc4c41 Merge pull request #13041 from hqhq/hq_fix_checkkernel
update recommended kernel in checkKernel
2015-05-07 16:15:12 -07:00
Jessica Frazelle f66d225427 add nanorc to packaged builds
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-07 16:10:07 -07:00
Jessica Frazelle 2c2f6fd272 bump version back to 1.7.0-dev
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-07 15:42:36 -07:00
Alexander Morozov 08230703fd Fix api servers creation and daemon start order
* daemon creation wasn't parallel to request buffering
* it was possible that empty volume will be created in
  /var/run/docker.sock by some container

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-07 15:38:02 -07:00
Jessica Frazelle 5b1edfed9d Bump version to 1.6.1
Signed-off-by: Jessica Frazelle <jess@docker.com>
(cherry picked from commit 97cd073598)

Conflicts:
	VERSION
2015-05-07 15:01:32 -07:00
Michael Crosby f25bbedc85 Allow libcontainer to eval symlink destination
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add tests for mounting into /proc and /sys

These two locations should be prohibited from mounting volumes into
those destinations.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-07 14:43:39 -07:00
Michael Crosby 2f54c1a352 Update libcontainer to 1b471834b45063b61e0aedefbb1
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-07 14:43:39 -07:00
Michael Crosby a7a51306b1 Mask reads from timer_stats and latency_stats
These files in /proc should not be able to be read as well
as written to.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-07 14:42:23 -07:00
Michael Crosby 27ae108b4e Mount RO for timer_stats and latency_stats in proc
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-07 14:42:23 -07:00
Michael Crosby 42c8c1b0b8 Mount /proc/fs as readonly
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-05-07 14:42:23 -07:00
Michael Crosby d87da59c79 Prevent write access to /proc/asound
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	integration-cli/docker_cli_run_test.go
2015-05-07 14:42:23 -07:00
Jessie Frazelle 74bfa36753 Merge pull request #12165 from icecrime/optional_userland_proxy
Optional userland proxy
2015-05-07 14:01:16 -07:00
Alexander Morozov 93536cfa76 Merge pull request #13067 from burke/faster-commit-for-overlay
overlay: skip superfluous metadata sets on commit
2015-05-07 13:58:46 -07:00
Jessie Frazelle e712b60e80 Merge pull request #13068 from tianon/swap-builder-verbosity
Switch verbosity in builder/*/generate.sh so that we get download progress for Go instead of the name of every single file extracted
2015-05-07 13:52:51 -07:00
Jessie Frazelle 2aa09b4f86 Merge pull request #13061 from tianon/install-update-message
Update "install.sh" warning to be more verbose
2015-05-07 13:38:27 -07:00
Tianon Gravi fc9ff248c1 Update "install.sh" warning to be more verbose
See https://github.com/docker/docker/issues/12395#issuecomment-99941300 for some of the context on this one.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-07 14:20:40 -06:00
Burke Libbey bc5503f46b overlay: skip superfluous metadata sets on commit
Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-05-07 16:15:54 -04:00
Tianon Gravi 24d98c14a0 Switch verbosity in builder/*/generate.sh so that we get download progress for Go instead of the name of every single file extracted
Also, `curl` is smart enough to see when the consumer of the pipe is going slow that it should slow down the transfer, so this gives a reasonable indication of extraction progress too.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-07 14:15:35 -06:00
Tianon Gravi 297cd347a6 Fix '~' expansion in build-deb... (properly this time)
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-07 14:02:21 -06:00
John Howard 390f3c99d3 Fix os.MkdirAll in native driver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-07 12:09:30 -07:00
Rajdeep Dua 80d73c838a Test Cases for API - Container create with Hostname, DomainName and NetworkMode
Signed-off-by: Rajdeep Dua <dua_rajdeep@yahoo.com>
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-07 21:03:39 +02:00
Burke Libbey ec66daebc2 Don't fsync on V2 registry push tempfile creation
Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-05-07 14:49:38 -04:00
Fred Lifton 1e6565188d Merge pull request #13050 from SvenDowideit/dhe-docs-update
DHE documentation update sync.
2015-05-07 11:43:04 -07:00
Michael Crosby 1ab875b38b Merge pull request #13058 from bharaththiruveedula/13057-remove-SetDaemon-method
Removing the SetDaemon method
2015-05-07 10:41:41 -07:00
Alexander Morozov 4f25f21a97 Merge pull request #13044 from jpopelka/link-add
Fix firewalld callback.
2015-05-07 10:34:34 -07:00
Alexander Morozov 3d2cd92b2d Merge pull request #12966 from cpuguy83/cleanup_the_lxc_cleanup
Cleanup container reg for lxc special case
2015-05-07 10:19:46 -07:00
David Calavera db26564864 Merge pull request #12965 from tianon/libcontainer-logrus
Update libcontainer and make it the source of truth on logrus version
2015-05-07 10:10:28 -07:00
Burke Libbey 236dbc2e59 Remove Sync() call in NewTempArchive:
This makes the "Buffering to disk" part of `docker push` 70% faster in
my use-case (having already applied #12833).

fsync'ing here serves no valuable purpose: if the drive's operation is
interrupted, so it the program's, and this archive has no value other
than the immediate and transient one.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-05-07 12:58:12 -04:00
Bharath Thiruveedula 94def48878 Removing the SetDaemon method
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
2015-05-07 22:25:13 +05:30
David Calavera d78755d159 Merge pull request #12822 from brahmaroutu/container_stop_api
restapi stop fails if ?t=int not present
2015-05-07 09:38:59 -07:00
David Calavera a38d6b5755 Merge pull request #13037 from runcom/12607-no-strconv-atoi-err-check
Do not check and return strconv.Atoi error in api container restart
2015-05-07 09:29:10 -07:00
Srini Brahmaroutu 68e9c07850 Restapi for stop fails if ?t=int not present
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-05-07 15:43:50 +00:00
Sven Dowideit 59bfee2fa4 DHE documentation update
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-07 20:38:46 +10:00
Jiri Popelka 6e8cfd63fc Fix firewalld callback.
It needs to be called with same args as the one 4 lines above.

Signed-off-by: Jiri Popelka <jpopelka@redhat.com>
2015-05-07 10:08:49 +02:00
Tianon Gravi 443437f5ea Merge pull request #13038 from tianon/fix-build-deb
Fix build-deb
2015-05-06 22:12:15 -07:00
Qiang Huang f133f11a7d add blkio.weight support
We can use this to control block IO weight of a container.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-07 11:55:58 +08:00
Brian Goff 44cd599e29 Cleanup container reg for lxc special case
The lxc code here is doing the exact same thing on calling
execdriver.Terminate, so let's just use that.

Also removes some dead comments originally introduced
50144aeb42 but no longer relevant since we
have restart policies.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-06 23:01:46 -04:00
Qiang Huang ceae5f54b3 update recommended kernel in checkKernel
We already changed docs: https://github.com/docker/docker/pull/10652
Should change code as well.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-07 10:11:02 +08:00
Fred Lifton a1aff84480 Merge pull request #13036 from SvenDowideit/update-docker-hub-repo-documentation
Add a userguide to cover the uses of Hub before creating new reposito…
2015-05-06 18:02:23 -07:00
Sven Dowideit 9da3a848ab Add a userguide to cover the uses of Hub before creating new repositories
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-07 00:31:04 +00:00
Doug Davis a592dce97b Merge pull request #13034 from icecrime/remove_insert_instruction
Remove unused Dockerfile instruction INSERT
2015-05-06 20:12:50 -04:00
Tianon Gravi 867eed8f35 Fix build-deb
This fixes the part of #12996 that I forgot. 👼

This also fixes a minor path issue (there's no `libexec` in Debian), and fixes a minor bug with the `debVersion` parsing.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-06 18:10:15 -06:00
Antonio Murdaca 74121a4211 Do not check and return strconv.Atoi error in api container restart, regression
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-07 01:49:16 +02:00
Arnaud Porterie 596e91638c Remove unused Dockerfile instruction INSERT
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-06 16:26:43 -07:00
jhowardmsft e35b025aa6 Windows: Split ContainerExecCreate
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-06 16:19:27 -07:00
Alexander Morozov 4b4adae41c Merge pull request #13033 from icecrime/12715_carry
Logs with follow=1 immediately send HTTP response
2015-05-06 15:42:48 -07:00
Alexander Morozov f65e65b0c9 Merge pull request #12980 from Microsoft/10662-filepathimageimage
Windows: Fix filepath vs path in image.go
2015-05-06 15:02:10 -07:00
Alexander Morozov 7d38d33f01 Merge pull request #12977 from Microsoft/10662-graphloadfilepath
Windows: Filepath in graph\load.go
2015-05-06 15:01:49 -07:00
Anthony Baire 589de35651 Logs with follow=1 immediately send HTTP response
Signed-off-by: Anthony Baire <Anthony.Baire@irisa.fr>
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-06 14:39:45 -07:00
Jessie Frazelle 54a1bb07fa Merge pull request #13018 from mbentley/nanorc-syntax
Added nanorc for Dockerfiles
2015-05-06 14:23:20 -07:00
Jessie Frazelle 10f4bf514d Merge pull request #12878 from cpuguy83/move_chunked_encoding_test_to_from_integration
Move ChunkedEncoding from integration
2015-05-06 13:59:13 -07:00
Antonio Murdaca 72a0272a62 Fix typo in the api remote reference for links
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-06 22:08:10 +02:00
Brian Goff f9b20ad9e4 Merge pull request #12999 from duglin/BadRUNerrMsg
Fix RUN's error msg when it fails
2015-05-06 15:49:24 -04:00
Alexander Morozov 71c1a7ea7f Merge pull request #13017 from cpuguy83/12859_fix_lxc_wait_exitcodes
Fix LXC stop signals
2015-05-06 11:21:44 -07:00
Tianon Gravi ca8fa6e46d Allow download-frozen-image.sh to work on user images too
To account for "/" not working in filenames, we replace it with "_" for our temporary files (that exist only to emulate Bash 4's associative arrays in Bash 3).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-06 12:05:17 -06:00
Brian Goff 7c574b9e9d Move ChunkedEncoding from integration
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-06 13:00:17 -04:00
Matt Bentley 76bc44fb91 Added nanorc for Dockerfiles
Signed-off-by: Matt Bentley <matt@docker.com>
2015-05-06 12:41:11 -04:00
Brian Goff d2c4ee37c6 Fix LXC stop signals
`lxc-stop` does not support sending arbitrary signals.
By default, `lxc-stop -n <id>` would send `SIGPWR`.
The lxc driver was always sending `lxc-stop -n <id> -k`, which always
sends `SIGKILL`. In this case `lxc-start` returns an exit code of `0`,
regardless of what the container actually exited with.
Because of this we must send signals directly to the process when we
can.

Also need to set quiet mode on `lxc-start` otherwise it reports an error
on `stderr` when the container exits cleanly (ie, we didn't SIGKILL it),
this error is picked up in the container logs... and isn't really an
error.

Also cleaned up some potential races for waitblocked test.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-06 11:56:48 -04:00
Brian Goff a242ceaa09 Merge pull request #12975 from Microsoft/10662-graphexportfilepath
Windows: graph\export.go filepath fixes
2015-05-05 21:44:57 -04:00
Vincent Batts 2281d6c266 Merge pull request #12917 from jfrazelle/add-rpm
Add RPM for centos-7, fedora-20, fedora-21
2015-05-05 17:31:21 -07:00
Doug Davis 54662eae10 Fix RUN's error msg when it fails
When RUN returns with a non-zero return code it prints the command
that was executed as a Go []string:
```
INFO[0000] The command &{[/bin/sh -c noop a1 a2]} returned a non-zero code: 127
```

instead it should look like this:
```
INFO[0000] The command "/bin/sh -c noop a1 a2" returned a non-zero code: 127
```

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-05 16:08:41 -07:00
Jessie Frazelle b5d68944f4 Merge pull request #13004 from duglin/FixBuilderStepMsg
Fix issue where build steps are duplicated in the output
2015-05-05 16:06:50 -07:00
Jessica Frazelle 18beb55611 Add rpm for centos-6, centos-7, fedora-20, fedora-21
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-05-05 16:05:30 -07:00
Doug Davis 08b7f30fcd Fix issue where build steps are duplicated in the output
This fixes an issue where the build output for the "Steps" would look like:
```
Step 1: RUN echo hi echo hi
```
instead of
```
Step 1: RUN echo hi
```

Also, I noticed that there were no checks to make sure invalid Dockerfile
cmd flags were caught on cmds that didn't use cmd flags at all. They would
have been caught on the cmds that had flags, but cmds that didn't bother
to add a new code for flags would have just ignored them.  So, I added
checks to each cmd to flag it.

Added testcases for issues.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-05-05 15:28:42 -07:00
moxiegirl 78c70cc364 Merge pull request #13003 from moxiegirl/machine-branch-change
Updating branch for machine docs
2015-05-05 14:49:44 -07:00
Arnaud Porterie e960e4bb12 Merge pull request #11844 from jbarbier/cgroup-parent-42
Adding cgroup-parent option for docker build
2015-05-05 14:46:47 -07:00
Mary Anthony 8c9d67921a Updating branch for machine docs
Signed-off-by: Mary Anthony <mary@docker.com>
2015-05-05 14:33:31 -07:00
Sebastiaan van Stijn f0a8dfd29e Merge pull request #12993 from psftw/support-tweak
Remove blanket "supported" language.
2015-05-05 16:03:02 -04:00
David Calavera 6bb596219f Merge pull request #12996 from tianon/abri-à-vélo
Replace "docker-core" with "docker-engine" in "build-deb"
2015-05-05 10:43:15 -07:00
Patrick Devine 878dcb89f3 Make a docker-in-docker dynamic binary and add RPM target
This change adds a new docker-in-docker dynamic binary make target which
builds a centos container for creating the dynamically linked binary.
To use it, you first must create the static binary and then call the
dind-dynbinary target.  You can call it like:

$ hack/make.sh binary dind-dynbinary rpm

This would then package the dynamic binary into the rpm after having
created it in the centos build container.  Unfortunately with this approach
you can't create the rpms and the debs with the same command.  They have to
be created separately otherwise the wrong version (static vs. dynamic) gets
packaged.

Various RPM fixes including:
  - Adding missing RPM dependencies.
  - Add sysconfig configuration files to the RPM.
  - Add an epoch to silence the fpm warning.
  - Remove unnecessary empty package.

Signed-off-by: Patrick Devine <patrick.devine@docker.com>
Signed-off-by: Chad Metcalf <chad@docker.com>
2015-05-05 10:01:39 -07:00
Alexander Morozov 77266a67e0 Merge pull request #12947 from runcom/11577-readonly-special-file-if-readonlyfs
Make /etc/hosts, /etc/resolv.conf, /etc/hostname read only if --read-only enabled
2015-05-05 09:45:24 -07:00
Alexander Morozov e894a901db Merge pull request #12679 from adcaes/12607-remove-error-check
Add intValue and use it to get timeout form param in postContainersRestart
2015-05-05 09:38:45 -07:00
Tianon Gravi 5e563d1708 Replace "docker-core" with "docker-engine" in "build-deb"
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-05 10:11:59 -06:00
Burke Libbey 03956610e5 ino and dev must both match for a file to be identical.
This case is triggered frequently on ZFS.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
2015-05-05 11:06:54 -04:00
Peter Salvatore 3efc083d4a Remove blanket "supported" language.
Signed-off-by: Peter Salvatore <peter@psftw.com>
2015-05-05 11:03:53 -04:00
Lei Jitang 0e08e9aca1 Add support --net=container with --mac-address,--add-host error out
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-05 19:28:40 +08:00
Lei Jitang 101f982059 Refactor the code of checking conflict option with netmode.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-05-05 19:23:18 +08:00
Qiang Huang 5a6db4fd44 a few cleanups for client output
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-05 15:59:17 +08:00
Sankar சங்கர் c7ca73c830 Added information about mailing lists
Signed-off-by: Sankar சங்கர் <sankar.curiosity@gmail.com>
2015-05-05 13:21:24 +05:30
Adria Casas a2c76912e0 Rename int64Value to int64ValueOrZero.
Signed-off-by: Adria Casas <adriacasas88@gmail.com>
2015-05-05 08:54:28 +02:00
Tibor Vass 91fb4d672a Merge pull request #10766 from cpuguy83/stats_pull_once
Allow pulling stats once and disconnecting.
2015-05-04 22:28:01 -07:00
Tibor Vass f838d44283 Merge pull request #12979 from Microsoft/10662-filepathgraphpush
Windows: Fix filepath vs path in push.go
2015-05-04 22:25:13 -07:00
Fred Lifton 677b962642 Merge pull request #12981 from SvenDowideit/marc-merlin-spelling-fix
spelling fix from Marc MERLIN
2015-05-04 17:53:37 -07:00
Yuan Sun 6e8aa4e588 Verify the no-trunc option for the search operation.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-05-05 08:51:13 +08:00
Sven Dowideit bba5fd8caa spelling fix from Marc MERLIN
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-05 00:38:41 +00:00
John Howard 1c3b697d60 Windows: Fix filepath vs path in image.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-04 16:23:17 -07:00
Fred Lifton 77183ed760 Merge pull request #12890 from SvenDowideit/update-docker-hub-accounts-documentation
Update the Docker Hub account, org and group documentation and images
2015-05-04 16:23:08 -07:00
John Howard 3b2c8f69fd Windows: Fix filepath vs path in push.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-04 16:18:23 -07:00
Arnaud Porterie 44de5fecce Add DOCKER_USERLANDPROXY test variable
Add an convenient way to switch --userland-proxy on and off in
integration tests.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-04 16:07:51 -07:00
Arnaud Porterie f42348e18f Add --userland-proxy daemon flag
The `--userland-proxy` daemon flag makes it possible to rely on hairpin
NAT and additional iptables routes instead of userland proxy for port
publishing and inter-container communication.

Usage of the userland proxy remains the default as hairpin NAT is
unsupported by older kernels.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-05-04 16:07:45 -07:00
John Howard bb1ecde164 Windows: Filepath in graph\load.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-04 15:14:39 -07:00
John Howard b30f14f06d Windows: First fix for graph\graph.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-04 15:06:51 -07:00
John Howard 377ed712d3 Windows: graph\export.go filepath fixes
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-05-04 14:56:23 -07:00
wlan0 dca9e02b15 Add log opts flag to pass in logging options
Signed-off-by: wlan0 <sidharthamn@gmail.com>
2015-05-04 14:39:48 -07:00
Vincent Batts 56c9917815 Merge pull request #12190 from rhvgoyal/deferred-removal
Devicemapper: Provide deferred device removal capability
2015-05-04 14:22:52 -07:00
Phil Estes 980c0e8c3b Merge pull request #12948 from runcom/api-tests-container-delete
Add tests for API container delete
2015-05-04 17:08:52 -04:00
Antonio Murdaca 8771cafab6 Add tests for API container delete
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-04 22:41:57 +02:00
Phil Estes 3fcf387d52 Merge pull request #12718 from Microsoft/10662-mkdirall
Windows: Volume path aware mkdirall
2015-05-04 15:51:56 -04:00
David Calavera 0a2ccb1cb5 Merge pull request #12769 from calavera/git_build_fragment
Use git url fragment to specify build reference and dir context.
2015-05-04 12:48:24 -07:00
mauriyouth 7d371c0b47 Make /etc/hosts, /etc/resolv.conf, /etc/hostname read only if --read-only is enable
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-04 21:30:52 +02:00
Michael Crosby f93cbd2448 Merge pull request #12967 from runcom/add-self-to-maintainers
Add runcom to maintainers.people
2015-05-04 12:00:42 -07:00
Tibor Vass 87a0ca5283 Merge pull request #12954 from vdemeester/11595-pkg-ioutils-coverage
More test on pkg/ioutils (coverage)
2015-05-04 14:57:58 -04:00
Arnaud Porterie 9c32cd1cef Merge pull request #10775 from duglin/BuilderFlags
Add support for Dockerfile CMD options
2015-05-04 11:39:09 -07:00
Antonio Murdaca ea6649e701 Add runcom to maintainers.people
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-04 20:26:11 +02:00
Vincent Demeester 815b472a02 Add more ioutils tests.
Closes #11595

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-05-04 19:56:10 +02:00
Jessie Frazelle 0c1c272687 Merge pull request #12865 from larsks/bug/12864
journald log driver: use CONTAINER_ID field for container id
2015-05-04 10:53:58 -07:00
Phil Estes 4895a887e2 Merge pull request #12937 from runcom/daemon-as-a-service
Refactor server to use daemon as the service layer in controllers
2015-05-04 13:03:28 -04:00
Tianon Gravi 80a895142e Update libcontainer and make it the source of truth on logrus version
To help avoid version mismatches between libcontainer and Docker, this updates libcontainer to be the source of truth for which version of logrus the project is using.  This should help avoid potential incompatibilities in the future, too. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-04 11:02:44 -06:00
Phil Estes 24bd3db0b5 Merge pull request #12939 from draghuram/history_test
Adding test for "GET /images/(name)/history" API.
2015-05-04 12:58:43 -04:00
Tibor Vass 8ac8c2af60 Merge pull request #12936 from tianon/docker-dev
Rename development builds to be in the "docker-dev" repo instead of "docker"
2015-05-04 12:55:46 -04:00
Alexander Morozov 4f5272320c Merge pull request #12958 from Mashimiao/cleanup-container-functions
Cleanup: move container's functions to its own file
2015-05-04 09:36:55 -07:00
David Calavera 49fd83a25e Use git url fragment to specify reference and dir context.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-05-04 09:28:06 -07:00
Sebastiaan van Stijn ac324e5e52 Merge pull request #11034 from HuKeping/oom_kill_disable
enable cgroups memory.oom_control
2015-05-04 11:53:05 -04:00
unclejack 2e49281bd0 Merge pull request #12903 from rhvgoyal/disable-discards
devmapper: Disable mount option "discard" by default
2015-05-04 18:35:25 +03:00
Tibor Vass a8d73339f2 Merge pull request #12953 from sunyuan3/404
Verifiy status Codes 404 when no such image.
2015-05-04 11:10:07 -04:00
Brian Goff f3023a93d1 Allow pulling stats once and disconnecting.
Adds a `stream` query param to the stats API which allows API users to
only collect one stats entry and disconnect instead of keeping the
connection alive to stream more stats.

Also adds a `--no-stream` flag to `docker stats` which does the same

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-05-04 10:49:13 -04:00
unclejack 56f7da34fc Merge pull request #12944 from tianon/fsnotify-1.2.0
Update fsnotify to 1.2.0
2015-05-04 16:57:45 +03:00
Ma Shimiao 1be7a10b89 cleanup: move container's functions to its file
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-05-04 21:37:44 +08:00
unclejack 175339ffb6 Merge pull request #12943 from tianon/go-patricia-v2
Update go-patricia to 2.1.0
2015-05-04 16:28:03 +03:00
HuKeping a4a924e1b6 Feature: option for disable OOM killer
Add cgroup support for disable OOM killer.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-05-04 21:11:29 +08:00
Yuan Sun 9eefd2c17d Verifiy status Codes 404 when no such image
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-05-04 15:39:40 +08:00
Sven Dowideit 5cec69a7b3 Update the Docker Hub account, org and group documentation and images
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-05-04 00:37:54 +00:00
James Turnbull fe221852b7 Merge pull request #12950 from thieman/tnt-riak-ssh-reference
Remove stale reference to previous SSH instructions
2015-05-03 15:42:38 -04:00
Travis Thieman b40a5eeec8 Remove stale reference to previous SSH instructions
Signed-off-by: Travis Thieman <travis.thieman@gmail.com>
2015-05-03 14:15:17 -04:00
Doug Davis 15313dfdf3 Merge pull request #12735 from jmzwcn/patch-1
Remove empty line after client.CmdInspect docstring
2015-05-03 11:10:14 -04:00
Doug Davis e8bbd87ba8 Merge pull request #12888 from jmzwcn/patch-3
`docker images` friendly duration gets unfriendly after a while
2015-05-03 11:09:25 -04:00
Daniel Zhang 28ea4a63d0 docker images friendly duration gets unfriendly after a while
fix #12852
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>
2015-05-03 21:19:18 +08:00
jmzwcn 28547a1a3a Remove empty line after client.CmdInspect docstring #12706
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>

Remove empty line after client.CmdInspect docstring

fix #12706
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>

Remove empty line after client.CmdInspect docstring

fix #12706
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>
2015-05-03 17:23:18 +08:00
Tianon Gravi e1ccfabdc5 Update fsnotify to 1.2.0
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-02 23:28:15 -06:00
Tianon Gravi b447fef7ec Update go-patricia to 2.1.0
This includes a fix for the minor v2 API change introduced by https://github.com/tchap/go-patricia/commit/341a37095fea62f400f449e4ec0192702d6e019e. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-02 23:25:57 -06:00
Raghuram Devarakonda aaaa8bab0c Adding test for "GET /images/(name)/history" API.
Closes #12284.

Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-05-02 23:09:32 -04:00
Sebastiaan van Stijn 0ad6f90127 Merge pull request #12893 from vdemeester/12892-fix-labels-documentation
Fixing examples given for labels
2015-05-02 22:29:08 -04:00
Sebastiaan van Stijn b58f48ae42 Merge pull request #12922 from tianon/complete-repos-on-pull-all
Only complete repos with "docker pull -a"
2015-05-02 22:19:37 -04:00
Alexander Morozov ec534042aa Merge pull request #12941 from runcom/unused-return-error
Remove unused error return
2015-05-02 09:12:59 -07:00
Antonio Murdaca 4aff563282 Remove unused error return
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-02 15:57:57 +02:00
Antonio Murdaca c7cfdb65aa Refactor server to use daemon as the service layer in controllers
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-02 03:12:58 +02:00
Tianon Gravi a4af8ad869 Rename development builds to be in the "docker-dev" repo instead of "docker"
See https://github.com/docker-library/docker/issues/2 for some of the context around this; essentially, we're looking to create an official `docker` image that includes the Docker CLI (and the dependencies necessary for easy Docker-in-Docker), but it makes sense to use the `docker` namespace for that image.  The `docker-dev` official image is already builds of Docker's own `Dockerfile` (but specifically of releases), so this seemed like a good fit. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 18:28:08 -06:00
Jessie Frazelle 3ea59f8991 Merge pull request #12932 from tianon/finally-remove-archive-tar-copy
Finally remove our copy of "archive/tar" now that Go 1.4 is the minimum!
2015-05-01 15:43:13 -07:00
Alexander Morozov 393678474f Merge pull request #12924 from runcom/provide-struct-to-cli-stream
Provide a struct to configure cli streaming
2015-05-01 15:10:58 -07:00
Tianon Gravi 576985a1dc Finally remove our copy of "archive/tar" now that Go 1.4 is the minimum!
IT'S ABOUT TIME. 🎉

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 16:01:10 -06:00
Jessie Frazelle 1f2f3db1e3 Merge pull request #12720 from DarianAnjuhal/fix-ensure-dockerinit
TestDiffEnsureDockerinitFilesAreIgnored is too long
2015-05-01 14:52:34 -07:00
Jessie Frazelle 4d88bf3ecb Merge pull request #12930 from tianon/build-deb-stretch
Add "debian:stretch" as another build-deb target
2015-05-01 14:42:19 -07:00
Michael Crosby e6d3ebd939 Merge pull request #12929 from tianon/dockerignore-fffff
Remove hacky "cp .../Dockerfile.build ." in "build-deb"
2015-05-01 14:32:26 -07:00
Michael Crosby ab74b327c6 Merge pull request #12928 from LK4D4/firewalld_race
Fix race in FirewalldInit
2015-05-01 14:23:47 -07:00
Tianon Gravi d317b7c891 Add "debian:stretch" as another build-deb target
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 15:03:08 -06:00
Tianon Gravi 9f5730e131 Remove hacky "cp .../Dockerfile.build ." in "build-deb"
Turns out that `-f` on a file that's in `.dockerignore` actually does work.  No idea why it wasn't when I was doing this before, but oh well! 🤘

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 14:45:00 -06:00
Alexander Morozov a05bcd12c4 Fix race in FirewalldInit
It was possible that signalHandler won't start because connections is
not assigned.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-05-01 13:35:54 -07:00
Antonio Murdaca d9639409fd Provide a struct to configure cli streaming
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-05-01 20:23:44 +02:00
Michael Crosby e1df16b3a3 Merge pull request #12921 from hqhq/hq_fix_rmlink
fix docker rm name issue
2015-05-01 11:15:25 -07:00
Tianon Gravi 380b873752 Only complete repos with "docker pull -a"
With this, `docker pull deb<tab>` will show all `debian:*` tags, as before, but `docker pull -a deb<tab>` will complete directly to just `debian`. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 10:04:24 -06:00
moxiegirl 949b929a32 Merge pull request #12882 from kostickm/12824-uninstall-docs
Docs adding uninstall instructions
2015-05-01 08:54:59 -07:00
Megan Kostick 5eee4058fe Docs adding uninstall instructions
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-05-01 08:10:56 -07:00
Qiang Huang 79f13d1497 fix docker rm name issue
Addresses https://github.com/docker/docker/issues/12308

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-05-01 22:26:40 +08:00
moxiegirl 7e864a57bc Merge pull request #12915 from moxiegirl/implement-github-ignores
Adding support for GITHUB IGNORES to the engine Dockerfile
2015-05-01 06:29:27 -07:00
Vivek Goyal 04adaaf1ee devmapper: Disable mount option "discard" by default
Right now devicemapper mounts thin device using online discards by default
and passes mount option "discard". Generally people discourage usage of
online discards as they can be a drain on performance. Instead it is 
recommended to use fstrim once in a while to reclaim the space.

In case of  containers, we recommend to keep data volumes separate. So
there might not be lot of rm, unlink operations going on and there might
not be lot of space being freed by containers. So it might not matter
much if we don't reclaim that free space in pool.

User can still pass mount option explicitly using dm.mountopt=discard to
enable discards if they would like to.

So this is more like setting the containers by default for better performance
instead of better space efficiency in pool. And user can change the behavior
if they don't like default behavior.

Reported-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-05-01 09:16:31 -04:00
Tibor Vass 79d086c47d Merge pull request #12772 from Microsoft/10662-moveworkdirchecktoserver
Windows: Move workdir check daemon-side
2015-05-01 00:24:40 -04:00
Tibor Vass abf1a14bfe Merge pull request #12716 from Microsoft/10662-defaultlistener
Windows: Change default listener to HTTP
2015-05-01 00:11:54 -04:00
jhowardmsft cbf9a64cb5 Windows: Change default listener to HTTP
Signed-off-by: jhowardmsft <jhoward@microsoft.com>
2015-04-30 19:49:45 -07:00
Michael Crosby 66077a9d69 Merge pull request #12767 from Microsoft/10662-commitdefertarclose
Windows: Commit() rwTar defer close
2015-04-30 18:06:09 -07:00
Tibor Vass e9c9682333 Merge pull request #12829 from Microsoft/10662-execdriver-driver-refactor
Windows: Start refactor execdriver/driver.go
2015-04-30 20:36:10 -04:00
Michael Crosby 6b42d72d86 Merge pull request #12831 from Microsoft/10662-nolxconwindows
Windows: Factor out LXC
2015-04-30 17:25:15 -07:00
Michael Crosby d2e380b687 Merge pull request #12841 from Mashimiao/use-CustomSize-to-replace-intToString
use CustomSize replace intToString
2015-04-30 17:24:41 -07:00
moxiegirl 7e7b6a20bd Merge pull request #12901 from hqhq/hq_fix_test_comment
fix comments for test certain tests
2015-04-30 17:08:23 -07:00
Michael Crosby 5221fd2ba5 Merge pull request #12900 from gaurav-gosec/master
Make use of iptablesPath variable which has the path of iptables, instea...
2015-04-30 16:12:03 -07:00
Michael Crosby 6bb1986e7f Merge pull request #12914 from duglin/FixCPtext
Don't wrap 'cp' help too soon.
2015-04-30 16:05:20 -07:00
Tibor Vass 648bf6a446 Merge pull request #12909 from runcom/12907-fix-TestApiImagesDelete-net-none-build
Fix TestApiImagesDelete for --net none build
2015-04-30 18:22:04 -04:00
Mary Anthony 51977a2307 Adding support for GITHUB IGNORES to the engine Dockerfile
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-30 15:21:05 -07:00
Doug Davis 68ee5bdf96 Don't wrap 'cp' help too soon.
Minor thing but docker cp --help was:
Copy files/folders from a PATH on the container to a HOSTDIR on the host
running the command. Use '-' to write the data
as a tar file to STDOUT.

This changes it to:
Copy files/folders from a PATH on the container to a HOSTDIR on the host
running the command. Use '-' to write the data as a tar file to STDOUT.

The \n made the output look funky.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-30 14:43:14 -07:00
John Howard 10e2dbf375 Windows: Factor out LXC
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-30 14:28:35 -07:00
John Howard 71bfb93678 Windows: Fork execdrivers.go for Windows execdriver
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-30 14:22:30 -07:00
John Howard b255c565ca Windows: Start refactor execdriver/driver.go
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-30 14:21:04 -07:00
John Howard 03eb0d065d Windows: Move workdir check daemon-side
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-30 14:16:45 -07:00
John Howard f9c7772b83 Windows: Commit() rwTar defer close
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-30 12:17:33 -07:00
jhowardmsft 86d1223a29 Windows: mkdirall volume path aware
Signed-off-by: jhowardmsft <jhoward@microsoft.com>
2015-04-30 11:59:42 -07:00
Antonio Murdaca 5c86f311c8 Fix TestApiImagesDelete for --net none build
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-30 20:49:28 +02:00
Alexander Morozov 72e9e12fa0 Merge pull request #12592 from Mic92/dockerfile
Dockerfile: download go libraries before copy vendor
2015-04-30 10:29:01 -07:00
moxiegirl cacf90c963 Merge pull request #12857 from nikolas/patch-1
Remove incorrect option in docker install command
2015-04-30 09:35:20 -07:00
Tibor Vass 0d0b42547e Merge pull request #12771 from runcom/say-bye-to-engine
Remove engine
2015-04-30 12:18:16 -04:00
Brian Goff fc9033a9c8 Merge pull request #12664 from Mashimiao/sysinfo-support-ipv4_forward-check
sysinfo: add IPv4Forwarding check
2015-04-30 11:44:44 -04:00
Brian Goff 1eb4e96f21 Merge pull request #12837 from mavenugo/integ
A few more Integration tests to test Networking related daemon flags
2015-04-30 11:12:43 -04:00
Lars Kellogg-Stedman 869ecba652 journald log driver: use CONTAINER_ID field for container id
This patch modifies the journald log driver to store the container ID in
a field named CONTAINER_ID, rather than (ab)using the MESSAGE_ID field.
Additionally, this adds the CONTAINER_ID_FULL field containing the
complete container ID and CONTAINER_NAME, containing the container name.

When using the journald log driver, this permits you to see log messages
from a particular container like this:

    # journalctl CONTAINER_ID=a9238443e193

Example output from "journalctl -o verbose" includes the following:

    CONTAINER_ID=27aae7361e67
    CONTAINER_ID_FULL=27aae7361e67e2b4d3864280acd2b80e78daf8ec73786d8b68f3afeeaabbd4c4
    CONTAINER_NAME=web

Closes: #12864
Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2015-04-30 10:42:27 -04:00
Gaurav 1d5f1bb0f5 Make use of iptablesPath variable which has the path of iptables, instead of using string iptables directly
Signed-off-by: Gaurav <gaurav.gosec@gmail.com>
2015-04-30 18:22:12 +05:30
Vincent Demeester 424a544bb5 Fixing examples given for labels
Fixes #12892

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-30 09:48:54 +02:00
Qiang Huang 987e221607 fix comments for test certain tests
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-30 15:40:48 +08:00
Daniel, Dao Quang Minh cd2b019214 sort ports mapping before allocating
prioritize the ports with static mapping before dynamic mapping. This removes
the port conflicts when we allocate static port in the reserved range
together with dynamic ones.
When static port is allocated first, Docker will skip those when determining
free ports for dynamic ones.

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-04-30 02:18:04 +00:00
Antonio Murdaca f7e417ea5e Remove integration tests and port them to integration-cli
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-30 01:35:16 +02:00
Antonio Murdaca 531f4122bd Remove engine mechanism
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-30 01:35:16 +02:00
Sebastiaan van Stijn 029cbc1004 Merge pull request #12574 from ahmetalpbalkan/docs/systemd-dir
docs: Add more places docker.service can be at
2015-04-29 19:07:58 -04:00
Ahmet Alp Balkan c0a1b2d6e9 docs: Add more places docker.service can be at
More systemd goodness. Documenting where `docker.service` lives under Ubuntu 15.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-29 22:39:48 +00:00
Phil Estes 2c4fe2aba3 Merge pull request #12439 from Mashimiao/add-err-check-before-getting-term
Add error check before getting term
2015-04-29 17:57:01 -04:00
Aaron Davidson c271c61fee Do our best not to invoke iptables concurrently if --wait is unsupported
We encountered a situation where concurrent invocations of the docker daemon on a machine with an older version of iptables led to nondeterministic errors related to simultaenous invocations of iptables.

While this is best resolved by upgrading iptables itself, the particular situation would have been avoided if the docker daemon simply took care not to concurrently invoke iptables. Of course, external processes could also cause iptables to fail in this way, but invoking docker in parallel seems like a pretty common case.

Signed-off-by: Aaron Davidson <aaron@databricks.com>
2015-04-29 14:40:25 -07:00
Dan Walsh d0a4f310ef Merge branch 'master' of github.com:docker/docker into kill
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-04-29 15:06:47 -04:00
Madhu Venugopal 1c073ec176 Moved explicit cleanups into defered action
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 11:41:13 -07:00
Jessie Frazelle d716f22aad Merge pull request #12875 from runcom/remove-cfatal-in-goroutine-integration-cli
c.Fatal won't fail and exit test inside a goroutine
2015-04-29 10:47:17 -07:00
Alexander Morozov 6c46c9c839 Merge pull request #11526 from mizzy/append-drop-rule-not-insert
Append DROP rule with --icc=false, not insert
2015-04-29 10:28:11 -07:00
Madhu Venugopal dd0666e64f Integration Tests for --icc=false & container Linking using --expose
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 10:16:31 -07:00
Jessie Frazelle 53bef64804 Merge pull request #10427 from jfrazelle/option-to-disable-systemd-cgroups
Option to configure cgroup manager (adds --exec-opt)
2015-04-29 10:00:41 -07:00
Madhu Venugopal ba11929ebd Integration tests for --ip daemon option
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 09:55:49 -07:00
Madhu Venugopal 0e254411b1 Integration tests for --fixed-cidr daemon config
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 09:55:42 -07:00
Madhu Venugopal 9c325c3f54 Integration tests for --bip daemon flag
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 09:55:34 -07:00
Madhu Venugopal f3f5ff9d83 Integration tests for --bridge daemon flag
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-29 09:55:25 -07:00
Doug Davis 44f8c44e5f Merge pull request #12840 from vdemeester/11598-pkg-fileutils-tests
Add coverage on pkg/fileutils
2015-04-29 11:15:57 -04:00
Antonio Murdaca 4203230cbb c.Fatal won't fail and exit test inside a goroutine, errors should be handled outside with a channel
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-29 17:02:22 +02:00
Vincent Demeester 8454e1a3b2 Add coverage on pkg/fileutils
Should fix #11598

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-29 16:27:12 +02:00
Doug Davis 534ed8c2d4 Remove use of "DEBUG" env var from CLI and decouple DEBUG from --log-level
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-29 06:20:33 -07:00
Brian Goff f2f8e4c5c9 Merge pull request #12870 from coolljt0725/fix_rename_help
Fix docker rename help not consistent with other commands
2015-04-29 09:14:03 -04:00
Lei Jitang 0e752adf55 Fix docker rename help not consistent with other commands
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-29 19:37:20 +08:00
Ma Shimiao 8a2f899286 use CustomSize replace intToString
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-29 08:30:25 +08:00
Brian Goff d2f0b9ed97 Merge pull request #11190 from cyphar/expose-path-sanitisation-wrappers
Expose the getResourcePath and getRootResourcePath wrappers.
2015-04-28 18:45:36 -04:00
Jessie Frazelle f80300e9cf Merge pull request #12789 from LK4D4/daemon_suite
Implement daemon suite for integration-cli
2015-04-28 15:30:36 -07:00
David Calavera cfa3a080c6 Merge pull request #12820 from runcom/yet-another-sockRequest-refactor
Expose whole Response struct in sockRequestRaw
2015-04-28 13:26:30 -07:00
Jessie Frazelle 4676ff3fd7 Merge pull request #12245 from buddhamagnet/dockerignore-ignores
Add support for exclusion rules in dockerignore
2015-04-28 11:28:46 -07:00
buddhamagnet 6fd8e485c8 add support for exclusion rules in dockerignore
Signed-off-by: Dave Goodchild <buddhamagnet@gmail.com>
2015-04-28 18:56:45 +01:00
nikolas f04837cf80 Remove incorrect option in docker install command
The `-N` option is not compatible with the `-O` option of wget (see the man page).

The example command now matches the example in the script on http://get.docker.com/.

Signed-off-by: Nik Nyby <nikolas@gnu.org>
2015-04-28 13:27:04 -04:00
moxiegirl dde5ff2872 Merge pull request #12644 from psftw/official-repos-rewrite
Rewrite Official Repos page.
2015-04-28 08:57:29 -07:00
moxiegirl 6113eab174 Merge pull request #12814 from vbatts/vbatts-rhel_updates
RHEL updates
2015-04-28 08:51:35 -07:00
Alexander Morozov 868d5dca74 Merge pull request #12844 from hqhq/hq_fix_inspect_format
fix a minor inspect format issue
2015-04-28 08:50:52 -07:00
Vincent Batts 9b365e0845 rhel.md: adding link to most recent issue
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-28 11:28:33 -04:00
Vincent Batts 179b6ddc35 rhel.md: bump the kernel version for RHEL6
Closes #9856

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-28 11:28:33 -04:00
Vincent Batts ed40c0a9a4 rhel.md: update RHEL6 from 6.5 to 6.6
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-28 11:28:23 -04:00
Doug Davis a8e871b0bb Add support for Dockerfile CMD options
This adds support for Dockerfile commands to have options - e.g:
   COPY --user=john foo /tmp/
   COPY --ignore-mtime foo /tmp/

Supports both booleans and strings.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-28 05:28:46 -07:00
Phil Estes 67da055ceb Merge pull request #12826 from cpuguy83/12825_fix_leftover_container_json
Fix undead containers
2015-04-28 08:11:40 -04:00
moxiegirl 6ac481296d Merge pull request #12723 from moxiegirl/carry-11296
Integrating Windows Testing Material
2015-04-28 04:56:17 -07:00
Qiang Huang c7812f01c7 fix a minor inspect format issue
Before, inspect cont1 cont2 shows:
[{
    xxx
}
,{
    xxx
}
]
After, it shows:
[
{
   xxx
}
,{
    xxx
}
]

Because `func (*Encoder) Encode` always followed by a newline character,
so it's difficult to put '}' and ']' one the same line.

To get symmetry, above is our choice.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-28 18:51:04 +08:00
Peter Salvatore 8f52eb7b82 Rewrite Official Repositories page.
The existing page is focused on listing a set of requirements for
proposing a new repository.  This information has become outdated and is
duplicated in the `docker-library/official-images` and
`docker-library/docs` GitHub repositories.  This PR rewrites the
Official Repositories page to describe what they actually are, and
defers to GitHub/IRC for the subset of users that are interested in
contributing.  I also removed the requirement to contact
partners@docker.com and made it optional to reduce the barrier to entry.

Signed-off-by: Peter Salvatore <peter@psftw.com>
2015-04-28 00:37:17 -04:00
Jessica Frazelle af8efab756 add initial docs for windows client testing
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

docs: crop and optimize images

Cropped and optimized images.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Testing and updating the Windows material

Signed-off-by: Mary Anthony <mary@docker.com>

checkpoint

Signed-off-by: Mary Anthony <mary@docker.com>

Fitting the Windows specific material into the contributor guide

Signed-off-by: Mary Anthony <mary@docker.com>

Entering James comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-27 21:21:53 -07:00
Sebastiaan van Stijn 779939e334 Merge pull request #12817 from WeiZhang555/man
improve docker man page
2015-04-27 22:59:11 -04:00
Doug Davis 82daa43844 Fix for Daemon crashing when wildcards are used for COPY/ADD
in the filename and the command itself

Closes #12267

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-27 19:09:57 -07:00
Burke Libbey 45c45a2c9a archive: Optimize ChangesDirs on Linux
If we tear through a few layers of abstraction, we can get at the inodes
contained in a directory without having to stat all the files. This
allows us to eliminate identical files much earlier in the changelist
generation process.

Signed-off-by: Burke Libbey <burke@libbey.me>
2015-04-27 21:26:13 -04:00
Jessica Frazelle 2afcd10202 option to configure cgroups
Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-27 17:50:39 -07:00
moxiegirl aebeefa886 Merge pull request #12798 from dnephin/add_missing_docs_about_labels
Add missing API docs about filtering by label
2015-04-27 17:37:10 -07:00
Jessica Frazelle d4bbbe58dd Add docs for --exec-opt and setting native.cgroupdriver.
update man pages.
update bash completion.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-04-27 17:04:28 -07:00
moxiegirl 9018f873c8 Merge pull request #12796 from moxiegirl/add-to-docs-maintainers
Adding James and theJeztah to the list
2015-04-27 16:32:15 -07:00
Alexander Morozov 57464c32b9 Implement daemon suite for integration-cli
For creating and stopping test daemons automatically.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-27 15:48:29 -07:00
Brian Goff a07e963526 Merge pull request #11882 from hqhq/hq_warn_device_cg
add devices cgroup check as hard requirement
2015-04-27 18:42:57 -04:00
moxiegirl 13895173eb Merge pull request #12801 from thewtex/doc-test-ubuntu
Do Debian installation verification with hello-world image.
2015-04-27 15:09:25 -07:00
Phil Estes 0153edcda1 Merge pull request #12828 from tdmackey/trivial-spelling
trivial: typo cleanup
2015-04-27 17:05:46 -04:00
Tibor Vass 62a85fe202 Merge pull request #12794 from runcom/small-cleaning
Small if err cleaning
2015-04-27 17:02:27 -04:00
Brian Goff c3c08f76be Fix undead containers
When a container has errors on removal, it gets flagged as dead.
If you `docker rm -f` a dead container the container is dereffed from
the daemon and doesn't show up on `docker ps` anymore... except that the
container JSON file may still be lingering around and becomes undead
when you restart the daemon.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-27 16:45:51 -04:00
David Mackey 3941623fbc trivial: typo cleanup
Signed-off-by: David Mackey <tdmackey@booleanhaiku.com>
2015-04-27 13:35:08 -07:00
Daniel Antlinger 50868b2c57 fixed TestDiffEnsureDockerinitFilesAreIgnored is too long #12672
Signed-off-by: Daniel Antlinger <d.antlinger@gmx.at>
2015-04-27 13:24:15 -07:00
Brian Goff 2f513db31d Merge pull request #12719 from fntlnz/12675-test-events-emit
Parallelize TestEventsLimit
2015-04-27 16:02:33 -04:00
Antonio Murdaca 844538142d Small if err cleaning
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-27 21:50:33 +02:00
Lorenzo Fontana 40779b28bb Parallelize TestEventsLimit
Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
2015-04-27 21:14:00 +02:00
Jessie Frazelle 531ec3cac9 Merge pull request #12532 from ankushagarwal/eliminate-json-marshal
Eliminate json.Marshal from graph/export.go and volumes/volume.go
2015-04-27 13:54:20 -05:00
Tibor Vass 572ba9cb40 Merge pull request #12333 from Mashimiao/clean-up-viz
Clean up viz code
2015-04-27 14:13:03 -04:00
Matt McCormick b6cfe7ca07 Do Debian installation verification with hello-world image.
The hello-world image is recommended as a verification image and it is smaller
than Ubuntu.

Signed-off-by: Matt McCormick <matt.mccormick@kitware.com>
2015-04-27 13:53:30 -04:00
David Calavera f9c27bda1e Merge pull request #12819 from Microsoft/10662-volumesrefactor
Windows: Refactor volumes
2015-04-27 10:25:41 -07:00
Tibor Vass 4ddd448490 Merge pull request #12793 from runcom/bye-unmarshal
Replace json.Unmarshal() with json.Decoder().Decode()
2015-04-27 13:19:43 -04:00
Brian Goff 97b35bab81 Merge pull request #12818 from Microsoft/10662-nocontainercheckonwindows
Windows: Info no containerized check
2015-04-27 12:56:28 -04:00
Antonio Murdaca bb1c576eb3 Expose whole Response struct in sockRequestRaw
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-27 18:49:00 +02:00
John Howard ba1725a94e Windows: Refactor volumes
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-27 09:27:15 -07:00
Brian Goff 6856c69c41 Merge pull request #12807 from jmzwcn/patch-2
Remove dead code from daemon/daemon.go
2015-04-27 12:10:30 -04:00
Alexander Morozov 5305e675b5 Merge pull request #12809 from runcom/remove-cfatal-goroutine-attachws
Remove c.Fatal from goroutine in TestGetContainersAttachWebsocket
2015-04-27 08:59:47 -07:00
Jessie Frazelle 9f684c8592 Merge pull request #12714 from noxiouz/fix_race_stats_collector
statsCollector: fix data race in run()
2015-04-27 10:57:56 -05:00
Alexander Morozov 02d73d910f Merge pull request #12799 from aidanhs/aphs-fix-net-container-deadlock
Prevent deadlock on --net=container:<self>
2015-04-27 08:46:22 -07:00
John Howard ab97303cae Windows: Info no containerized check
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-27 08:38:01 -07:00
Phil Estes 8ec22ae87d Merge pull request #12803 from ZJU-SEL/remove_useless_export_httpcall
remove useless http call from export
2015-04-27 11:33:13 -04:00
Zhang Wei 29f379ea6e improve docker man page
fix issue #12708:
"docker man page is misleading about format of commands"

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-04-27 23:27:35 +08:00
Brian Goff 8dc07af52f Merge pull request #12783 from duglin/Issue12763-LinkedEnvs
A fix for = in env values in linked containers
2015-04-27 10:50:14 -04:00
Doug Davis 325c0404c8 Merge pull request #12616 from cpuguy83/remove_uneeded_sleeps
remove some uneeded sleeps in tests
2015-04-27 10:42:40 -04:00
Brian Goff 9e0ffae864 remove some uneeded sleeps in tests
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-27 10:14:29 -04:00
Aidan Hobson Sayers f30d1c1835 Prevent deadlock on attempt to use own net
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-04-27 14:57:37 +01:00
Antonio Murdaca c7b2632dc8 Remove c.Fatal from goroutine in TestGetContainersAttachWebsocket
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-27 13:56:55 +02:00
jmzwcn accbbfeae4 Remove dead code from daemon/daemon.go
fix #12492
Signed-off-by: Daniel Zhang <jmzwcn@gmail.com>
2015-04-27 15:50:47 +08:00
He Simei 6d9439c627 remove useless http call from export
Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-04-27 12:41:03 +08:00
Jinsoo Park f930c86cb1 add library files for socat in mkimage-unittest.sh
in https://docs.docker.com/articles/ambassador_pattern_linking/
svendowideit/ambassador images is from docker-ut built using this script
and uses socat but socat complains as follows
socat: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
socat: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
socat: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
socat: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
/usr/lib/x86_64-linux-gnu/lib{crypto,ssl}.so* lib are symlinks so removing -P option from cp
adding libreadline.so and libtinfo.so

Signed-off-by: Jinsoo Park <cellpjs@gmail.com>

update libssl.so path

Signed-off-by: Jinsoo Park <cellpjs@gmail.com>

Remove mkimage-unittest.sh

Signed-off-by: Jinsoo Park <cellpjs@gmail.com>
2015-04-26 23:35:19 -04:00
Daniel Nephin cfd0f53b03 Add missing API docs about filtering by label.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-04-26 15:36:01 -04:00
moxiegirl 6cba3109c2 Merge pull request #12787 from epc/copyedits
Copy edits for typos
2015-04-26 10:40:18 -07:00
Mary Anthony ba79f0ca1f Adding James and theJeztah to the list
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-26 10:32:43 -07:00
Antonio Murdaca 26543e0309 Replace json.Unmarshal with json.Decoder().Decode()
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-26 15:02:01 +02:00
David Calavera 92f4bd59ce Merge pull request #12734 from sergey-alekseev/sergey-alekseev-patch-1
Fix documentation typo in articles/basics.md
2015-04-25 20:33:55 -07:00
Alexander Morozov fefb836766 Merge pull request #12728 from HuKeping/addtest
Add test for REST API container rename
2015-04-25 17:01:10 -07:00
Nathan LeClaire 9dbe12b792 Migrate integration test to new method
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-25 17:12:01 -04:00
Marianna a8dfafc986 Make the docs for --cgroup-parent better
Signed-off-by: Marianna <mtesselh@gmail.com>
2015-04-25 16:35:28 -04:00
Nathan LeClaire 65aba0c9d6 Add dep to test
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-25 15:25:52 -04:00
Nathan LeClaire f039c699a4 Fix gofmt
Mischevious comma is mischevious

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-25 15:25:52 -04:00
Marianna f40dd69c97 Add test for cgroup parent flag for build
Signed-off-by: Marianna <mtesselh@gmail.com>
2015-04-25 15:25:52 -04:00
Julien Barbier 81897adcee Adding doc
Signed-off-by: Julien Barbier <write0@gmail.com>
2015-04-25 15:25:51 -04:00
Julien Barbier bb41193998 Happy birthday Docker! cgroup-parent option for docker build. Thanks to Michael, Nathan and Jessie for their support! #42
Signed-off-by: Julien Barbier <write0@gmail.com>
2015-04-25 15:25:51 -04:00
Ed Costello fa9299f4c0 Copy edits for typos
Signed-off-by: Ed Costello <epc@epcostello.com>
2015-04-25 15:01:05 -04:00
Alexander Morozov b5ccfca565 Merge pull request #12784 from duglin/RaceCommit
Fix race condition in API commit test
2015-04-25 10:03:03 -07:00
Doug Davis cd4f507b42 Fix race condition in API commit test
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-25 05:46:47 -07:00
Doug Davis bc149be69c A fix for = in env values in linked containers
Closes: #12763

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-25 04:42:43 -07:00
Hu Keping 8f752ffeaf Add test for REST API container rename
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-25 17:19:57 +08:00
Sergey Alekseev 2188c8d2f4 Fix documentation typo in articles/basics.md
Signed-off-by: Sergey Alekseev <sergey.alekseev.minsk@gmail.com>
2015-04-25 11:32:17 +03:00
Alexander Morozov 272e612b65 Merge pull request #12744 from vdemeester/11603-pkg-archive-test-coverage-2
Add coverage on pkg/archive (related to #11603)
2015-04-24 22:12:01 -07:00
Phil Estes 6e9a6f5396 Merge pull request #12765 from LK4D4/registry_suite
Implement DockerRegistrySuite in integration-cli
2015-04-24 23:05:29 -04:00
He Simei daad696e09 Fix error prompt for pull & import handler postImagesCreate.
Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-04-25 09:10:32 +08:00
Jessie Frazelle c3ef6df9c3 Merge pull request #12699 from vbatts/vbatts-init_mnt_ns
contrib/init: unshare mount namespace for inits
2015-04-24 17:52:11 -07:00
Jessie Frazelle 9ad7145dae Merge pull request #12775 from Microsoft/12774-fixtypo
Fixed typo 'configuring'
2015-04-24 17:21:40 -07:00
John Howard ae9905ef9c Fixed typo 'configuring'
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-04-24 16:52:32 -07:00
Ankush Agarwal 29a3bbf2b3 Eliminate json.Marshal from graph/export.go and volumes/volume.go
Fixes #12531
Fixes #12530

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-24 15:40:21 -07:00
Alexander Morozov 602fd4e14b Merge pull request #12764 from LK4D4/not_protect_dangling
Not protect dangling images for integration-cli
2015-04-24 14:19:55 -07:00
Alexander Morozov f696b1071a Implement DockerRegistrySuite in integration-cli
To avoid manually creating and destroying registrys in tests.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-24 14:17:00 -07:00
Brian Goff aa064621dd Merge pull request #12762 from ibuildthecloud/export-restart-parse
Expose ParseRestartPolicy
2015-04-24 16:30:18 -04:00
Alexander Morozov 9bea123bdd Not protect dangling images for integration-cli
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-24 13:16:51 -07:00
Brian Goff b76bbae413 Merge pull request #12755 from LK4D4/use_f_for_remove
Use -f for rm instead of kill before
2015-04-24 15:34:38 -04:00
Darren Shepherd 366ee6bdfa Expose ParseRestartPolicy
ParseRestartPolicy is useful function for third party go programs to use
so that they can parse the restart policy in the same way that Docker
does

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-04-24 12:23:54 -07:00
Alexander Morozov 887ad57cfa Use -f for rm instead of kill before
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-24 11:55:54 -07:00
Brian Goff 03719be830 Merge pull request #12754 from LK4D4/carry_12707
fix runtime issue for TestEventsFilterContainer
2015-04-24 14:36:58 -04:00
Doug Davis 700056cd4c Merge pull request #12753 from LK4D4/remove_all_images
Implement teardown removeAllImages
2015-04-24 14:16:04 -04:00
Anton Tiurin 11a5f1af01 statsCollector: fix data race in run()
statsCollector.publishers must be protected to prevent
modifications during the iteration in run().
Being locked for a long time is bad, so pairs of containers &
publishers (pointers) are copied to release the lock fast.

Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
2015-04-24 21:07:48 +03:00
Daniel Antlinger 07795c3f5d fix runtime issue for TestEventsFilterContainer
Signed-off-by: Daniel Antlinger <d.antlinger@gmx.at>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-24 10:48:40 -07:00
Alexander Morozov a9688cdca5 Implement teardown removeAllImages
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-24 10:37:21 -07:00
Alexander Morozov 790c63a5ef Merge pull request #12502 from calavera/shallow_git_history
Shallow clone using git to build images.
2015-04-24 10:16:01 -07:00
David Calavera 1cfb307d70 Remove duplicated git clone logic.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-24 09:39:45 -07:00
David Calavera 8bd5a95e1e Document the extra depth argument in git contexts.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-24 09:39:39 -07:00
David Calavera 3117bf3ef5 Test that we set the right arguments for git cloning depending on the transport.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-24 09:39:38 -07:00
David Calavera 9fb7204a41 Do not try to shallow git history when the protocol doesn't allow it.
This only happens with the old git http dumb protocol, but that's what we use in our integration tests.
We check the Content-Type header advertised in http requests to make sure the http transport is the git smart transport:

See this commit as a reference:
https://github.com/git/git/commit/4656bf47fca857df51b5d6f4b7b052192b3b2317

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-24 09:39:38 -07:00
David Calavera 36fbf4b864 Shallow clone using git to build images.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-24 09:39:38 -07:00
Phil Estes 310fc37fe7 Merge pull request #12678 from vdemeester/fix-advanced-contributing-doc
Documentation: fix the design proposal link in advanced contribution page
2015-04-24 11:12:36 -04:00
Vincent Demeester c21d408ad2 Add coverage on pkg/archive
Add tests on:
- changes.go
- archive.go
- wrap.go

Should fix #11603 as the coverage is now 81.2% on the ``pkg/archive``
package. There is still room for improvement though :).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-24 17:03:33 +02:00
Aleksa Sarai b7c3c0cb69 *: switch to Get(Root)?ResourcePath where appropriate
Several parts of the codebase didn't use the correct path sanitisation
wrappers. Now that the wrappers have been exposed, use those.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2015-04-25 00:10:29 +10:00
Aleksa Sarai 4377ebd6a7 *: expose getResourcePath and getRootResourcePath wrappers
Due to the importance of path safety, the internal sanitisation wrappers
for volumes and containers should be exposed so other parts of Docker
can benefit from proper path sanitisation.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2015-04-24 23:53:47 +10:00
Regan McCooey c92377e300 docker kill should return error if container is not running.
Assuming that docker kill is trying to actually kill the container
is a mistake.  If the container is not running we should report it
back to the caller as a error.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Docker-DCO-1.1-Signed-off-by: Regan McCooey <rmccooey27@aol.com> (github: rmccooey27)

Docker-DCO-1.1-Signed-off-by: Regan McCooey <rmccooey27@aol.com> (github: rhatdan)
2015-04-24 08:33:21 -04:00
Fred Lifton 300a12f9aa Merge pull request #12729 from SvenDowideit/dhe-documentation-master-pr
Dhe documentation master pr
2015-04-23 21:22:56 -07:00
Sven Dowideit b0ad95daa8 Copy over the DHE documentation for release to docs.docker.com
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-04-24 12:39:58 +10:00
Sven Dowideit 493437616d make space for DHE menu item again
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-04-24 12:39:49 +10:00
Brian Goff 016a2d6d9d Merge pull request #12587 from coolljt0725/add_cpu_cfs_quota_to_build
Add cpu cfs quota to build
2015-04-23 21:28:46 -04:00
Lei Jitang 5f4fb8be00 Add cpu cfs quota to build
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-24 08:54:08 +08:00
Qiang Huang 667b1e220c simplify memory limit check
If memory cgroup is mounted, memory limit is always supported,
no need to check if these files are exist.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-24 08:43:44 +08:00
Ma Shimiao 66acef865d clean up viz code
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-24 08:38:14 +08:00
Qiang Huang 47e5acfbae add devices cgroup check and errors
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-24 08:37:59 +08:00
moxiegirl 09052a5572 Merge pull request #12712 from moxiegirl/carry-docs-update-9397
Removing firewalld info
2015-04-23 17:24:27 -07:00
Jessie Frazelle 9d94d91ea7 Merge pull request #12569 from kostickm/12449-check-statusCode
Fixing statusCode checks for sockRequest
2015-04-23 17:13:06 -07:00
Michael Crosby c26695cf8a Merge pull request #12659 from dqminh/exec-interactive-hang
reuse same code for setting pipes in run/exec
2015-04-23 16:37:49 -07:00
Jessie Frazelle 2ebfc7c874 Merge pull request #12710 from runcom/bye-engine-from-graph
Remove engine/job from graph
2015-04-23 15:42:50 -07:00
Megan Kostick c7845e27ee Fixing statusCode checks for sockRequest
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-23 15:35:56 -07:00
Fred Lifton b830b823cd Merge pull request #12711 from Shopify/fix_doc
[docs] small markup fix
2015-04-23 15:07:46 -07:00
Daniel, Dao Quang Minh ade8146aa8 reuse same code for setting pipes in run/exec
This also moves `exec -i` test to _unix_test.go because it seems to need a
pty to reliably reproduce the behavior.

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-04-23 21:54:21 +00:00
Antonio Murdaca fa2c68a89e Remove engine/job from graph
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-23 23:36:29 +02:00
Alexander Morozov 96ef1bd29c Merge pull request #12709 from vdemeester/12705-remove-defer-deleteContainer
delete "defer deleteContainer" on tests
2015-04-23 14:34:23 -07:00
Florian Weingarten 55d1ac645c [docs] fix formatting issue
Signed-off-by: Florian Weingarten <flo@hackvalue.de>
2015-04-23 21:17:12 +00:00
Mary Anthony b6d8b65e55 Removing firewalld info
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-23 14:04:36 -07:00
Tibor Vass 259effc6df Merge pull request #9397 from jpopelka/9395-firewalld
Firewalld support
2015-04-23 16:58:08 -04:00
Jessie Frazelle 6b8d8a5847 Merge pull request #12417 from hashneo/patch-1
What if authConfig or factory is Nill?
2015-04-23 13:54:47 -07:00
Jessie Frazelle b31d154294 Merge pull request #12509 from runcom/12499-racy-TestEventsImageImport
Fix TestEventsImageImport racy
2015-04-23 13:28:43 -07:00
Vincent Demeester c5ef2901d8 delete "defer deleteContainer" on tests
Since docker test suite is now using gocheck, ``defer
deleteContainer(…)`` is not needed anymore.

Fixes #12705

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-23 22:27:46 +02:00
Jessie Frazelle 59ae92d55c Merge pull request #12575 from brahmaroutu/integration_test7_12255
Move https tests as unit tests under client
2015-04-23 13:17:54 -07:00
Jessie Frazelle 68fc79f592 Merge pull request #12655 from jlhawn/fix_12281
Validate repo name before image pull
2015-04-23 13:12:12 -07:00
Alexander Morozov 799cf056e7 Merge pull request #11839 from brahmaroutu/template_11641
Allow go template to work properly with inspect …
2015-04-23 13:07:40 -07:00
Jessie Frazelle 052cba7278 Merge pull request #12674 from TomasTomecek/fix-v1-spec-typos
v1 spec: fix typos and formatting
2015-04-23 13:07:21 -07:00
Jessie Frazelle 036ade6c05 Merge pull request #12693 from runcom/fix-TestRenameStoppedContainer-race
Fix TestRenameStoppedContainer race
2015-04-23 13:04:36 -07:00
Jessie Frazelle 1492a7d7fd Merge pull request #12702 from LK4D4/good_ol_flushed
Return weird behaviour of returning json errors
2015-04-23 13:03:29 -07:00
Arnaud Porterie c4914f071f Merge pull request #12577 from jfrazelle/actually-depreciate-rm
actually depreciate -rm insteam of --rm.. and a few others
2015-04-23 11:55:20 -07:00
Alexander Morozov 9ed5bfb083 Merge pull request #12636 from duglin/MoveConfig
Move CLI config processing out from under registry dir
2015-04-23 11:50:31 -07:00
Josh Hawn 18f4688385 Validate repo name before image pull
Checks for reserved 'scratch' image name.

fixes #12281

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-04-23 11:44:46 -07:00
Jessie Frazelle 03e77e5c8f Merge pull request #12690 from rajdeepd/dry-run-test
Container API Test with HostName
2015-04-23 11:32:47 -07:00
Jessie Frazelle 59acccb6f2 Merge pull request #12692 from cpuguy83/fix_commit_test
Fix race with TestContainerApiCommit
2015-04-23 11:31:27 -07:00
Brian Goff 2c70288ca6 Merge pull request #12703 from LK4D4/carry_12596
remove job from image_export
2015-04-23 14:27:59 -04:00
Srini Brahmaroutu 231d362db7 Allow go template to work properly with inspect
Closes #11641

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-04-23 18:25:18 +00:00
Alexander Morozov d17f2baa81 Merge pull request #12646 from duglin/validateTests
Validate we're not using the old testing stuff
2015-04-23 11:23:20 -07:00
Jessie Frazelle 2345389975 Merge pull request #12687 from WeiZhang555/NotFound
refactor httpError() and add 404 "not found" mapping
2015-04-23 11:21:09 -07:00
Alexander Morozov dcbf89d023 Merge pull request #12500 from tianon/fix-daemon-logic
Fix daemon start/stop logic in hack/make/* scripts
2015-04-23 11:20:33 -07:00
Vincent Batts b6569b6b82 contrib/init: unshare mount namespace for inits
* openrc
* sysvinit-debian
* upstart

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-23 14:08:37 -04:00
Simei He 2a14b7dd35 remove job from image_export
Signed-off-by: He Simei <hesimei@zju.edu.cn>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-23 10:54:25 -07:00
Tianon Gravi 929af4c38d Fix daemon start/stop logic in hack/make/* scripts
From the Bash manual's `set -e` description:
(https://www.gnu.org/software/bash/manual/bashref.html#index-set)

> Exit immediately if a pipeline (see Pipelines), which may consist of a
> single simple command (see Simple Commands), a list (see Lists), or a
> compound command (see Compound Commands) returns a non-zero status.
> The shell does not exit if the command that fails is part of the
> command list immediately following a while or until keyword, part of
> the test in an if statement, part of any command executed in a && or
> || list except the command following the final && or ||, any command
> in a pipeline but the last, or if the command’s return status is being
> inverted with !. If a compound command other than a subshell returns a
> non-zero status because a command failed while -e was being ignored,
> the shell does not exit.

Additionally, further down:

> If a compound command or shell function executes in a context where -e
> is being ignored, none of the commands executed within the compound
> command or function body will be affected by the -e setting, even if
> -e is set and a command returns a failure status. If a compound
> command or shell function sets -e while executing in a context where
> -e is ignored, that setting will not have any effect until the
> compound command or the command containing the function call
> completes.

Thus, the only way to have our `.integration-daemon-stop` script
actually run appropriately to clean up our daemon on test/script failure
is to use `trap ... EXIT`, which we traditionally avoid because it does
not have any stacking capabilities, but in this case is a reasonable
compromise because it's going to be the only script using it (for now,
at least; we can evaluate more complex solutions in the future if they
actually become necessary).

The alternatives were much less reasonable.  One is to have the entire
complex chains in any script wanting to use `.integration-daemon-start`
/ `.integration-daemon-stop` be chained together with `&&` in an `if`
block, which is untenable.  The other I could think of was taking the
body of these scripts out into separate scripts, essentially meaning
we'd need two files for each of these, which further complicates the
maintenance.

Add to that the fact that our `trap ... EXIT` is scoped to the enclosing
subshell (`( ... )`) and we're in even more reasonable territory with
this pattern.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-23 11:31:16 -06:00
Doug Davis ecccfa82aa Validate we're not using the old testing stuff
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-23 10:29:47 -07:00
Alexander Morozov ec51ba01db Return weird behaviour of returning json errors
We need this, so client can get error from stream and not from status
code, which is already 200, because write to ResponseWriter was occured.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-23 10:27:37 -07:00
Doug Davis bb9da6ba92 Move CLI config processing out from under registry dir
No logic changes should be in here, just moving things around.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-23 10:18:38 -07:00
Alexander Morozov fa3e2dd45e Merge pull request #12691 from runcom/remove-deleteAllContainers-call
Remove deleteAllContainers call in test
2015-04-23 10:01:08 -07:00
Alexander Morozov 2351b87551 Merge pull request #12505 from ZJU-SEL/remove_job_from_push
remove job from push
2015-04-23 09:57:17 -07:00
Alexander Morozov 71ac5b7903 Merge pull request #12681 from hqhq/hq_fix_test_in_apiserver
fix test case name
2015-04-23 09:21:00 -07:00
Srini Brahmaroutu 05013f1250 Move https integration tests as unit tests under client
Addresses #12255
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-04-23 15:40:46 +00:00
Brian Goff 455d83939a Merge pull request #12683 from tristan0x/patch-1
Fix typo in builder reference
2015-04-23 11:12:49 -04:00
Antonio Murdaca ee7a7b07e7 Remove deleteAllContainers call in test
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-23 16:32:50 +02:00
Antonio Murdaca cd6cc45d52 Fix TestRenameStoppedContainer race
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-23 16:11:46 +02:00
Rajdeep Dua fca4aea077 TestCase added for Container Create with HostName
Signed-off-by: Rajdeep Dua <dua_rajdeep@yahoo.com>
2015-04-23 06:53:34 -07:00
Brian Goff 563708d78d Fix race with TestContainerApiCommit
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-23 09:45:06 -04:00
Simei He d456401fe1 remove job from push
Signed-off-by: Simei He <hesimei@zju.edu.cn>

Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-04-23 21:21:56 +08:00
Doug Davis 1b4de6f2e8 Merge pull request #12579 from ZJU-SEL/remove_job_from_load
remove job from load
2015-04-23 08:20:37 -04:00
Doug Davis d59ce5cd48 Merge pull request #12663 from Mashimiao/Move-setHostConfig-to-daemon-file
Move setHostConfig to daemon file
2015-04-23 07:43:42 -04:00
Doug Davis f4cfaac519 Merge pull request #12680 from Mashimiao/fix-typo-push-test
push test: fix typo
2015-04-23 07:37:50 -04:00
Zhang Wei ab42a3a23a refactor httpError() and add 404 "not found" mapping
When docker pull a non-existent repo, daemon will report "image xxx not found"
with an error code 500, which should be 404.
This commit add 404 "not found" mapping and refactor httpError function.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-04-23 19:37:47 +08:00
Simei He 70bb0d8ed7 remove job from load
Signed-off-by: Simei He <hesimei@zju.edu.cn>

Signed-off-by: He Simei <hesimei@zju.edu.cn>
2015-04-23 19:13:12 +08:00
Qiang Huang a8d2fbe7b4 fix test case name
Name like this will never run by go test. And this test case won't
get PAAS.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-23 18:41:30 +08:00
Tristan Carel 47263c6514 Fix typo in builder reference
Signed-off-by: Tristan Carel <tristan.carel@gmail.com>
2015-04-23 12:10:47 +02:00
Ma Shimiao 62f91b1d34 push test: fix typo
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-23 16:50:41 +08:00
Vincent Demeester 1f7ba6f809 Fix the design proposal link in advanced contribution page
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-23 09:48:11 +02:00
Tomas Tomecek d6c839cf0f v1 spec: fix typos and formatting
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2015-04-23 08:19:52 +02:00
Sven Dowideit fdc5aa2043 Merge pull request #12599 from RickWieman/10673-make-headings-consistent
Makes headings in documentation consistent
2015-04-23 16:15:10 +10:00
Rick Wieman 6359326761 Makes headings in documentation consistent
Fixes #10673.

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-04-23 07:41:30 +02:00
Ma Shimiao 05418df539 sysinfo: add IPv4Forwarding check
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-23 12:19:46 +08:00
Doug Davis eae272f90e Merge pull request #12390 from hqhq/hq_fix_inspect
fix inspect format result
2015-04-22 23:06:13 -04:00
Ma Shimiao dde0cc78bd Move setHostConfig to daemon file
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-23 10:23:02 +08:00
Brian Goff 6bacb4528e Merge pull request #12582 from ankushagarwal/add-docker-history-integration-test
Add integration test for history option
2015-04-22 22:09:01 -04:00
Brian Goff 60ad23a7b3 Merge pull request #12543 from vdemeester/11584-pkg-stdcopy-test-coverage
Add some stdcopy_test (coverage)
2015-04-22 22:03:15 -04:00
Qiang Huang b0ef3194aa fix inspect format result
Currently `docker inspect -f` use json.Unmarshal() unmarshal
to interface, it will store all JSON numbers in float64, so
we use `docker inspect 4f0d73b75a0d | grep Memory` and
`docker inspect -f {{.HostConfig.Memory}} 4f0d73b75a0d` will
get different values.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-23 09:28:07 +08:00
Brian Goff 480d979c27 Merge pull request #12654 from jfrazelle/12135-docker-delete-multiple-tagged
add regression test for rmi multiple tags without f
2015-04-22 21:08:07 -04:00
Brian Goff 3872272170 Merge pull request #12406 from runcom/remove-job-container-inspect
Remove job from container_inspect
2015-04-22 21:05:15 -04:00
Jessie Frazelle cc43263f8c Merge pull request #12652 from jfrazelle/update-contrib-docs-for-go-check
update contrib docs for gocheck
2015-04-22 17:47:22 -07:00
Doug Davis 5ea8dc376c Merge pull request #12649 from jlhawn/fix_pull_err_explosion
Correctly format API error on image pull
2015-04-22 20:28:24 -04:00
Alexander Morozov 3dc07162bd Merge pull request #12557 from rhatdan/journald
Add journald as a supported logger for containers
2015-04-22 17:20:10 -07:00
Jessie Frazelle 505788deb2 Merge pull request #10422 from cpuguy83/cleanup_daemon_volumes
Cleanup daemon/volumes
2015-04-22 17:13:47 -07:00
Sven Dowideit b6702116be Merge pull request #12615 from moxiegirl/update-repository-links
Fixing a few links in registry
2015-04-23 10:02:02 +10:00
Sven Dowideit 84a9962a63 Merge pull request #12614 from ankushagarwal/ubuntu-docs
Add Configuring Docker article
2015-04-23 09:41:11 +10:00
Brian Goff f3680e7494 Cleanup daemon/volumes
- Mount struct now called volumeMount
- Merged volume creation for each volume type (volumes-from, binds, normal
  volumes) so this only happens in once place
- Simplified container copy of volumes (for when `docker cp` is a
  volume)

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-22 19:32:10 -04:00
Sven Dowideit ce7e1a4d7e Merge pull request #12586 from ankushagarwal/image-digests
Add Image Digest doc in userguide/dockerimages
2015-04-23 09:23:23 +10:00
Jessie Frazelle 1d48cccc99 Merge pull request #10992 from cpuguy83/add_volume_mounting_for_cp
Make `docker cp` bind-mount volumes
2015-04-22 15:59:28 -07:00
Sven Dowideit b2aca01d95 Merge pull request #12513 from allingeek/patch-1
builder.md - Changes to bring LABEL docs in line with 1.6 release.
2015-04-23 08:58:59 +10:00
Antonio Murdaca 4b9fe9c298 Remove job from container_inspect
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-23 00:58:13 +02:00
Sven Dowideit 20b1aa08f8 Merge pull request #12460 from moxiegirl/fix-carry-12383
Putting into our new format for cloud
2015-04-23 08:52:56 +10:00
Jessie Frazelle 3c9ae03a86 Merge pull request #12650 from LK4D4/carry_12472
remove execCreate & execStart from job
2015-04-22 15:32:14 -07:00
Alexander Morozov 7708ab5ce2 Merge pull request #12657 from dqminh/remove-unused-utils
remove unused utils
2015-04-22 15:23:57 -07:00
Daniel, Dao Quang Minh 71b5a754ce remove unused utils
Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-04-22 21:53:45 +00:00
Dan Walsh b88b2fa72e Merge branch 'master' of github.com:docker/docker into journald
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-04-22 17:37:26 -04:00
Jessica Frazelle 28f5541b72 add regression test for rmi multiple tags without f
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-04-22 14:23:05 -07:00
Jessica Frazelle 7a525c6cb7 add integration test for error pull nonexistent
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-04-22 14:11:25 -07:00
Josh Hawn fd4f7c4e5c Correctly format API error on image pull
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-04-22 14:11:25 -07:00
Alexander Morozov 29265448ec Merge pull request #12621 from LK4D4/test_push_interrupt_daemon
Run TestPushInterrupt on separate daemon
2015-04-22 14:05:37 -07:00
jianbosun 24425021d2 remove execCreate & execStart from job
Also removed the function ExecConfigFromJob

Signed-off-by: Sun Jianbo <wonderflow@zju.edu.cn>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-22 13:51:57 -07:00
Alexander Morozov c09765ac43 Wait until all pushes are done in TestPushInterrupt
Background pushes affects other tests

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-22 13:36:43 -07:00
Jessica Frazelle a09ab40f0d update contrib docs for gocheck
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-04-22 13:19:14 -07:00
Alexander Morozov 975e668722 Merge pull request #12588 from hqhq/hq_fix_cpuquota_warn
remove redundant warning
2015-04-22 13:07:21 -07:00
Ankush Agarwal 08150150bb Add integration test for history option
Parse the history output to locate the size fields and check
whether they are the correct format or not. Use Column name SIZE
to mark start and end indices of the size fields

Fixes #12578

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-22 12:22:01 -07:00
Jessie Frazelle e3e1c2be42 Merge pull request #12376 from Mic92/refactor-hack
Refactor shellscripts
2015-04-22 12:12:44 -07:00
Brian Goff 6f94ca6d8b Merge pull request #12647 from duglin/FixTesting
Remove old testing stuff that slipped into master
2015-04-22 14:47:37 -04:00
Doug Davis b4988d8d75 Remove old testing stuff that slipped into master
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-22 11:44:54 -07:00
Brian Goff 901ae9aaea Merge pull request #12623 from peggyl/api-client-docs
Fix golint errors in docker/api/client
2015-04-22 14:09:23 -04:00
Tianon Gravi 5728426f27 Merge pull request #12637 from sublimino/patch-1
Add kali to install script
2015-04-22 11:05:13 -07:00
Jessie Frazelle fd3b722928 Merge pull request #12634 from PeterDaveHello/patch-2
Use svg instead of png to get better image quality
2015-04-22 10:53:47 -07:00
Ankush Agarwal 9689aab5ec Update with @moxiegirl's patch and add direct config
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-22 10:36:38 -07:00
Antonio Murdaca eeb8ceb9ed Fix TestEventsImageImport racy, fixes #12499
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-22 17:30:30 +02:00
Andrew Martin 2dd88af79b Add kali to install script
https://www.kali.org/ is a Debian derivative. This script completes
succesfully using the Debian install path

Signed-off-by: Andrew Martin <sublimino@gmail.com>
2015-04-22 14:56:00 +01:00
Peter Dave Hello b121d94369 Use svg instead of png to get better image quality
Signed-off-by: Peter Dave Hello <hsu@peterdavehello.org>
2015-04-22 18:45:29 +08:00
Peggy Li 58065d0dd9 Fix golint errors in docker/api/client
Signed-off-by: Peggy Li <peggyli.224@gmail.com>
2015-04-22 00:14:23 -07:00
Gosuke Miyashita 90a8e45604 Append icc related iptables rules, not INSERT
Signed-off-by: Gosuke Miyashita <gosukenator@gmail.com>
2015-04-22 11:45:46 +09:00
Mary Anthony 54ff1dcb82 Fixing a few links in registry
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-21 18:36:37 -07:00
Ankush Agarwal 9424fc14bb Add Configuring Docker article [WIP]
Fixes #12088

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-21 17:49:29 -07:00
Qiang Huang f3dc351697 remove redundant warning
And warning is not supposed to have a prefix WARNING.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-22 08:15:00 +08:00
Brian Goff ccbb93e1cd Merge pull request #12611 from LK4D4/remove_eng_chain_pull
Remove chain of engine passing from builder to loadManifest
2015-04-21 19:19:56 -04:00
Arnaud Porterie 61854b171d Merge pull request #12511 from LK4D4/gocheck_suites
Gocheck suites
2015-04-21 15:42:33 -07:00
Vivek Goyal ddc8acebec devmapper: Cancel deferred deactivation if device is reactivated
If device is being reactivated before it could go away and deferred 
deactivation is scheduled on it, cancel it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal 4986ce7cfb devicemapper: Create a method to get device info with deferred remove field
Deferred reove functionality was added to library later. So in old version
of library it did not report deferred_remove field. 

Create a new function which also gets deferred_remove field and it will be
called only on newer version of library. 

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal 20b38f427a devicemapper: Create helpers to cancel deferred deactivation
If a device has been scheduled for deferred deactivation and container
is started again and we need to activate device again, we need to cancel
the deferred deactivation which is already scheduled on the device.

Create a method for the same.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal 66a53819ae devmapper: Export deferred removal status in status
This will help with debugging as one could just do "docker info" and figure
out of deferred removal is enabled or not.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal e37c7203bb devmapper: Use deferred removal
Make use of deferred removal of devices.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal 15c158b207 devmapper: Provide a new parameter dm.deferred_device_removal
Provide a new command line knob dm.deferred_device_removal which will enable
deferred device deactivation if driver and library support it.

This patch also checks for library support and driver version.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal 6964ab94be devicemapper: Add helper functions to allow deferred device removal
A lot of time device mapper devices leak across mount namespace which docker
does not know about and when docker tries to deactivate/delete device,
operation fails as device is open in some mount namespace.

Create a mechanism where one can defer the device deactivation/deletion
so that docker operation does not fail and device automatically goes
away when last reference to it is dropped.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Vivek Goyal b3e29926ce make.sh: Define a new build tag libdm_no_deferred_remove
libdm started offering deferred remove functionality from version
1.02.89. As docker still builds against older libdm, define a tag
libdm_no_deferred_remove to determine whether we are compiling
against new libdm or older one and enable/disable deferred remove
functionality accordingly.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-21 18:14:59 -04:00
Alexander Morozov a2f74aa4b4 Remove chain of engine passing from builder to loadManifest
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-21 14:55:23 -07:00
Mary Anthony bc7a43cb44 Putting into our new format for cloud
Adding in Seb's comments
Updating with Fred's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-21 14:48:48 -07:00
Fred Lifton 21c8d211e1 Merge pull request #12536 from mountkin/remove-unsupported-instructions-from-doc
Remove some unsupported instructions in the docs.
2015-04-21 14:08:31 -07:00
Alexander Morozov 7ba8c3b26f Merge pull request #12567 from brahmaroutu/integration_test6_12255
moving integration tests to graph unit tests
2015-04-21 13:58:02 -07:00
Brian Goff 725ea8c09e Merge pull request #12600 from LK4D4/remove_image_set
Remove image_set engine job
2015-04-21 16:51:46 -04:00
Brian Goff b098a42559 Merge pull request #12564 from LK4D4/remove_jobs_trust
Remove engine from trust
2015-04-21 16:49:01 -04:00
Alexander Morozov 783dbcade3 Merge pull request #12609 from runcom/remove-not-needed-readHostConfig
Remove not needed call to container.readHostConfig()
2015-04-21 13:45:48 -07:00
Alexander Morozov 79a7fedcd8 Remove image_set engine job
It was unused

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-21 13:04:28 -07:00
Antonio Murdaca a3c4801c92 Remove not needed call to container.readHostConfig()
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-21 22:00:33 +02:00
Ankush Agarwal a4676503d9 Add Image Digest doc in userguide/dockerimages
Fixes #12551

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-21 12:47:09 -07:00
Doug Davis b807ac1115 Merge pull request #12601 from runcom/remove-job-image-get
Remove job image_get
2015-04-21 15:31:42 -04:00
Antonio Murdaca d07fe18365 Remove job image_get
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-21 21:01:09 +02:00
Brian Goff 6f82613ded Merge pull request #12604 from runcom/remove-job-image-tarlayer
Remove job image_tarlayer
2015-04-21 14:53:54 -04:00
Antonio Murdaca ba0017595e Remove job image_tarlayer
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-21 19:59:45 +02:00
Alexander Morozov dc944ea7e4 Use suite for integration-cli
It prints test name and duration for each test.
Also performs deleteAllContainers after each test.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-21 10:28:52 -07:00
Alexander Morozov 6dcdf832a3 Add gocheck to vendored deps
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-21 10:28:52 -07:00
Dan Walsh 364287b741 Add journald as a supported logger for containers
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-04-21 12:57:54 -04:00
Alexander Morozov 371b39c26f Merge pull request #12598 from runcom/remove-writeJSONEnv
Remove writeJSONEnv, fixes #12597
2015-04-21 09:54:55 -07:00
Antonio Murdaca 27811355bd Remove writeJSONEnv
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-21 18:14:39 +02:00
James Turnbull afd5636461 Merge pull request #12563 from kentoj/patch-1
Clarify data volume init with existing data
2015-04-21 08:57:22 -07:00
Jörg Thalheim f731b01483 Dockerfile: download go libraries before copy vendor
When ever something vendor/ changes the go dependencies have to downloaded again,
which requires internet access and there for is potential slow. COPY and go install is much faster, while the git urls does not change not this often.

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-21 11:41:09 +02:00
Jessie Frazelle 17d5450bc3 Merge pull request #10736 from coolljt0725/add_cpu_limit
Add support cpu cfs_quota
2015-04-20 17:55:01 -07:00
Tianon Gravi e562495d56 Merge pull request #12181 from inatatsu/enable-netgo-with-gccgo
Enable "netgo" library when we build with gccgo
2015-04-20 17:31:49 -07:00
Jessie Frazelle 47b703593e Merge pull request #12430 from icecrime/11551_carry
Add -H|--human command-line flag to `docker history`
2015-04-20 17:28:24 -07:00
Jessie Frazelle 82f75df9e9 Merge pull request #12457 from calavera/remove_engine_job_builder
Remove engine.Job from Builder.
2015-04-20 17:27:17 -07:00
Jessie Frazelle 874d64e690 Merge pull request #12517 from mavenugo/master
Enhanced port integration-cli tests
2015-04-20 17:26:48 -07:00
Jessie Frazelle 4bb8924b52 Merge pull request #12539 from WeiZhang555/httpError
change httpError logic
2015-04-20 17:26:09 -07:00
Jessica Frazelle f3d4c33213 actually depreciate -rm, -sig-proxy, -name, seriously its been forever
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-04-20 17:20:23 -07:00
Jessie Frazelle 4a25c5d25b Merge pull request #12533 from ankushagarwal/gofmt-directory
gofmt 1.4.2  src directory
2015-04-20 17:02:43 -07:00
Jessie Frazelle e1fd7e25de Merge pull request #12566 from fntlnz/remove-go1.3.3-support
Removed go1.3.3 support
2015-04-20 17:01:57 -07:00
Jessie Frazelle df217120cd Merge pull request #12471 from coolljt0725/fix_weird_output_format
Fix weird terminal output format
2015-04-20 17:01:02 -07:00
Jessie Frazelle fcacb1793e Merge pull request #12568 from duglin/TweakConfigPerms
Make .docker dir have 0700 perms not 0600
2015-04-20 16:33:10 -07:00
Jessie Frazelle 23ec4cab60 Merge pull request #12556 from icecrime/update_release_checklist
Update release checklist
2015-04-20 16:31:40 -07:00
Arnaud Porterie a8253ec7e7 Early API version bump
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-20 15:52:26 -07:00
Arnaud Porterie 9838242db1 Merge pull request #9381 from lebauce/default-gateway
Proposal: Allow specifying a default gateway for bridge networking
2015-04-20 15:50:35 -07:00
Jessie Frazelle d5dc565432 Merge pull request #12416 from ya7ya/patch-1
adding elementary OS to install script
2015-04-20 14:50:16 -07:00
Phil Estes 435643545c Merge pull request #12450 from brahmaroutu/integration_test3_12255
Port test from integration tests - test low memory on create
2015-04-20 17:27:17 -04:00
David Calavera 3b05005a12 Add flusher check to utils.WriteFlusher.
That way we can know when the stream has been flushed.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-20 14:25:45 -07:00
moxiegirl 27fc39fdc0 Merge pull request #12559 from moxiegirl/fix-12555-rnotes
Adding in 1.60 release notes
2015-04-20 14:18:48 -07:00
Doug Davis bfeb98a236 Make .docker dir have 0700 perms not 0600
Thanks to @dmcgowan for noticing.

Added a testcase to make sure Save() can create the dir and then
read from it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-20 14:16:50 -07:00
Lorenzo Fontana 92849fdcce Removed go1.3.3 support
Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
2015-04-20 23:09:08 +02:00
Srini Brahmaroutu 29c5596176 moving integration tests to graph unit tests
Addresses #12255
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-04-20 21:08:45 +00:00
Vincent Demeester 2ed4ed50be Add some stdcopy_test (coverage)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-20 22:58:22 +02:00
David Calavera ae4063585e Remove engine.Job from builder.CmdBuildConfig.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-20 13:37:06 -07:00
David Calavera 9a2c009751 Remove engine.Job references from builder.CmdBuild
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-20 13:37:04 -07:00
Mary Anthony 1f4ef5192c Adding in 1.60 release notes
Updating with thaJetzah's comments
Adding in Fred's copy edits

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-20 13:31:22 -07:00
Kent Johnson ff9f0134ae Clarify data volume init with existing data
Though I am not clear on the intent of the sentence if it means that existing data in the base image is copied into the new volume then the additions I propose make that more clear than the present language.

Signed-off-by: Kent Johnson <kentoj@gmail.com>
2015-04-20 14:24:40 -06:00
moxiegirl f85eb4baad Merge pull request #12414 from draghuram/projectdoc
Improve documentation in "project" directory.
2015-04-20 13:16:20 -07:00
Alexander Morozov 08ef006d17 Merge pull request #12009 from duglin/AddConfig
Migrate .dockercfg to .docker/config.json and support for HTTP Headers
2015-04-20 13:12:17 -07:00
Doug Davis 18c9b6c645 Add .docker/config.json and support for HTTP Headers
This PR does the following:
- migrated ~/.dockerfg to ~/.docker/config.json. The data is migrated
  but the old file remains in case its needed
- moves the auth json in that fie into an "auth" property so we can add new
  top-level properties w/o messing with the auth stuff
- adds support for an HttpHeaders property in ~/.docker/config.json
  which adds these http headers to all msgs from the cli

In a follow-on PR I'll move the config file process out from under
"registry" since it not specific to that any more. I didn't do it here
because I wanted the diff to be smaller so people can make sure I didn't
break/miss any auth code during my edits.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-20 13:05:24 -07:00
Alexander Morozov cfe7c9c1b2 Merge pull request #12561 from sergeyevstifeev/12549-fix-test-requires-network
Add missing testRequires(t, Network)
2015-04-20 12:58:30 -07:00
Alexander Morozov 9e50bf6270 Remove engine from trust
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-20 12:48:33 -07:00
Sergey Evstifeev 716e21be2b Add missing testRequires(t, Network)
Fixes #12552

Signed-off-by: Sergey Evstifeev <sergey.evstifeev@gmail.com>
2015-04-20 21:19:50 +02:00
Alexander Morozov a7690076c9 Merge pull request #12453 from runcom/style-minor-fixes
Add minor stylistic fixes
2015-04-20 11:51:04 -07:00
Phil Estes 490a0bd697 Merge pull request #12545 from coolljt0725/remove_rudundant_enter
Remove redundant `\n` in daemon/daemon.go
2015-04-20 14:32:27 -04:00
Phil Estes 53edce79f1 Merge pull request #12554 from buddhamagnet/12553-cli-doc-correction
12553 fix typo
2015-04-20 14:30:51 -04:00
Phil Estes f0016c5917 Merge pull request #12495 from LK4D4/apiserver_refactoring
Refactoring of api/server for reduce engine usage
2015-04-20 14:10:34 -04:00
Srini Brahmaroutu 1a35b16b08 Port test from integration tests
Addresses #12255
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-04-20 17:57:53 +00:00
buddhamagnet cdd5d5e4c3 fix typo
Signed-off-by: buddhamagnet <buddhamagnet@gmail.com>
2015-04-20 18:56:21 +01:00
Raghuram Devarakonda fcdb1fbfa1 Improve documentation in "project" directory.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-04-20 13:08:13 -04:00
Alexander Morozov da7bca4496 Make all http handlers api.server.Server methods
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-20 09:45:31 -07:00
Zhang Wei 66239ab5c9 change httpError logic
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Signed-off-by: Zhang Wei <zhangwei198900@gmail.com>
2015-04-20 23:26:56 +08:00
Lei Jitang dcc50e1d59 Add support cpu cfs quota
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-20 08:16:47 -07:00
Alexander Morozov d9ed316522 Make API server datastructure
Added daemon field to it, will use it later for acces to daemon from
handlers

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-20 08:13:39 -07:00
Alexander Morozov 181fea24aa Make daemon initialization in main goroutine
It is simplifies code and lead to next refactoring step, where daemon
will be incorporated to some structure which represents API.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-20 08:13:39 -07:00
Alexander Morozov b5584ec24a Merge pull request #12537 from hqhq/hq_remove_unused_function
remove unused function in server_unit_test.go
2015-04-20 07:51:53 -07:00
Alexander Morozov d2ce1076a4 Merge pull request #12534 from Mashimiao/delete-unused-function-from-drive
clenaup: delete unused function getEnv
2015-04-20 07:50:06 -07:00
Lei Jitang 2d5ede67c0 Remove redundant '\n' in daemon.go and correct the warning messages for memory swap
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-20 22:00:03 +08:00
Sylvain Baubeau acb6127c1a Allow specifying a default gateway for bridge networking
Signed-off-by: Sylvain Baubeau <sbaubeau@redhat.com>
2015-04-20 15:13:30 +02:00
Brian Goff dacc0507f0 Merge pull request #12266 from HuKeping/rmjob-info
Remove Job from Info API
2015-04-20 07:10:57 -04:00
Jiri Popelka 379773905c Firewalld tests
Signed-off-by: Jiri Popelka <jpopelka@redhat.com>
2015-04-20 13:02:09 +02:00
Jiri Popelka b052827e02 React to firewalld's reload/restart
When firewalld (or iptables service) restarts/reloads,
all previously added docker firewall rules are flushed.

With firewalld we can react to its Reloaded() [1]
D-Bus signal and recreate the firewall rules.
Also when firewalld gets restarted (stopped & started)
we can catch the NameOwnerChanged signal [2].
To specify which signals we want to react to we use AddMatch [3].

Libvirt has been doing this for quite a long time now.

Docker changes firewall rules on basically 3 places.
1) daemon/networkdriver/portmapper/mapper.go - port mappings
   Portmapper fortunatelly keeps list of mapped ports,
   so we can easily recreate firewall rules on firewalld restart/reload
   New ReMapAll() function does that
2) daemon/networkdriver/bridge/driver.go
   When setting a bridge, basic firewall rules are created.
   This is done at once during start, it's parametrized and nowhere
   tracked so how can one know what and how to set it again when
   there's been firewalld restart/reload ?
   The only solution that came to my mind is using of closures [4],
   i.e. I keep list of references to closures (anonymous functions
   together with a referencing environment) and when there's firewalld
   restart/reload I re-call them in the same order.
3) links/links.go - linking containers
   Link is added in Enable() and removed in Disable().
   In Enable() we add a callback function, which creates the link,
   that's OK so far.
   It'd be ideal if we could remove the same function from
   the list in Disable(). Unfortunatelly that's not possible AFAICT,
   because we don't know the reference to that function
   at that moment, so we can only add a reference to function,
   which removes the link. That means that after creating and
   removing a link there are 2 functions in the list,
   one adding and one removing the link and after
   firewalld restart/reload both are called.
   It works, but it's far from ideal.

[1] https://jpopelka.fedorapeople.org/firewalld/doc/firewalld.dbus.html#FirewallD1.Signals.Reloaded
[2] http://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-name-owner-changed
[3] http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-routing-match-rules
[4] https://en.wikipedia.org/wiki/Closure_%28computer_programming%29

Signed-off-by: Jiri Popelka <jpopelka@redhat.com>
2015-04-20 13:02:09 +02:00
Jiri Popelka 8301dcc6d7 Support for Firewalld
Firewalld [1] is a firewall managing daemon with D-Bus interface.

What sort of problem are we trying to solve with this ?

Firewalld internally also executes iptables/ip6tables to change firewall settings.
It might happen on systems where both docker and firewalld are running
concurrently, that both of them try to call iptables at the same time.
The result is that the second one fails because the first one is holding a xtables lock.
One workaround is to use --wait/-w option in both
docker & firewalld when calling iptables.
It's already been done in both upstreams:
https://github.com/docker/docker/commit/b315c380f4acd65cc0428009702f99a266f96c59
https://github.com/t-woerner/firewalld/commit/b3b451d6f8946986b8f50c8bcddeef50ed7a5f8f
But it'd still be better if docker used firewalld when it's running.

Other problem the firewalld support would solve is that
iptables/firewalld service's restart flushes all firewall rules
previously added by docker.
See next patch for possible solution.

This patch utilizes firewalld's D-Bus interface.
If firewalld is running, we call direct.passthrough() [2] method instead
of executing iptables directly.
direct.passthrough() takes the same arguments as iptables tool itself
and passes them through to iptables tool.
It might be better to use other methods, like direct.addChain and
direct.addRule [3] so it'd be more intergrated with firewalld, but
that'd make the patch much bigger.
If firewalld is not running, everything works as before.

[1] http://www.firewalld.org/
[2] https://jpopelka.fedorapeople.org/firewalld/doc/firewalld.dbus.html#FirewallD1.direct.Methods.passthrough
[3] https://jpopelka.fedorapeople.org/firewalld/doc/firewalld.dbus.html#FirewallD1.direct.Methods.addChain
    https://jpopelka.fedorapeople.org/firewalld/doc/firewalld.dbus.html#FirewallD1.direct.Methods.addRule

Signed-off-by: Jiri Popelka <jpopelka@redhat.com>
2015-04-20 13:02:03 +02:00
Hu Keping f4942ed864 Remove Job from Info API
Two main things
- Create a real struct Info for all of the data with the proper types
- Add test for REST API get info

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-20 18:14:06 +08:00
Shijiang Wei 49be84842e Remove some unsupported instructions in the docs.
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-04-20 16:48:17 +08:00
Ma Shimiao e607bb49c4 clenaup: delete unused function getEnv
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-20 16:32:42 +08:00
Qiang Huang 641a7ec9ad remove unused function in server_unit_test.go
After engine refactor, some functions are no longer used.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-20 16:27:47 +08:00
Ankush Agarwal edf541c22b gofmt whole directory
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-20 01:08:51 -07:00
Alexander Morozov b7950b725b Merge pull request #12524 from RickWieman/12523-remove-redundant-else
Removes redundant else in registry/session.go
2015-04-19 22:08:50 -07:00
Rick Wieman 5f2b051ec5 Removes redundant else in registry/session.go
Fixes #12523

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-04-19 23:58:55 +02:00
Brian Goff 24b89b7098 Merge pull request #12521 from runcom/else-nit
Refactor else branches
2015-04-19 16:36:39 -04:00
Doug Davis b1d8ae3824 Merge pull request #12358 from ZJU-SEL/remove_job_from_tag
remove job from tag
2015-04-19 16:02:28 -04:00
moxiegirl 2e58350bd6 Merge pull request #12518 from moxiegirl/fix-12516-registry-doc
Docker Registry Server > Docker Registry
2015-04-19 07:14:09 -07:00
moxiegirl 547ded5df7 Merge pull request #12512 from ankushagarwal/document-binaries
Document the download location of Linux, Windows and Mac OS X binaries
2015-04-19 07:12:45 -07:00
Antonio Murdaca 8655214b3d Refactor else branches
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-19 15:32:54 +02:00
Madhu Venugopal 448a1a7139 Enhanced port integration-cli tests
THe port tests in integration-cli tests just for the port-mapping as
seen by Docker daemon. But it doesn't perform a more indepth testing by
checking for the exposed port on the host.

This change helps to fill that gap.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-19 06:15:23 -07:00
Brian Goff 89092252f0 Merge pull request #12432 from Mashimiao/optimize-code-to-clarify-loagic
change code to clarify logic
2015-04-19 07:39:24 -04:00
Simei He 99f6309b97 remove job from tag
Signed-off-by: Simei He <hesimei@zju.edu.cn>
2015-04-19 18:36:56 +08:00
Ankush Agarwal 99251f60c2 Document the download location of binaries
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-04-19 01:51:03 -07:00
Mary Anthony 7b2b7df386 Docker Registry Server > Docker Registry
Fixing registry index
Tested on beta and this redirect works

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-18 19:19:48 -07:00
Jeff Nickoloff 89df65be5d Update builder.md
Single value labels do not work in 1.6 and multi-label instructions only work when separated by non-EOL whitespace.
I also added an example snip from the inspect output with the labels that are included in this guide.

Signed-off-by: Jeff Nickoloff <jeff@allingeek.com>
2015-04-18 11:38:20 -07:00
moxiegirl 2bc3fb5149 Merge pull request #12508 from Mic92/docs-speedup
docs: speed up build by reducing build steps
2015-04-18 10:41:31 -07:00
Jörg Thalheim bbe6df1288 docs: speed up build by reducing build steps
- should be also easier to maintain

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-18 13:28:52 +02:00
Doug Davis c158cdbe6f Merge pull request #12438 from ourcolorfuldays/fixtypo
fix some typos
2015-04-18 07:17:55 -04:00
Arnaud Porterie 5fd378c0d1 Merge pull request #12466 from robertabbott/fix_dockerCmd
Removed unnecessary error output from dockerCmd
2015-04-17 15:15:34 -07:00
moxiegirl a313b729e4 Merge pull request #12496 from moxiegirl/post-release-updates
Updates to Compose docs and ENV vars
2015-04-17 13:43:06 -07:00
Mary Anthony 3a88367241 Updates to Compose docs and ENV vars
- Compose teamhad forgotten some documentation
- Updated ENV for Distribution also
- Forgot one of the readability sections

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-17 13:08:57 -07:00
Brian Goff 055c6dbaef Merge pull request #12490 from LK4D4/carry_12396
remove job from pull and import
2015-04-17 15:26:30 -04:00
Brian Goff 9922122fd4 Merge pull request #12493 from kostickm/12491-update-message-graphdriver
Updated message severity in graphdriver
2015-04-17 14:53:45 -04:00
Megan Kostick cdc63ce5d0 Updated message severity in graphdriver
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-17 10:56:12 -07:00
moxiegirl d12a2d8aeb Merge pull request #12476 from pwaller/small-cl-improvement
Improve build cancelation description in CHANGELOG
2015-04-17 10:34:08 -07:00
moxiegirl 4492977437 Merge pull request #12484 from superseb/12367-jessie-instructions
Added Debian 8 note for adding backports
2015-04-17 10:16:53 -07:00
moxiegirl ced638094f Merge pull request #12470 from zembutsu/patch-1
fix typo
2015-04-17 09:55:56 -07:00
Simei He 6e38a53f96 remove job from pull and import
Closes #12396

Signed-off-by: Simei He <hesimei@zju.edu.cn>

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-17 09:55:02 -07:00
Alexander Morozov d845932a52 Merge pull request #12486 from runcom/bye-builtins
Remove builtins
2015-04-17 09:52:43 -07:00
bobby abbott 621b601b3c Removed unnecessary error output from dockerCmd
Changed method declaration. Fixed all calls to dockerCmd
method to reflect the change.

resolves #12355

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-04-17 09:11:14 -07:00
Sebastiaan van Steenis 37b9ce61ac Added Debian 8 note for adding backports
Signed-off-by: Sebastiaan van Steenis <mail@superseb.nl>
2015-04-17 16:32:28 +02:00
moxiegirl ddc842ca2a Merge pull request #12436 from hqhq/hq_fix_inspect_doc
update docker-inspect man page
2015-04-17 06:57:12 -07:00
Antonio Murdaca a0bf80fe03 Remove builtins
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-17 14:27:38 +02:00
Peter Waller 609fa93aa2 Improve build cancelation description in CHANGELOG
The existing text didn't explain what had changed.

(See #9774)

Signed-off-by: Peter Waller <p@pwaller.net>
2015-04-17 09:44:12 +01:00
bin liu 70f1910a8b fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
2015-04-17 08:12:13 +00:00
Lei Jitang 05a8de4685 Fix weird terminal output format
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-17 15:28:12 +08:00
Masahito Zembutsu 3cdf94ed1a fix typo
Is this typo?

Signed-off-by: Masahito Zembutsu <m.zembutsu@gmail.com>
2015-04-17 16:06:54 +09:00
Doug Davis 5e40de9286 Merge pull request #12468 from icecrime/disable_test_pull_verified
Skip TestPullVerified
2015-04-17 02:31:01 -04:00
Doug Davis d47f3707c5 Merge pull request #12465 from HuKeping/log-level
Change log severity for non-tlsverify bind
2015-04-17 02:10:47 -04:00
Hu Keping b052f7a87c Change log severity for non-tlsverify bind
closes #12459

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-17 21:27:58 +08:00
Arnaud Porterie 9a4fa9c191 Skip TestPullVerified
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-16 23:05:47 -07:00
Doug Davis 5207b3eb2b Merge pull request #12446 from icecrime/please_go_away_testexp.tar
Always remove testexp.tar test file
2015-04-17 01:58:29 -04:00
Arnaud Porterie 4e356ee410 Improve export/import tests cleanup
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-16 22:10:55 -07:00
Qiang Huang 01548ed1dc update docker-inspect man page
- sort inspect out
 - update output fields
 - format output
 - add doc about go template
 - other minor fix

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-17 09:25:06 +08:00
moxiegirl 24af878358 Merge pull request #12455 from bfirsh/remove-registry-redirect
Remove registry redirect
2015-04-16 17:55:02 -07:00
Yahya b57830aee4 adding elementary OS to install script
It's basically just an Ubuntu, I'm a total noob but I've tried it on elementary OS "Freya" and it worked

Signed-off-by: M Yahya <ya7yaz@gmail.com>
2015-04-17 02:02:22 +02:00
moxiegirl b8530c6c5e Merge pull request #12383 from jdivock/patch-1 2015-04-16 14:45:36 -07:00
moxiegirl 2ba1244ad2 Merge pull request #12452 from moxiegirl/release-versions-set
Updating with final version from Stephen
2015-04-16 14:31:45 -07:00
moxiegirl 96b5a3f562 Merge pull request #12411 from sbasyal/patch-2
The link to issue 407 was broken
2015-04-16 13:32:02 -07:00
Phil Estes 4325cbb47c Merge pull request #12454 from jfrazelle/bump_version
Bump version
2015-04-16 16:27:34 -04:00
Jessica Frazelle e79c77fb8d bump version to 1.6.0-dev
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-04-16 12:56:02 -07:00
Ben Firshman 4c6d5e3a25 Remove registry redirect
... it was causing an infinite redirect.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-04-16 12:54:56 -07:00
Jessica Frazelle 99d0413033 Bump version to v1.6.0
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

(cherry picked from commit 47496519da)
2015-04-16 12:45:02 -07:00
Antonio Murdaca 1c89c6ea2f Add minor stylistic fixes
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-16 21:22:32 +02:00
Michael Crosby cb0644a196 Merge pull request #12428 from icecrime/1163_carry
Added documentation for functions
2015-04-16 11:43:29 -07:00
Mary Anthony b4b21ff0a6 Updating with final version from Stephen
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-16 11:40:36 -07:00
Alexander Morozov 27edbd2868 Merge pull request #12407 from cpuguy83/move_integration_api_tests
Move some integration api tests
2015-04-16 11:40:29 -07:00
Jessie Frazelle dfa5feab2f Merge pull request #12451 from moxiegirl/release-versions-set
doc fixes for 1.6
2015-04-16 11:35:46 -07:00
Mary Anthony f44aa3b1fb for 1.6
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-16 11:33:49 -07:00
Brian Goff 308a23021d Move TestPostCreateNull to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:49:46 -04:00
Brian Goff 5dc02a2fa8 Move TestPostJsonVerify to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:49:28 -04:00
Brian Goff 23fa7d41d5 Move TestContainerApiCreate to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:49:10 -04:00
Brian Goff f19061ccfd Move TestPostCommit to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:48:54 -04:00
Brian Goff d9e4b14346 Move TestGetContainersTop to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:48:33 -04:00
Brian Goff 6f5b895bc7 Move SaveAndThenload to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:40:49 -04:00
Brian Goff 8232cc777e Make sockRequestRaw return reader, not []byte
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-16 13:40:49 -04:00
Alexander Morozov 5224151da9 Merge pull request #12350 from runcom/remove-job-restart
Remove job from restart
2015-04-16 10:27:43 -07:00
Antonio Murdaca e41192a3f8 Remove job from restart
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-16 18:50:24 +02:00
Arnaud Porterie ae5cf30c7c Add -H|--human flag to docker history
Add a flag to print sizes and dates in human readable format.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-16 08:38:18 -07:00
Dave Henderson dcff07d03d Adding a verbose time option to output formatted timestamps
Fixes #11413

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-04-16 08:34:50 -07:00
Brian Goff 17ef617c77 Merge pull request #12431 from YanFeng-Adam/typo
Fix a typo in docker/daemon/state.go
2015-04-16 09:52:40 -04:00
Yan Feng 7e01ecc119 Fix a typo in docker/daemon/state.go
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-04-16 10:56:15 -04:00
Ma Shimiao 93cdb0071b optimize code to clarify logic
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-16 19:56:25 +08:00
Ma Shimiao 73bf9b5c19 add err check before getting term
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-16 17:46:32 +08:00
Jessie Frazelle 1899b2f41a Merge pull request #12423 from crosbymichael/idkbutitworks
Ensure state is destroyed on daemont restart
2015-04-15 21:19:38 -07:00
Jason Smith dc104ccb40 added documentation for functions
Signed-off-by: Jason Smith <jasonrichardsmith@gmail.com>
2015-04-15 19:28:01 -07:00
Sven Dowideit ad5d655fb2 Merge pull request #12426 from moxiegirl/new-registry-menu
In with the old menu layout
2015-04-16 12:22:49 +10:00
Mary Anthony fe8fb24b53 In with the old menu layout
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-15 19:02:01 -07:00
Brian Goff de923f59b3 Merge pull request #12253 from calavera/remove_job_from_start_and_create
Remove engine.Job from Start and Create
2015-04-15 21:49:25 -04:00
Michael Crosby a5f7c4aa31 Ensure state is destroyed on daemont restart
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-04-15 17:44:03 -07:00
Alexander Morozov 83d809f3d2 Merge pull request #12388 from xiaods/issue-12373
client.StatusError don't be returned as a pointer
2015-04-15 17:34:38 -07:00
Steven Taylor d1855c6cc0 What if authConfig or factory is Null?
Signed-off-by: Steven Taylor <steven.taylor@me.com>
2015-04-15 15:35:18 -07:00
Jessie Frazelle 2e4d36ed80 Merge pull request #12391 from ibuildthecloud/syslog-format
Change syslog format and facility
2015-04-15 14:47:12 -07:00
Sabin Basyal 6860c75b7b The link to issue 407 was broken
The link to issue 407 was broken. The old link was: https://github.com/docker/docker/issues/407%20kernel%20versions
The link must be: https://github.com/docker/docker/issues/407

Signed-off-by: Sabin Basyal <sabin.basyal@gmail.com>
2015-04-15 14:06:11 -07:00
Brian Goff 0c7b51089c Merge pull request #12412 from runcom/12410-fix-TestInitializeCannotStatPathFileNameTooLong
Fix TestInitializeCannotStatPathFileNameTooLong
2015-04-15 16:11:29 -04:00
Darren Shepherd 05641ccffc Change syslog format and facility
This patch changes two things

1. Set facility to LOG_DAEMON
2. Remove ": " from tag so that the tag + pid become a single column in
   the log

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-04-15 12:46:43 -07:00
Antonio Murdaca 7afb234741 Fix TestInitializeCannotStatPathFileNameTooLong
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-15 21:15:05 +02:00
Alexander Morozov 5b048ab2f2 Merge pull request #12369 from runcom/fix-links-graph-ref
Fix wrong graphdb refs paths purging
2015-04-15 11:34:58 -07:00
Brian Goff f0c60f7085 Merge pull request #12387 from x1022as/inspect-logpath
Inspect show right LogPath in json-file driver
2015-04-15 14:28:39 -04:00
moxiegirl 2499baefdd Merge pull request #12399 from emirozer/master
closes #8945
2015-04-15 10:53:10 -07:00
Brian Goff 2ecccda162 Merge pull request #12139 from hqhq/hq_add_cpusest_mems2
add support for cpuset.mems
2015-04-15 13:29:43 -04:00
Deshi Xiao bae3023eef client.StatusError don't be returned as a pointer
closes #12373

1. remove & from client.StatusError
2. remove * from Error method

Signed-off-by: Deshi Xiao <xiaods@gmail.com>
2015-04-16 01:27:07 +08:00
David Calavera 767df67e31 Decode container configurations into typed structures.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-15 10:22:07 -07:00
Jessie Frazelle ec4b0b1e27 Merge pull request #12382 from jfrazelle/modprobe-all-the-things-modules-for-the-modules-god
try to modprobe bridge
2015-04-15 08:45:00 -07:00
Jessica Frazelle b3867b8899 try to modprobe bridge
Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-15 07:19:37 -07:00
Emir Ozer 960de9c8dd closes #8945
Signed-off-by: Emir Ozer <emirozer@yandex.com>
2015-04-15 15:31:23 +02:00
Jörg Thalheim 6533cb973f hack/make/test-integration-cli: introduce MAKEDIR variable
- every execution of dirname costs time
- less repeating

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:44:14 +02:00
Jörg Thalheim 4d53a19528 hack: useless use of cat
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:14:14 +02:00
Jörg Thalheim ac20568b0a hack: quote all parameters with variable interpolation
better safe then sorry. especially for rm

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:14:14 +02:00
Jörg Thalheim 23afce5f7f hack/make.sh: use SCRIPTDIR wherever possible
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:14:14 +02:00
Jörg Thalheim 6f812a4ec1 hack/make.sh: use bash internal $PWD
Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:14:14 +02:00
Deng Guangxing acf025ad1b Inspect show right LogPath in json-file driver
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-04-15 11:51:24 +08:00
Qiang Huang f8dc7e8754 Add cpuset-mems support for docker build
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-15 09:34:12 +08:00
Qiang Huang 8077b2fb80 add support for cpuset.mems
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-15 09:33:46 +08:00
Phil Estes da697dbed6 Merge pull request #12360 from yestin/11601-supplement-tests-part-2
Improve test accuracy for pkg/chrootarchive (part 2)
2015-04-14 21:00:12 -04:00
Michael Crosby 3a3ab0e4e7 Merge pull request #12384 from calavera/fix_moxiegirl_handler
Fix @moxiegirl's handler to be consistent with other maintainers.
2015-04-14 17:02:44 -07:00
Jason Divock 25d07511ed Update basic setup instructions
Without adding the user to the group you're going to hit nasty TLS errors. Figured I'd save the next guy the hassle.

Problem more accurately described here:
https://github.com/docker/docker/issues/5314

Signed-off-by: Jason Divock <jdivock@box.com>
2015-04-14 16:56:34 -07:00
David Calavera d10c5d95a8 Fix @moxiegirl's handler to be consistent with other maintainers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-14 16:53:28 -07:00
Jessie Frazelle 485071f92e Merge pull request #11945 from lmars/fix-upstart-post-start
Prevent Upstart post-start stanza from hanging
2015-04-14 16:23:04 -07:00
David Calavera 002afbbe77 Make integration tests to call the new start and create endpoints.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-14 15:33:33 -07:00
David Calavera 98996a432e Remove engine.Job from Create action.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-14 15:33:12 -07:00
David Calavera 610c436e07 Remove engine.Job from Start action.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-14 15:33:12 -07:00
Phil Estes 5395cdcae5 Merge pull request #12269 from kostickm/12251-remove-not-empty-check
Remove container name not empty check
2015-04-14 17:55:13 -04:00
Arnaud Porterie ee54723485 Merge pull request #12379 from sharkone/patch-1
Remove sprious `fmt.Printf` from test
2015-04-14 14:25:16 -07:00
Antonio Murdaca 088e69da35 Fix wrong graphdb refs paths purging
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-14 23:10:43 +02:00
Thomas Texier 2ea1febd9a Remove unnecessary fmt.Printf
Signed-off-by: Thomas Texier <sharkone@en-mousse.org>
2015-04-14 20:55:32 +00:00
Phil Estes 1e6f7e4ee5 Merge pull request #12356 from jfrazelle/godeps-lolololololololololololol
change go tools to use certain commit
2015-04-14 16:18:49 -04:00
Phil Estes 2f0f04e8fa Merge pull request #12292 from cpuguy83/remove_commands_integration
Remove commands integration
2015-04-14 16:17:25 -04:00
Jessie Frazelle 74f4a88305 Merge pull request #11999 from vbatts/vbatts-decide_storage
graphdriver: prefer prior driver state
2015-04-14 13:04:21 -07:00
James Turnbull 62e8621095 Merge pull request #12357 from draghuram/prdoc
Improve the git instructions to update a PR.
2015-04-14 15:46:10 -04:00
Brian Goff 8ce42baaef Make docker cp bind-mount volumes
Allows `docker cp` to work seamlessly, and a lot more cleanly.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-14 15:42:56 -04:00
Brian Goff 63331abbca remove integration/utils setRaw funcs
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-14 15:17:17 -04:00
Raghuram Devarakonda 18a8bcf072 Improve the git instructions to update a PR.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-04-14 15:11:35 -04:00
Alexander Morozov 676bf4afa5 Merge pull request #12282 from cpuguy83/remove_some_integration_tests
Move integration/server_test tests to integration-cli
2015-04-14 11:55:05 -07:00
Megan Kostick 98f857772f Remove container name not empty check
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-14 11:27:06 -07:00
moxiegirl a3d871220c Merge pull request #12375 from moxiegirl/12366-change-fix
Fixing changed pushed without edit
2015-04-14 11:06:41 -07:00
Alexander Morozov 5be5749d54 Merge pull request #12370 from buddhamagnet/11593-api-client-docs
add docs for DockerCli and NewDockerCli fixes #11593
2015-04-14 11:00:19 -07:00
buddhamagnet 69747b3c1e add docs for DockerCli and NewDockerCli
Signed-off-by: buddhamagnet <buddhamagnet@gmail.com>
2015-04-14 18:33:11 +01:00
Mary Anthony 4dd4bd00aa Fixing changed pushed without edit
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-14 10:25:07 -07:00
Brian Goff 040176f6e1 Merge pull request #12214 from ahmetalpbalkan/namesgenerator/localrand
names-generator: use local random instance
2015-04-14 13:10:26 -04:00
Alexander Morozov 7b29a88146 Merge pull request #12374 from kostickm/12343-fix-vet-warning-archive
Fix vet warning in archive.go
2015-04-14 10:06:04 -07:00
Alexander Morozov 3748def343 Merge pull request #12366 from bboreham/12337-force-push
Add -f option and explanation to push after rebase
2015-04-14 09:59:48 -07:00
Brian Goff 392fd243bc Merge pull request #12365 from HuKeping/list
Use local variable err instead of a outer one
2015-04-14 12:49:15 -04:00
Alexander Morozov 398220f5ff Merge pull request #12368 from ZJU-SEL/fix-memory-stats-doc
fix memory stats display document
2015-04-14 09:44:44 -07:00
Alexander Morozov 8f0b63925e Merge pull request #12363 from ahmetalpbalkan/integ-cli/use-sockRequest-statuscode
integ-cli: Use status code from sockRequest (fix #12335)
2015-04-14 09:38:10 -07:00
Jessica Frazelle 736824ccc1 change go tools to use certain commit
Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-14 09:32:23 -07:00
Hu Keping a0804e8e11 Use local variable err instead of a outer one
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-15 00:29:53 +08:00
Megan Kostick fc20658a01 Fix vet warning in archive.go
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-14 09:13:50 -07:00
Phil Estes fe53c27785 Merge pull request #11992 from runcom/11923-refactor-utils-utils
Refactor utils/utils, fixes #11923
2015-04-14 12:01:23 -04:00
Alexander Morozov 5019f35111 Merge pull request #11980 from sunyuan3/TestSearchCmdOptions
add TestSearchCmdOptions case
2015-04-14 08:34:40 -07:00
wonderflow d791f7e9f8 fix memory stats display document
Signed-off-by: Sun Jianbo <wonderflow@zju.edu.cn>
2015-04-14 18:34:20 +08:00
Bryan Boreham c89ddb6d01 Add -f option and explanation to push after rebase
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2015-04-14 10:53:37 +01:00
Ahmet Alp Balkan 531433e765 integ-cli: Use status code from sockRequest (fix #12335)
sockRequest now makes the status code available in the returned
values. This helps avoid string checking for non-HttpStatusOK(=200)
yet successful error messages.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-14 08:07:50 +00:00
Yestin Sun 67df8e4257 Improve test accuracy for pkg/chrootarchive (part 2)
Check test correctness of untar by comparing destination with
source. For part 2, it checkes hashes of source and destination
files or the target files of symbolic links.

This is a supplement to the #11601 fix.

Signed-off-by: Yestin Sun <sunyi0804@gmail.com>
2015-04-13 21:46:14 -07:00
Ahmet Alp Balkan 25fab69f7d names-generator: use local random instance
Instead of seeding/polluting the global random instance,
creating a local `rand.Random` instance which provides the same
level of randomness.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-14 02:35:16 +00:00
Vincent Batts b68e161e5b graphdriver: prefer prior driver state
Before this, a storage driver would be defaulted to based on the
priority list, and only print a warning if there is state from other
drivers.

This meant a reordering of priority list would "break" users in an
upgrade of docker, such that there images in the prior driver's state
were now invisible.

With this change, prior state is scanned, and if present that driver is
preferred.

As such, we can reorder the priority list, and after an upgrade,
existing installs with prior drivers can have a contiguous experience,
while fresh installs may default to a driver in the new priority list.

Ref: https://github.com/docker/docker/pull/11962#issuecomment-88274858

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-13 21:37:55 -04:00
Tatsushi Inagaki bcd5e20a09 Enable "netgo" library when we build a static binary with gccgo
Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>
2015-04-13 21:33:04 -04:00
Yuan Sun 77f2a4a0e3 add TestSearchCmdOptions case
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-14 09:23:26 +08:00
Arnaud Porterie 00eddf5e67 Merge pull request #12353 from sunyuan3/duplicate
duplicate logDone in TestRmRunningContainerCheckError409 and TestRmRunni...
2015-04-13 17:48:53 -07:00
Brian Goff 7d738e0b8c Move utils from commands_test.go into utils.go
Everything else was gone from this file except these utils which are
being used in other files and can't yet be removed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:26 -04:00
Brian Goff 125747e967 Remove TestRunAutoremove
This test is already being skipped, and is also fully tested by
`TestRunContainerWithRmFlagExitCodeNotEqualToZero`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:26 -04:00
Brian Goff e4cfd9b392 MovetAttachDisconnect to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:26 -04:00
Brian Goff 28cda04838 Move TestAttachDetachTruncatedID to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:26 -04:00
Brian Goff ae0883ce00 Move TestAttachDetach to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:26 -04:00
Brian Goff f7538c77ef Move TestRunDetach to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 20:48:24 -04:00
Jessie Frazelle f68ad63496 Merge pull request #12345 from kostickm/12324-add-detection-f2fs-jfs-filesystem
Add detection for F2Fs and JFS
2015-04-13 17:32:47 -07:00
Yuan Sun b85ade79d5 duplicate logDone in TestRmRunningContainerCheckError409 and TestRmRunningContainer
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-14 08:32:25 +08:00
Brian Goff b93d3f8768 Merge pull request #12351 from jfrazelle/fix-test-daemon-with-wrong-key-messing-up-builds
cleanup daemon tests
2015-04-13 20:31:41 -04:00
Sven Dowideit e8a7e76283 Merge pull request #11920 from SvenDowideit/flesh-out-docker-hub-automated-builds-docs
Researching Docker Hub account linking and automated builds details
2015-04-14 10:31:21 +10:00
Sven Dowideit a55f8e1ce7 Researching Docker Hub account linking and automated builds details
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-04-14 10:29:55 +10:00
Megan Kostick 7e2d05b493 Add detection for F2Fs and JFS
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>

Alphabetize FSMagic list to make more human-readable.

Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-13 17:01:43 -07:00
Jessie Frazelle 24df333fa5 Merge pull request #12349 from calavera/patch-1
Fix JSON format in the remote api configuration examples.
2015-04-13 16:59:12 -07:00
Jessica Frazelle 9a87553e4f cleanup test wrong key.json leading to other failures
wait for container to be running before trying to kill it in daemon tests

Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-13 16:58:44 -07:00
Antonio Murdaca c30a55f14d Refactor utils/utils, fixes #11923
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-14 01:37:36 +02:00
David Calavera d71c929d08 Fix JSON format in the remote api configuration examples.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-13 16:12:00 -07:00
Michael Crosby 7ecf4e5d4d Merge pull request #12166 from cpuguy83/remove_err_when_volume_exists
Don't return error when adding existing volume
2015-04-13 14:15:48 -07:00
Michael Crosby 12f7db1830 Merge pull request #12025 from coolljt0725/add_exec_with_user
Add docker exec run command as a different user and in privileged mode
2015-04-13 13:50:51 -07:00
Michael Crosby b5c3d01e6b Merge pull request #12044 from reteptilian/11721-remove-randomstring-3
fixes 11721 replace stringutils.GenerateRandomString with stringid.GenerateRandomID
2015-04-13 13:47:50 -07:00
Brian Goff 579c9ec1d0 Don't return error when adding existing volume
Error wasn't really doing anything except for making a bunch of extra
debug logs.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 16:45:35 -04:00
Michael Crosby 8652ca5d5f Merge pull request #12111 from tianon/builder-deb
Add "builder-deb" base images for building ".deb" packages properly
2015-04-13 13:41:17 -07:00
Brian Goff 02706a40bb move TestImagesFilter to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 16:40:48 -04:00
Brian Goff 2c24a8a4ea Move TestCreateNumberHostname to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 16:40:48 -04:00
Brian Goff ed6074ea6b Move TestMergeOnCommit to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 16:40:48 -04:00
Brian Goff 9b4d9a3421 Move TestRunWithTooLowMemory to integration-cli
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-13 16:40:48 -04:00
Michael Crosby 6fa2a1e486 Merge pull request #12172 from ZJU-SEL/change_stats
change memory usage display
2015-04-13 13:32:45 -07:00
Michael Crosby 3d424ead3b Merge pull request #12287 from calavera/check_memory_swap_when_disabled
Log memory swap capabilities properly.
2015-04-13 13:19:52 -07:00
Evan Hazlett b6e64981e6 Merge pull request #12204 from yestin/11601-supplement-tests-part-1
Improve test accuracy for pkg/chrootarchive (part 1)
2015-04-13 16:14:18 -04:00
Alexander Morozov e961f7da67 Merge pull request #12341 from jfrazelle/add-vet-script
Add vet script
2015-04-13 13:13:56 -07:00
Michael Crosby 75b911eb3c Merge pull request #12222 from chenhanxiao/cp-support-colon
cp: add support for copy filename with ":"
2015-04-13 13:09:12 -07:00
Evan Hazlett 6b40377c18 Merge pull request #12262 from YanFeng-Adam/daemon
A wrong key.json would remain if the TestDaemonwithwrongkey case fails. The issue would lead to failure of other cases.
2015-04-13 16:00:20 -04:00
Michael Crosby afd973c497 Merge pull request #12342 from LK4D4/fix_vet_warn
Fix vet warning
2015-04-13 12:56:47 -07:00
Jessica Frazelle f3ba0a6a35 change tabs to spaces
Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-13 12:48:40 -07:00
bobby abbott 3280ce651b Adds validate-vet script
resolves #11970

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-04-13 12:48:05 -07:00
David Calavera 7523beff41 Log memory swap capabilities properly.
Check whether the swap limit capabilities are disabled or not only when memory swap is set to greater than 0.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-13 11:56:59 -07:00
Evan Hazlett 82256c2a54 Merge pull request #12340 from crosbymichael/syslog-tags
move syslog-tag to syslog.New function
2015-04-13 14:51:00 -04:00
Evan Hazlett 05433a4dab Merge pull request #12275 from LK4D4/pid_host_hell
Get process list after PID 1 dead
2015-04-13 14:50:23 -04:00
Evan Hazlett 9e0a55b48c Merge pull request #12276 from estesp/10246-really-fix-arg-list
Send archive options via pipe in chrootarchive
2015-04-13 14:44:47 -04:00
Alexander Morozov 213eab995a Fix vet warning
pkg/archive/archive_test.go:496: arg changes for printf verb %s of wrong type: []archive.Change

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-13 11:43:30 -07:00
James Turnbull e29dcd91bd Merge pull request #12228 from bboreham/12022-signal-doc
Add a note about PID 1 not terminating automatically on signal
2015-04-13 14:41:07 -04:00
Evan Hazlett a8e095b243 Merge pull request #12293 from hqhq/hq_use_hostconfig
use hostConfig in verifyDaemonSettings
2015-04-13 14:34:35 -04:00
Evan Hazlett 3434f64827 Merge pull request #12300 from johngossman/master
Added some error messages and tracing to bridge network initialization
2015-04-13 14:32:56 -04:00
Evan Hazlett 3509132a6e Merge pull request #12301 from ewindisch/https_links
Use HTTPS links for URLs in READMEs / comments / docs
2015-04-13 14:30:53 -04:00
Deng Guangxing 4f91a333d5 move syslog-tag to syslog.New function
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-04-13 11:24:18 -07:00
Jessie Frazelle 85f1410a5a Merge pull request #12049 from tianon/bundles-latest
Add "bundles/latest" symlink
2015-04-13 11:11:38 -07:00
Michael Crosby 38761bda79 Merge pull request #12264 from Mashimiao/add-event-log-for-push
Add event log for push
2015-04-13 11:03:09 -07:00
Michael Crosby 0e46cc9be4 Merge pull request #12325 from hqhq/hq_fix_build_test
fix build test by adding --no-cache
2015-04-13 10:57:19 -07:00
Michael Crosby 76eeb5d777 Merge pull request #12291 from coolljt0725/add_cfs_bandwidth_to_check_config
Add CFS_BANDWIDTH to check-config
2015-04-13 10:55:31 -07:00
Michael Crosby 5a174e5def Merge pull request #12297 from vdemeester/11603-pkg-archive-test-coverage
Add test on archive.go (#11603)
2015-04-13 10:54:21 -07:00
Michael Crosby c19bee4fb0 Merge pull request #12338 from LK4D4/fix_compile_integr_cli
Fix errors due changed sockRequest signature
2015-04-13 10:50:38 -07:00
Alexander Morozov 27fccdbabb Fix errors due changed sockRequest signature
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-13 10:30:07 -07:00
Michael Crosby 9a0a4ac02f Merge pull request #12331 from coolljt0725/fix_panic_release_nil_interface
Fix daemon panic when release a nil network interface
2015-04-13 10:13:57 -07:00
Michael Crosby 6f928be7ef Merge pull request #12320 from runcom/fix-api-resize-exec-resize
fix api server resize&execResize
2015-04-13 09:59:11 -07:00
Michael Crosby 33e83d0581 Merge pull request #12279 from runcom/remove-job-commit
Remove job from commit
2015-04-13 09:57:54 -07:00
Tianon Gravi d42753485b Add "bundles/latest" symlink
This is a symlink to the latest "bundle" that was assembled.  For example, if `VERSION` is currently `1.5.0-dev`, then `bundles/latest` will be a symlink to `bundles/1.5.0-dev` after an attempted build.

One interesting property of this is that after a successful `binary` build, we can `./bundles/latest/binary/docker -v` and get back something like `Docker version 1.5.0-dev, build 3ff6723-dirty`.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-13 10:54:17 -06:00
Bryan Boreham 5ad15479a0 Add a note about PID 1 not terminating on SIGINT/SIGTERM.
Also re-arranged the description of CTRL-c to make it clearer.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2015-04-13 17:39:38 +01:00
Brian Goff 12eff0c26f Merge pull request #12312 from runcom/remove-job-container-stats
Remove job from container stats
2015-04-13 11:58:31 -04:00
Brian Goff a4f98d3225 Merge pull request #12313 from runcom/remove-job-export
Remove job from export
2015-04-13 11:57:55 -04:00
Alexander Morozov bfb487dc50 Merge pull request #12304 from runcom/remove-job-logs
Remove job from logs
2015-04-13 08:38:46 -07:00
Doug Davis 9c48f6d9a5 Merge pull request #12314 from runcom/remove-engine-links
Remove engine from links
2015-04-13 11:27:13 -04:00
Brian Goff 871f4cdccb Merge pull request #12326 from xiaods/issure-12316
correct pkg/stdcopy NewStdWriter function comments
2015-04-13 09:39:34 -04:00
Antonio Murdaca 6b737752e3 Remove job from export
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-13 15:27:45 +02:00
Doug Davis ad41ba1f95 Merge pull request #12321 from HuKeping/testcase_typo
Fix typo in testcase
2015-04-13 08:48:41 -04:00
Hu Keping 1567cf2cdf Fix typo in testcase
Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-13 23:09:07 +08:00
Lei Jitang 8b35481292 Fix daemon panic when release a nil network interface
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-13 20:24:10 +08:00
Deshi Xiao a715b0e31b correct pkg/stdcopy NewStdWriter function comments
pkg/stdcopy NewStdWriter function has wrong doc comment,
utils is not correct, it should be stdcopy

Signed-off-by: Deshi Xiao <xiaods@gmail.com>
2015-04-13 17:21:27 +08:00
Qiang Huang c49cc1f2fb fix build test by adding --no-cache
Testcase TestBuildResourceConstraintsAreUsed run build without
--no-cache, so if you run this test twice, it will fail the
second time.
TESTFLAGS='-v -run ^TestBuildResourceConstraintsAreUsed$' ./hack/make.sh binary test-integration-cli
[PASSED]
TESTFLAGS='-v -run ^TestBuildResourceConstraintsAreUsed$' ./hack/make.sh binary test-integration-cli
[FAIL]
Because we'll use cID to inspect field and will get empty cID
if we have cache.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-13 16:24:49 +08:00
Antonio Murdaca 3341f3a355 fix api server resize&execResize
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-13 08:42:12 +02:00
Antonio Murdaca 65a056345c Remove jobs from stats
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-13 08:33:53 +02:00
Antonio Murdaca 91bfed6049 Remove job from logs
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-13 08:25:31 +02:00
Ma Shimiao f5a07f0c88 Add event log for push
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-04-13 09:41:15 +08:00
Phil Estes 908db51804 Send archive options via pipe in chrootarchive
After finding our initial thinking on env. space versus arg list space
was wrong, we need to solve this by using a pipe between the caller and
child to marshall the (potentially very large) options array to the
archiver.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-04-12 21:16:54 -04:00
John Gossman 80e9f6f838 More review feedback addressed
Signed-off-by: John Gossman <johngos@microsoft.com>
2015-04-12 16:26:37 -07:00
John Gossman 4ce19da739 Addressed feedback. Will squash after further review
Signed-off-by: John Gossman <johngos@microsoft.com>
2015-04-12 15:49:29 -07:00
Antonio Murdaca 7560018541 Remove engine from links
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-12 16:25:10 +02:00
Doug Davis a54fd325e6 Merge pull request #12305 from runcom/remove-job-exec-inspect
Remove job from execInspect
2015-04-12 08:30:38 -04:00
Doug Davis 395df2b0a5 Merge pull request #12306 from runcom/remove-job-stop
Remove job from stop
2015-04-12 08:29:22 -04:00
Antonio Murdaca 04cc6c6aa4 Remove job from stop
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-12 00:41:16 +02:00
Antonio Murdaca 621ee1f6a4 Remove job from execInspect
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-12 00:15:34 +02:00
Vincent Demeester c4fe5dad1d Add test on archive.go (#11603)
- Trying to add or complete unit test to each ``func``
- Removing dead code (``escapeName``)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-04-11 23:21:37 +02:00
John Gossman a9843cb739 Added some error messages and tracing to bridge network initialization
Signed-off-by: John Gossman <johngos@microsoft.com>
2015-04-11 11:15:24 -07:00
Eric Windisch 5dc83233bc HTTPS urls for ./project
Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:58:09 -04:00
Eric Windisch ac65c8c380 HTTPS URLs for docs top-level & man pages
This updates all of docs outside of sources.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:43:26 -04:00
Eric Windisch df9ee6d656 Link to HTTPS urls in contrib comments/maintainers
Updates comments and dockerfile maintainer lines
to use HTTPS urls where applicable.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:35:08 -04:00
Eric Windisch ca37301d54 Link to HTTPS URLs in engine comments
Updates most of the instances of HTTP urls in the engine's
comments. Does not account for any use in the code itself,
documentation, contrib, or project files.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:31:34 -04:00
Eric Windisch 723d43387a HTTPS urls for ./hacking
Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:22:16 -04:00
Eric Windisch 67a983fc37 Use HTTPS for package URL
Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:21:16 -04:00
Eric Windisch 787d774af0 Link to HTTPS URLs
Link to HTTPS URLs in top-level documentation / project files.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-11 13:18:57 -04:00
James Turnbull e3dd323336 Merge pull request #12289 from sunyuan3/docker_remote_api
update docker_remote_api_v1.19.md
2015-04-11 09:27:36 -05:00
James Turnbull 6d8102466a Merge pull request #12288 from sunyuan3/ubuntu
update ubuntulinux.md
2015-04-11 09:25:55 -05:00
jianbosun d6d8f45b04 change memory usage display
using standard unix postfixes add unit test for display
also change doc for memory usage display change
for example GiB will be GB

Signed-off-by: Sun Jianbo <wonderflow@zju.edu.cn>
2015-04-11 20:04:34 +08:00
Yuan Sun 4f492e794a update docker_remote_api_v1.*
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-11 18:11:49 +08:00
Qiang Huang 39932511c1 use hostConfig in verifyDaemonSettings
We have moved resource configs to hostConfig.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-04-11 16:37:28 +08:00
Brian Goff e3c1cc8d77 Merge pull request #12290 from yuchangchun1/typo
Fix a typo in TestVolumesFromGetsProperMode
2015-04-10 23:45:42 -04:00
Lei Jitang d2d583c53b Add CFS_BANDWIDTH to check-config
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-11 11:39:47 +08:00
Lei Jitang 72a500e9e5 Add docker exec run a command in privileged mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-11 11:26:37 +08:00
Lei Jitang 2cce4791b0 Add -u|--user flag to docker exec for running command as a different user
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-11 11:04:24 +08:00
y00277921 24dd8a4698 Fix a typo in comment of parseMaybeJSONToList
Signed-off-by: Yu Changchun <yuchangchun1@huawei.com>
2015-04-11 10:34:21 +08:00
Phil Estes 5c3b228b61 Merge pull request #11058 from x1022as/upstream-master
fix 'rmi -f imgID' problem
2015-04-10 22:00:14 -04:00
Deng Guangxing 795a58fb44 'docker rmi -f IMAGE_ID' untag all names and delete the image
If an image has been tagged to multiple repos and tags, 'docker
rmi -f IMAGE_ID' will just untag one random repo instead of
untagging all and deleting the image. This patch implement
this. This commit is composed of:

        *untag all names and delete the image

        *add test to this feature

        *modify commandline/cli.md to explain this

Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-04-11 09:24:21 +08:00
Yuan Sun a8fddbdeae update ubuntulinux.md
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-11 08:58:23 +08:00
Brian Goff 418195a4fb Merge pull request #12274 from brahmaroutu/fix_gccgo_compilation
Unwanted declaration causing compilation issues with gccgo
2015-04-10 20:22:45 -04:00
Jessie Frazelle d90da05b1b Merge pull request #12283 from brendandixon/win-cli/wrapfix
Turned off Ctrl+C processing by Windows shell
2015-04-10 16:40:43 -07:00
Alexander Morozov ac8bd12b39 Get process list after PID 1 dead
Fix #11087

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-10 16:23:57 -07:00
moxiegirl f3e1178791 Merge pull request #12272 from nathanleclaire/bots_are_our_friends
Allow SEO crawling from docs site
2015-04-10 15:58:37 -07:00
Brendan Dixon c337bfd2e0 Turned off Ctrl+C processing by Windows shell
Signed-off-by: Brendan Dixon <brendand@microsoft.com>
2015-04-10 15:43:35 -07:00
Nathan LeClaire de03f4797b Allow SEO crawling from docs site
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Docker-DCO-1.1-Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com> (github: nathanleclaire)
2015-04-10 15:29:55 -07:00
Antonio Murdaca c8529fde5f Remove job from commit
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-11 00:20:45 +02:00
Brian Goff 001a7e6bab Merge pull request #12103 from sunyuan3/pause
add TestContainerApiPause case
2015-04-10 18:04:29 -04:00
Tibor Vass 563041b5c4 Merge pull request #11478 from dmcgowan/v2-vendored-api
Use v2 api from distribution
2015-04-10 17:22:38 -04:00
Tibor Vass 23c12dabbd Merge pull request #11412 from vbatts/vbatts-dm_sync_is_required
devmapper: udev sync is a requirement
2015-04-10 16:52:38 -04:00
Brian Goff 96313f7ce0 Merge pull request #12250 from runcom/remove-job-wait
Remove job from wait
2015-04-10 16:27:59 -04:00
root 73d08528ea Unwanted declaration causing compilation issues with gccgo
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-04-10 19:47:15 +00:00
Vincent Batts 0e21782de5 devmapper: storage-opt override for udev sync
This provides an override for forcing the daemon to still attempt
running the devicemapper driver even when udev sync is not supported.

Intended to be a very clear impairment for those choosing to use it. If
udev sync is false, there will still be an error in the daemon logs,
even when the override is in place. The docs have an explicit WARNING.

Including link to the docs for users that encounter this daemon error
during an upgrade.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-10 15:43:16 -04:00
Doug Davis 6d8bba0cc8 Merge pull request #12271 from kostickm/12119-rename-TestStartSilentAttach
Rename TestStartSilentAttach to TestStartAttachSilent
2015-04-10 12:20:37 -07:00
moxiegirl 6ab4878a01 Merge pull request #12218 from draghuram/apidoc_12055
Adds example request and Json parameter information for container
2015-04-10 11:22:57 -07:00
Antonio Murdaca db0ffba3b9 Remove job from wait
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-10 20:17:02 +02:00
Phil Estes 904295fd71 Merge pull request #12242 from tianon/functionalize-install
Wrap install.sh in a function
2015-04-10 14:15:38 -04:00
Michael Crosby bae3273ef4 Merge pull request #12259 from duglin/RemoveJobTop
Remove Job from `docker top`
2015-04-10 10:56:01 -07:00
Michael Crosby 267bd51adb Merge pull request #12248 from duglin/RemoveJobKill
Remove Job from `docker kill`
2015-04-10 10:52:18 -07:00
Megan Kostick e7a2e2bf7e Rename TestStartSilentAttach to TestStartAttachSilent
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-10 10:45:38 -07:00
Tibor Vass 43aca9adac Merge pull request #12238 from brendandixon/win-cli/fixes
Corrected int16 overflow and buffer sizes
2015-04-10 13:36:23 -04:00
Richard Burnison 8d1a500303 Only use fallback to short IDs when obvious.
As reported in #11294, the Docker daemon will execute contains it
shouldn't run in the event that a requested tag is present in an image's
ID. This leads to the wrong image being started up silently.

This change reduces the risk of such a collision by using the short ID
iff the actual revOrTag looks like a short ID (not that it necessarily
is).

Signed-off-by: Richard Burnison <rburnison@ebay.com>
2015-04-10 13:20:44 -04:00
Arnaud Porterie 7cec5f50c5 Merge pull request #12209 from ahmetalpbalkan/daemon/cli-help-log-driver-reword
cli: Better wording for daemon --log-driver
2015-04-10 08:29:29 -07:00
Raghuram Devarakonda 202e0380f3 Adds example request and Json parameter information for container
start API.

Closes #10304.

Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-04-10 11:10:41 -04:00
Yan Feng bfc68d10ed A wrong key.json would remain if the TestDaemonwithwrongkey case fails. The issue would lead to failure of other cases.
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-04-10 11:10:26 -04:00
Brian Goff 0693e34d7e Merge pull request #12260 from HuKeping/rmjob-history
Remove Job from History API
2015-04-10 09:53:05 -04:00
Hu Keping 5c7c3fea6c Remove Job from History API
a part of issue #12151

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-10 21:37:56 +08:00
Doug Davis 5c8e28ec7c Merge pull request #12263 from chenhanxiao/typo-resize-test
api_resize_test: fix a typo
2015-04-10 05:46:42 -07:00
Chen Hanxiao 4ddc721f23 api_resize_test: fix a typo
s/cintainer/container

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-04-10 03:09:26 -04:00
Chen Hanxiao 5037297388 cp: add support for copy filename with ":"
We use ":" as separator CONTAINER:PATH.
This patch enables copy filename with ":"
to host.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-04-10 00:08:05 -04:00
Tibor Vass 296323cd6c Merge pull request #12210 from tiborvass/carry-9916
Carry 9916: add comment column in docker history command
2015-04-10 00:02:00 -04:00
Tibor Vass fa2ace00a8 Rebase + some fixes
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-04-09 21:29:42 -04:00
David Young 8d682bf734 Refine document by review comments
Signed-off-by: David Young <yangboh@cn.ibm.com>
2015-04-09 21:29:42 -04:00
David Young bf57339527 Add comment column in docker history command output
Signed-off-by: David Young <yangboh@cn.ibm.com>
2015-04-09 21:29:41 -04:00
Tianon Gravi 6842bba163 Commonalize more bits of install.sh (especially standardizing around "cat <<-EOF")
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-09 19:28:25 -06:00
Alexander Morozov e690ad9292 Merge pull request #12256 from WiseTrem/remove_go1.2
Remove pools_nopool.go & build tag from pools.go
2015-04-09 18:25:09 -07:00
Doug Davis 3e096cb9c9 Remove Job from docker top
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-09 18:17:50 -07:00
Yuan Sun 8636a21991 add TestContainerApiPause case
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-10 09:14:01 +08:00
Michael Crosby 404f81011b Merge pull request #12254 from runcom/remove-job-resize-execresize
Remove job from resize&execResize
2015-04-09 17:00:58 -07:00
moxiegirl 02f6d7f98a Merge pull request #12252 from kostickm/update-contributor-guide-docs
Docs cleanup - Contributor Guide
2015-04-09 16:54:08 -07:00
WiseTrem f01d755cd0 Remove pools_nopool.go & build tag from pools.go
Fix #11576

Signed-off-by: Gleb Shepelev <shepelyov.g@gmail.com>
2015-04-10 02:32:55 +03:00
Doug Davis 3cb751906a Remove Job from docker kill
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-09 16:06:54 -07:00
Antonio Murdaca e290a22dc9 Remove job from resize&execResize
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-10 00:56:43 +02:00
Michael Crosby eebfcde0ea Merge pull request #12249 from runcom/remove-job-pause-unpause
Remove job from pause/unpause
2015-04-09 15:09:48 -07:00
moxiegirl 8ad6031759 Merge pull request #12162 from daviddavis/README
Fixing up the README
2015-04-09 14:26:03 -07:00
Megan Kostick e4addf1c01 Docs cleanup - Contributor Guide
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-09 14:20:03 -07:00
Alexander Morozov 67676529b3 Merge pull request #12092 from tiborvass/no-jobs-networkdriver-bridge
Remove jobs from daemon/networkdriver/bridge
2015-04-09 14:10:21 -07:00
Michael Crosby d66f868a83 Merge pull request #12247 from LK4D4/copy_no_engine
Removed engine from /copy
2015-04-09 14:09:00 -07:00
Antonio Murdaca 5ccb1c764b Remove job from pause/unpause
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-09 22:50:48 +02:00
Alexander Morozov dd4389fb19 Merge pull request #12109 from runcom/11625-fix-windows-test-build-cancellation
Fix TestBuildCancelationKillsSleep to not fail on Windows
2015-04-09 13:33:27 -07:00
Alexander Morozov ccdef895de Removed engine from /copy
* Client and server use types.CopyConfig
* API calls container.Copy directly

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-09 13:05:31 -07:00
Antonio Murdaca d38c90140b Fix TestBuildCancelationKillsSleep to not fail on Windows
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-09 21:03:19 +02:00
Alexander Morozov 6fb8bd0450 Merge pull request #12244 from calavera/fix_typo_in_dispatcher
Fix typo in builder/dispatchers.go
2015-04-09 11:51:43 -07:00
David Calavera bbdf045ac1 Fix typo in builder/dispatchers.go
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-04-09 11:43:05 -07:00
Alexander Morozov b02cf5239e Merge pull request #12115 from cpuguy83/fix_events_filter_test
Cleanup events filter by container test
2015-04-09 11:40:08 -07:00
Jessie Frazelle c77ac8e29d Merge pull request #12225 from chenhanxiao/commit-accent
docs: add missing accent mark around docker command
2015-04-09 11:34:07 -07:00
Brian Goff 94fcded51b Merge pull request #12208 from twhiteman/master
fix #12188 integration-cli: use "top" instead of "sleep" to avoid timeout
2015-04-09 14:30:43 -04:00
Eric Windisch fa961ce046 Wrap installer in a function
This will assure that the install script will not
begin executing until after it has been downloaded should
it be utilized in a 'curl | bash' workflow.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-04-09 14:26:07 -04:00
Alexander Morozov 92a775bd7a Merge pull request #12234 from runcom/remove-job-rmi
Remove job from rmi
2015-04-09 11:24:20 -07:00
Alexander Morozov 3218f3936d Merge pull request #12197 from runcom/remove-job-rm
Remove job from rm
2015-04-09 11:21:52 -07:00
Todd Whiteman 42d47c3136 fix #12188 integration-cli: tests using "sleep" can timeout too early - change to "top" instead
Signed-off-by: Todd Whiteman <todd.whiteman@joyent.com>
2015-04-09 10:46:57 -07:00
Antonio Murdaca e4afc379dc Remove job from rmi
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-09 19:39:14 +02:00
Brian Goff 2052d01b1e Merge pull request #12240 from LK4D4/fix_attach
Fix regressions in attach
2015-04-09 13:34:18 -04:00
Jessie Frazelle 2b96bd0bb8 Merge pull request #11895 from liusdu/m
show the right image name in job log and docker ps
2015-04-09 10:21:07 -07:00
Alexander Morozov 0fec3e19db Fix regressions in attach
* Wrong bool parsing
* Attach always all streams

Were introduced in #12120

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-09 09:58:44 -07:00
Antonio Murdaca db13cb7f98 Remove job from rm
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-09 18:46:24 +02:00
Brian Goff 6b7e520aa3 Merge pull request #12215 from ahmetalpbalkan/execdriver/localrand
execdriver/lxc: use local rand.Random in test
2015-04-09 12:22:25 -04:00
Alexander Morozov 6ba7bf440e Merge pull request #12184 from duglin/RemoveJobImages
Remove Job from `docker images`
2015-04-09 09:19:09 -07:00
Arnaud Porterie f16d8db789 Merge pull request #12205 from ahmetalpbalkan/docs/remote-api-LogConfig-format
docs: Markdown format fix around LogConfig param
2015-04-09 09:17:24 -07:00
Arnaud Porterie 74b5c7b284 Merge pull request #12231 from ahmetalpbalkan/integ-cli/TestInfoEnsureSucceeds-all-required
cli_info_test: Check all required fields
2015-04-09 09:07:54 -07:00
Brendan Dixon a264e1e83d Corrected int16 overflow and buffer sizes
Signed-off-by: Brendan Dixon <brendand@microsoft.com>
2015-04-09 09:03:04 -07:00
Brian Goff 7dff1c15d2 Merge pull request #12223 from YanFeng-Adam/typo
Fix a typo in docker/daemon/execdriver/native/exec.go
2015-04-09 11:49:02 -04:00
Yan Feng ab11d60555 Fix a typo in docker/daemon/execdriver/native/exec.go
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-04-09 11:46:09 -04:00
Doug Davis 8295bed3df Merge pull request #12207 from WiseTrem/getBoolParam
Removing unused getBoolParam func from api/server/server.go
2015-04-09 08:28:48 -07:00
Phil Estes 00fd226430 Merge pull request #12227 from HuKeping/rm-rename
Remove Job from rename
2015-04-09 11:27:14 -04:00
Hu Keping 49c4de4aeb Remove Job from rename
A part of ISSUE#12151-Remove engine.Job mechanism

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-04-10 01:52:55 +08:00
Phil Estes 3ca46f29b8 Merge pull request #12232 from ahmetalpbalkan/names/kilby-joyce
namesgenerator: Proposing Kilby/Noyce
2015-04-09 11:25:19 -04:00
Liu Hua 645c020f5a fix up Image-name related issues in docker ps and CI
This patch include the following fixs:
 - fix image name error when docker ps
 - fix docker events test failure: use the exact image name for filter
 - fix docker build CI test failure due to "docker events" change

Because of change of daemon log behavior. Now we record
the exact Image name as you typed. So docker run -d busybux sh
and docker run -d busybox:latest are not the same in the log.
So it will affect the docker events. So change the related CI

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-04-09 23:03:23 +08:00
Brian Goff 7e70998bb8 Cleanup events filter by container test
This also seemed to be checking the ordering of the events, which
doesn't seem like something we sould be interested in this particular
test.

Added check to make sure the filtered events have the expected ID's.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-09 09:47:58 -04:00
Ahmet Alp Balkan 197ec4a637 namesgenerator: Proposing Kilby/Noyce
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-09 04:11:06 -07:00
Ahmet Alp Balkan 4c69d0dd8a cli_info_test: Check all required fields
`TestInfoEnsureSucceeds` is supposed to check existence of all
expected fields that are going to be shown in `docker info` command.

If this list was complete, it could have helped catching the missing
`"Logging Driver:"` regression.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-09 04:01:39 -07:00
Ahmet Alp Balkan a4b7a9e1e5 cli: Better wording for daemon --log-driver
This flag is passed to the daemon CLI. In my opinion, "Container's
logging driver" is not accurate and refers to 'one container'.

Also the `syslog` driver was missing from the list. Having the list
of all logging drivers won't scale here (should be <80 chars per line)
and we have `rotation` driver coming up in the pipeline as well (gh11485).

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-09 02:12:44 -07:00
Chen Hanxiao 809d99ad91 docs: add missing accent mark around docker command
As we did everywhere.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-04-09 04:37:23 -04:00
WiseTrem 0fc75a3136 Removing unused getBoolParam func from api/server/server.go
Fix #12199

Signed-off-by: Gleb Shepelev <shepelyov.g@gmail.com>
2015-04-09 09:13:16 +03:00
Doug Davis d045b9776b Remove Job from docker images
Also removes engine.Table

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-08 19:33:01 -07:00
Liu Hua 663d913011 Show the right image name/ID in job log
When we tag an Image with several names and we run one of them,
The "create" job will log this event with
 +job log(create, containerID, Imagename).

And the "Imagename" is always the first one (sorted). It is the
same to "start/stop/rm" jobs. So use the correct name instand.
This PR refer to #10479

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-04-09 09:41:23 +08:00
Ahmet Alp Balkan c2c45d7769 execdriver/lxc: use local rand.Random in test
Preventing the test execution to pollute the deterministic runtime environment
by seeding the global rand.Random.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-08 18:13:07 -07:00
Brian Goff 91abff41dd Merge pull request #12206 from jfrazelle/11966-fix-racy-tests-on-overlay
cleanup/fix integration-cli for overlay in overlay
2015-04-08 20:52:58 -04:00
Jessica Frazelle 255b84444a cleanup/fix integration-cli for overlay in overlay
Signed-off-by: Jessica Frazelle <jess@docker.com>
2015-04-08 16:59:36 -07:00
Ahmet Alp Balkan b66597eef1 docs: Markdown format fix around LogConfig param
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-08 16:16:37 -07:00
Tibor Vass 53582321ee Remove jobs from daemon/networkdriver/bridge
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-04-08 18:50:29 -04:00
Yestin Sun 7bb4b055ab Improve test accuracy for pkg/chrootarchive (part 1)
Check test correctness of untar by comparing destination with
source. For part one, it only compares the directories.

This is a supplement to the #11601 fix.

Signed-off-by: Yestin Sun <yestin.sun@polyera.com>
2015-04-08 14:07:31 -07:00
Arnaud Porterie 7233bd223d Merge pull request #12163 from duglin/RemoveJobPS
Remove Job from PS API
2015-04-08 13:43:47 -07:00
Michael Crosby 56a2c58760 Merge pull request #12194 from icecrime/update_maintainers
Drop shin from MAINTAINERS
2015-04-08 13:43:01 -07:00
Michael Crosby 66a68e378c Merge pull request #12171 from cstivers78/patch-1
Proposing Seymour Cray
2015-04-08 13:42:13 -07:00
Arnaud Porterie d0c1fba73e Drop shin from MAINTAINERS
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-08 13:31:42 -07:00
Chris Stivers 5206f76f44 Proposing Seymour Cray
Signed-off-by: Chris Stivers <chris@stivers.us>
2015-04-08 13:17:22 -07:00
Alexander Morozov 776b7e8559 Merge pull request #12191 from kostickm/12189-fix-json-tags
Fixing JSON Tags
2015-04-08 13:11:54 -07:00
moxiegirl 57536d82e7 Merge pull request #12187 from moxiegirl/docs-makefile-update
Adding environment variables for sub projects
2015-04-08 12:48:09 -07:00
Mary Anthony ef8b917fac Adding environment variables for sub projects
Fixes issue #12186
Fixing variables per Jess

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-08 12:23:50 -07:00
Megan Kostick 88119bb276 Fixing JSON Tags
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-08 12:05:12 -07:00
moxiegirl 26e83832c7 Merge pull request #11855 from nfirvine/master
Add some new graphics for mac installation with boot2docker
2015-04-08 10:41:50 -07:00
Doug Davis 1bfa80bdd9 Remove Job from PS API
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-08 10:30:17 -07:00
moxiegirl ebc1e5ec9f Merge pull request #12176 from YanFeng-Adam/typo
Fix a typo in /doc/sources/reference/run.md
2015-04-08 10:08:05 -07:00
David Davis f9d323d712 Fixing up the README
Fixing some small issues I found in the README like missing punctuation,
trailing whitespace, etc.

Signed-off-by: David Davis <daviddavis@redhat.com>
2015-04-08 12:57:19 -04:00
Arnaud Porterie b8a7fdade6 Merge pull request #12178 from fschindler/fix-typo
Fixing typo.
2015-04-08 09:10:53 -07:00
moxiegirl 254d6f7752 Merge pull request #12133 from xiaods/fixed-issue-11500
fixed #11500 Add tip about filter proxy
2015-04-08 09:09:54 -07:00
Arnaud Porterie a6d39e2a2d Merge pull request #12168 from cpuguy83/remove_dup_file_creation
Remove duplicate config file creation.
2015-04-08 09:03:43 -07:00
Alexander Morozov 3ebfc99d10 Merge pull request #12066 from LK4D4/split_events
Remove engine usage from events
2015-04-08 08:29:24 -07:00
Yan Feng 64fd944e30 Fix a typo in /doc/sources/reference/run.md
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-04-08 11:23:47 -04:00
Arnaud Porterie 94ade35e46 Merge pull request #12183 from runcom/remove-job-diff
Remove engine.Job from diff
2015-04-08 08:21:43 -07:00
Antonio Murdaca e379e2668c Remove engine.Job from diff
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-08 15:52:10 +02:00
Doug Davis 7cfe438151 Merge pull request #12132 from sunyuan3/d
duplicate logDone in TestRenameRunningContainer and TestRenameCheckNames
2015-04-08 08:09:22 -04:00
Felix Schindler 8afd5cad31 Fixing typo.
Added missing white space.

Signed-off-by: Felix Schindler <fschindler@weluse.de>
2015-04-08 11:03:11 +02:00
Deshi Xiao a40f379878 fixed #11500 Add tip about filter proxy
fixed #11500
Add tip about filter proxy to Docker installation Guides

Signed-off-by: Deshi Xiao <xiaods@gmail.com>
2015-04-08 14:13:01 +08:00
Yuan Sun cc30282e94 duplicate logDone in TestRenameRunningContainer and TestRenameCheckNames
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-08 13:33:05 +08:00
Brian Goff 24057777af Remove duplicate config file creation.
When `toDisk` is called, it is creating a file already, no need to
create it here.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-07 21:36:30 -04:00
Michael Crosby 06433cf812 Merge pull request #12161 from LK4D4/update_libcontainer
Update libcontainer
2015-04-07 16:18:33 -07:00
Jessie Frazelle d08db9a059 Merge pull request #12160 from mrunalp/remove_unused
Removes unused function.
2015-04-07 16:05:49 -07:00
Alexander Morozov ce69dafe4d Test case for network mode chain container -> container -> host
Issue #12130

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 15:20:42 -07:00
Mrunal Patel 195bebd3a7 Removes unused function.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-04-07 18:15:28 -04:00
Tibor Vass dccda72a41 Merge pull request #12120 from LK4D4/split_attach
Remove engine usage from attach
2015-04-07 18:13:35 -04:00
Alexander Morozov 2f853b9493 Update libcontainer to bd8ec36106086f72b66e1be85a81202b93503e44
Fix #12130

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 15:10:44 -07:00
moxiegirl 8b71930570 Merge pull request #12154 from moxiegirl/carry-pr-11409
Carrying 11409 for a contributor
2015-04-07 15:00:26 -07:00
Alexander Morozov d1423d28b5 Merge pull request #12155 from kostickm/12146-fix-fail-msg-TestRunDeviceDirectory
Fixing fail message in TestRunDeviceDirectory
2015-04-07 14:55:30 -07:00
moxiegirl 65ca20e6f1 Merge pull request #12156 from moxiegirl/pr-12008-carry
Carry PR 12008 for contributor
2015-04-07 14:54:02 -07:00
Alexander Morozov c44f513248 Remove engine usage from attach
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 14:23:09 -07:00
Alexander Morozov 8fd2b52146 Fix fail message in TestEventsImageImport
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 14:22:43 -07:00
Mary Anthony 87e70b6831 Carry PR 12008 for contributor
Closes #8040
Remove a tic for the hawk

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-07 14:09:53 -07:00
Tibor Vass 9dd23be563 Merge pull request #11947 from TonnyXu/master
Updated the explanation of ONBUILD in best-practices doc
2015-04-07 16:53:43 -04:00
moxiegirl 4d4f201a4d Merge pull request #12089 from nerdalert/doc-fix-netw-nerdalert
Replaced level with layer for OSI model references
2015-04-07 13:29:40 -07:00
Jessie Frazelle ebd7df3bbe Merge pull request #11909 from runcom/11908-refactor-utils-utils-daemon
Refactor utils/utils_daemon
2015-04-07 13:24:24 -07:00
Mary Anthony fdfc36db41 Carrying 11409 for a client
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-07 13:20:17 -07:00
Megan Kostick 05dcf26199 Fixing fail message in TestRunDeviceDirectory
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-07 13:14:47 -07:00
Vincent Batts 86d66d6273 Merge pull request #12033 from rhvgoyal/devmapper-cleanup
Devmapper Graph Driver Misc cleanup
2015-04-07 15:49:32 -04:00
Phil Estes e011119a49 Merge pull request #12129 from duglin/RemoveTable5
Remove engine.Table from more daemon side stuff
2015-04-07 12:53:55 -04:00
moxiegirl 531d2b3b80 Merge pull request #12136 from YanFeng-Adam/typo
Fix 2 typos in /doc/sources/reference/run.md
2015-04-07 09:21:01 -07:00
Yan Feng 805f34bb5b Fix 2 typos in /doc/sources/reference/run.md
Signed-off-by: Yan Feng <yanfeng2@huawei.com>
2015-04-07 14:15:05 -04:00
Alexander Morozov d487ca03e6 Remove events package
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 08:43:18 -07:00
Alexander Morozov c9eb37f975 Remove engine usage for events
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 08:43:18 -07:00
Alexander Morozov 868f56e083 New package daemon/events
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-07 08:43:14 -07:00
Brent Salisbury 7165089f34 Replaced level with layer for OSI model references
- ty to @moxiegirl for the info workflow for patching images.

-link to the v6 svg (grey L2 switch in the top /level/layer/)
http://docs.master.dockerproject.com/article-img/ipv6_switched_network_example.svg

Signed-off-by: Brent Salisbury <brent.salisbury@docker.com>
2015-04-06 22:23:40 -04:00
Jessie Frazelle 9ede3f9fc1 Merge pull request #12127 from ahmetalpbalkan/win-cli/termsize-fix
Swap width/height in GetWinsize and monitorTtySize
2015-04-06 16:54:29 -07:00
Doug Davis 650bc2ffe5 Remove engine.Table from more daemon side stuff
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-06 15:06:02 -07:00
Ahmet Alp Balkan 6e44246fed Swap width/height in GetWinsize and monitorTtySize
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-06 14:31:42 -07:00
Phil Estes 3588c5fbc7 Merge pull request #12125 from LK4D4/fix_events_streaming_test
Fix events streaming test
2015-04-06 17:12:48 -04:00
Alexandr Morozov e45bf8d2e9 Decrease timeouts in TestEventsStreaming
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2015-04-06 13:40:56 -07:00
Alexandr Morozov 5fa3a6f248 Pass right timestamp instead of crap from string(int64)
Problem is that --since can consume anything not near looking as
timestamp.

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2015-04-06 13:39:02 -07:00
Phil Estes dec48d6708 Merge pull request #12070 from duglin/RemoveTableCLI
Last step in removing engine.Table from api/client/*
2015-04-06 16:33:29 -04:00
Arnaud Porterie 8a50746b5d Merge pull request #11686 from willhf/9340_test
Add test for net=container and links
2015-04-06 13:21:01 -07:00
Michael Crosby 488a721dc9 Merge pull request #12121 from tiborvass/copy-not-deprecated
Revert "Since `COPY` has been deprecated in the recent release of Docker...
2015-04-06 13:18:55 -07:00
Tibor Vass d2992c78dc Revert "Since COPY has been deprecated in the recent release of Docker I updated the best practices section to inform users that ADD is the way forward and to not use COPY."
COPY was not deprecated.

This reverts commit 3148063af1.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-04-06 15:34:10 -04:00
Vincent Batts ca628c6216 devmapper: udev sync is a requirement
closes #10664
closes #4036

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-04-06 15:17:57 -04:00
Jessie Frazelle 37a16580b1 Merge pull request #12064 from brendandixon/win-cli/rawfix
Windows console fixes
2015-04-06 18:45:08 +00:00
moxiegirl 9cad920c08 Merge pull request #11993 from crunchywelch/master
add centos to supported distros
2015-04-06 11:44:40 -07:00
moxiegirl 2c44556ff9 Merge pull request #12093 from malnick/malnick_dockerfile_best_practice_update
Updated the dockerfile best practice section on ADD and COPY
2015-04-06 11:43:50 -07:00
moxiegirl ce18734c2c Merge pull request #12055 from l0kix2/patch-1
Improved "start a container" section 1.16 & 1.17 API docs
2015-04-06 11:41:38 -07:00
Alexander Morozov f5657249a0 Merge pull request #11324 from sunyuan3/TestDaemonwithwrongkey
add TestDaemonwithwrongkey test case
2015-04-06 11:35:05 -07:00
Alexander Morozov a0fc0343b7 Merge pull request #12090 from runcom/12079-events-streaming-tests
Test events streaming
2015-04-06 11:23:47 -07:00
Arnaud Porterie ed8d402851 Merge pull request #11978 from x1022as/info-show-loggingdriver
docker info show logging driver info
2015-04-06 11:11:31 -07:00
Doug Davis 065648a832 Last step in removing engine.Tabel from api/client/*
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-06 10:55:53 -07:00
Tibor Vass 281b8f67e1 Merge pull request #11293 from shishir-a412ed/docker_load_clobber_image_name
Fix for Issue 11285: warning message displayed when updating an existing image
2015-04-06 13:04:49 -04:00
malnick 3148063af1 Since COPY has been deprecated in the recent release of Docker I updated the best practices section to inform users that ADD is the way forward and to not use COPY.
Signed-off-by: malnick <malnick@gmail.com>
2015-04-06 10:04:42 -07:00
moxiegirl 3e077bb3f7 Merge pull request #12100 from draghuram/docker_update
Add the missing option to the wget command for updating Docker.
2015-04-06 10:03:23 -07:00
Antonio Murdaca d1c4439b5a Test events streaming, fixes #12079
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-06 19:00:17 +02:00
moxiegirl 96c3141fa5 Merge pull request #12020 from chenhanxiao/docker-import-commit
docs: keep the style of docker-commit consistent with docker-import
2015-04-06 09:47:47 -07:00
Tianon Gravi eee1efcfd6 Add "builder-deb" base images for building ".deb" packages properly
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-06 10:43:36 -06:00
Brian Goff d3fa57e051 Merge pull request #12112 from kostickm/12042-fix-logDone-format
Fixes logDone format
2015-04-06 12:34:38 -04:00
Tianon Gravi 8b4c3a111d Merge pull request #10275 from Snorch/master
docker-tests: mount hierarchies and make symlinks for subsystems
2015-04-06 10:32:04 -06:00
moxiegirl d489b91aa9 Merge pull request #11915 from ZJU-SEL/fix_issue_11676_11754
clarify RLIMIT_AS is disabled, explain how to edit DOCKER_OPTS
2015-04-06 09:23:53 -07:00
Arnaud Porterie ac93a13e27 Merge pull request #11554 from Sirupsen/logrus-fields
logging: use logrus fields
2015-04-06 09:00:18 -07:00
Megan Kostick d6ada45f45 Closes #12042 - fix logDone format
Signed-off-by: Megan Kostick <mkostick@us.ibm.com>
2015-04-06 08:54:35 -07:00
Arnaud Porterie 90be2a66a8 Merge pull request #12102 from x1022as/typo
fix typo
2015-04-06 08:46:41 -07:00
Arnaud Porterie b9d2ede4d4 Merge pull request #12107 from cpuguy83/remove_striptrailingchars
Remove `stripTrailingCharacters` from tests
2015-04-06 08:46:08 -07:00
Arnaud Porterie 716576b0cc Merge pull request #12110 from leoh0/fix-typo
Minor spelling fix
2015-04-06 08:43:18 -07:00
Eohyung Lee 7986c37996 Minor spelling fix
Signed-off-by: Eohyung Lee <liquidnuker@gmail.com>
2015-04-06 23:27:53 +09:00
Brian Goff 475c65319b Remove stripTrailingCharacters from tests
This was just an alias to `strings.TrimSpace`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-06 09:21:18 -04:00
Shishir Mahajan 7d0053d554 Applying: Fix for Issue 11285: warning message displayed when updating an existing image
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-04-06 09:05:03 -04:00
Deng Guangxing 71de711189 fix typo in cli.md
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-04-06 16:11:40 +08:00
Raghuram Devarakonda 9287e70c12 Add the missing option to the wget command for updating Docker.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-04-05 23:00:21 -04:00
willhf bc0cdc0a4c Fix incompatible flags conditional
Signed-off-by: willhf <willhf@gmail.com>
2015-04-05 19:38:31 -07:00
Simei He 5057d7da13 fix the space thing.
Signed-off-by: Simei He <hesimei@zju.edu.cn>
2015-04-06 09:00:59 +08:00
Yuan Sun ef13dcd4dc add TestDaemonwithwrongkey test case
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-06 08:57:47 +08:00
Doug Davis 58390b6087 Merge pull request #12075 from eljojo/remove_stupid
Remove "stupid" wording
2015-04-04 12:37:38 -04:00
José Tomás Albornoz 4cf5a1c2aa Remove "stupid" wording
Signed-off-by: José Tomás Albornoz <jojo@eljojo.net>
2015-04-04 15:26:45 +02:00
Doug Davis ca8d196d13 Merge pull request #12074 from guoxiuyan/Fix_typo
Fix a minor typo
2015-04-04 07:34:35 -04:00
Kirill SIbirev ac12c80537 Improved "start a container" section in 1.16 & 1.17 docs
It seems it was lost or something

Signed-off-by: Kirill Sibirev <l0kix2@gmail.com>
2015-04-04 11:23:49 +03:00
guoxiuyan ffcc4a1e52 Fix a minor typo
Signed-off-by: Guo Xiuyan <guoxiuyan@huawei.com>
2015-04-04 15:36:35 +08:00
Tonny Xu e50636617f Updated the explanation of ONBUILD in best-practices doc
Signed-off-by: Tonny Xu <tonny.xu@gmail.com>
2015-04-04 12:46:25 +09:00
Michael Crosby 2a79d54f4c Merge pull request #12063 from icecrime/update_maintainers
Several updates to MAINTAINERS file
2015-04-03 17:20:20 -07:00
Arnaud Porterie a45375f1f9 Merge pull request #12069 from whoshuu/notice-link
Make NOTICE in the README into a link
2015-04-03 17:08:53 -07:00
Arnaud Porterie 886026f99e Add thaJeztah
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-03 16:37:36 -07:00
Huu Nguyen d94e186442 Make NOTICE in the README into a link
Signed-off-by: Huu Nguyen <whoshuu@gmail.com>
2015-04-03 16:36:49 -07:00
Tianon Gravi 6a99c2032e Merge pull request #12065 from proppy/patch-14
test-unit: fix TESTFLAGS doc
2015-04-03 16:26:11 -06:00
Simon Eskildsen e1ca439828 daemon: convert version log statement to fields
Signed-off-by: Simon Eskildsen <sirup@sirupsen.com>
2015-04-03 18:22:17 -04:00
Johan Euphrosine 5846914f91 test-unit: fix TESTFLAGS doc
Signed-off-by: Johan Euphrosine <proppy@google.com>
2015-04-03 15:05:14 -07:00
Brendan Dixon 1a36a113d4 Windows console fixes
Corrected integer size passed to Windows
Corrected DisableEcho / SetRawTerminal to not modify state
Cleaned up and made routines more idiomatic
Corrected raw mode state bits
Removed duplicate IsTerminal
Corrected off-by-one error
Minor idiomatic change

Signed-off-by: Brendan Dixon <brendand@microsoft.com>
2015-04-03 15:02:52 -07:00
Arnaud Porterie 58f07c9d8a Rename status labels
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-03 14:33:16 -07:00
Arnaud Porterie 80f3085651 Sort maintainers alphabetically
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-03 14:33:16 -07:00
Arnaud Porterie 370cef012e Move docs approval section
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-03 14:33:16 -07:00
Jessie Frazelle b2fbd9e632 Merge pull request #12060 from duglin/RemoveTable3
Remove engine.Table from docker search and fix missing field
2015-04-03 21:29:36 +00:00
Jessie Frazelle 9cdad8a26b Merge pull request #11886 from jamiehannaford/pkg-mnt-docs
Document exported functions and consts in pkg/mount
2015-04-03 21:28:11 +00:00
Alexander Morozov 5c83dfe670 Merge pull request #11994 from unclejack/jsonfilelog_allocations
daemon/logger/jsonfilelog: avoid some allocations
2015-04-03 13:58:13 -07:00
Jessie Frazelle 4d571257ed Merge pull request #12039 from ahmetalpbalkan/windows-install-docs-update
docs: Add new windows installation tutorials
2015-04-03 20:39:21 +00:00
moxiegirl fb1e10284b Merge pull request #11968 from thaJeztah/docs-fix-bullets-and-labels-filter
docs: fix bullet list and missing label filter
2015-04-03 12:33:22 -07:00
moxiegirl a6c04f33e1 Merge pull request #12003 from sleinen/patch-1
Make explanation consistent with command
2015-04-03 12:19:37 -07:00
moxiegirl 6d5a0ac11e Merge pull request #12057 from icecrime/11925_carry
Specify running `boot2docker ip` on host
2015-04-03 12:11:53 -07:00
Jessie Frazelle 409ed98c3f Merge pull request #12048 from tianon/auto-btrfs_noversion
Change the btrfs_noversion check to be automatic
2015-04-03 19:00:57 +00:00
Jessie Frazelle 3985dc299a Merge pull request #12054 from eluck/master
Update userguide/dockervolumes - fixes issue #12052
2015-04-03 18:58:52 +00:00
Jessie Frazelle 3683498d6f Merge pull request #12037 from twhiteman/master
integration-cli: in TestPsListContainersSize, check for no containers
2015-04-03 18:52:26 +00:00
Jessie Frazelle 55da2e5987 Merge pull request #12059 from whoshuu/readme
Clean up formatting in the README
2015-04-03 18:49:26 +00:00
Ahmet Alp Balkan 2b320a2309 docs: Add new windows installation tutorials
Updated Windows installation documentation with newest
screencasts and Chocolatey instructions to install windows
client CLI.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-04-03 11:33:34 -07:00
Doug Davis 67b4cce0f6 Remove engine.Table from docker search and fix missing field
registry/SearchResults was missing the "is_automated" field.
I added it back in.

Pull this 'table' removal one from the others because it fixed
a bug too

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-03 11:27:30 -07:00
Michael Crosby e64f6baf11 Merge pull request #12010 from ibuildthecloud/small
Small changes from #11967 for review comments
2015-04-03 11:27:06 -07:00
Jessie Frazelle b3e9c274dd Merge pull request #11981 from unclejack/fix_profiler
api/server: fix profiler HTTP serving
2015-04-03 18:25:12 +00:00
Antonio Murdaca 01724c1cf1 Refactor ultis/utils_daemon, fixes #11908
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-04-03 20:20:04 +02:00
Michael Crosby 326a5545d4 Merge pull request #12058 from duglin/RemoveTable2
Remove engine.Table from docker history and docker rmi
2015-04-03 10:57:52 -07:00
moxiegirl 12e7787540 Merge pull request #12017 from moxiegirl/distribution-man-pages
Updating with man pages for distribution
2015-04-03 09:55:08 -07:00
Huu Nguyen bfddad18ce Clean up formatting in the README
Signed-off-by: Huu Nguyen <whoshuu@gmail.com>
2015-04-03 09:50:35 -07:00
Arnaud Porterie 61933395eb Merge pull request #11860 from maximkulkin/11575-dockerize-image-tool
Add tool to conver disk image into Docker image
2015-04-03 09:32:11 -07:00
Arnaud Porterie c8ca904f15 Merge pull request #11881 from jrjang/master
mkimage-arch: set default C.UTF-8 locale
2015-04-03 09:28:11 -07:00
Arnaud Porterie bcbdf77ddb Specify running boot2docker ip on host
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-03 08:53:44 -07:00
Alexander Morozov 03525d5fc6 Merge pull request #11956 from coolljt0725/add_memcg_swap_cgroup_enabled_to_check_config
add MEMCG_SWAP_ENABLED to check-config.sh
2015-04-03 08:50:54 -07:00
Doug Davis 2c5da7d1ac Merge pull request #12018 from sunyuan3/search
If docker search with --starts=${negative number}, it would show the war...
2015-04-03 11:38:38 -04:00
Doug Davis 0b2fa9c707 Remove engine.Table from docker history and docker rmi
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-03 08:31:30 -07:00
moxiegirl 05753288c4 Merge pull request #11997 from tiborvass/carry-11926
Carry 11926: Added information about accessing host directory on Windows.
2015-04-03 06:43:38 -07:00
moxiegirl da61228501 Merge pull request #11775 from maximkulkin/explain-advanced-contribution-workflow
Explain advanced contribution workflow more
2015-04-03 06:41:49 -07:00
Aaron Welch a6b8f2e3fe add centos to supported distros
Signed-off-by: Aaron Welch <welch@packet.net>
2015-04-03 08:56:26 -04:00
eluck 57b09068ef Update userguide/dockervolumes - fixes issue #12052
Signed-off-by: Evgeny Lukianchikov <mail@eluck.me>
2015-04-03 14:07:51 +03:00
Jamie Hannaford 9a98556c2b Add documentation for exported functions and types
Signed-off-by: Jamie Hannaford <jamie.hannaford@rackspace.com>
2015-04-03 11:33:34 +02:00
Tianon Gravi 3761955e8c Change the btrfs_noversion check to be automatic
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-03 01:30:12 -06:00
Simei He 8c578b8190 minor edits.
Signed-off-by: Simei He <hesimei@zju.edu.cn>
2015-04-03 14:43:21 +08:00
Arnaud Porterie a3a45a6ec0 Merge pull request #11883 from coolljt0725/add_missing_option_to_bash_completion
Add some missing option to bash completion
2015-04-02 22:49:58 -07:00
Alexander Morozov 4e90b47cc2 Merge pull request #12043 from joeygibson/12041-fix-vet-warnings
Fix vet warnings in pkg/requestdecorator/requestdecorator_test.go #12041
2015-04-02 22:07:55 -07:00
Joey Gibson a9443de7c5 Fix vet warnings in pkg/requestdecorator/requestdecorator_test.go #12041
Signed-off-by: Joey Gibson <joey@joeygibson.com>
2015-04-03 00:18:21 -04:00
Yuan Sun 87e0e4eb43 If docker search with --starts=${negative number}, it would show the warning.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-03 08:55:34 +08:00
Tibor Vass f92e88b7e0 Merge pull request #11995 from icecrime/test_daemon_stop
Properly stop test daemon in integration-cli
2015-04-02 20:27:20 -04:00
Phil Estes 3f1590f679 Merge pull request #12040 from duglin/TableFromDiff
Remove use of Table from 'docker diff'
2015-04-02 17:21:40 -07:00
Doug Davis 49c72506ac Remove use of Table from 'docker diff'
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-02 16:55:58 -07:00
Arnaud Porterie 9c505c906d Merge pull request #11571 from noironetworks/11555-Docker-since-beginning-of-unix-time-doesnt-work
Fixes docker events since beginning of unix time
2015-04-02 15:03:04 -07:00
Jessie Frazelle 962ded2dee Merge pull request #12036 from crosbymichael/update-libcontainer-apr2
Update libcontainaer to d00b8369852285d6a830a8d3b9
2015-04-02 14:46:44 -07:00
Todd Whiteman 3e51a81475 integration-cli: add check for TestPsListContainersSize when no containers are returned
* when no containers are returned, go test would then aborts with:
  panic: runtime error: index out of range

Signed-off-by: Todd Whiteman <todd.whiteman@joyent.com>
2015-04-02 14:45:52 -07:00
Michael Crosby d12fef1515 Update libcontainaer to d00b8369852285d6a830a8d3b9
Fixes #12015

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-04-02 14:12:55 -07:00
Vivek Goyal c737800b7f devmapper: Retry device removal after 100ms instead of 10ms
Right now we try device removal at the interval of 10ms and keep on trying
till either device is removed or 10 seconds are over. That means if device
is busy, we will try 1000 times in those 10 seconds.

Sounds too high a frequency of deivce removal retrial. All the logs are
filled easily. I think it is a good idea to slow down a bit and retry at
the interval of 100ms instead of 10ms.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Vivek Goyal f74d12012c devmapper: Remove call to waitClose()
During device removal, we are first waiting for device to close() in a tight
loop for 10 seconds. I am not sure why do we need it. First of all we come
here once the umount() is successful so device should be free. For some reason
of device is temporarily busy, then removeDevice() logic retries device removal
logic in a loop for 10 seconds and that should cover it. Can't see why one
more 10 seoncds loop is required before attempting device removal.

One loop should be able to cover all the temporary device busy conditions and
if condition is not temporary then 10 seconds loop is not going to help anyway.

So instead of two loops of 10 seconds each, I am converting it to a single
loop of 20 seconds. May be 10 second loop is good enough but for now I am
keeping it 20 seconds to avoid any regressions.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Vivek Goyal dbf04ec4e2 devmapper: Remove extra wait after device removal
Currently in device removal path (device deactivation), we wait
for 10 seconds for devive to actually go away. waitRemove().

In current code this is not required. If dm removal task has completed
and one has done the wait on udev cookie, then device is gone and there
is no need to write another loop to wait for device removal.

This patch removes the waitRemove() which waits for 10 seconds after
device removal. This seems unnecessary.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Vivek Goyal 665656afbb devmapper: Use a pointer as argument to deferred function UdevWait()
UdevWait() is deferred and takes uint cookie as an argument. As arguments
to deferred functions are calculated at the time of call, it is possible
that any update to cookie later by libdm are not taken into account when
UdevWait() is called. Hence use a pointer to uint as argument to UdevWait()
function.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Vivek Goyal cb7c893275 devicemapper: Remove debug messages from RemoveDevice()
devmapper graph driver retries device removal 1000 times in case of failure
and if this fills up console with 1000 messages (when daemon is running in
debug mode). So remove these debug messages.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Vivek Goyal e07d3cd9ac devmapper: Fix libdm logging
There are issues with libdm logging. Right now if docker daemon is run
in debug mode, logging by libdm is too verbose. And if a device can't 
be removed, thousands of messages fill the console and one can not see
what's going on.

This patch removes devicemapper.LogInitVerbose() call as that call will
only work if docker was not registering its own log handler with libdm.
For some reason docker registers one with libdm and libdm hands over
all the messages to docker (including debug ones). And now it is up to
devmapper backend to figure out which ones should go to console and
which ones should not.

So by default log only fatal messages from libdm. One can easily modify
the code to change it for debugging purposes.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-04-02 16:47:14 -04:00
Tibor Vass c88b2c422f Merge pull request #12012 from jfrazelle/fix-race-volumes-from-api
TestVolumesFromHasPriority fix race
2015-04-02 16:01:09 -04:00
Tibor Vass 42c7855014 Merge pull request #12011 from jfrazelle/fix-lxc-device-test
fix device test on lxc...
2015-04-02 16:00:39 -04:00
Alexander Morozov 104b20a133 Merge pull request #12026 from cpuguy83/add_self_to_maintainers
Add cpuguy83 to maintainers.people
2015-04-02 09:20:19 -07:00
Arnaud Porterie 02c2308e39 Properly stop test daemon in integration-cli
Always stop the test daemon in an attempt to fix race conditions in
subsequent tests.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-02 08:53:31 -07:00
Alexander Morozov ccfbe880c8 Merge pull request #12029 from unclejack/testpsgroupportrange_fast
integration-cli: make TestPsGroupPortRange fast
2015-04-02 08:48:08 -07:00
unclejack 132da3f036 daemon/logger/jsonfilelog: avoid some allocations
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-02 18:33:23 +03:00
unclejack cfa8aaf16f integration-cli: make TestPsGroupPortRange fast
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-02 18:26:29 +03:00
Peter Esbensen 6896016b7c Fixes #11721 removed GenerateRandomString
Signed-off-by: Peter Esbensen <pkesbensen@gmail.com>

gofmt

Signed-off-by: Peter Esbensen <pkesbensen@gmail.com>
2015-04-02 08:07:52 -07:00
Peter Esbensen 11287f7714 Added unit tests for stringutils GenerateRandomAlphaOnlyString and GenerateRandomAsciiString
Signed-off-by: Peter Esbensen <pkesbensen@gmail.com>
2015-04-02 07:12:47 -07:00
Brian Goff 6ac845edad Add cpuguy83 to maintainers.people
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-04-02 08:51:47 -04:00
Tibor Vass 9707286a5c Merge pull request #11149 from duglin/8667-AdvancedVars
Add support for advanced ${} uses
2015-04-02 08:25:49 -04:00
Chen Hanxiao 8fa03df885 docs: keep the style of docker-commit consistent with docker-import
add a pair of accent mark around dockerfile commands
in docker-commit, as the same thing in docker-import.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-04-02 05:01:14 -04:00
unclejack 3bea892d54 api/server: fix profiler HTTP serving
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-02 09:53:40 +03:00
Mary Anthony b6d55ebcbc Updating with man pages for distribution
Went through the man pages to update for the
v2 instance. Checked against the commands.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-01 21:02:19 -07:00
Jessica Frazelle c447fd339a TestVolumesFromHasPriority fix race
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)
2015-04-01 18:06:28 -07:00
Jessica Frazelle f472c7236f fix device test on lxc, on lxc in contianers there are no dirs with devices in /dev, but this works outside a container...
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
2015-04-01 17:47:36 -07:00
Lei Jitang a9588158b5 Add MEMCG_SWAP_ENABLED to check-config.sh
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-02 08:38:39 +08:00
Darren Shepherd 7433c9c92a Make server_windows.go consistent with server_linux.go
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-04-01 17:31:15 -07:00
Darren Shepherd 34f44c642f Infer type
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-04-01 17:31:09 -07:00
Andrea Luzzardi b9be50b578 Merge pull request #10745 from jfrazelle/device-dir
Mounting a dir of devices like /dev/snd should mount all child devices
2015-04-01 16:53:01 -07:00
Sebastiaan van Stijn 37c7f3a204 docs: fix bullet list and missing label filter
Some bullet lists didn't render as bullet-lists because
of a missing newline.

Also added missing "label" filter for `docker ps` and
slightly re-worded the header above the supported filters.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-04-02 01:48:28 +02:00
Arnaud Porterie 3f77f627d0 Merge pull request #12007 from crosbymichael/fix-oom-hang
Return closed channel if oom notification fails
2015-04-01 15:59:20 -07:00
Jessica Frazelle 664004ed0c Mounting a directory of devices like /dev/snd should mount all child devices.
I have seen a lot of people try to do this and reach out to me on how to mount
/dev/snd because it is returning "not a device node". The docs imply you can
_just_ mount /dev/snd and that is not the case. This fixes that. It also allows
for coolness if you want to mount say /dev/usb.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-04-01 15:57:41 -07:00
Arnaud Porterie 3fe7a3d537 Merge pull request #12005 from LK4D4/bump_docs
Bump API version and docs to v1.19
2015-04-01 15:34:28 -07:00
Vincent Batts 88b8fc10e3 Merge pull request #11099 from iavael/bugfix/tar-symlinks
Fixed handling hardlinks to symlinks in tar stream
2015-04-01 18:34:00 -04:00
Michael Crosby 7061a993c5 Return closed channel if oom notification fails
When working with Go channels you must not set it to nil or else the
channel will block forever.  It will not panic reading from a nil chan
but it blocks.  The correct way to do this is to create the channel then
close it as the correct results to the caller will be returned.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-04-01 15:30:48 -07:00
Alexander Morozov 2c0ee48224 Merge pull request #12006 from icecrime/add_kitematic_to_readme
Add Kitematic to README.md
2015-04-01 14:41:41 -07:00
Arnaud Porterie 7bd250c74d Add Kitematic to README.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-04-01 14:38:49 -07:00
Nick Irvine 1a4d2a5c8b Add some new graphics for installation and understanding docs
Fixes: #11552

- scalable SVG
- uses colours from the rest of the page
- emphasizes that boot2docker is the ordinary Linux setup in a VM
- Add new graphic for architecture diagram
- Add windows boot2docker diagram
- Add windows diagram to documentation
- Remove old PNGs; replaced with SVGs
- Add redirects for new SVG versions of installation diagrams

Signed-off-by: Nick Irvine <nfirvine@nfirvine.com>
2015-04-01 14:24:53 -07:00
Alexander Morozov 81f9b72c64 Bump API version and docs to v1.19
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-01 13:40:56 -07:00
Tibor Vass 4467b6a2cb Merge pull request #11974 from crosbymichael/registry-jobs
Remove jobs from registry.Service
2015-04-01 16:32:41 -04:00
Simon Leinen b58c4b8e68 Make explanation consistent with command
To reduce confusion of the reader.  Fixes a likely cut & paste error.

Signed-off-by: Simon Leinen <simon.leinen@gmail.com>
2015-04-01 21:54:21 +02:00
Alexander Morozov 7101419c1c Merge pull request #11990 from duglin/11985-RemoveDeadCode
Remove dead code looking for non-existent err msg
2015-04-01 10:46:10 -07:00
Jay 6e46204ab8 Added information about accessing host directory on Windows.
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-04-01 13:36:43 -04:00
André Martins 8f7ac20bac Fixes docker events since beginning of unix time
Fixes issue #11555
Applied a workaround to check if since and until flags are valid or not.

Signed-off-by: André Martins <martins@noironetworks.com>
2015-04-01 18:14:59 +01:00
Alexander Morozov 624de8a9cd Merge pull request #11949 from MabinGo/fix_randombug_in_eventtest
Fix random error in cli events test
2015-04-01 09:26:48 -07:00
Doug Davis 39908fc6d9 Add support for more advanced ${xxx:...} syntax
Just ${xxx:+...} and ${xxx:-...} for now

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-01 08:11:15 -07:00
moxiegirl 39711c8b26 Merge pull request #11969 from powo/patch-1
Update networking.md (IPv6 wrong prefix)
2015-04-01 07:45:31 -07:00
Doug Davis d351aef8af Remove dead code looking for non-existent err msg
Closes #11985

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-04-01 07:37:10 -07:00
moxiegirl dc564d8cf8 Merge pull request #11972 from thaJeztah/docs-fix-heading-level
docs: fix heading level of logging drivers
2015-04-01 07:34:45 -07:00
moxiegirl f73109b883 Merge pull request #11982 from sunyuan3/docker-run
Fix typoes in docker-run.1.md
2015-04-01 07:32:06 -07:00
James Turnbull a73b7354a6 Merge pull request #11954 from ankushagarwal/#11953
Use different host and container port for clarity
2015-04-01 09:21:15 -04:00
Yuan Sun a44451d40e Fix typoes in docker-run.1.md
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-04-01 17:09:01 +08:00
Deng Guangxing f5a401d3fe docker info show logging driver info
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-04-01 16:05:14 +08:00
Mabin e15c3e36cc Fix random bug in cli events test
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-04-01 11:00:01 +08:00
Lei Jitang 7105f93a72 Add some missing option to bash completion
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-04-01 10:35:05 +08:00
Michael Crosby 98cfa2aecd Merge pull request #11975 from duglin/FixOOMTest
Increase timeout on TestRunOOMExitCode test
2015-03-31 17:24:26 -07:00
Doug Davis 8d1455d88b Increase timeout on TestRunOOMExitCode test
I can never get it to work for me when its just 3 seconds.
With this change it generates the OOM message around 17 seconds, but
I increased the timeout to 30 for people with slower machines

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-31 16:57:43 -07:00
Michael Crosby e736f16bbd Merge pull request #11930 from unclejack/broadcastwriter_refactor
pkg/broadcastwriter: use []byte to lower alloc
2015-03-31 16:47:23 -07:00
Michael Crosby 03d3d79b2b Remove jobs from registry.Service
This makes `registry.Service` a first class type and does not use jobs
to interact with this type.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-31 16:38:04 -07:00
Jessie Frazelle 596ddef7d7 Merge pull request #11967 from LK4D4/fix_panic
Avoid ServeApi race condition
2015-03-31 16:37:32 -07:00
Sebastiaan van Stijn f855d5dde7 Fix heading level of logging drivers
Syslog was a heading-2, but should be heading-3;
changed the headings to heading-4 to match the
"network settings" section.

Also changed "Log driver" to "logging driver" for JSON.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-04-01 01:07:22 +02:00
Wolfgang Powisch 6a47c70d60 Update networking.md
Signed-off-by: Wolfgang Powisch <powo@powo.priv.at>
2015-04-01 00:44:41 +02:00
unclejack 153f98bad5 pkg/broadcastwriter: reset after 4 KB w/o stream
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-01 01:26:19 +03:00
Alexander Morozov c717475714 Fix panic in integration tests
Closing activationLock only if it's not closed already. This is needed
only because integration tests using docker code directly and doesn't
care about global state.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-31 15:12:15 -07:00
Derek McGowan 62009ef77e Use vendored v2 registry api
Update registry package to use the v2 registry api from distribution. Update interfaces to directly take in digests.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-31 15:02:27 -07:00
Alexander Morozov d15d1674c3 Skip heavy operations if there is no jsonlog writers
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-04-01 01:02:18 +03:00
unclejack 5550a46946 pkg/broadcastwriter: use []byte to lower alloc
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-01 01:02:18 +03:00
unclejack b535ed3595 pkg/jsonlog: add JSONLogBytes for low allocations
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-01 01:02:18 +03:00
unclejack f26f405b00 pkg/broadcastwriter: add test w/ "" stream only
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-04-01 01:02:18 +03:00
Derek McGowan f011d722ce Vendor distribution v2 api
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-31 14:58:45 -07:00
Michael Crosby 7dd79dcc7b Merge pull request #11952 from ankushagarwal/#11581
Add some documentation to pkg/system
2015-03-31 14:58:32 -07:00
Michael Crosby ded5c73deb Merge pull request #11962 from vbatts/vbatts-promote_overlay
graphdriver: promote overlay above vfs
2015-03-31 14:39:08 -07:00
Alexander Morozov e4545ed8cb Merge pull request #11963 from crosbymichael/api-server
API Server Socket Refactoring
2015-03-31 14:25:32 -07:00
Vincent Batts 2c72ff1dbf graphdriver: promote overlay above vfs
It's about time to let folks not hit 'vfs', when 'overlay' is supported
on their kernel. Especially now that v3.18.y is a long-term kernel.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-03-31 17:18:49 -04:00
Michael Crosby da6248751b Merge pull request #11961 from dmcgowan/fix-build-progress-output-11849
Fix progress reader output on close
2015-03-31 14:04:33 -07:00
Jessie Frazelle 749a117267 Merge pull request #11934 from cpuguy83/fix_volume_symlink_check
Fix volume symlink check
2015-03-31 13:56:23 -07:00
Arnaud Porterie e04acf8a38 Merge pull request #11045 from brahmaroutu/fixtest_10964
Skip TestEventsImagePull unless network is available
2015-03-31 13:48:54 -07:00
Michael Crosby 62806cc85e Refactor API socket handling
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-31 13:37:49 -07:00
Michael Crosby b85cf5da5e Merge pull request #11958 from LK4D4/fix_portmapper_race
Move portmapper initialization to var block
2015-03-31 13:23:45 -07:00
Jessie Frazelle a381a1bb03 Merge pull request #11473 from pradeepchhetri/docker-wait-cli-integration-test
Added basic integration tests for docker wait command
2015-03-31 13:23:23 -07:00
Derek McGowan aa3083f577 Fix progress reader output on close
Currently the progress reader won't close properly by not setting the close size.

fixes #11849

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-31 13:17:25 -07:00
Jessie Frazelle b875e126dd Merge pull request #11137 from rhvgoyal/fix-removal
Do not remove container if underlying resource cleanup failed
2015-03-31 13:09:23 -07:00
Brian Goff 63708dca8a Use getResourcePath instead
Also cleans up tests to not shell out for file creation.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-31 15:10:30 -04:00
Ankush Agarwal e94a48ffc8 Add some documentation to pkg/system
Partially addresses #11581

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-31 12:00:33 -07:00
Ankush Agarwal 8caf8f0a79 Use different host and container port for clarity
Fixes #11953

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-31 11:59:58 -07:00
Michael Crosby 7609d52797 Move Profiler into specific http.Handler
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-31 11:38:17 -07:00
Alexander Morozov 584180fce7 Initialize portMapper in RequestPort too
Api requesting port for daemon before init_networkdriver called.
Problem is that now initialization of api depends on initialization of
daemon and their intializations runs in parallel. Proper fix will be
just do it sequentially. For now I don't want refactor it, because it
can bring additional problems in 1.6.0.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-31 11:30:57 -07:00
Jun-Ru Chang 9e9adf8075 mkimage-arch: set C.UTF-8 default locale
It may not work fine when doing expect script if setting other locales.

Signed-off-by: Jun-Ru Chang <jrjang@gmail.com>
2015-04-01 00:40:34 +08:00
Tibor Vass ddbc68f564 Merge pull request #11843 from ahmetalpbalkan/win-cli/monitorttysize
windows: monitorTtySize correctly by polling
2015-03-31 11:14:04 -04:00
Vivek Goyal 40945fc186 container: Do not remove contianer if any of the resource failed cleanup
Do not remove container if any of the resource could not be cleaned up. We
don't want to leak resources.

Two new states have been created. RemovalInProgress and Dead. Once container
is Dead, it can not be started/restarted. Dead container signifies the
container where we tried to remove it but removal failed. User now needs to
figure out what went wrong, corrent the situation and try cleanup again.

RemovalInProgress signifies that container is already being removed. Only
one removal can be in progress.

Also, do not allow start of a container if it is already dead or removal is
in progress.

Also extend existing force option (-f) to docker rm to not return an error
and remove container from user view even if resource cleanup failed.
This will allow a user to get back to old behavior where resources
might leak but atleast user will be able to make progress.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-03-31 09:51:19 -04:00
Pavel Tikhomirov d322cd5dcb docker-tests: mount hierarchies and make symlinks for subsystems
Docker does not know about our named cpuacct,cpu,cpuset cgroup
hierarchy with multiple subsystems in it. So to use them with docker
in integration-cli test TestRunWithCpuset inside docker container
we need to add symlinks to them in hack/dind script.

Example:
old version of parser will do:
	cat /proc/1/cgroup
	11:cpu,cpuacct,name=my_cpu_cpuacct:/
	...
and create and mount this hierarchy to directory
	/cgroup/cpu,cpuacct,name=my_cpu_cpuacct/
so docker cannot find it because it has strange name

in new parser directory will be same as on host
	/cgroup/my_cpu_cpuacct
and have symlinks for docker to find it
	/cgroup/cpu	-> /cgroup/my_cpu_cpuacct
	/cgroup/cpuacct	-> /cgroup/my_cpu_cpuacct

in other case if where is no name
	cat /proc/1/cgroup
	11:cpu,cpuacct:/
	...
mount will be same for both parsers
	/cgroup/cpu,cpuacct
and new one will also create symlinks
	/cgroup/cpu	-> /cgroup/cpu,cpuacct
	/cgroup/cpuacct	-> /cgroup/cpu,cpuacct

Signed-off-by: Pavel Tikhomirov <ptikhomirov@parallels.com>
2015-03-31 15:49:10 +03:00
Phil Estes 97f621bcd8 Merge pull request #11861 from ZJU-SEL/11752-add-cap-list-table
Fix-11752 add capabilities list information table.
2015-03-30 23:18:30 -04:00
Harry Zhang bf15f675b9 Revison the some columns to make table clearer
Signed-off-by: Harry Zhang <harryzhang@zju.edu.cn>
2015-03-31 02:41:49 +00:00
dalanlan 8d3d34d5e3 fix issue #11676 #11754, disable RLIMIT_AS,edit DOCKER_OPTS
Signed-off-by: Simei He <hesimei@zju.edu.cn>
2015-03-31 10:13:37 +08:00
Doug Davis 73b7cee89c Merge pull request #11946 from crosbymichael/no-pkg-init
Remove port mapper/allocator global state
2015-03-30 22:03:12 -04:00
Michael Crosby d8c628cf08 Ensure that bridge driver does not use global mappers
This has a few hacks in it but it ensures that the bridge driver does
not use global state in the mappers, atleast as much as possible at this
point without further refactoring.  Some of the exported fields are
hacks to handle the daemon port mapping but this results in a much
cleaner approach and completely remove the global state from the mapper
and allocator.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-30 18:28:24 -07:00
Lewis Marshall 302e3834a0 Prevent Upstart post-start stanza from hanging
Once the job has failed and is respawned, the status becomes `docker
respawn/post-start` after subsequent failures (as opposed to `docker
stop/post-start`), so the post-start script needs to take this into
account.

I could not find specific documentation on the job transitioning to the
`respawn/post-start` state, but this was observed on Ubuntu 14.04.2.

Signed-off-by: Lewis Marshall <lewis@lmars.net>
2015-03-31 01:56:16 +01:00
Darren Shepherd 8f6a14452d Avoid ServeApi race condition
If job "acceptconnections" is called before "serveapi" the API Accept()
method will hang forever waiting for activation.  This is due to the fact
that when "acceptconnections" ran the activation channel was nil.

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-30 17:39:43 -07:00
Michael Crosby 62522c9853 Refactor portmapper to remove ALL global state
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-30 17:31:21 -07:00
Michael Crosby 43a50b0618 Refactor port allocator to not have ANY global state
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-30 17:30:59 -07:00
Jessie Frazelle e7c48f5817 Merge pull request #11942 from crosbymichael/update-libct-mar30
Update libcontainer to c8512754166539461fd860451ff
2015-03-30 17:12:53 -07:00
Jessie Frazelle f0ddbbaa86 Merge pull request #11933 from LK4D4/fix_err_mask
Various fixes for execdriver
2015-03-30 17:12:35 -07:00
Michael Crosby e2d96d4304 Merge pull request #11939 from jfrazelle/fix-go1.3.3
fix basicAuth function not in go1.3.3
2015-03-30 16:51:42 -07:00
Jessie Frazelle 1ce39e234c Merge pull request #11904 from albers/completion-filters
Add missing filters to bash completion for docker images and docker ps
2015-03-30 16:37:01 -07:00
Michael Crosby 17ecbcf8ff Update libcontainer to c8512754166539461fd860451ff
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-30 16:29:10 -07:00
Alexander Morozov 2742bf5cbc Merge pull request #11938 from achanda/patch-1
Remove unused daemon.LogToDisk function
2015-03-30 15:48:03 -07:00
Alexander Morozov f468bbb7e8 Do not mask *exec.ExitError
Fix #11764

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-30 15:31:49 -07:00
Jessica Frazelle 4a2ef6c805 fix basicAuth function not in go1.3.3
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
2015-03-30 15:28:34 -07:00
Michael Crosby 69b84c5be9 Merge pull request #11936 from runcom/11935-remove-duplicate-assignment
Remove duplicate assignment
2015-03-30 15:16:11 -07:00
Abhishek Chanda 1d23bae785 Remove unused daemon.LogToDisk function
Fixes #11937
Signed-off-by: Abhishek Chanda <abhishek.becs@gmail.com>
2015-03-30 14:54:17 -07:00
Antonio Murdaca cc46ae8eae Remove duplicate assignment
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-30 23:07:43 +02:00
Michael Crosby fe9f3227b1 Merge pull request #11859 from HuKeping/eof
Add nice error message
2015-03-30 13:53:09 -07:00
Michael Crosby 00a15227f8 Merge pull request #11893 from runcom/11892-refactor-utils-flags
Refactor utils/flags.go
2015-03-30 13:35:40 -07:00
Alexander Morozov 5a1e5cf8c9 Get child processes before main process die
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-30 13:28:34 -07:00
Alexander Morozov 489ab77f4a Use proper wait function for --pid=host
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-30 13:27:38 -07:00
Michael Crosby b6d6ffa1dd Merge pull request #11896 from vdemeester/9998-cp
Docker cp handles resolv.conf, hostname & hosts, fixes #9998
2015-03-30 13:15:00 -07:00
Michael Crosby 70a479dda5 Merge pull request #11900 from runcom/11899-refactor-utils-http
Refactor utils/http.go
2015-03-30 13:11:45 -07:00
Michael Crosby a7a93fd2b2 Merge pull request #11931 from scarletmeow/11563_log_timestamp
Upgrade logrus to v0.7.2
2015-03-30 13:09:17 -07:00
Michael Crosby 72dfd6728f Merge pull request #11869 from dmcgowan/v2-push-gzipped
Compress layers on push to a v2 registry
2015-03-30 12:58:55 -07:00
Tiffany Low 711e580320 Upgrade logrus to v0.7.2
- Daemon logs now report to millisecond resolution

Signed-off-by: Tiffany Low <the.second.angel@gmail.com>
2015-03-30 12:27:03 -07:00
Derek McGowan 851c64725d Compress layers on push to a v2 registry
When buffering to file add support for compressing the tar contents. Since digest should be computed while writing buffer, include digest creation during buffer.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-30 12:15:15 -07:00
Jessie Frazelle f3a048516e Merge pull request #11901 from albers/dockerfile-bash-completion
Enable bash completion in build environment
2015-03-30 11:52:43 -07:00
Michael Crosby 446437d1a1 Merge pull request #11928 from crosbymichael/aufs-build-errors
Fix AUFS logrus build errors on import
2015-03-30 11:49:14 -07:00
Michael Crosby d1306e63e4 Fix AUFS logrus build errors on import
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-30 11:46:44 -07:00
Tianon Gravi a0d90f18d5 Merge pull request #11890 from albers/completion-run-cgroup-parent
Do not complete --cgroup-parent as _filedir
2015-03-30 12:42:30 -06:00
Michael Crosby 14fed352cb Merge pull request #11799 from dqminh/aufs-dirperm1
aufs: apply dirperm1 by default if supported
2015-03-30 11:36:02 -07:00
moxiegirl 3a706d6580 Merge pull request #11894 from ankushagarwal/11630
Explain --net=host option usage
2015-03-30 11:18:01 -07:00
Ankush Agarwal ddd27616e0 Explain --net=host option usage
Fixes #11630

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-30 10:28:44 -07:00
Alexander Morozov 924d503cb1 Merge pull request #11898 from unclejack/broadcastwriter_writestring
pkg/broadcastwriter: avoid alloc w/ WriteString
2015-03-30 09:28:08 -07:00
Antonio Murdaca 0995ab5946 Refactor utils/http.go, fixes #11899
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-30 17:59:57 +02:00
Alexander Morozov a2ea4a9d9d Merge pull request #11906 from runcom/11905-refactor-utils-tmpdir
Refactor utils/tmpdir.go
2015-03-30 08:58:51 -07:00
Alexander Morozov a27057d779 Merge pull request #11888 from jamiehannaford/commit-cmd-struct
Use ContainerCommitResponse struct for Commit cmd
2015-03-30 08:20:32 -07:00
Doug Davis 5ab98eae3c Merge pull request #11913 from sunyuan3/docker_cli_restart_test
Verify MaximumRetryCount=0 if the restart policy is always.
2015-03-30 10:05:08 -04:00
Doug Davis d95fae062b Merge pull request #11912 from sunyuan3/typo
Fix a typo in daemon/networkdriver/ipallocator/allocator.go
2015-03-29 21:59:50 -04:00
Yuan Sun f5310f403d Verify MaximumRetryCount=0 if the restart policy is always.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-03-30 09:08:33 +08:00
Yuan Sun 08331294bc Fix a typo in daemon/networkdriver/ipallocator/allocator.go
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-03-30 08:31:46 +08:00
moxiegirl 41e47bbf34 Merge pull request #11678 from botchagalupe/docker-11465
Closes #11465 - Add additional doc for local registries on pull command
2015-03-29 14:10:20 -07:00
moxiegirl 4edf8e1e53 Merge pull request #11798 from amylindburg/11792-fix-typo
Fixing typo in cd instruction
2015-03-29 14:01:35 -07:00
moxiegirl 3bf9869234 Merge pull request #11897 from ankushagarwal/glossary
Add Glossary to documentation
2015-03-29 13:49:22 -07:00
moxiegirl 8b3d8f21a0 Merge pull request #11885 from bobrik/fix-formatting
Fixed code formatting on docs.docker.com
2015-03-29 13:21:26 -07:00
moxiegirl 3ff71c24c1 Merge pull request #11875 from ahmetalpbalkan/docs/boot2docker-windows
Update Documentation for Windows Installation
2015-03-29 13:18:00 -07:00
Vincent Demeester 8bc330d863 Docker cp handles resolv.conf, hostname & hosts, fixes #9998
Add a integration test TestCpSpecialFiles

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-03-29 22:10:14 +02:00
moxiegirl 584df44d42 Merge pull request #11870 from dekobon/master
11558 - Documentation fixes and improvements for Riak Dockerfile
2015-03-29 12:42:54 -07:00
Ankush Agarwal 567f723721 Add Glossary to documentation
Closes #11057

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-29 12:24:54 -07:00
Antonio Murdaca f1bbc1f34f Refactor utils/tmpdir.go, fixes #11905
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-29 20:56:07 +02:00
Harald Albers cf438a542e Add missing filters to bash completion for docker images and docker ps
Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-29 10:13:47 -07:00
moxiegirl 1f27ebc2c7 Merge pull request #11880 from miwest929/feature/add_man_pages_docs
Feature/add man pages docs
2015-03-29 09:39:56 -07:00
Harald Albers e8edcf47b4 Enable bash completion in build environment
Installs and configures bash completion for Docker.
Note that bash completion still has to be initialized by a custom
.bashrc file.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-29 06:50:46 -07:00
unclejack db877d8a42 pkg/broadcastwriter: avoid alloc w/ WriteString
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-03-29 15:20:53 +03:00
Lei Jitang 7583b49125 Fix create volume in a directory which is a symbolic link
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-29 13:35:36 +08:00
Antonio Murdaca 5670c6c695 Refactor utils/flags.go, fixes #11892
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-29 03:22:46 +02:00
Harald Albers a09cc935c3 Do not complete --cgroup-parent as _filedir
This is a follow-up on PR 11708, as suggested by tianon.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-28 11:32:33 -07:00
Jamie Hannaford 8b795a05a8 Use ContainerCommitResponse struct for Commit cmd
Signed-off-by: Jamie Hannaford <jamie.hannaford@rackspace.com>
2015-03-28 17:55:45 +01:00
Ian Babrou 0dc996a7d7 fixed code formatting on docs.docker.com
Signed-off-by: Ian Babrou <ibobrik@gmail.com>
2015-03-28 14:32:53 +03:00
Phil Estes 61069d8b69 Merge pull request #11281 from coolljt0725/fix_ipc_from_non_exist_container
Fix error from daemon no such image even when the image exist
2015-03-28 06:58:48 -04:00
Hu Keping cee62a95a2 Add nice error message
Generally, when using Remote API to push images there needs a http Header
X-Registry-Auth.
For compatibility if there was no authConfig header, everything will be
okay if a proper JSON-http-body was applied.

But when both X-Registry-Auth Header and the Body are missing, due to
the function of decode JSON, it will return an EOF error which was not
very clear to user.

So I think we can make the respone error be more nice.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-03-28 16:27:30 +08:00
Michael West b4905859d5 Add a missing definite article
Signed-off-by: Michael West <mwest@mdsol.com>
2015-03-27 23:35:37 -04:00
Michael West f7d75cc08a Add man pages generation instructions.
Signed-off-by: Michael West <mwest@mdsol.com>
2015-03-27 23:35:13 -04:00
Harry Zhang 194cad243c Remove dupllicated prefix to make table shorter & fix bugs
Signed-off-by: Harry Zhang <harryzhang@zju.edu.cn>
2015-03-28 01:49:28 +00:00
Lei Jitang 013fb87543 Fix error from daemon no such image even when the image exist
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-28 09:07:20 +08:00
Michael Crosby 789a67e931 Merge pull request #11805 from runcom/11804-remove-err-field-job-struct
Remove err field from Job struct
2015-03-27 16:27:04 -07:00
Jessie Frazelle e3b0014987 Merge pull request #11708 from coolljt0725/add_cgroup_parent_to_bash_completion
Add new docker run option to bash completion
2015-03-27 15:06:10 -07:00
Jessie Frazelle 221ff368df Merge pull request #11852 from clnperez/doc-dev-container
Fix typo in doc at /set-up-dev-env
2015-03-27 15:03:36 -07:00
Michael Crosby c088486093 Merge pull request #11845 from lobatt/master
Issue #11836
2015-03-27 14:55:04 -07:00
Ahmet Alp Balkan de09c55394 Update boot2docker on Windows documentation
Boot2Docker experience is updated now that we have a Docker
client on Windows. Instead of running `boot2docker ssh`, users
can also use boot2docker on Windows Command Prompt (`cmd.exe`)
and PowerShell.

Updated documentation and screenshots, added a few details,
reorganized sections by importance, fixed a few errors.

Remaining: the video link in the Demonstration section needs
to be updated once I shoot a new video.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-27 14:54:37 -07:00
Maxim Kulkin d1af2bc253 Add tool to conver disk image into Docker image
dockerize-image tool takes a virtual disk image file
and creates a Docker image based on it. You can
specify a base Docker image to make this tool create
an image that will contain only filesystem diff
instead of full filesystem.
See tools usage for details.

Signed-off-by: Maxim Kulkin <maxim.kulkin@gmail.com>
2015-03-27 14:53:54 -07:00
Michael Crosby 7cc73607a2 Merge pull request #11853 from EricR/doc-PkgSysInfo
Add some basic doc for SysInfo
2015-03-27 14:52:20 -07:00
Michael Crosby cc609c7556 Merge pull request #11871 from NinjaTrappeur/dry-run-test
Fix vet warning in devicemapper.
2015-03-27 14:48:55 -07:00
Alexander Morozov 240f3e14c7 Merge pull request #11848 from duglin/CleanupIntTests
Clean up integration-cli tests
2015-03-27 14:11:56 -07:00
Alexander Morozov 37241db5f3 Merge pull request #11872 from ankushagarwal/11825
Replace fmt.Fprint* with io.WriteString
2015-03-27 14:05:15 -07:00
Ahmet Alp Balkan 986ae5d52a docs: remove unused windows images
These images was just sitting around and referenced from
nowhere, nor they seemed any useful.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-27 13:59:35 -07:00
Alexander Morozov 8c58bdd3a7 Merge pull request #11842 from brahmaroutu/events_tests
Events tests
2015-03-27 13:45:11 -07:00
Ankush Agarwal 6d21b2ba80 Replace fmt.Fprint* with io.WriteString
This fixes vet warnings in api/client/stats.go

Fixes #11825

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-27 13:08:20 -07:00
Félix Baylac-Jacqué 6b764bba8a Fix vet warning in devicemapper.
Issue #11828

Signed-off-by: Félix Baylac-Jacqué <baylac.felix@gmail.com>
2015-03-27 20:16:25 +01:00
Elijah Zupancic de45aacc32 Added updated working Riak Dockerfile and documentation.
Signed-off-by: Elijah Zupancic <elijah@zupancic.name>
2015-03-27 12:03:46 -07:00
Elijah Zupancic 31c5041157 Removed references to creating an OpenSSH server. This method of accessing the Docker container is no longer needed now that the exec command is available.
Signed-off-by: Elijah Zupancic <elijah@zupancic.name>
2015-03-27 12:03:34 -07:00
Elijah Zupancic 17303b18b8 Removed ulimit steps from Dockerfile because they aren't applied according to @cpuguy83.
Signed-off-by: Elijah Zupancic <elijah@zupancic.name>
2015-03-27 12:03:24 -07:00
Antonio Murdaca 60085e22ff Remove err field from Job struct, fixes #11804
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-27 19:08:53 +01:00
Eric Rafaloff 3716df57c0 Update inline doc for New
Signed-off-by: Eric Rafaloff <erafaloff@gmail.com>
2015-03-27 13:55:22 -04:00
Jessie Frazelle 121de9e4e3 Merge pull request #11850 from kytrinyx/11796-git-mental-model
Clarify git instructions in project guide. Fixes #11796
2015-03-27 09:02:03 -07:00
cheney90 89a29d7e99 Add capabilities list information table.
Signed-off-by: Chen Qiu <21321229@zju.edu.cn>
2015-03-27 08:45:36 +00:00
Brian Goff da5c863d20 Merge pull request #11788 from reikani/pchoi
Changed snake case naming to camelCase.
2015-03-26 23:55:50 -07:00
Eric Rafaloff 6abe160eae Add missing . in comment
Signed-off-by: Eric Rafaloff <erafaloff@gmail.com>
2015-03-26 23:22:05 -04:00
Eric Rafaloff 01bbc3fbb9 Add some basic doc for SysInfo
Signed-off-by: Eric Rafaloff <erafaloff@gmail.com>
2015-03-26 23:05:07 -04:00
Srini Brahmaroutu f5ad895ba6 Use common code to test all events, when using filter that expect all lifecycle events.
Addresses: #10654

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-27 02:47:46 +00:00
Christy Perez dd6f988b23 Fix typo in doc at /set-up-dev-env
Save a whale!

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2015-03-26 21:46:35 -05:00
Katrina Owen 54c9ae187f Clarify git instructions in project guide. Fixes #11796
The git model uses `upstream master` to refer to the branch on
the remote repository, and `upstream/master` to refer to the
local cache of the upstream branch.

I did not explain the difference in the docs (that seemed a bit
excessive), but I did clarify the instructions so that it refers
to the correct concept in each place.

Signed-off-by: Katrina Owen <katrina.owen@gmail.com>
2015-03-26 19:24:14 -07:00
moxiegirl d2df901be3 Merge pull request #11846 from voltaic/master
Update set-up-dev-env.md
2015-03-26 18:09:28 -07:00
moxiegirl cd8ea1d17e Merge pull request #11793 from lolilo/update-project-doc
fix typos, grammar, more concise wording
2015-03-26 17:57:45 -07:00
Doug Davis 9a9d23dbc4 Clean up integration-cli tests
My AR couldn't take it any more:
- one logDone per test
- PASSED lines don't wrap

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-26 17:25:50 -07:00
Brian Goff 756b8f2fde Merge pull request #11841 from runcom/11762-replace-aliased-logrus-imports
Replace aliased imports of logrus
2015-03-26 16:49:01 -07:00
Daniel S ddcb3ad061 Update set-up-dev-env.md
Signed-off-by: graycoder <patgray1127@gmail.com>
2015-03-26 19:41:31 -04:00
Olivier Gambier be5fd157d5 Merge pull request #11813 from miminar/show-verified-status
Consider tag updated also in case repo does not exist
2015-03-26 16:29:13 -07:00
Jessie Frazelle cf7104a0e8 Merge pull request #11840 from ahmetalpbalkan/win-cli/term-resize-fix
term/winconsole: Identify tty correctly, fix resize problem
2015-03-26 16:19:27 -07:00
chli f581f74209 Issue #11836
Signed-off-by: chli <chli@freewheel.tv>
2015-03-26 19:18:23 -04:00
Ahmet Alp Balkan ebbceea8a7 windows: monitorTtySize correctly by polling
This change makes `monitorTtySize` work correctly on windows by polling
into win32 API to get terminal size (because there's no SIGWINCH on
windows) and send it to the engine over Remove API properly.

Average getttysize syscall takes around 30-40 ms on an average windows
machine as far as I can tell, therefore in a `for` loop, checking every
250ms if size has changed or not.

I'm not sure if there's a better way to do it on windows, if so,
somebody please send a link 'cause I could not find.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-26 16:08:05 -07:00
moxiegirl 8c1118a8f9 Merge pull request #11832 from jamiehannaford/patch-1
Fix spelling
2015-03-26 15:47:27 -07:00
moxiegirl 296642035d Merge pull request #11801 from hqhq/hq_fix_doc_for_exec
update docs for container exec
2015-03-26 15:31:16 -07:00
Antonio Murdaca 6f4d847046 Replace aliased imports of logrus, fixes #11762
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-26 23:22:04 +01:00
Ahmet Alp Balkan 0532dcf3dc term/winconsole: Identify tty correctly, fix resize problem
This change fixes a bug where stdout/stderr handles are not identified
correctly.

Previously we used to set the window size to fixed size to fit the default
tty size on the host (80x24). Now the attach/exec commands can correctly
get the terminal size from windows.

We still do not `monitorTtySize()` correctly on windows and update the tty
size on the host-side, in order to fix that we'll provide a
platform-specific `monitorTtySize` implementation in the future.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-26 15:11:28 -07:00
Peter Choi ae907e7af1 Changed snake case naming to camelCase
Signed-off-by: Peter Choi <phkchoi89@gmail.com>
2015-03-26 15:05:45 -06:00
John Willis 2c07fd9fdf #11465 Add additional doc for locagi registries on pull command - for docker-pull.1.md
Signed-off-by: John Willis <john.willis@docker.com>
2015-03-26 16:09:56 -04:00
Pradeep Chhetri 1401b8fe0d Added integration tests for docker wait command
Signed-off-by: Pradeep Chhetri <pradeep@indix.com>
2015-03-27 01:24:11 +05:30
Alexander Morozov 42f9594fd3 Merge pull request #11834 from jamiehannaford/contributor-guide-fix
Make gofmt use the filename previously referenced
2015-03-26 12:41:53 -07:00
Jamie Hannaford 7fdf5257b4 Make gofmt use the filename previously referenced
Signed-off-by: Jamie Hannaford <jamie.hannaford@rackspace.com>
2015-03-26 20:39:15 +01:00
Jessie Frazelle df90fb716b Merge pull request #10050 from lindenlab/9922-private-registry-search-401
9922-fix: private registry search with auth returns 401
2015-03-26 12:24:06 -07:00
Jamie Hannaford 849e55f4e4 Fix spelling
Signed-off-by: Jamie Hannaford <jamie.hannaford@rackspace.com>
2015-03-26 20:24:01 +01:00
James Turnbull dcc6e818fe Merge pull request #11747 from moxiegirl/11694-remove-sudo-added-in-error
Proposal: Removing sudo from examples
2015-03-26 15:18:48 -04:00
Don Kjer 6b2eeaf896 Fix for issue 9922: private registry search with auth returns 401
Signed-off-by: Don Kjer <don.kjer@gmail.com>
2015-03-26 18:59:16 +00:00
Mary Anthony 29d01b7dde Removing sudo from command line examples
We now advise people to configure docker group and
add to sudo.  Mac shouldn't use sudo.  Removed sudo
from command examples.  Left in installation to be removed
in installation doc sweep -- removing requires finer
grain control.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-26 11:12:37 -07:00
Alexander Morozov 6a43d71014 Merge pull request #11734 from yestin/11601-test-chrootarchive
Add more tests for pkg/chrootarchive
2015-03-26 11:03:58 -07:00
Daniel, Dao Quang Minh d68d5f2e4b print dirperm1 supported status in docker info
It's easier for users to check if their systems support dirperm1 just by using
docker info

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-03-26 17:58:49 +00:00
Michael Crosby 708ed9d87a Merge pull request #11766 from peggyl/11596-api-commands-godoc
Add godoc-style docstrings to Cmd... methods
2015-03-26 10:58:35 -07:00
Michael Crosby a196cc943c Merge pull request #11791 from moo-mou/11768-vetwarning
Fix vet warning
2015-03-26 10:52:07 -07:00
Michael Crosby ec8f61044a Merge pull request #11811 from VladimirAus/11585-3
#11585: README for pkg/signal.
2015-03-26 10:44:09 -07:00
Michael Crosby 5f295a6e82 Merge pull request #11821 from duglin/FixCPUTest
Fix TestBuildResourceConstraintsAreUsed Cpuset test
2015-03-26 10:42:43 -07:00
Mary Anthony a4609a1dfb Removing sudo from examples
We now have instructions in our Unix installs about setting up
docker group to avoid sudo.  Also, Mac/Windows shouldn't use
sudo.  So, I've removed sudo from our examples and added a
section at the top reminding them that if they have to use
sudo to run docker they can change that.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-26 10:13:19 -07:00
Tibor Vass 2bbf1987d2 Merge pull request #11800 from hqhq/hq_fix_create_issue
add back job.Errorf
2015-03-26 11:12:55 -06:00
Alexander Morozov b9d19fdaef Merge pull request #11786 from peggyl/golint-api-client
Fix golint errors for casing in api/client package
2015-03-26 09:28:33 -07:00
Alexander Morozov d4fca8047c Merge pull request #11789 from parknicker/PostContainerWaitFix
Changes response of postContainersWait to use a struct
2015-03-26 08:40:00 -07:00
Alexander Morozov dd492dc15d Merge pull request #11702 from jimmypuckett/feature/bitflag_checking_style_11668
Feature/bitflag checking style 11668.  Fixes #11668
2015-03-26 08:34:58 -07:00
Doug Davis 389d0ae453 Fix TestBuildResourceConstraintsAreUsed Cpuset test
Set cpuset to "0" so that it works on single core machines.
W/o this (and set to "1") we'll see something like this error
when running:
System error: write /cgroup/cpuset/docker/66689499bbd08cd8dccc9b7bfd1d6b34e85d73ce8c84d3c69b5e91944322da60/docker/79d7c548b58c85c4cfad6cd01eb7c3b30db254d1014c496137edd93ddc528a6f/cpuset.cpus: invalid argument"

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-26 07:31:39 -07:00
Doug Davis afc8ae939a Merge pull request #11806 from aneshas/11770-redundant-err-nil-check
Removed redundant err == nil check
2015-03-26 10:07:40 -04:00
Michal Minar 3b8d4bb82b Consider tag updated also in case repo does not exist
This patch causes `The image you are pulling has been verified` status
message to be produced also when the repository is pulled for the first
time.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-26 12:52:56 +01:00
VladimirAus 9b876b9c03 #11585: README for pkg/signal. Signed-off-by: Vladimir Roudakov <v_roudakov@yahoo.com>
Signed-off-by: VladimirAus <v_roudakov@yahoo.com>
2015-03-26 21:18:27 +10:00
Anes Hasicic b38e11b3c4 Removed redundant err == nil check
Signed-off-by: Anes Hasicic <anes.hasicic@gmail.com>
2015-03-26 11:36:13 +01:00
Daniel, Dao Quang Minh d7bbe2fcb5 document dirperm1 fix for #783 in known issues
Since `dirperm1` requires a more recent aufs patch than many current OS release,
we cant remove #783 completely. This documents that docker will apply `dirperm1`
automatically for systems that support it

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-03-26 07:46:13 +00:00
Daniel, Dao Quang Minh 281abd2c8a aufs: apply dirperm1 by default if supported
Automatically detect support for aufs `dirperm1` option and apply it.
`dirperm1` tells aufs to check the permission bits of the directory on the
topmost branch and ignore the permission bits on all lower branches.
It can be used to fix aufs' permission bug (i.e., upper layer having
broader mask than the lower layer).

More information about the bug can be found at https://github.com/docker/docker/issues/783
`dirperm1` man page is at: http://aufs.sourceforge.net/aufs3/man.html

Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-03-26 07:25:42 +00:00
Qiang Huang fabb5114d8 update docs for container exec
https://github.com/docker/docker/pull/11665 This PR changed container
exec API response, we need docs updated.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-26 13:55:46 +08:00
Qiang Huang 40ef253ef5 add back job.Errorf
c79b9bab54 (Remove engine.Status and replace it with standard go error)
cause a regression that create container won't get any warnings, we still
need this to send useful informations to user.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-26 13:12:36 +08:00
Amy Lindburg 0f702094ec Fixing typo in cd instruction
Signed-off-by: Amy Lindburg <amy.lindburg@docker.com>
2015-03-25 21:52:32 -07:00
Alexander Morozov bc0f1e0e09 Merge pull request #11794 from moo-mou/11790-pkgulimit
Fixes pointer error
2015-03-25 21:30:37 -07:00
Nick Parker 89d63d2a82 fixes comment for ContainerWaitResponse struct
Signed-off-by: Nick Parker <nikaios@gmail.com>
2015-03-25 22:22:58 -06:00
Arnaud Porterie 191f88dd2c Merge pull request #11795 from grubernaut/net_none_test_fixes
Add fixes for integration-cli tests w/ --net none
2015-03-25 21:22:28 -07:00
Steve Francia ff2fc9757d Merge pull request #11781 from xamyzhao/patch-1
Updated step 5 with Windows instructions so that installation works in W...
2015-03-25 23:51:35 -04:00
Phil Estes 23699f5a29 Merge pull request #11468 from robertabbott/10959-refactor-progressreader-hack
Fixes hacks from progressreader refactor
2015-03-25 23:50:43 -04:00
Jake Champlin c2fe262439 Add fixes for integration-cli tests w/ --net none
Adds network to integration tests that were failing without network.

Fixes #10964
Fixes #10968

Signed-off-by: Jake Champlin <jake.champlin.27@gmail.com>
2015-03-25 23:46:04 -04:00
paul 273fdd97ed Fixes pointer error
Signed-off-by: Paul Mou <ppymou@gmail.com>
2015-03-25 20:45:17 -07:00
paul c5bf2145f1 Fix vet warning
Signed-off-by: Paul Mou <ppymou@gmail.com>
2015-03-25 20:31:02 -07:00
Peggy Li 2a5a402c71 Update CmdCommit docstring and fix CmdHelp whitespace
Signed-off-by: Peggy Li <peggyli.224@gmail.com>
2015-03-25 20:07:00 -07:00
Liana Lo 4982374739 fix typos, grammar, more concise wording
Signed-off-by: Liana Lo <liana.lixia@gmail.com>
2015-03-25 20:03:42 -07:00
Nick Parker 1bc266dfa7 Changes response of postContainersWait to use a struct
Signed-off-by: Nick Parker <nikaios@gmail.com>
2015-03-25 21:01:14 -06:00
Peggy Li a465e26bb0 Fix golint errors for casing in api/client package
Signed-off-by: Peggy Li <peggyli.224@gmail.com>
2015-03-25 19:54:29 -07:00
bobby abbott 0cd6c05d81 Fixes hacks from progressreader refactor
related to #10959

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-03-25 18:21:02 -07:00
moxiegirl f84086be2a Merge pull request #11776 from shin-/security_opt_docs_fix
API docs fix for SecurityOpt parameter.
2015-03-25 18:20:59 -07:00
Maxim Kulkin b4d7b0f865 Explain advanced contribution workflow more
Explain why advanced contribution workflow have to be so complex

Signed-off-by: Maxim Kulkin <mkulkin@mirantis.com>
2015-03-25 18:04:41 -07:00
Jessie Frazelle 667452ec63 Merge pull request #11779 from blatyo/add_ulimit_test
Add test for successful Ulimit Parse.
2015-03-25 17:34:58 -07:00
Alexander Morozov d0b2cfa1f1 Merge pull request #11778 from blatyo/fix_ulimit_string
Fix (*Ulimit).String() function. Closes #11769.
2015-03-25 17:33:00 -07:00
xamyzhao ba222f7bc8 Updated step 5 with Windows instructions so that installation works in Windows
Signed-off-by: Amy Zhao <x.amy.zhao@gmail.com>
Signed-off-by: Amy Zhao <xamyzhao@mit.edu>
2015-03-25 20:32:50 -04:00
Allen Madsen a97ca674f0 Add test for successful Ulimit Parse.
Signed-off-by: Allen Madsen <blatyo@gmail.com>
2015-03-25 20:03:26 -04:00
Allen Madsen cb168e5622 Fix (*Ulimit).String() function. Closes #11769.
Signed-off-by: Allen Madsen <blatyo@gmail.com>
2015-03-25 19:39:05 -04:00
Joffrey F 61dba98608 SecurityOpt parameter is singular, and belongs in HostConfig
since API 1.17

Signed-off-by: Joffrey F <joffrey@docker.com>
2015-03-25 16:25:13 -07:00
Arnaud Porterie e589dc7424 Merge pull request #11757 from ankushagarwal/Fds
Rename 'Fds' to 'File Descriptors' in docker info
2015-03-25 16:24:57 -07:00
Jimmy Puckett 5dde99163e running code formatter as @tiborvass requested
Signed-off-by: Jimmy Puckett <jimmy.puckett@spinen.com>
2015-03-25 19:24:55 -04:00
Jessie Frazelle 89e7f5e661 Merge pull request #11772 from aneshas/11718-redundant-else
Fixed redundant else
2015-03-25 16:16:16 -07:00
Jessie Frazelle f14bf9b53c Merge pull request #11773 from icecrime/unused_securityopt_field
Remove unused runconfig.Config.SecurityOpt field
2015-03-25 16:15:41 -07:00
Jessie Frazelle 8cd3564ec1 Merge pull request #11771 from aneshas/11719-redundant-elses
Removed redundant elses
2015-03-25 16:06:30 -07:00
Tibor Vass 8d62e12f4d Merge pull request #11745 from imdreamrunner/patch-1
Add missing newline for bash code example
2015-03-25 16:58:55 -06:00
Tibor Vass 136f8fa2ff Merge pull request #11774 from thaJeztah/fix-workdir-typo
Fix typo "WRKDIR" -> "WORKDIR"
2015-03-25 16:55:57 -06:00
Tibor Vass 87e877e3c1 Merge pull request #11748 from minimum2scp/fix/debootstrap
removed unnecessary tabs from /usr/sbin/policy-rc.d, and /sbin/initctl for mkimage.sh debootstrap
2015-03-25 16:55:13 -06:00
Sebastiaan van Stijn 6fdb583f38 Fix typo "WRKDIR" -> "WORKDIR"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-25 23:47:38 +01:00
Arnaud Porterie e39646d2e1 Remove unused runconfig.Config.SecurityOpt field
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-25 15:46:42 -07:00
Anes Hasicic 3d7b9e8f30 Fixed redundant else
Signed-off-by: Anes Hasicic <anes.hasicic@gmail.com>
2015-03-25 23:44:32 +01:00
Alexander Morozov e6cbffe94b Merge pull request #11761 from runcom/11731-remove-engine-status
Remove engine.Status, replace with standard go error
2015-03-25 15:41:02 -07:00
Anes Hasicic 1b6065de8f Removed redundant elses
Signed-off-by: Anes Hasicic <anes.hasicic@gmail.com>
2015-03-25 23:34:00 +01:00
Antonio Murdaca c79b9bab54 Remove engine.Status and replace it with standard go error
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-25 22:32:08 +01:00
Peggy Li b5d0380108 Add godoc-style docstrings to Cmd... methods
Signed-off-by: Peggy Li <peggyli.224@gmail.com>
2015-03-25 14:17:11 -07:00
Michael Crosby 3d9cbf0e71 Merge pull request #11758 from crosbymichael/update-libct-mar25
Update libcontainer to a6044b701c166fe538fc760f9e2
2015-03-25 12:17:33 -07:00
Ankush Agarwal 161c2e5e74 Rename Fds to File Descriptors in docker info
This makes the docker info more readable. Also change a log line
in a test file renaming Fds

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-03-25 12:04:15 -07:00
Arnaud Porterie 54a607a22d Merge pull request #11691 from matthewkmayer/feature-dont-create-bind-dirs
Removes bind dir creation in daemon start.
2015-03-25 11:44:13 -07:00
Jessie Frazelle 667df336b7 Merge pull request #11756 from vbatts/vbatts-remove_trailing_whitespaces
.: remove trailing white spaces
2015-03-25 11:36:10 -07:00
Michael Crosby b4196f7892 Update libcontainer to a6044b701c166fe538fc760f9e2
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-25 11:32:14 -07:00
Jessie Frazelle e6e2893fa3 Merge pull request #11753 from vbatts/vbatts-btrfs_ifdef_build_version
btrfs: #ifdef for build version
2015-03-25 11:25:49 -07:00
YAMADA Tsuyoshi 09165e0fe0 removed unnecessary tab from /usr/sbin/policy-rc.d, and /sbin/initctl
Signed-off-by: YAMADA Tsuyoshi <tyamada@minimum2scp.org>
2015-03-26 03:10:34 +09:00
Vincent Batts b76e300b4c btrfs: #ifdef for build version
We removed it, because upstream removed it. But now it will be coming
back, so work with it either way.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-03-25 13:56:51 -04:00
Vincent Batts 7617ec176d .: remove trailing white spaces
blame tibor this one ;-)
```
find . -type f -not -name '*.png' -not -name '*.go' -not -name '*.md'
-not -name '*.tar' -not -name '*.pem' -not -path './vendor/*' -not -path
'./.git/*' -not -path '*/testdata/*' -not -path './docs/*images*' -not
-path '*/testfiles/*' -not -path './bundles/*' -not -path
'./docs/*static*/*' -not -path './docs/*article-img/*' -exec grep -HnEl
'[[:space:]]$' {} \; | xargs sed -iE 's/[[:space:]]*$//'
```

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-03-25 13:38:17 -04:00
Xinzi Zhou ed7907a988 Add missing newline for bash code example
Signed-off-by: Zhou Xinzi <imdreamrunner@gmail.com>
2015-03-26 01:24:00 +08:00
Doug Davis a0cfe83435 Merge pull request #11751 from tiborvass/revert-validate-spaces
Revert "Dealing with trailing whitespaces"
2015-03-25 13:01:58 -04:00
Alexander Morozov 444c967aec Merge pull request #11750 from MabinGo/adjust_log_func_call
Use appropriate func to record logs according to different scene
2015-03-25 09:41:41 -07:00
Alexander Morozov 5f7e142c46 Merge pull request #11729 from icecrime/11048_carry
Carry #11048
2015-03-25 09:27:07 -07:00
Alexander Morozov 9359e2bed3 Merge pull request #11749 from duglin/FixLogin
Fix login
2015-03-25 09:22:52 -07:00
Brian Goff bb65c808df Merge pull request #11730 from runcom/11725-fix-volume-initialize-error-check
Fix volume initialize error check
2015-03-25 09:19:42 -07:00
Tibor Vass 639d60b538 Merge pull request #11533 from hqhq/hq_fix_decode
fix decode data loss when using int64 in json
2015-03-25 10:17:10 -06:00
Tibor Vass 0252ad0adc Revert "Dealing with trailing whitespaces"
The validation script from #10681 is too pedantic, and does not handle
well situations like:

```
cat <<EOF   # or <<-EOF
	Whether the leading whitespace is stripped out or not by bash
	it should still be considered as valid.
EOF
```

This reverts commit 4e65c1c319.

Signed-off-by: Tibor Vass <tibor@docker.com>
2015-03-25 10:04:56 -06:00
Doug Davis 0d65069a17 Fix login
Right now it returns:
```
FATA[0001] json: Unmarshal(non-pointer types.AuthResponse)
```

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-25 08:45:14 -07:00
Alexander Morozov f08e9f44a9 Merge pull request #11737 from duglin/FixTestOutput
TestBuildCancelationKillsSleep sends exec cmd to stdout
2015-03-25 08:45:09 -07:00
Antonio Murdaca 1d1230ea32 Fix volume initialize error check, Fixes #11725
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-25 16:36:00 +01:00
Mabin b46beb170f Use appropriate function to record logs
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-25 23:32:12 +08:00
Brian Goff 3bed92a7bf Merge pull request #11741 from aneshas/11720-redundant-else
Fixed redundant else in GetDeviceStatus
2015-03-25 08:28:38 -07:00
Brian Goff 7c2cc476da Merge pull request #11735 from Sirupsen/listenbuffer-promote
listenbuffer: add docs and test
2015-03-25 08:14:21 -07:00
Srini Brahmaroutu be5de5bcb8 Fix the events, pull test to use v2 local server
Closes #10964
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-25 15:12:47 +00:00
moxiegirl dea660874c Merge pull request #11715 from duglin/DocCliEnvVars
Add some info about what environment variables are available
2015-03-25 07:29:27 -07:00
moxiegirl 67eb10defe Merge pull request #11694 from hqhq/hq_add_memsw_example
docs: add memory and swap memory usage examples
2015-03-25 07:01:44 -07:00
Anes Hasicic e479e1c9f7 Fixed redundant else in GetDeviceStatus
Signed-off-by: Anes Hasicic <anes.hasicic@gmail.com>
2015-03-25 09:53:04 +01:00
Doug Davis 65584318d2 Merge pull request #11738 from joeygibson/11610-split
api/client - The code for all cli commands are in one file #11610
2015-03-25 00:48:50 -04:00
Doug Davis 494c41519b Merge pull request #11733 from jfrazelle/fix-lxc
Get rid of panic in stats/ fix dir lxc
2015-03-25 00:41:11 -04:00
Jessica Frazelle c959d26d2f fix 2 integration tests on lxc
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-24 21:12:16 -07:00
Jessica Frazelle 7dce902494 Get rid of panic in stats for lxc
Fix containers dir

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-24 21:12:06 -07:00
Joey Gibson 58690c9cca api/client - The code for all cli commands are in one file #11610
Signed-off-by: Joey Gibson <joey@joeygibson.com>
2015-03-24 23:57:23 -04:00
Doug Davis fbd47969a8 TestBuildCancelationKillsSleep send exec cmd to stdout
and makes the testing output ugly.

This hides the output since it not used.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-24 20:56:26 -07:00
Simon Eskildsen 67bd859481 listenbuffer: add docs
Signed-off-by: Simon Eskildsen <sirup@sirupsen.com>
2015-03-25 03:11:34 +00:00
Simon Eskildsen b6b8032a17 listenbuffer: add test
Signed-off-by: Simon Eskildsen <sirup@sirupsen.com>
2015-03-25 03:11:33 +00:00
Doug Davis 0d2190e679 Add some info about what environment variables are available
Having the list in one spot makes it easier for people to see what's
avaiable instead of having to scan all of the docs and extract the info.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-24 18:29:21 -07:00
Yestin Sun a08048d5c8 Add more tests for pkg/chrootarchive
Fixes issue #11601

Change-Id: Ifc1dbcc59cc4dc581ed43fc8fbe43fbaec4ccad0
Signed-off-by: Yestin Sun <sunyi0804@gmail.com>
2015-03-24 18:23:28 -07:00
Jimmy Puckett e8e60befd6 Code simplification that @tiborvass requested
Signed-off-by: Jimmy Puckett <jimmy.puckett@spinen.com>
2015-03-24 21:10:07 -04:00
Jimmy Puckett ec5e22efe3 Changing bitflag checking style to preferred style. Fixes #11668
Signed-off-by: Jimmy Puckett <jimmy.puckett@spinen.com>
2015-03-24 21:09:25 -04:00
Jessie Frazelle 22dba32b4d Merge pull request #10527 from mfojtik/lxc_11
Fix lxc-start in lxc>1.1.0 where containers start daemonized by default
2015-03-24 17:37:27 -07:00
Michael Crosby d214e64032 Merge pull request #11018 from delftswa2014/10958-pidfile
Moves pid file operations to /pkg/
2015-03-24 17:20:52 -07:00
Arnaud Porterie 8900ae2928 Revert all but TestPullImageFromCentralRegistry changes
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-24 16:27:35 -07:00
Jessie Frazelle aecc5b606f Merge pull request #11728 from crosbymichael/lxc-mkdir
Mkdir for lxc root dir before setup of symlink
2015-03-24 16:25:12 -07:00
Arnaud Porterie 322095ed63 Merge pull request #10681 from noironetworks/whitespaces-cleaner
Removed all trailing whitespaces from every text file
2015-03-24 16:02:14 -07:00
Rick Wieman 772833274f Moved pidfile from utils to pkg
Fixes #10958 by moving utils.daemon to pkg.pidfile.
Test cases were also added.
Updated the daemon to use the new pidfile.

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-03-24 23:59:32 +01:00
Michael Crosby 246cab90f2 Mkdir for lxc root dir before setup of symlink
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-24 15:53:23 -07:00
Michael Crosby f3fc857e01 Merge pull request #11716 from LK4D4/root_in_run
Use /var/run/docker as root for execdriver
2015-03-24 14:58:30 -07:00
Matthew Mayer 08d75bc450 Squashed commit of the following:
commit d379f7645026001ce57fd6421c819f6c7df77964
Author: Matthew Mayer <matthewkmayer@gmail.com>
Date:   Mon Mar 23 22:13:06 2015 -0700

    Removes unused imports.

    Signed-off-by: Matthew Mayer <matthewkmayer@gmail.com>

commit 6e1f77c7f1566c8719087d88fbe06bade122691c
Author: Matthew Mayer <matthewkmayer@gmail.com>
Date:   Mon Mar 23 20:41:16 2015 -0700

    Removes bind dir creation in daemon start.

    Signed-off-by: Matthew Mayer <matthewkmayer@gmail.com>

Signed-off-by: Matthew Mayer <matthewkmayer@gmail.com>
2015-03-24 14:56:45 -07:00
Michael Crosby 46be6bb403 Merge pull request #11651 from vbatts/vbatts-dont_rm_dockerversion
make.sh: leave around the generated version
2015-03-24 14:47:42 -07:00
Alexander Morozov 979283a166 Merge pull request #11726 from noxiouz/history-swap-parallel-assignment
History.Swap Use parallel assignment to swap elements
2015-03-24 14:43:44 -07:00
Michael Crosby 73dab8205a Merge pull request #11679 from avidas/api-common-constants-document
Add comments to api/common constants
2015-03-24 14:43:09 -07:00
Alexander Morozov a4e1de58a3 Merge pull request #11727 from tiborvass/carry-11441
Carry 11441: fix docker ps help message
2015-03-24 14:42:02 -07:00
jimmyxian a153e80f72 fix docker ps help message
Signed-off-by: Xian Chaobo <xianchaobo@huawei.com>
2015-03-24 15:33:53 -06:00
Anton Tiurin fc325274e8 History.Swap Use parallel assignment to swap elements, as it's
a more idiomatic way for golang than using a temp variable.

Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
2015-03-25 00:13:13 +03:00
Michael Crosby 46321a1e4f Merge pull request #11713 from icecrime/update_gitignore
Update .gitignore
2015-03-24 14:03:31 -07:00
Alexander Morozov 439e0ab23f Merge pull request #11712 from 4gh/test_httputils
add tests for pkg/httputils
2015-03-24 13:56:31 -07:00
Tibor Vass 28b96cc613 Merge pull request #11663 from arthurbarr/master
Fix #11589 by adding README and comments to exported functions
2015-03-24 14:45:05 -06:00
Vincent Batts 8fc9e40086 Merge pull request #11417 from rhatdan/btrfs
Btrfs has eliminated the BTRFS_BUILD_VERSION in latest version
2015-03-24 16:00:15 -04:00
Alexander Morozov 131b29f7bc Merge pull request #10283 from rhatdan/dev
We want to allow the sharing of /dev from the host into the container.
2015-03-24 12:57:44 -07:00
Alexander Morozov f7900cdd67 Merge pull request #11689 from calavera/ipallocator_refactor
Use a structure to keep the allocated ips pool.
2015-03-24 12:42:30 -07:00
moxiegirl d20ba329d1 Merge pull request #11717 from moxiegirl/tweaks-from-contributathon
Adding in comments from party
2015-03-24 12:18:18 -07:00
Phil Estes ce372cd664 Merge pull request #11709 from paulbellamy/11626-portallocator
Refactor global portallocator and portmapper state
2015-03-24 13:51:00 -05:00
Michael Crosby 8eee55a35c Merge pull request #11710 from runcom/11599-refactor-pkg-common
Refactor pkg/common, Fixes #11599
2015-03-24 11:45:07 -07:00
David Calavera 7e95b13460 Use a structure to keep the allocated ips pool.
Fixes #11624.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-03-24 11:41:44 -07:00
Mary Anthony 6de806f348 Adding in comments from party
Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-24 11:25:26 -07:00
Dan Walsh 25c4a92342 Merge branch 'master' of github.com:docker/docker into btrfs
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-24 14:14:54 -04:00
Alexander Morozov 1e788ec985 Use /var/run/docker as root for execdriver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-24 10:47:30 -07:00
Arthur Barr 557cca536f Fix #11589 by adding README and comments to exported functions
Signed-off-by: Arthur Barr <arthur.barr@uk.ibm.com>
2015-03-24 17:30:19 +00:00
Antonio Murdaca b80fae7356 Refactor pkg/common, Fixes #11599
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-24 18:19:59 +01:00
Arnaud Porterie 4433b4c19e Sort .gitignore content
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-24 09:40:07 -07:00
Frank Herrmann 2770a88413 add tests for pkg/httputils
closes #11597

Signed-off-by: Frank Herrmann <fgh@4gh.tv>
2015-03-24 16:27:09 +00:00
moxiegirl 4b4bdb5be5 Merge pull request #11697 from pdxdan/7447-GID-Doc
Updated Dockerfile and docker-run documentation for USER commands
2015-03-24 09:17:41 -07:00
moxiegirl dbd00822ec Merge pull request #11693 from jessedearing/login_docs
Add documentation about the semantics of `docker login` @jessedearing thanks for the PR!
2015-03-24 09:13:53 -07:00
moxiegirl d827b4d235 Merge pull request #11688 from afewremarks/master
RE: Issue #6114.  Updated docs to reflect docker inpsect for volumes
2015-03-24 09:12:00 -07:00
Alexander Morozov 9d7f58100f Merge pull request #11670 from runcom/11607-api-route-post-auth-response
Return AuthResponse from postAuth api endpoint
2015-03-24 08:26:07 -07:00
moxiegirl 05c23cad85 Merge pull request #11690 from ssdonline/fix_issue_11683
Fixes error #11683
2015-03-24 06:28:24 -07:00
Lei Jitang 7d70736015 Add some run option to bash completion
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-24 20:15:16 +08:00
Doug Davis 1ad6aae272 Merge pull request #11701 from HuKeping/typo
Fix minor typo
2015-03-24 08:03:09 -04:00
Hu Keping 96d8c3584c Fix minor typo
Fix minor typo and make the comments of version-comparison functions
uniform.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-03-25 00:46:22 +08:00
Paul Bellamy 87df5ab41b Refactor global portallocator and portmapper state
Continuation of: #11660, working on issue #11626.

Wrapped portmapper global state into a struct. Now portallocator and
portmapper have no global state (except configuration, and a default
instance).

Unfortunately, removing the global default instances will break
```api/server/server.go:1539```, and ```daemon/daemon.go:832```, which
both call the global portallocator directly. Fixing that would be a much
bigger change, so for now, have postponed that.

Signed-off-by: Paul Bellamy <paul.a.bellamy@gmail.com>
2015-03-24 11:15:30 +00:00
Qiang Huang a5cbb5c3ae add cpuset and examples to run.md
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-24 18:48:08 +08:00
Antonio Murdaca babd1b3e1f Return AuthResponse from postAuth api endpoint, Fixes #11607
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-24 09:57:01 +01:00
Jesse Dearing ed0d2ac3b7 Add documentation about the semantics of docker login
Fixes #10550

Signed-off-by: Jesse Dearing <jesse.dearing@gmail.com>
2015-03-23 23:53:50 -07:00
Qiang Huang 0f9c20fe68 docs: add memory and swap memory usage examples
fix: https://github.com/docker/docker/issues/11629

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-24 13:45:16 +08:00
moxiegirl 617f18b001 Merge pull request #11692 from khoomeister/ck-fix-another-typo
fix test-and-docs typo "do" to "due"
2015-03-23 21:36:40 -07:00
Chris Khoo df98ce0a28 fix test-and-docs typo "do" to "due"
Signed-off-by: Chris Khoo <chris.khoo@gmail.com>
2015-03-23 21:12:09 -07:00
Dan Anolik a57d7c5c79 Added documentation for specifying groupname or GID for commands. Also clarified used of the possible use of multiple USER commands in a Dockerfile.
Signed-off-by: Dan Anolik <dan@anolik.net>
2015-03-23 20:47:04 -07:00
Swapnil Daingade 6fa6b5bcbb Fixes error #11683
Signed-off-by: Swapnil Daingade <swapnil.daingade@gmail.com>
2015-03-23 23:45:55 -04:00
Sven Dowideit 72394a5d7a Merge pull request #11684 from khoomeister/ck-fix-prereq-typo
fix broken prerequisite link
2015-03-24 13:45:48 +10:00
Avi Das c136591f40 Add comments to api/common constants, closes #11583
Signed-off-by: Avi Das <andas222@gmail.com>
2015-03-23 22:35:41 -05:00
Mark West ef0275c66c RE: Issue #6114. Updated docs to reflect docker inpsect for volumes
Signed-off-by: Mark West <markewest@gmail.com>
2015-03-23 20:16:40 -07:00
willhf 6dba2d01b5 Add test for net=container and links
Signed-off-by: willhf <willhf@gmail.com>
2015-03-23 19:50:33 -07:00
Arnaud Porterie 3ebd768487 Merge pull request #11681 from alena1108/master
Removed unused "mutex" field
2015-03-23 19:40:38 -07:00
Chris Khoo b21751da90 fix broken prerequisite link
Signed-off-by: Chris Khoo <chris.khoo@gmail.com>
2015-03-23 19:22:17 -07:00
Alena Prokharchyk dabd8a02ae Removed unused "mutex" field
fixes #11659

Signed-off-by: Alena Prokharchyk <alena@rancher.com>
2015-03-23 19:05:21 -07:00
John Willis 3d28fc7d1c #11465 Add additional doc for locagi registries onn pull command
Signed-off-by: John Willis <john.willis@docker.com>
2015-03-23 21:00:02 -04:00
Jessie Frazelle e6b7d93072 Merge pull request #11665 from runcom/11613-api-exec-start-structured-response
Return ContainerExecCreateResponse from container exec create API endpoint
2015-03-23 17:52:15 -07:00
Michael Crosby f586145cf1 Merge pull request #11634 from robertabbott/testutils_refactor
Refactors pkg/testutils
2015-03-23 17:30:51 -07:00
Jessie Frazelle 26f84d50aa Merge pull request #11674 from jamshid/docfix
correcting git fetch command
2015-03-23 17:11:31 -07:00
Jamshid Afshar 841692ff86 correcting git fetch command
Signed-off-by: Jamshid Afshar <jafshar@yahoo.com>
2015-03-23 19:00:05 -05:00
Jessie Frazelle d5eea4e8b0 Merge pull request #11636 from robertabbott/refactor_networkfs
Refactor pkg/networkfs
2015-03-23 16:58:29 -07:00
Jessie Frazelle f99da5745c Merge pull request #11672 from nparker94/master
Added missing code example in the RM command reference
2015-03-23 16:53:39 -07:00
Michael Crosby 4e3c72a026 Merge pull request #11667 from icecrime/integration-cli_image_cleanup
Cleanup "hello-world" image in build tests
2015-03-23 16:42:46 -07:00
Antonio Murdaca 0c3d2f6f96 Return ContainerExecCreateResponse from container exec start API endpoint, Fixes #11613
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-24 00:41:54 +01:00
Tibor Vass 92f9e2d395 Merge pull request #11657 from GeorgeMac/cleanup-redundant-else
#11602 - Cleanup redundant else statements find via golint
2015-03-23 18:27:29 -05:00
Michael Crosby f7af5b0a84 Merge pull request #11666 from dmcgowan/fix-v2-get-all-tags
Fix v2 get all tags (carrying 11334)
2015-03-23 16:21:58 -07:00
Michael Crosby 839350d377 Merge pull request #11671 from noxiouz/11669-syslog-log-remove-redundant-stringcast
Syslog.Log - Remove redundant cast of msg.Line []byte to string
2015-03-23 16:16:18 -07:00
Natalie Parker fe1f5ac77c Added missing code example in the RM command reference of command to delete all stopped containers
Signed-off-by: Natalie Parker <nparker@omnifone.com>
2015-03-23 23:05:57 +00:00
Srini Brahmaroutu 5d70a97b1f Fix the TestPullImageFromCentralRegistry to skip and add local v1 registry test when net=none
Closes #10966
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-23 22:53:04 +00:00
Alexander Morozov 197a3f0a98 Merge pull request #11570 from runcom/9658-consistent-autoremove
Remove container if --rm flag is passed and container cannot be started
2015-03-23 15:38:51 -07:00
Anton Tiurin f2c7b4d743 Syslog.Log - Remove redundant cast of msg.Line []byte to string as
it's a fmt.Sprintf responsibility.

Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
2015-03-24 01:35:54 +03:00
Jessie Frazelle bcb369af11 Merge pull request #11469 from albers/completion-cp
restrict bash completion for hostdir arg to directories
2015-03-23 15:31:00 -07:00
Jessie Frazelle 9d00d8137f Merge pull request #11422 from vbatts/vbatts-overlay_dir_mtime_changes
pkg/archive: ignore mtime changes on directories
2015-03-23 15:24:05 -07:00
Arnaud Porterie 3b4ff1c132 Merge pull request #11264 from brahmaroutu/fixtest_10967
Test image api through local V1 repo, skip network test.
2015-03-23 15:20:39 -07:00
Arnaud Porterie bfc748221b Cleanup "hello-world" image in build tests
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-23 15:16:13 -07:00
Alexander Morozov dccaf1434f Merge pull request #11664 from crosbymichael/update-libct-mar23
Update libcontainer to fd0087d3acdc4c5865de1829d4accee5e3ebb658
2015-03-23 15:00:34 -07:00
Derek McGowan 4925d98d1f Add struct tags on v2 remote tags struct
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-23 14:33:52 -07:00
Meaglith Ma 221e9624e3 Fix decode tags value error when call get /v2/<name>/tags/list in registry api v2.
Signed-off-by: Meaglith Ma <genedna@gmail.com>
2015-03-23 14:33:52 -07:00
Alexander Morozov 9f894c93e4 Merge pull request #11658 from 4gh/doc_package_builder
Add builder/evaluator comments for the package in godoc-style
2015-03-23 14:27:23 -07:00
Jessie Frazelle ccd4181d10 Merge pull request #11545 from cpuguy83/remove_allocator_warning
Don't warn when ip_local_port_range not found
2015-03-23 14:19:57 -07:00
Michael Crosby e321ec9807 Update libcontainer to fd0087d3acdc4c5865de1829d4a
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-23 14:14:20 -07:00
Alexander Morozov d852e5fde8 Merge pull request #11660 from paulbellamy/11626-portallocator
Refactoring portallocator away from a global var
2015-03-23 14:10:56 -07:00
Frank Herrmann a0cd004528 Add builder/evaluator comments for the package in godoc-style
fixes #11617

Signed-off-by: Frank Herrmann <fgh@4gh.tv>
2015-03-23 20:56:03 +00:00
Paul Bellamy 1257679876 Refactor global portallocator state into a global struct
Signed-off-by: Paul Bellamy <paul.a.bellamy@gmail.com>
2015-03-23 20:41:41 +00:00
George MacRorie 664ef0cbe2 Cleanup redundant else statements find via golint #11602
Signed-off-by: George MacRorie <gmacr31@gmail.com>
2015-03-23 20:40:29 +00:00
Brian Goff 8e4d9f3cf9 Improve err message when parsing kernel port range
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-23 13:29:25 -07:00
Alexander Morozov bc73f0ea4c Merge pull request #11656 from runcom/11611-builder-evaluator-remove-hardcoded-error
Remove hardcoded error from builder/evaluator.go
2015-03-23 13:25:08 -07:00
Antonio Murdaca 8b02d85e17 Remove hardcoded error
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-23 20:58:16 +01:00
Jessie Frazelle b094677559 Merge pull request #11648 from ahmetalpbalkan/win-cli/ansi-emulation-check
Disable ANSI emulation in certain windows shells
2015-03-23 12:55:31 -07:00
Alexander Morozov 2717302cc6 Merge pull request #11654 from runcom/11650-syslog-close-redunant-nil-check
syslog Close() - Remove redunant nil check, s.writer cannot be nil
2015-03-23 12:32:26 -07:00
Alexander Morozov ec27b77dc2 Merge pull request #11653 from runcom/11649-syslog-refactor-log-else-clause
Refactor syslog Log else clause
2015-03-23 12:29:35 -07:00
Antonio Murdaca e600df2d97 Remove redunant nil check, s.writer cannot be nil
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-23 20:03:24 +01:00
Antonio Murdaca 8f025aae36 Refactor syslog Log else clause
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-23 20:01:01 +01:00
Vincent Batts 3a939d9987 make.sh: leave around the generated version
For positerity (largely of packagers) lets leave around the generated
version files that happen during build.
They're already ignored in git, and recreated on every build.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-03-23 14:46:44 -04:00
Ahmet Alp Balkan b38ff8c83d Disable ANSI emulation in certain windows shells
This disables recently added ANSI emulation feature in certain Windows
shells (like ConEmu) where ANSI output is emulated by default with builtin
functionality in the shell.

MSYS (mingw) runs in cmd.exe window and it doesn't support emulation.

Cygwin doesn't even pass terminal handles to docker.exe as far as I can
tell, stdin/stdout/stderr handles are behaving like non-TTY. Therefore not
even including that in the check.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-23 18:38:43 +00:00
Alexander Morozov 65e21f5703 Merge pull request #11458 from ibuildthecloud/syslog
Add syslog logging driver
2015-03-23 11:34:33 -07:00
Tibor Vass 61966d281b Merge pull request #10431 from duglin/Issue10391
Clarify ENV non-recursivenes w.r.t. env var substitution + fix escaping
2015-03-23 13:30:11 -05:00
Jessie Frazelle 85ab3c3b49 Merge pull request #11573 from icecrime/11572-restore_pull_test
Restore TestPullVerified test
2015-03-23 11:21:16 -07:00
Jessie Frazelle 1fe55b2f8b Merge pull request #10365 from cpuguy83/9981_fix_cannot_overwrite_nonbind_as_bind
Allow path from normal volume existing to overwrite in start Binds
2015-03-23 10:43:02 -07:00
Alexander Morozov bd95202161 Merge pull request #11406 from MabinGo/CmdStart_fix
Fix hanging up problem when start and attach multiple containers at once
2015-03-23 10:17:50 -07:00
Jessie Frazelle c4603de56a Merge pull request #10347 from unclejack/bufreader_reset
reset bufReader to avoid extreme growth of buffers
2015-03-23 10:07:43 -07:00
Jessie Frazelle 56acb1aac8 Merge pull request #11395 from mitchcapper/master
Change windows default permissions to 755 not 711, read access for all p...
2015-03-23 09:59:40 -07:00
Jessie Frazelle bf304cc414 Merge pull request #11574 from icecrime/release_version_push
Document VERSION file update scheme
2015-03-23 09:47:16 -07:00
Srini Brahmaroutu 5daa9260bc Test image api through local V1 repo
Closes #10967
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-23 16:45:48 +00:00
Antonio Murdaca d124197cc7 Remove container if --rm flag is passed and container cannot be started
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
2015-03-23 13:03:31 +01:00
bobby abbott a91b2431a3 Refactor pkg/networkfs
Solves #11591

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-03-22 23:53:47 -07:00
bobby abbott 5de1e7bc3a Refactors pkg/testutils
Solves #11579.

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-03-22 22:31:46 -07:00
Mabin 7dc1af146d Fix hanging up problem when start and attach multiple containers
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-23 12:10:22 +08:00
Arnaud Porterie f07ac12791 Document VERSION file update scheme
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-22 18:45:01 -07:00
Arnaud Porterie 33448ac3c9 Restore TestPullVerified test
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-22 17:56:05 -07:00
sidharthamani eaecd8b1b5 add syslog driver
Signed-off-by: wlan0 <sid@rancher.com>
2015-03-21 18:01:18 -07:00
Mitch Capper b7dc9040f0 Change windows default permissions to 755 not 711, read access for all poses little security risk and prevents breaking existing Dockerfiles
Signed-off-by: Mitch Capper <mitch.capper@gmail.com>
2015-03-20 21:54:33 -07:00
Doug Davis 6d66e3e7a5 Fix some escaping around env var processing
Clarify in the docs that ENV is not recursive

Closes #10391

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-20 20:09:00 -07:00
Qiang Huang 0aa250bd60 fix decode data loss when using int64 in json
The problem is when I create container though REST api, set memory limit
in hostConfig, the memory limit didn't work. Because when we DecodeEnv,
we got hostConfig part of Env like this:
{"Binds":["/:/tmp"],"CpuShares":512,"CpusetCpus":"0,1","Devices":[],"Memory":1.6777216e+07,"MemorySwap":0}

And we cannot unmarshal number 1.6777216e+07 into Go value of type int64,
so we got 0.

We can fix this by setting Decoder as UseNumber().

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-21 10:16:18 +08:00
Dan Walsh 3c136333af Btrfs has eliminated the BTRFS_BUILD_VERSION in latest version
They say we should only use the BTRFS_LIB_VERSION

They will no longer support this since it had to be managed manually

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-20 11:43:53 -04:00
Dan Walsh fe9fe1473c We want to allow the sharing of /dev from the host into the
container.

docker run -v /dev:/dev should stop mounting other default mounts in i
libcontainer otherwise directories and devices like /dev/ptx get mishandled.

We want to be able to run libvirtd for launching vms and it needs
access to the hosts /dev.  This is a key componant of OpenStack.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-20 08:56:21 -04:00
Michal Fojtik d62f25e422 Fix lxc-start in lxc>1.1.0 where containers start daemonized by default
Signed-off-by: Michal Fojtik <mfojtik@redhat.com>
2015-03-19 14:51:05 +01:00
unclejack e5ea2b2357 pkg/ioutils: avoid huge Buffer growth in bufreader
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-03-18 19:51:55 +02:00
unclejack 028f7987fe pkg/ioutils: add tests for BufReader
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-03-18 19:32:46 +02:00
Harald Albers 418b7a9abb restrict bash completion for hostdir arg to directories
The previous state assumed that the HOSTPATH argument referred to a
file. As clarified by moxiegirl in PR #11305, it is a directory.
Adjusted completion to reflect this.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-18 18:10:58 +01:00
Vincent Batts 2ce37f6616 pkg/archive: ignore mtime changes on directories
on overlay fs, the mtime of directories changes in a container where new
files are added in an upper layer (e.g. '/etc'). This flags the
directory as a change where there was none.

Closes #9874

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-03-17 10:53:34 -04:00
André Martins 4e65c1c319 Dealing with trailing whitespaces
Created a validation that detects all trailing whitespaces from every
text file that isn't *.go, *.md, vendor/*,
docs/theme/mkdocs/tipuesearch*

Removed trailing whitespaces from every text file except from vendor/*
builder/parser/testfiles*, docs/theme/mkdocs/tipuesearch* and *.md

Signed-off-by: André Martins <martins@noironetworks.com>
2015-03-17 03:34:01 +00:00
Iavael ab181ce557 Fixed handling hardlinks to symlinks in tar stream
Signed-off-by: Iavael <iavaelooeyt@gmail.com>
2015-03-03 16:10:53 +03:00
Brian Goff 49e1ad49c8 Allow normal volume to overwrite in start Binds
Fixes #9981
Allows a volume which was created by docker (ie, in
/var/lib/docker/vfs/dir) to be used as a Bind argument via the container
start API and overwrite an existing volume.

For example:

```bash
docker create -v /foo --name one
docker create -v /foo --name two
```

This allows the volume from `one` to be passed into the container start
API as a bind to `two`, and it will overwrite it.

This was possible before 7107898d5c

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-10 20:46:37 -05:00
2979 changed files with 462522 additions and 165031 deletions
+28 -23
View File
@@ -1,33 +1,38 @@
# Docker project generated files to ignore
# if you want to ignore files created by your editor/tools,
# please consider a global .gitignore https://help.github.com/articles/ignoring-files
.vagrant*
bin
docker/docker
*.exe
.*.swp
a.out
*.exe~
*.orig
build_src
.flymake*
.idea
*.rej
*.test
.*.swp
.DS_Store
.bashrc
.dotcloud
.flymake*
.git/
.gopath/
.hg/
.vagrant*
Vagrantfile
a.out
autogen/
bin
build_src
bundles/
docker/docker
docs/AWS_S3_BUCKET
docs/GITCOMMIT
docs/GIT_BRANCH
docs/VERSION
docs/_build
docs/_static
docs/_templates
.gopath/
.dotcloud
*.test
bundles/
.hg/
.git/
vendor/pkg/
pyenv
Vagrantfile
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
docs/VERSION
docs/GITCOMMIT
docs/changed-files
autogen/
.bashrc
# generated by man/md2man-all.sh
man/man1
man/man5
man/man8
pyenv
vendor/pkg/
+27
View File
@@ -142,3 +142,30 @@ 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> <me@runcom.ninja>
Antonio Murdaca <antonio.murdaca@gmail.com> <runcom@linux.com>
Antonio Murdaca <antonio.murdaca@gmail.com> <runcom@users.noreply.github.com>
Darren Shepherd <darren.s.shepherd@gmail.com> <darren@rancher.com>
Deshi Xiao <dxiao@redhat.com> <dsxiao@dataman-inc.com>
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>
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>
Mary Anthony <mary.anthony@docker.com> <moxieandmore@gmail.com>
mattyw <mattyw@me.com> <gh@mattyw.net>
resouer <resouer@163.com> <resouer@gmail.com>
AJ Bowen <aj@gandi.net> soulshake <amy@gandi.net>
AJ Bowen <aj@gandi.net> soulshake <aj@gandi.net>
Tibor Vass <teabee89@gmail.com> <tibor@docker.com>
Tibor Vass <teabee89@gmail.com> <tiborvass@users.noreply.github.com>
Vincent Bernat <bernat@luffy.cx> <Vincent.Bernat@exoscale.ch>
Yestin Sun <sunyi0804@gmail.com> <yestin.sun@polyera.com>
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>
+262 -2
View File
@@ -2,14 +2,18 @@
# For how it is generated, see `hack/generate-authors.sh`.
Aanand Prasad <aanand.prasad@gmail.com>
Aaron Davidson <aaron@databricks.com>
Aaron Feng <aaron.feng@gmail.com>
Aaron Huslage <huslage@gmail.com>
Aaron Welch <welch@packet.net>
Abel Muiño <amuino@gmail.com>
Abhinav Ajgaonkar <abhinav316@gmail.com>
Abhishek Chanda <abhishek.becs@gmail.com>
Abin Shahab <ashahab@altiscale.com>
Adam Miller <admiller@redhat.com>
Adam Singer <financeCoding@gmail.com>
Aditya <aditya@netroy.in>
Adria Casas <adriacasas88@gmail.com>
Adrian Mouat <adrian.mouat@gmail.com>
Adrien Folie <folie.adrien@gmail.com>
Ahmed Kamal <email.ahmedkamal@googlemail.com>
@@ -23,6 +27,9 @@ Albert Callarisa <shark234@gmail.com>
Albert Zhang <zhgwenming@gmail.com>
Aleksa Sarai <cyphar@cyphar.com>
Aleksandrs Fadins <aleks@s-ko.net>
Alena Prokharchyk <alena@rancher.com>
Alessandro Boch <aboch@docker.com>
Alessio Biancalana <dottorblaster@gmail.com>
Alex Gaynor <alex.gaynor@gmail.com>
Alex Warhawk <ax.warhawk@gmail.com>
Alexander Boyd <alex@opengroove.org>
@@ -30,14 +37,20 @@ Alexander Larsson <alexl@redhat.com>
Alexander Morozov <lk4d4@docker.com>
Alexander Shopov <ash@kambanaria.org>
Alexandr Morozov <lk4d4@docker.com>
Alexey Guskov <lexag@mail.ru>
Alexey Kotlyarov <alexey@infoxchange.net.au>
Alexey Shamrin <shamrin@gmail.com>
Alexis THOMAS <fr.alexisthomas@gmail.com>
Allen Madsen <blatyo@gmail.com>
almoehi <almoehi@users.noreply.github.com>
Alvin Richards <alvin.richards@docker.com>
amangoel <amangoel@gmail.com>
Amit Bakshi <ambakshi@gmail.com>
Amy Lindburg <amy.lindburg@docker.com>
Anand Patil <anand.prabhakar.patil@gmail.com>
AnandkumarPatel <anandkumarpatel@gmail.com>
Anchal Agrawal <aagrawa4@illinois.edu>
Anders Janmyr <anders@janmyr.com>
Andre Dublin <81dublin@gmail.com>
Andrea Luzzardi <aluzzardi@gmail.com>
Andrea Turli <andrea.turli@gmail.com>
@@ -45,15 +58,19 @@ Andreas Köhler <andi5.py@gmx.net>
Andreas Savvides <andreas@editd.com>
Andreas Tiefenthaler <at@an-ti.eu>
Andrew C. Bodine <acbodine@us.ibm.com>
Andrew Clay Shafer <andrewcshafer@gmail.com>
Andrew Duckworth <grillopress@gmail.com>
Andrew France <andrew@avito.co.uk>
Andrew Kuklewicz <kookster@gmail.com>
Andrew Macgregor <andrew.macgregor@agworld.com.au>
Andrew Martin <sublimino@gmail.com>
Andrew Munsell <andrew@wizardapps.net>
Andrew Weiss <andrew.weiss@outlook.com>
Andrew Williams <williams.andrew@gmail.com>
Andrews Medina <andrewsmedina@gmail.com>
Andrey Petrov <andrey.petrov@shazow.net>
Andrey Stolbovsky <andrey.stolbovsky@gmail.com>
André Martins <martins@noironetworks.com>
Andy Chambers <anchambers@paypal.com>
andy diller <dillera@gmail.com>
Andy Goldstein <agoldste@redhat.com>
@@ -61,18 +78,23 @@ Andy Kipp <andy@rstudio.com>
Andy Rothfusz <github@developersupport.net>
Andy Smith <github@anarkystic.com>
Andy Wilson <wilson.andrew.j+github@gmail.com>
Anes Hasicic <anes.hasicic@gmail.com>
Ankush Agarwal <ankushagarwal11@gmail.com>
Anthony Baire <Anthony.Baire@irisa.fr>
Anthony Bishopric <git@anthonybishopric.com>
Anton Löfgren <anton.lofgren@gmail.com>
Anton Nikitin <anton.k.nikitin@gmail.com>
Anton Tiurin <noxiouz@yandex.ru>
Antonio Murdaca <antonio.murdaca@gmail.com>
Antony Messerli <amesserl@rackspace.com>
apocas <petermdias@gmail.com>
ArikaChen <eaglesora@gmail.com>
Arnaud Porterie <arnaud.porterie@docker.com>
Arthur Barr <arthur.barr@uk.ibm.com>
Arthur Gautier <baloo@gandi.net>
Asbjørn Enge <asbjorn@hanafjedle.net>
averagehuman <averagehuman@users.noreply.github.com>
Avi Das <andas222@gmail.com>
Avi Miller <avi.miller@oracle.com>
Barnaby Gray <barnaby@pickle.me.uk>
Barry Allard <barry.allard@gmail.com>
@@ -80,22 +102,31 @@ Bartłomiej Piotrowski <b@bpiotrowski.pl>
bdevloed <boris.de.vloed@gmail.com>
Ben Firshman <ben@firshman.co.uk>
Ben Sargent <ben@brokendigits.com>
Ben Severson <BenSeverson@users.noreply.github.com>
Ben Toews <mastahyeti@gmail.com>
Ben Wiklund <ben@daisyowl.com>
Benjamin Atkin <ben@benatkin.com>
Benoit Chesneau <bchesneau@gmail.com>
Bernerd Schaefer <bj.schaefer@gmail.com>
Bert Goethals <bert@bertg.be>
Bharath Thiruveedula <bharath_ves@hotmail.com>
Bhiraj Butala <abhiraj.butala@gmail.com>
bin liu <liubin0329@users.noreply.github.com>
Blake Geno <blakegeno@gmail.com>
bobby abbott <ttobbaybbob@gmail.com>
boucher <rboucher@gmail.com>
Bouke Haarsma <bouke@webatoom.nl>
Boyd Hemphill <boyd@feedmagnet.com>
Bradley Cicenas <bradley.cicenas@gmail.com>
Bradley Wright <brad@intranation.com>
Brandon Liu <bdon@bdon.org>
Brandon Philips <brandon@ifup.org>
Brandon Rhodes <brandon@rhodesmill.org>
Brendan Dixon <brendand@microsoft.com>
Brent Salisbury <brent.salisbury@docker.com>
Brett Kochendorfer <brett.kochendorfer@gmail.com>
Brian (bex) Exelbierd <bexelbie@redhat.com>
Brian DeHamer <brian@dehamer.com>
Brian Dorsey <brian@dorseys.org>
Brian Flad <bflad417@gmail.com>
Brian Goff <cpuguy83@gmail.com>
@@ -106,48 +137,67 @@ Brice Jaglin <bjaglin@teads.tv>
Briehan Lombaard <briehan.lombaard@gmail.com>
Bruno Bigras <bigras.bruno@gmail.com>
Bruno Binet <bruno.binet@gmail.com>
Bruno Gazzera <bgazzera@paginar.com>
Bruno Renié <brutasse@gmail.com>
Bryan Bess <squarejaw@bsbess.com>
Bryan Boreham <bjboreham@gmail.com>
Bryan Matsuo <bryan.matsuo@gmail.com>
Bryan Murphy <bmurphy1976@gmail.com>
buddhamagnet <buddhamagnet@gmail.com>
Burke Libbey <burke@libbey.me>
Byung Kang <byung.kang.ctr@amrdec.army.mil>
Caleb Spare <cespare@gmail.com>
Calen Pennington <cale@edx.org>
Cameron Boehmer <cameron.boehmer@gmail.com>
Carl X. Su <bcbcarl@gmail.com>
Cary <caryhartline@users.noreply.github.com>
Casey Bisson <casey.bisson@joyent.com>
Charles Hooper <charles.hooper@dotcloud.com>
Charles Lindsay <chaz@chazomatic.us>
Charles Merriam <charles.merriam@gmail.com>
Charlie Lewis <charliel@lab41.org>
Chen Chao <cc272309126@gmail.com>
Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
cheney90 <cheney-90@hotmail.com>
Chewey <prosto-chewey@users.noreply.github.com>
Chia-liang Kao <clkao@clkao.org>
chli <chli@freewheel.tv>
Chris Alfonso <calfonso@redhat.com>
Chris Armstrong <chris@opdemand.com>
Chris Khoo <chris.khoo@gmail.com>
Chris Snow <chsnow123@gmail.com>
Chris St. Pierre <chris.a.st.pierre@gmail.com>
Chris Stivers <chris@stivers.us>
Chris Wahl <github@wahlnetwork.com>
chrismckinnel <chris.mckinnel@tangentlabs.co.uk>
Christian Berendt <berendt@b1-systems.de>
Christian Simon <simon@swine.de>
Christian Stefanescu <st.chris@gmail.com>
ChristoperBiscardi <biscarch@sketcht.com>
Christophe Troestler <christophe.Troestler@umons.ac.be>
Christopher Currie <codemonkey+github@gmail.com>
Christopher Latham <sudosurootdev@gmail.com>
Christopher Rigor <crigor@gmail.com>
Christy Perez <christy@linux.vnet.ibm.com>
Chun Chen <chenchun.feed@gmail.com>
Ciro S. Costa <ciro.costa@usp.br>
Clayton Coleman <ccoleman@redhat.com>
Coenraad Loubser <coenraad@wish.org.za>
Colin Dunklau <colin.dunklau@gmail.com>
Colin Rice <colin@daedrum.net>
Colin Walters <walters@verbum.org>
Colm Hally <colmhally@gmail.com>
Cory Forsyth <cory.forsyth@gmail.com>
cressie176 <github@stephen-cresswell.net>
Cristian Staretu <cristian.staretu@gmail.com>
Cruceru Calin-Cristian <crucerucalincristian@gmail.com>
Cyril F <cyrilf7x@gmail.com>
Daan van Berkel <daan.v.berkel.1980@gmail.com>
Daehyeok Mun <daehyeok@gmail.com>
Dafydd Crosby <dtcrsby@gmail.com>
dalanlan <dalanlan925@gmail.com>
Damjan Georgievski <gdamjan@gmail.com>
Dan Anolik <dan@anolik.net>
Dan Buch <d.buch@modcloth.com>
Dan Cotora <dan@bluevision.ro>
Dan Griffin <dgriffin@peer1.com>
@@ -157,35 +207,46 @@ Dan McPherson <dmcphers@redhat.com>
Dan Stine <sw@stinemail.com>
Dan Walsh <dwalsh@redhat.com>
Dan Williams <me@deedubs.com>
Daniel Antlinger <d.antlinger@gmx.at>
Daniel Exner <dex@dragonslave.de>
Daniel Farrell <dfarrell@redhat.com>
Daniel Garcia <daniel@danielgarcia.info>
Daniel Gasienica <daniel@gasienica.ch>
Daniel Menet <membership@sontags.ch>
Daniel Mizyrycki <daniel.mizyrycki@dotcloud.com>
Daniel Nephin <dnephin@gmail.com>
Daniel Norberg <dano@spotify.com>
Daniel Nordberg <dnordberg@gmail.com>
Daniel Robinson <gottagetmac@gmail.com>
Daniel S <dan.streby@gmail.com>
Daniel Von Fange <daniel@leancoder.com>
Daniel YC Lin <dlin.tw@gmail.com>
Daniel Zhang <jmzwcn@gmail.com>
Daniel, Dao Quang Minh <dqminh89@gmail.com>
Danny Berger <dpb587@gmail.com>
Danny Yates <danny@codeaholics.org>
Darren Coxall <darren@darrencoxall.com>
Darren Shepherd <darren.s.shepherd@gmail.com>
Dave Henderson <Dave.Henderson@ca.ibm.com>
David Anderson <dave@natulte.net>
David Calavera <david.calavera@gmail.com>
David Corking <dmc-source@dcorking.com>
David Davis <daviddavis@redhat.com>
David Gageot <david@gageot.net>
David Gebler <davidgebler@gmail.com>
David Mackey <tdmackey@booleanhaiku.com>
David Mat <david@davidmat.com>
David Mcanulty <github@hellspark.com>
David Pelaez <pelaez89@gmail.com>
David R. Jenni <david.r.jenni@gmail.com>
David Röthlisberger <david@rothlis.net>
David Sissitka <me@dsissitka.com>
David Xia <dxia@spotify.com>
David Young <yangboh@cn.ibm.com>
Davide Ceretti <davide.ceretti@hogarthww.com>
Dawn Chen <dawnchen@google.com>
decadent <decadent@users.noreply.github.com>
Deng Guangxing <dengguangxing@huawei.com>
Deni Bertovic <deni@kset.org>
Derek <crq@kernel.org>
Derek <crquan@gmail.com>
@@ -193,39 +254,53 @@ Derek McGowan <derek@mcgstyle.net>
Deric Crago <deric.crago@gmail.com>
Deshi Xiao <dxiao@redhat.com>
Dinesh Subhraveti <dineshs@altiscale.com>
DiuDiugirl <sophia.wang@pku.edu.cn>
Djibril Koné <kone.djibril@gmail.com>
dkumor <daniel@dkumor.com>
Dmitry Demeshchuk <demeshchuk@gmail.com>
Dmitry Gusev <dmitry.gusev@gmail.com>
Dmitry V. Krivenok <krivenok.dmitry@gmail.com>
Dolph Mathews <dolph.mathews@gmail.com>
Dominik Finkbeiner <finkes93@gmail.com>
Dominik Honnef <dominik@honnef.co>
Don Kirkby <donkirkby@users.noreply.github.com>
Don Kjer <don.kjer@gmail.com>
Don Spaulding <donspauldingii@gmail.com>
Doug Davis <dug@us.ibm.com>
Doug MacEachern <dougm@vmware.com>
doug tangren <d.tangren@gmail.com>
Dr Nic Williams <drnicwilliams@gmail.com>
dragon788 <dragon788@users.noreply.github.com>
Dražen Lučanin <kermit666@gmail.com>
Dustin Sallings <dustin@spy.net>
Ed Costello <epc@epcostello.com>
Edmund Wagner <edmund-wagner@web.de>
Eiichi Tsukata <devel@etsukata.com>
Eike Herzbach <eike@herzbach.net>
Eivind Uggedal <eivind@uggedal.com>
Elias Probst <mail@eliasprobst.eu>
Elijah Zupancic <elijah@zupancic.name>
eluck <mail@eluck.me>
Emil Hernvall <emil@quench.at>
Emily Maier <emily@emilymaier.net>
Emily Rose <emily@contactvibe.com>
Emir Ozer <emirozer@yandex.com>
Enguerran <engcolson@gmail.com>
Eohyung Lee <liquidnuker@gmail.com>
Eric Hanchrow <ehanchrow@ine.com>
Eric Lee <thenorthsecedes@gmail.com>
Eric Myhre <hash@exultant.us>
Eric Paris <eparis@redhat.com>
Eric Rafaloff <erafaloff@gmail.com>
Eric Windisch <ewindisch@docker.com>
Eric-Olivier Lamey <eo@lamey.me>
Erik Dubbelboer <erik@dubbelboer.com>
Erik Hollensbe <github@hollensbe.org>
Erik Inge Bolsø <knan@redpill-linpro.com>
Erik Kristensen <erik@erikkristensen.com>
Erno Hopearuoho <erno.hopearuoho@gmail.com>
Erwin van der Koogh <info@erronis.nl>
Euan <euank@amazon.com>
Eugene Yakubovich <eugene.yakubovich@coreos.com>
eugenkrizo <eugen.krizo@gmail.com>
Evan Carmi <carmi@users.noreply.github.com>
@@ -233,58 +308,78 @@ Evan Hazlett <ejhazlett@gmail.com>
Evan Krall <krall@yelp.com>
Evan Phoenix <evan@fallingsnow.net>
Evan Wies <evan@neomantra.net>
Evgeny Vereshchagin <evvers@ya.ru>
Eystein Måløy Stenberg <eystein.maloy.stenberg@cfengine.com>
ezbercih <cem.ezberci@gmail.com>
Fabiano Rosas <farosas@br.ibm.com>
Fabio Falci <fabiofalci@gmail.com>
Fabio Rehm <fgrehm@gmail.com>
Fabrizio Regini <freegenie@gmail.com>
Faiz Khan <faizkhan00@gmail.com>
falmp <chico.lopes@gmail.com>
Fareed Dudhia <fareeddudhia@googlemail.com>
Felix Rabe <felix@rabe.io>
Felix Schindler <fschindler@weluse.de>
Ferenc Szabo <pragmaticfrank@gmail.com>
Fernando <fermayo@gmail.com>
Filipe Brandenburger <filbranden@google.com>
Flavio Castelli <fcastelli@suse.com>
FLGMwt <ryan.stelly@live.com>
Florian Weingarten <flo@hackvalue.de>
Francisco Carriedo <fcarriedo@gmail.com>
Francisco Souza <f@souza.cc>
Frank Herrmann <fgh@4gh.tv>
Frank Macreery <frank@macreery.com>
Frank Rosquin <frank.rosquin+github@gmail.com>
Fred Lifton <fred.lifton@docker.com>
Frederick F. Kautz IV <fkautz@alumni.cmu.edu>
Frederik Loeffert <frederik@zitrusmedia.de>
Freek Kalter <freek@kalteronline.org>
Félix Baylac-Jacqué <baylac.felix@gmail.com>
Gabe Rosenhouse <gabe@missionst.com>
Gabor Nagy <mail@aigeruth.hu>
Gabriel Monroy <gabriel@opdemand.com>
Galen Sampson <galen.sampson@gmail.com>
Gareth Rushgrove <gareth@morethanseven.net>
Gaurav <gaurav.gosec@gmail.com>
gautam, prasanna <prasannagautam@gmail.com>
GennadySpb <lipenkov@gmail.com>
Geoffrey Bachelet <grosfrais@gmail.com>
George MacRorie <gmacr31@gmail.com>
George Xie <georgexsh@gmail.com>
Gereon Frey <gereon.frey@dynport.de>
German DZ <germ@ndz.com.ar>
Gert van Valkenhoef <g.h.m.van.valkenhoef@rug.nl>
Gianluca Borello <g.borello@gmail.com>
Giuseppe Mazzotta <gdm85@users.noreply.github.com>
Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Gleb M Borisov <borisov.gleb@gmail.com>
Glyn Normington <gnormington@gopivotal.com>
Goffert van Gool <goffert@phusion.nl>
golubbe <ben.golub@dotcloud.com>
Gosuke Miyashita <gosukenator@gmail.com>
Graydon Hoare <graydon@pobox.com>
Greg Fausak <greg@tacodata.com>
Greg Thornton <xdissent@me.com>
grossws <grossws@gmail.com>
grunny <mwgrunny@gmail.com>
Guilherme Salgado <gsalgado@gmail.com>
Guillaume Dufour <gdufour.prestataire@voyages-sncf.com>
Guillaume J. Charmes <guillaume.charmes@docker.com>
guoxiuyan <guoxiuyan@huawei.com>
Gurjeet Singh <gurjeet@singh.im>
Guruprasad <lgp171188@gmail.com>
Günter Zöchbauer <guenter@gzoechbauer.com>
Hans Rødtang <hansrodtang@gmail.com>
Harald Albers <github@albersweb.de>
Harley Laue <losinggeneration@gmail.com>
Harry Zhang <harryzhang@zju.edu.cn>
He Simei <hesimei@zju.edu.cn>
Hector Castro <hectcastro@gmail.com>
Henning Sprang <henning.sprang@gmail.com>
Hobofan <goisser94@gmail.com>
Hollie Teal <hollie@docker.com>
Hong Xu <hong@topbug.net>
Hu Keping <hukeping@huawei.com>
Hu Tao <hutao@cn.fujitsu.com>
Huayi Zhang <irachex@gmail.com>
@@ -292,21 +387,28 @@ Hugo Duncan <hugo@hugoduncan.org>
Hunter Blanks <hunter@twilio.com>
Huu Nguyen <huu@prismskylabs.com>
hyeongkyu.lee <hyeongkyu.lee@navercorp.com>
hyp3rdino <markus.kortlang@lhsystems.com>
Ian Babrou <ibobrik@gmail.com>
Ian Bishop <ianbishop@pace7.com>
Ian Bull <irbull@gmail.com>
Ian Calvert <ianjcalvert@gmail.com>
Ian Main <imain@redhat.com>
Ian Truslove <ian.truslove@gmail.com>
Iavael <iavaelooeyt@gmail.com>
Igor Dolzhikov <bluesriverz@gmail.com>
ILYA Khlopotov <ilya.khlopotov@gmail.com>
imre Fitos <imre.fitos+github@gmail.com>
inglesp <peter.inglesby@gmail.com>
Isaac Dupree <antispam@idupree.com>
Isabel Jimenez <contact.isabeljimenez@gmail.com>
Isao Jonas <isao.jonas@gmail.com>
Ivan Fraixedes <ifcdev@gmail.com>
J Bruni <joaohbruni@yahoo.com.br>
J. Nunn <jbnunn@gmail.com>
Jack Danger Canty <jackdanger@squareup.com>
Jacob Atzen <jacob@jacobatzen.dk>
Jacob Edelman <edelman.jd@gmail.com>
Jake Champlin <jake.champlin.27@gmail.com>
Jake Moshenko <jake@devtable.com>
jakedt <jake@devtable.com>
James Allen <jamesallen0108@gmail.com>
@@ -314,41 +416,67 @@ James Carr <james.r.carr@gmail.com>
James DeFelice <james.defelice@ishisystems.com>
James Harrison Fisher <jameshfisher@gmail.com>
James Kyle <james@jameskyle.org>
James Lal <james@lightsofapollo.com>
James Mills <prologic@shortcircuit.net.au>
James Turnbull <james@lovedthanlost.net>
Jamie Hannaford <jamie.hannaford@rackspace.com>
Jamshid Afshar <jafshar@yahoo.com>
Jan Keromnes <janx@linux.com>
Jan Koprowski <jan.koprowski@gmail.com>
Jan Pazdziora <jpazdziora@redhat.com>
Jan Toebes <jan@toebes.info>
Jan-Jaap Driessen <janjaapdriessen@gmail.com>
Jana Radhakrishnan <mrjana@docker.com>
Jared Biel <jared.biel@bolderthinking.com>
Jaroslaw Zabiello <hipertracker@gmail.com>
jaseg <jaseg@jaseg.net>
Jason Divock <jdivock@gmail.com>
Jason Giedymin <jasong@apache.org>
Jason Hall <imjasonh@gmail.com>
Jason Livesay <ithkuil@gmail.com>
Jason McVetta <jason.mcvetta@gmail.com>
Jason Plum <jplum@devonit.com>
Jason Shepherd <jason@jasonshepherd.net>
Jason Smith <jasonrichardsmith@gmail.com>
Jason Sommer <jsdirv@gmail.com>
Jason Stangroome <jason@codeassassin.com>
Jay <teguhwpurwanto@gmail.com>
Jean-Baptiste Barth <jeanbaptiste.barth@gmail.com>
Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
Jean-Paul Calderone <exarkun@twistedmatrix.com>
Jean-Tiare Le Bigot <jt@yadutaf.fr>
Jeff Anderson <jeff@docker.com>
Jeff Lindsay <progrium@gmail.com>
Jeff Nickoloff <jeff.nickoloff@gmail.com>
Jeff Welch <whatthejeff@gmail.com>
Jeffrey Bolle <jeffreybolle@gmail.com>
Jeffrey Morgan <jmorganca@gmail.com>
Jeffrey van Gogh <jvg@google.com>
Jeremy Grosser <jeremy@synack.me>
Jesse Dearing <jesse.dearing@gmail.com>
Jesse Dubay <jesse@thefortytwo.net>
Jessica Frazelle <jess@docker.com>
Jezeniel Zapanta <jpzapanta22@gmail.com>
jianbosun <wonderflow.sun@gmail.com>
Jilles Oldenbeuving <ojilles@gmail.com>
Jim Alateras <jima@comware.com.au>
Jim Perrin <jperrin@centos.org>
Jimmy Cuadra <jimmy@jimmycuadra.com>
Jimmy Puckett <jimmy.puckett@spinen.com>
jimmyxian <jimmyxian2004@yahoo.com.cn>
Jinsoo Park <cellpjs@gmail.com>
Jiri Popelka <jpopelka@redhat.com>
Jiří Župka <jzupka@redhat.com>
jjy <jiangjinyang@outlook.com>
jmzwcn <jmzwcn@gmail.com>
Joe Beda <joe.github@bedafamily.com>
Joe Ferguson <joe@infosiftr.com>
Joe Gordon <joe.gordon0@gmail.com>
Joe Shaw <joe@joeshaw.org>
Joe Van Dyk <joe@tanga.com>
Joel Friedly <joelfriedly@gmail.com>
Joel Handwell <joelhandwell@gmail.com>
Joey Gibson <joey@joeygibson.com>
Joffrey F <joffrey@docker.com>
Johan Euphrosine <proppy@google.com>
Johan Rydberg <johan.rydberg@gmail.com>
@@ -357,13 +485,17 @@ John Costa <john.costa@gmail.com>
John Feminella <jxf@jxf.me>
John Gardiner Myers <jgmyers@proofpoint.com>
John Gossman <johngos@microsoft.com>
John Howard (VM) <John.Howard@microsoft.com>
John OBrien III <jobrieniii@yahoo.com>
John Tims <john.k.tims@gmail.com>
John Warwick <jwarwick@gmail.com>
John Willis <john.willis@docker.com>
Jon Wedaman <jweede@gmail.com>
Jonas Pfenniger <jonas@pfenniger.name>
Jonathan A. Sternberg <jonathansternberg@gmail.com>
Jonathan Boulle <jonathanboulle@gmail.com>
Jonathan Camp <jonathan@irondojo.com>
Jonathan Dowland <jon+github@alcopop.org>
Jonathan McCrohan <jmccrohan@gmail.com>
Jonathan Mueller <j.mueller@apoveda.ch>
Jonathan Pares <jonathanpa@users.noreply.github.com>
@@ -373,15 +505,18 @@ Jordan Arentsen <blissdev@gmail.com>
Jordan Sissel <jls@semicomplete.com>
Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
Joseph Hager <ajhager@gmail.com>
Joseph Kern <jkern@semafour.net>
Josh <jokajak@gmail.com>
Josh Hawn <josh.hawn@docker.com>
Josh Poimboeuf <jpoimboe@redhat.com>
Josiah Kiehl <jkiehl@riotgames.com>
José Tomás Albornoz <jojo@eljojo.net>
JP <jpellerin@leapfrogonline.com>
Julian Taylor <jtaylor.debian@googlemail.com>
Julien Barbier <write0@gmail.com>
Julien Bordellier <julienbordellier@gmail.com>
Julien Dubois <julien.dubois@gmail.com>
Jun-Ru Chang <jrjang@gmail.com>
Justin Force <justin.force@gmail.com>
Justin Plock <jplock@users.noreply.github.com>
Justin Simonelis <justin.p.simonelis@gmail.com>
@@ -390,22 +525,28 @@ Jérôme Petazzoni <jerome.petazzoni@dotcloud.com>
Jörg Thalheim <joerg@higgsboson.tk>
Kamil Domanski <kamil@domanski.co>
Karan Lyons <karan@karanlyons.com>
kargakis <kargakis@users.noreply.github.com>
Karl Grzeszczak <karlgrz@gmail.com>
Katie McLaughlin <katie@glasnt.com>
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
Katrina Owen <katrina.owen@gmail.com>
Kawsar Saiyeed <kawsar.saiyeed@projiris.com>
Keli Hu <dev@keli.hu>
Ken Cochrane <kencochrane@gmail.com>
Ken ICHIKAWA <ichikawa.ken@jp.fujitsu.com>
Kent Johnson <kentoj@gmail.com>
Kevin "qwazerty" Houdebert <kevin.houdebert@gmail.com>
Kevin Clark <kevin.clark@gmail.com>
Kevin J. Lynagh <kevin@keminglabs.com>
Kevin Menard <kevin@nirvdrum.com>
Kevin Wallace <kevin@pentabarf.net>
Kevin Yap <me@kevinyap.ca>
Keyvan Fatehi <keyvanfatehi@gmail.com>
kies <lleelm@gmail.com>
Kim BKC Carlbacker <kim.carlbacker@gmail.com>
Kimbro Staken <kstaken@kstaken.com>
Kiran Gangadharan <kiran.daredevil@gmail.com>
Kirill SIbirev <l0kix2@gmail.com>
knappe <tyler.knappe@gmail.com>
Kohei Tsuruta <coheyxyz@gmail.com>
Konrad Kleine <konrad.wilhelm.kleine@gmail.com>
@@ -419,6 +560,8 @@ Lajos Papp <lajos.papp@sequenceiq.com>
Lakshan Perera <lakshan@laktek.com>
lalyos <lalyos@yahoo.com>
Lance Chen <cyen0312@gmail.com>
Lance Kinley <lkinley@loyaltymethods.com>
Lars Kellogg-Stedman <lars@redhat.com>
Lars R. Damerow <lars@pixar.com>
Laurie Voss <github@seldo.com>
leeplay <hyeongkyu.lee@navercorp.com>
@@ -428,17 +571,26 @@ Leszek Kowalski <github@leszekkowalski.pl>
Levi Gross <levi@levigross.com>
Lewis Marshall <lewis@lmars.net>
Lewis Peckover <lew+github@lew.io>
Liana Lo <liana.lixia@gmail.com>
Liang-Chi Hsieh <viirya@gmail.com>
limsy <seongyeol37@gmail.com>
Liu Hua <sdu.liu@huawei.com>
Lloyd Dewolf <foolswisdom@gmail.com>
Lokesh Mandvekar <lsm5@fedoraproject.org>
Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
Lorenzo Fontana <fontanalorenzo@me.com>
Louis Opter <kalessin@kalessin.fr>
Luis Martínez de Bartolomé Izquierdo <lmartinez@biicode.com>
lukaspustina <lukas.pustina@centerdevice.com>
lukemarsden <luke@digital-crocus.com>
Lénaïc Huard <lhuard@amadeus.com>
Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Mabin <bin.ma@huawei.com>
Madhu Venugopal <madhu@socketplane.io>
Mahesh Tiyyagura <tmahesh@gmail.com>
malnick <malnick@gmail..com>
Malte Janduda <mail@janduda.net>
Manfred Touron <m@42.am>
Manfred Zabarauskas <manfredas@zabarauskas.com>
Manuel Meurer <manuel@krautcomputing.com>
Manuel Woelker <github@manuel.woelker.org>
@@ -450,38 +602,52 @@ Marcus Farkas <toothlessgear@finitebox.com>
Marcus Linke <marcus.linke@gmx.de>
Marcus Ramberg <marcus@nordaaker.com>
Marek Goldmann <marek.goldmann@gmail.com>
Marian Marinov <mm@yuhu.biz>
Marianna <mtesselh@gmail.com>
Marius Voila <marius.voila@gmail.com>
Mark Allen <mrallen1@yahoo.com>
Mark McGranaghan <mmcgrana@gmail.com>
Mark West <markewest@gmail.com>
Marko Mikulicic <mmikulicic@gmail.com>
Marko Tibold <marko@tibold.nl>
Markus Fix <lispmeister@gmail.com>
Martijn Dwars <ikben@martijndwars.nl>
Martijn van Oosterhout <kleptog@svana.org>
Martin Honermeyer <maze@strahlungsfrei.de>
Martin Redmond <martin@tinychat.com>
Mary Anthony <moxieandmore@gmail.com>
Mary Anthony <mary.anthony@docker.com>
Masahito Zembutsu <zembutsu@users.noreply.github.com>
Mason Malone <mason.malone@gmail.com>
Mateusz Sulima <sulima.mateusz@gmail.com>
Mathias Monnerville <mathias@monnerville.com>
Mathieu Le Marec - Pasquet <kiorky@cryptelium.net>
Matt Apperson <me@mattapperson.com>
Matt Bachmann <bachmann.matt@gmail.com>
Matt Bentley <mbentley@mbentley.net>
Matt Haggard <haggardii@gmail.com>
Matt McCormick <matt.mccormick@kitware.com>
Matthew Heon <mheon@redhat.com>
Matthew Mayer <matthewkmayer@gmail.com>
Matthew Mueller <mattmuelle@gmail.com>
Matthew Riley <mattdr@google.com>
Matthias Klumpp <matthias@tenstral.net>
Matthias Kühnle <git.nivoc@neverbox.com>
mattymo <raytrac3r@gmail.com>
mattyw <mattyw@me.com>
mauriyouth <mauriyouth@gmail.com>
Max Shytikov <mshytikov@gmail.com>
Maxim Kulkin <mkulkin@mirantis.com>
Maxim Treskin <zerthurd@gmail.com>
Maxime Petazzoni <max@signalfuse.com>
Meaglith Ma <genedna@gmail.com>
meejah <meejah@meejah.ca>
Megan Kostick <mkostick@us.ibm.com>
Mehul Kar <mehul.kar@gmail.com>
Mengdi Gao <usrgdd@gmail.com>
Mert Yazıcıoğlu <merty@users.noreply.github.com>
Michael A. Smith <michael@smith-li.com>
Michael Brown <michael@netdirect.ca>
Michael Chiang <mchiang@docker.com>
Michael Crosby <michael@docker.com>
Michael Gorsuch <gorsuch@github.com>
Michael Hudson-Doyle <michael.hudson@linaro.org>
@@ -491,26 +657,35 @@ Michael Scharf <github@scharf.gr>
Michael Stapelberg <michael+gh@stapelberg.de>
Michael Steinert <mike.steinert@gmail.com>
Michael Thies <michaelthies78@gmail.com>
Michael West <mwest@mdsol.com>
Michal Fojtik <mfojtik@redhat.com>
Michal Jemala <michal.jemala@gmail.com>
Michal Minar <miminar@redhat.com>
Michaël Pailloncy <mpapo.dev@gmail.com>
Michiel@unhosted <michiel@unhosted.org>
Miguel Angel Fernández <elmendalerenda@gmail.com>
Mihai Borobocea <MihaiBorobocea@gmail.com>
Mike Chelen <michael.chelen@gmail.com>
Mike Dillon <mike@embody.org>
Mike Gaffney <mike@uberu.com>
Mike Leone <mleone896@gmail.com>
Mike MacCana <mike.maccana@gmail.com>
Mike Naberezny <mike@naberezny.com>
Mike Snitzer <snitzer@redhat.com>
Mikhail Sobolev <mss@mawhrin.net>
Mingzhen Feng <fmzhen@zju.edu.cn>
Mitch Capper <mitch.capper@gmail.com>
Mohit Soni <mosoni@ebay.com>
Morgante Pell <morgante.pell@morgante.net>
Morten Siebuhr <sbhr@sbhr.dk>
Moysés Borges <moyses.furtado@wplex.com.br>
Mrunal Patel <mrunalp@gmail.com>
mschurenko <matt.schurenko@gmail.com>
Mustafa Akın <mustafa91@gmail.com>
Médi-Rémi Hashim <medimatrix@users.noreply.github.com>
Nan Monnand Deng <monnand@gmail.com>
Naoki Orii <norii@cs.cmu.edu>
Natalie Parker <nparker@omnifone.com>
Nate Eagleson <nate@nateeag.com>
Nate Jones <nate@endot.org>
Nathan Hsieh <hsieh.nathan@gmail.com>
@@ -518,8 +693,11 @@ Nathan Kleyn <nathan@nathankleyn.com>
Nathan LeClaire <nathan.leclaire@docker.com>
Neal McBurnett <neal@mcburnett.org>
Nelson Chen <crazysim@gmail.com>
Nghia Tran <nghia@google.com>
Niall O'Higgins <niallo@unworkable.org>
Nicholas E. Rabenau <nerab@gmx.at>
Nick Irvine <nfirvine@nfirvine.com>
Nick Parker <nikaios@gmail.com>
Nick Payne <nick@kurai.co.uk>
Nick Stenning <nick.stenning@digital.cabinet-office.gov.uk>
Nick Stinemates <nick@stinemates.org>
@@ -528,8 +706,11 @@ Nicolas Dudebout <nicolas.dudebout@gatech.edu>
Nicolas Goy <kuon@goyman.com>
Nicolas Kaiser <nikai@nikai.net>
NikolaMandic <mn080202@gmail.com>
nikolas <nnyby@columbia.edu>
noducks <onemannoducks@gmail.com>
Nolan Darilek <nolan@thewordnerd.info>
nponeccop <andy.melnikov@gmail.com>
Nuutti Kotivuori <naked@iki.fi>
nzwsch <hi@nzwsch.com>
O.S. Tezer <ostezer@gmail.com>
OddBloke <daniel@daniel-watkins.co.uk>
@@ -542,11 +723,14 @@ pandrew <letters@paulnotcom.se>
panticz <mail@konczalski.de>
Pascal Borreli <pascal@borreli.com>
Pascal Hartig <phartig@rdrei.net>
Patrick Devine <patrick.devine@docker.com>
Patrick Hemmer <patrick.hemmer@gmail.com>
Patrick Stapleton <github@gdi2290.com>
pattichen <craftsbear@gmail.com>
Paul <paul9869@gmail.com>
paul <paul@inkling.com>
Paul Annesley <paul@annesley.cc>
Paul Bellamy <paul.a.bellamy@gmail.com>
Paul Bowsher <pbowsher@globalpersonals.co.uk>
Paul Hammond <paul@paulhammond.org>
Paul Jimenez <pj@place.org>
@@ -554,11 +738,18 @@ Paul Lietar <paul@lietar.net>
Paul Morie <pmorie@gmail.com>
Paul Nasrat <pnasrat@gmail.com>
Paul Weaver <pauweave@cisco.com>
Pavel Lobashov <ShockwaveNN@gmail.com>
Pavel Tikhomirov <ptikhomirov@parallels.com>
Pavlos Ratis <dastergon@gentoo.org>
Peggy Li <peggyli.224@gmail.com>
Peter Bourgon <peter@bourgon.org>
Peter Braden <peterbraden@peterbraden.co.uk>
Peter Choi <reikani@Peters-MacBook-Pro.local>
Peter Dave Hello <PeterDaveHello@users.noreply.github.com>
Peter Ericson <pdericson@gmail.com>
Peter Esbensen <pkesbensen@gmail.com>
Peter Salvatore <peter@psftw.com>
Peter Volpe <petervo@redhat.com>
Peter Waller <p@pwaller.net>
Phil <underscorephil@gmail.com>
Phil Estes <estesp@linux.vnet.ibm.com>
@@ -572,6 +763,7 @@ Pierre-Alain RIVIERE <pariviere@ippon.fr>
Piotr Bogdan <ppbogdan@gmail.com>
pixelistik <pixelistik@users.noreply.github.com>
Porjo <porjo38@yahoo.com.au>
Pradeep Chhetri <pradeep@indix.com>
Prasanna Gautam <prasannagautam@gmail.com>
Przemek Hejman <przemyslaw.hejman@gmail.com>
pysqz <randomq@126.com>
@@ -580,6 +772,7 @@ Quentin Brossard <qbrossard@gmail.com>
r0n22 <cameron.regan@gmail.com>
Rafal Jeczalik <rjeczalik@gmail.com>
Rafe Colton <rafael.colton@gmail.com>
Raghuram Devarakonda <draghuram@gmail.com>
Rajat Pandit <rp@rajatpandit.com>
Rajdeep Dua <dua_rajdeep@yahoo.com>
Ralph Bean <rbean@redhat.com>
@@ -588,13 +781,19 @@ Ramon van Alteren <ramon@vanalteren.nl>
Recursive Madman <recursive.madman@gmx.de>
Remi Rampin <remirampin@gmail.com>
Renato Riccieri Santos Zannon <renato.riccieri@gmail.com>
resouer <resouer@163.com>
rgstephens <greg@udon.org>
Rhys Hiltner <rhys@twitch.tv>
Rich Seymour <rseymour@gmail.com>
Richard <richard.scothern@gmail.com>
Richard Burnison <rburnison@ebay.com>
Richard Harvey <richard@squarecows.com>
Richard Metzler <richard@paadee.com>
Richo Healey <richo@psych0tik.net>
Rick Bradley <rick@users.noreply.github.com>
Rick van de Loo <rickvandeloo@gmail.com>
Rick Wieman <git@rickw.nl>
Rik Nijessen <rik@keefo.nl>
Robert Bachmann <rb@robertbachmann.at>
Robert Bittle <guywithnose@gmail.com>
Robert Obryk <robryk@gmail.com>
@@ -608,6 +807,7 @@ Rohit Jnagal <jnagal@google.com>
Roland Huß <roland@jolokia.org>
Roland Moriz <rmoriz@users.noreply.github.com>
Ron Smits <ron.smits@gmail.com>
root <docker-dummy@example.com>
Rovanion Luckey <rovanion.luckey@gmail.com>
Rudolph Gottesheim <r.gottesheim@loot.at>
Ryan Anderson <anderson.ryanc@gmail.com>
@@ -618,6 +818,11 @@ Ryan O'Donnell <odonnellryanc@gmail.com>
Ryan Seto <ryanseto@yak.net>
Ryan Thomas <rthomas@atlassian.com>
Rémy Greinhofer <remy.greinhofer@livelovely.com>
s. rannou <mxs@sbrk.org>
s00318865 <sunyuan3@huawei.com>
Sabin Basyal <sabin.basyal@gmail.com>
Sachin Joshi <sachin_jayant_joshi@hotmail.com>
Sam Abed <sam.abed@gmail.com>
Sam Alba <sam.alba@gmail.com>
Sam Bailey <cyprix@cyprix.com.au>
Sam J Sharpe <sam.sharpe@digital.cabinet-office.gov.uk>
@@ -626,6 +831,9 @@ Sam Rijs <srijs@airpost.net>
Sami Wagiaalla <swagiaal@redhat.com>
Samuel Andaya <samuel@andaya.net>
Samuel PHAN <samuel-phan@users.noreply.github.com>
Sankar சங்கர் <sankar.curiosity@gmail.com>
Sanket Saurav <sanketsaurav@gmail.com>
sapphiredev <se.imas.kr@gmail.com>
Satnam Singh <satnam@raintown.org>
satoru <satorulogic@gmail.com>
Satoshi Amemiya <satoshi_amemiya@voyagegroup.com>
@@ -634,26 +842,35 @@ Scott Collier <emailscottcollier@gmail.com>
Scott Johnston <scott@docker.com>
Scott Stamp <scottstamp851@gmail.com>
Scott Walls <sawalls@umich.edu>
sdreyesg <sdreyesg@gmail.com>
Sean Cronin <seancron@gmail.com>
Sean P. Kane <skane@newrelic.com>
Sebastiaan van Steenis <mail@superseb.nl>
Sebastiaan van Stijn <github@gone.nl>
Senthil Kumar Selvaraj <senthil.thecoder@gmail.com>
SeongJae Park <sj38.park@gmail.com>
Seongyeol Lim <seongyeol37@gmail.com>
Sergey Alekseev <sergey.alekseev.minsk@gmail.com>
Sergey Evstifeev <sergey.evstifeev@gmail.com>
Shane Canon <scanon@lbl.gov>
shaunol <shaunol@gmail.com>
Shawn Landden <shawn@churchofgit.com>
Shawn Siefkas <shawn.siefkas@meredith.com>
Shih-Yuan Lee <fourdollars@gmail.com>
Shijiang Wei <mountkin@gmail.com>
Shishir Mahajan <shishir.mahajan@redhat.com>
shuai-z <zs.broccoli@gmail.com>
sidharthamani <sid@rancher.com>
Silas Sewell <silas@sewell.org>
Simei He <hesimei@zju.edu.cn>
Simon Eskildsen <sirup@sirupsen.com>
Simon Leinen <simon.leinen@gmail.com>
Simon Taranto <simon.taranto@gmail.com>
Sindhu S <sindhus@live.in>
Sjoerd Langkemper <sjoerd-github@linuxonly.nl>
Solomon Hykes <solomon@docker.com>
Song Gao <song@gao.io>
Soulou <leo@unbekandt.eu>
soulshake <amy@gandi.net>
Sridatta Thatipamala <sthatipamala@gmail.com>
Sridhar Ratnakumar <sridharr@activestate.com>
Srini Brahmaroutu <sbrahma@us.ibm.com>
@@ -661,20 +878,30 @@ Srini Brahmaroutu <srbrahma@us.ibm.com>
Steeve Morin <steeve.morin@gmail.com>
Stefan Praszalowicz <stefan@greplin.com>
Stephen Crosby <stevecrozz@gmail.com>
Stephen J Day <stephen.day@docker.com>
Steve Francia <steve.francia@gmail.com>
Steve Koch <stevekochscience@gmail.com>
Steven Burgess <steven.a.burgess@hotmail.com>
Steven Merrill <steven.merrill@gmail.com>
Steven Richards <steven@axiomzen.co>
Steven Taylor <steven.taylor@me.com>
Sven Dowideit <SvenDowideit@home.org.au>
Swapnil Daingade <swapnil.daingade@gmail.com>
Sylvain Baubeau <sbaubeau@redhat.com>
Sylvain Bellemare <sylvain.bellemare@ezeep.com>
Sébastien <sebastien@yoozio.com>
Sébastien Luttringer <seblu@seblu.net>
Sébastien Stormacq <sebsto@users.noreply.github.com>
tang0th <tang0th@gmx.com>
Tangi COLIN <tangicolin@gmail.com>
Tatsuki Sugiura <sugi@nemui.org>
Tatsushi Inagaki <e29253@jp.ibm.com>
Ted M. Young <tedyoung@gmail.com>
Tehmasp Chaudhri <tehmasp@gmail.com>
Tejesh Mehta <tejesh.mehta@gmail.com>
Thatcher Peskens <thatcher@docker.com>
theadactyl <thea.lamkin@gmail.com>
Thell 'Bo' Fowler <thell@tbfowler.name>
Thermionix <bond711@gmail.com>
Thijs Terlouw <thijsterlouw@gmail.com>
Thomas Bikeev <thomas.bikeev@mac.com>
@@ -683,8 +910,11 @@ Thomas Hansen <thomas.hansen@gmail.com>
Thomas LEVEIL <thomasleveil@gmail.com>
Thomas Orozco <thomas@orozco.fr>
Thomas Schroeter <thomas@cliqz.com>
Thomas Sjögren <konstruktoid@users.noreply.github.com>
Thomas Texier <sharkone@en-mousse.org>
Tianon Gravi <admwiggin@gmail.com>
Tibor Vass <teabee89@gmail.com>
Tiffany Low <tiffany@box.com>
Tim Bosse <taim@bosboot.org>
Tim Hockin <thockin@google.com>
Tim Ruffles <oi@truffles.me.uk>
@@ -698,6 +928,7 @@ Tobias Gesellchen <tobias@gesellix.de>
Tobias Schmidt <ts@soundcloud.com>
Tobias Schwab <tobias.schwab@dynport.de>
Todd Lunter <tlunter@gmail.com>
Todd Whiteman <todd.whiteman@joyent.com>
Tom Fotherby <tom+github@peopleperhour.com>
Tom Hulihan <hulihan.tom159@gmail.com>
Tom Maaswinkel <tom.maaswinkel@12wiki.eu>
@@ -705,16 +936,22 @@ Tomas Tomecek <ttomecek@redhat.com>
Tomasz Lipinski <tlipinski@users.noreply.github.com>
Tomasz Nurkiewicz <nurkiewicz@gmail.com>
Tommaso Visconti <tommaso.visconti@gmail.com>
Tomáš Hrčka <thrcka@redhat.com>
Tonis Tiigi <tonistiigi@gmail.com>
Tonny Xu <tonny.xu@gmail.com>
Tony Daws <tony@daws.ca>
Tony Miller <mcfiredrill@gmail.com>
Torstein Husebø <torstein@huseboe.net>
tpng <benny.tpng@gmail.com>
Travis Cline <travis.cline@gmail.com>
Travis Thieman <travis.thieman@gmail.com>
Trent Ogren <tedwardo2@gmail.com>
Tristan Carel <tristan.carel@gmail.com>
Tyler Brock <tyler.brock@gmail.com>
Tzu-Jung Lee <roylee17@gmail.com>
Ulysse Carion <ulyssecarion@gmail.com>
unknown <sebastiaan@ws-key-sebas3.dpi1.dpi>
vagrant <vagrant@ubuntu-14.04-amd64-vbox>
Vaidas Jablonskis <jablonskis@gmail.com>
vgeta <gopikannan.venugopalsamy@gmail.com>
Victor Coisne <victor.coisne@dotcloud.com>
@@ -725,6 +962,7 @@ Viktor Vojnovski <viktor.vojnovski@amadeus.com>
Vincent Batts <vbatts@redhat.com>
Vincent Bernat <bernat@luffy.cx>
Vincent Bernat <Vincent.Bernat@exoscale.ch>
Vincent Demeester <vincent@sbr.pm>
Vincent Giersch <vincent.giersch@ovh.net>
Vincent Mayers <vincent.mayers@inbloom.org>
Vincent Woo <me@vincentwoo.com>
@@ -738,6 +976,7 @@ Vivek Goyal <vgoyal@redhat.com>
Vladimir Bulyga <xx@ccxx.cc>
Vladimir Kirillov <proger@wilab.org.ua>
Vladimir Rutsky <altsysrq@gmail.com>
VladimirAus <v_roudakov@yahoo.com>
Vojtech Vitek (V-Teq) <vvitek@redhat.com>
waitingkuo <waitingkuo0527@gmail.com>
Walter Leibbrandt <github@wrl.co.za>
@@ -745,25 +984,46 @@ Walter Stanish <walter@pratyeka.org>
Ward Vandewege <ward@jhvc.com>
WarheadsSE <max@warheads.net>
Wayne Chang <wayne@neverfear.org>
Wei-Ting Kuo <waitingkuo0527@gmail.com>
Wes Morgan <cap10morgan@gmail.com>
Will Dietz <w@wdtz.org>
Will Rouesnel <w.rouesnel@gmail.com>
Will Weaver <monkey@buildingbananas.com>
willhf <willhf@gmail.com>
William Delanoue <william.delanoue@gmail.com>
William Henry <whenry@redhat.com>
William Riancho <wr.wllm@gmail.com>
William Thurston <thurstw@amazon.com>
WiseTrem <shepelyov.g@gmail.com>
wlan0 <sidharthamn@gmail.com>
Wolfgang Powisch <powo@powo.priv.at>
wonderflow <wonderflow.sun@gmail.com>
xamyzhao <x.amy.zhao@gmail.com>
XiaoBing Jiang <s7v7nislands@gmail.com>
Xinzi Zhou <imdreamrunner@gmail.com>
Xiuming Chen <cc@cxm.cc>
xuzhaokui <cynicholas@gmail.com>
y00277921 <yuchangchun1@huawei.com>
Yahya <ya7yaz@gmail.com>
YAMADA Tsuyoshi <tyamada@minimum2scp.org>
Yan Feng <yanfeng2@huawei.com>
Yang Bai <hamo.by@gmail.com>
Yasunori Mahata <nori@mahata.net>
Yestin Sun <sunyi0804@gmail.com>
Yihang Ho <hoyihang5@gmail.com>
Yohei Ueda <yohei@jp.ibm.com>
Yongzhi Pan <panyongzhi@gmail.com>
Yuan Sun <sunyuan3@huawei.com>
Yurii Rashkovskii <yrashk@gmail.com>
Zac Dover <zdover@redhat.com>
Zach Borboa <zachborboa@gmail.com>
Zain Memon <zain@inzain.net>
Zaiste! <oh@zaiste.net>
Zane DeGraffenried <zane.deg@gmail.com>
Zefan Li <lizefan@huawei.com>
Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
Zhang Wei <zhangwei555@huawei.com>
Zhang Wentao <zhangwentao234@huawei.com>
Zilin Du <zilin.du@gmail.com>
zimbatm <zimbatm@zimbatm.com>
Zoltan Tombol <zoltan.tombol@gmail.com>
+385 -10
View File
@@ -1,5 +1,380 @@
# Changelog
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
be found.
## 1.9.1
## Runtime
- Do not prevent daemon from booting if images could not be restored (#17695)
- Force IPC mount to unmount on daemon shutdown/init (#17539)
- Turn IPC unmount errors into warnings (#17554)
- Fix `docker stats` performance regression (#17638)
- Clarify cryptic error message upon `docker logs` if `--log-driver=none` (#17767)
- Fix seldom panics (#17639, #17634, #17703)
- Fix opq whiteouts problems for files with dot prefix (#17819)
- devicemapper: try defaulting to xfs instead of ext4 for performance reasons (#17903, #17918)
- devicemapper: fix displayed fs in docker info (#17974)
- selinux: only relabel if user requested so with the `z` option (#17450, #17834)
- Do not make network calls when normalizing names (#18014)
## Client
- Fix `docker login` on windows (#17738)
- Fix bug with `docker inspect` output when not connected to daemon (#17715)
- Fix `docker inspect -f {{.HostConfig.Dns}} somecontainer` (#17680)
## Builder
- Fix regression with symlink behavior in ADD/COPY (#17710)
## Networking
- Allow passing a network ID as an argument for `--net` (#17558)
- Fix connect to host and prevent disconnect from host for `host` network (#17476)
- Fix `--fixed-cidr` issue when gateway ip falls in ip-range and ip-range is
not the first block in the network (#17853)
- Restore deterministic `IPv6` generation from `MAC` address on default `bridge` network (#17890)
- Allow port-mapping only for endpoints created on docker run (#17858)
- Fixed an endpoint delete issue with a possible stale sbox (#18102)
## Distribution
- Correct parent chain in v2 push when v1Compatibility files on the disk are inconsistent (#18047)
## 1.9.0 (2015-11-03)
## Runtime
+ `docker stats` now returns block IO metrics (#15005)
+ `docker stats` now details network stats per interface (#15786)
+ Add `ancestor=<image>` filter to `docker ps --filter` flag to filter
containers based on their ancestor images (#14570)
+ Add `label=<somelabel>` filter to `docker ps --filter` to filter containers
based on label (#16530)
+ Add `--kernel-memory` flag to `docker run` (#14006)
+ Add `--message` flag to `docker import` allowing to specify an optional
message (#15711)
+ Add `--privileged` flag to `docker exec` (#14113)
+ Add `--stop-signal` flag to `docker run` allowing to replace the container
process stopping signal (#15307)
+ Add a new `unless-stopped` restart policy (#15348)
+ Inspecting an image now returns tags (#13185)
+ Add container size information to `docker inspect` (#15796)
+ Add `RepoTags` and `RepoDigests` field to `/images/{name:.*}/json` (#17275)
- Remove the deprecated `/container/ps` endpoint from the API (#15972)
- Send and document correct HTTP codes for `/exec/<name>/start` (#16250)
- Share shm and mqueue between containers sharing IPC namespace (#15862)
- Event stream now shows OOM status when `--oom-kill-disable` is set (#16235)
- Ensure special network files (/etc/hosts etc.) are read-only if bind-mounted
with `ro` option (#14965)
- Improve `rmi` performance (#16890)
- Do not update /etc/hosts for the default bridge network, except for links (#17325)
- Fix conflict with duplicate container names (#17389)
- Fix an issue with incorrect template execution in `docker inspect` (#17284)
- DEPRECATE `-c` short flag variant for `--cpu-shares` in docker run (#16271)
## Client
+ Allow `docker import` to import from local files (#11907)
## Builder
+ Add a `STOPSIGNAL` Dockerfile instruction allowing to set a different
stop-signal for the container process (#15307)
+ Add an `ARG` Dockerfile instruction and a `--build-arg` flag to `docker build`
that allows to add build-time environment variables (#15182)
- Improve cache miss performance (#16890)
## Storage
- devicemapper: Implement deferred deletion capability (#16381)
## Networking
+ `docker network` exits experimental and is part of standard release (#16645)
+ New network top-level concept, with associated subcommands and API (#16645)
WARNING: the API is different from the experimental API
+ Support for multiple isolated/micro-segmented networks (#16645)
+ Built-in multihost networking using VXLAN based overlay driver (#14071)
+ Support for third-party network plugins (#13424)
+ Ability to dynamically connect containers to multiple networks (#16645)
+ Support for user-defined IP address management via pluggable IPAM drivers (#16910)
+ Add daemon flags `--cluster-store` and `--cluster-advertise` for built-in nodes discovery (#16229)
+ Add `--cluster-store-opt` for setting up TLS settings (#16644)
+ Add `--dns-opt` to the daemon (#16031)
- DEPRECATE following container `NetworkSettings` fields in API v1.21: `EndpointID`, `Gateway`,
`GlobalIPv6Address`, `GlobalIPv6PrefixLen`, `IPAddress`, `IPPrefixLen`, `IPv6Gateway` and `MacAddress`.
Those are now specific to the `bridge` network. Use `NetworkSettings.Networks` to inspect
the networking settings of a container per network.
## Volumes
+ New top-level `volume` subcommand and API (#14242)
- Move API volume driver settings to host-specific config (#15798)
- Print an error message if volume name is not unique (#16009)
- Ensure volumes created from Dockerfiles always use the local volume driver
(#15507)
- DEPRECATE auto-creating missing host paths for bind mounts (#16349)
## Logging
+ Add `awslogs` logging driver for Amazon CloudWatch (#15495)
+ Add generic `tag` log option to allow customizing container/image
information passed to driver (e.g. show container names) (#15384)
- Implement the `docker logs` endpoint for the journald driver (#13707)
- DEPRECATE driver-specific log tags (e.g. `syslog-tag`, etc.) (#15384)
## Distribution
+ `docker search` now works with partial names (#16509)
- Push optimization: avoid buffering to file (#15493)
- The daemon will display progress for images that were already being pulled
by another client (#15489)
- Only permissions required for the current action being performed are requested (#)
+ Renaming trust keys (and respective environment variables) from `offline` to
`root` and `tagging` to `repository` (#16894)
- DEPRECATE trust key environment variables
`DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE` and
`DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE` (#16894)
## Security
+ Add SELinux profiles to the rpm package (#15832)
- Fix various issues with AppArmor profiles provided in the deb package
(#14609)
- Add AppArmor policy that prevents writing to /proc (#15571)
## 1.8.3 (2015-10-12)
### Distribution
- Fix layer IDs lead to local graph poisoning (CVE-2014-8178)
- Fix manifest validation and parsing logic errors allow pull-by-digest validation bypass (CVE-2014-8179)
+ Add `--disable-legacy-registry` to prevent a daemon from using a v1 registry
## 1.8.2 (2015-09-10)
### Distribution
- Fixes rare edge case of handling GNU LongLink and LongName entries.
- Fix ^C on docker pull.
- Fix docker pull issues on client disconnection.
- Fix issue that caused the daemon to panic when loggers weren't configured properly.
- Fix goroutine leak pulling images from registry V2.
### Runtime
- Fix a bug mounting cgroups for docker daemons running inside docker containers.
- Initialize log configuration properly.
### Client:
- Handle `-q` flag in `docker ps` properly when there is a default format.
### Networking
- Fix several corner cases with netlink.
### Contrib
- Fix several issues with bash completion.
## 1.8.1 (2015-08-12)
### Distribution
* Fix a bug where pushing multiple tags would result in invalid images
## 1.8.0 (2015-08-11)
### Distribution
+ Trusted pull, push and build, disabled by default
* Make tar layers deterministic between registries
* Don't allow deleting the image of running containers
* Check if a tag name to load is a valid digest
* Allow one character repository names
* Add a more accurate error description for invalid tag name
* Make build cache ignore mtime
### Cli
+ Add support for DOCKER_CONFIG/--config to specify config file dir
+ Add --type flag for docker inspect command
+ Add formatting options to `docker ps` with `--format`
+ Replace `docker -d` with new subcommand `docker daemon`
* Zsh completion updates and improvements
* Add some missing events to bash completion
* Support daemon urls with base paths in `docker -H`
* Validate status= filter to docker ps
* Display when a container is in --net=host in docker ps
* Extend docker inspect to export image metadata related to graph driver
* Restore --default-gateway{,-v6} daemon options
* Add missing unpublished ports in docker ps
* Allow duration strings in `docker events` as --since/--until
* Expose more mounts information in `docker inspect`
### Runtime
+ Add new Fluentd logging driver
+ Allow `docker import` to load from local files
+ Add logging driver for GELF via UDP
+ Allow to copy files from host to containers with `docker cp`
+ Promote volume drivers from experimental to master
+ Add rollover options to json-file log driver, and --log-driver-opts flag
+ Add memory swappiness tuning options
* Remove cgroup read-only flag when privileged
* Make /proc, /sys, & /dev readonly for readonly containers
* Add cgroup bind mount by default
* Overlay: Export metadata for container and image in `docker inspect`
* Devicemapper: external device activation
* Devicemapper: Compare uuid of base device on startup
* Remove RC4 from the list of registry cipher suites
* Add syslog-facility option
* LXC execdriver compatibility with recent LXC versions
* Mark LXC execriver as deprecated (to be removed with the migration to runc)
### Plugins
* Separate plugin sockets and specs locations
* Allow TLS connections to plugins
### Bug fixes
- Add missing 'Names' field to /containers/json API output
- Make `docker rmi` of dangling images safe while pulling
- Devicemapper: Change default basesize to 100G
- Go Scheduler issue with sync.Mutex and gcc
- Fix issue where Search API endpoint would panic due to empty AuthConfig
- Set image canonical names correctly
- Check dockerinit only if lxc driver is used
- Fix ulimit usage of nproc
- Always attach STDIN if -i,--interactive is specified
- Show error messages when saving container state fails
- Fixed incorrect assumption on --bridge=none treated as disable network
- Check for invalid port specifications in host configuration
- Fix endpoint leave failure for --net=host mode
- Fix goroutine leak in the stats API if the container is not running
- Check for apparmor file before reading it
- Fix DOCKER_TLS_VERIFY being ignored
- Set umask to the default on startup
- Correct the message of pause and unpause a non-running container
- Adjust disallowed CpuShares in container creation
- ZFS: correctly apply selinux context
- Display empty string instead of <nil> when IP opt is nil
- `docker kill` returns error when container is not running
- Fix COPY/ADD quoted/json form
- Fix goroutine leak on logs -f with no output
- Remove panic in nat package on invalid hostport
- Fix container linking in Fedora 22
- Fix error caused using default gateways outside of the allocated range
- Format times in inspect command with a template as RFC3339Nano
- Make registry client to accept 2xx and 3xx http status responses as successful
- Fix race issue that caused the daemon to crash with certain layer downloads failed in a specific order.
- Fix error when the docker ps format was not valid.
- Remove redundant ip forward check.
- Fix issue trying to push images to repository mirrors.
- Fix error cleaning up network entrypoints when there is an initialization issue.
## 1.7.1 (2015-07-14)
#### Runtime
- Fix default user spawning exec process with `docker exec`
- Make `--bridge=none` not to configure the network bridge
- Publish networking stats properly
- Fix implicit devicemapper selection with static binaries
- Fix socket connections that hung intermittently
- Fix bridge interface creation on CentOS/RHEL 6.6
- Fix local dns lookups added to resolv.conf
- Fix copy command mounting volumes
- Fix read/write privileges in volumes mounted with --volumes-from
#### Remote API
- Fix unmarshalling of Command and Entrypoint
- Set limit for minimum client version supported
- Validate port specification
- Return proper errors when attach/reattach fail
#### Distribution
- Fix pulling private images
- Fix fallback between registry V2 and V1
## 1.7.0 (2015-06-16)
#### Runtime
+ Experimental feature: support for out-of-process volume plugins
* The userland proxy can be disabled in favor of hairpin NAT using the daemons `--userland-proxy=false` flag
* The `exec` command supports the `-u|--user` flag to specify the new process owner
+ Default gateway for containers can be specified daemon-wide using the `--default-gateway` and `--default-gateway-v6` flags
+ The CPU CFS (Completely Fair Scheduler) quota can be set in `docker run` using `--cpu-quota`
+ Container block IO can be controlled in `docker run` using`--blkio-weight`
+ ZFS support
+ The `docker logs` command supports a `--since` argument
+ UTS namespace can be shared with the host with `docker run --uts=host`
#### Quality
* Networking stack was entirely rewritten as part of the libnetwork effort
* Engine internals refactoring
* Volumes code was entirely rewritten to support the plugins effort
+ Sending SIGUSR1 to a daemon will dump all goroutines stacks without exiting
#### Build
+ Support ${variable:-value} and ${variable:+value} syntax for environment variables
+ Support resource management flags `--cgroup-parent`, `--cpu-period`, `--cpu-quota`, `--cpuset-cpus`, `--cpuset-mems`
+ git context changes with branches and directories
* The .dockerignore file support exclusion rules
#### Distribution
+ Client support for v2 mirroring support for the official registry
#### Bugfixes
* Firewalld is now supported and will automatically be used when available
* mounting --device recursively
## 1.6.2 (2015-05-13)
#### Runtime
- Revert change prohibiting mounting into /sys
## 1.6.1 (2015-05-07)
#### Security
- Fix read/write /proc paths (CVE-2015-3630)
- Prohibit VOLUME /proc and VOLUME / (CVE-2015-3631)
- Fix opening of file-descriptor 1 (CVE-2015-3627)
- Fix symlink traversal on container respawn allowing local privilege escalation (CVE-2015-3629)
- Prohibit mount of /sys
#### Runtime
- Update AppArmor policy to not allow mounts
## 1.6.0 (2015-04-07)
#### Builder
+ Building images from an image ID
+ Build containers with resource constraints, ie `docker build --cpu-shares=100 --memory=1024m...`
+ `commit --change` to apply specified Dockerfile instructions while committing the image
+ `import --change` to apply specified Dockerfile instructions while importing the image
+ Builds no longer continue in the background when canceled with CTRL-C
#### Client
+ Windows Support
#### Runtime
+ Container and image Labels
+ `--cgroup-parent` for specifying a parent cgroup to place container cgroup within
+ Logging drivers, `json-file`, `syslog`, or `none`
+ Pulling images by ID
+ `--ulimit` to set the ulimit on a container
+ `--default-ulimit` option on the daemon which applies to all created containers (and overwritten by `--ulimit` on run)
## 1.5.0 (2015-02-10)
#### Builder
@@ -49,7 +424,7 @@
#### Notable Features since 1.3.0
+ Set key=value labels to the daemon (displayed in `docker info`), applied with
new `-label` daemon flag
+ Add support for `ENV` in Dockerfile of the form:
+ Add support for `ENV` in Dockerfile of the form:
`ENV name=value name2=value2...`
+ New Overlayfs Storage Driver
+ `docker info` now returns an `ID` and `Name` field
@@ -272,7 +647,7 @@
#### Hack
* Clean up "go test" output from "make test" to be much more readable/scannable.
* Excluse more "definitely not unit tested Go source code" directories from hack/make/test.
* Exclude more "definitely not unit tested Go source code" directories from hack/make/test.
+ Generate md5 and sha256 hashes when building, and upload them via hack/release.sh.
- Include contributed completions in Ubuntu PPA.
+ Add cli integration tests.
@@ -511,7 +886,7 @@
- Fix broken images API for version less than 1.7
- Use the right encoding for all API endpoints which return JSON
- Move remote api client to api/
- Queue calls to the API using generic socket wait
- Queue calls to the API using generic socket wait
#### Runtime
@@ -552,7 +927,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
* The ADD instruction now supports caching, which avoids unnecessarily re-uploading the same source content again and again when it hasnt changed
* The new ONBUILD instruction adds to your image a “trigger” instruction to be executed at a later time, when the image is used as the base for another build
* Docker now ships with an experimental storage driver which uses the BTRFS filesystem for copy-on-write
* Docker is officially supported on Mac OSX
* Docker is officially supported on Mac OS X
* The Docker daemon supports systemd socket activation
## 0.7.6 (2014-01-14)
@@ -591,7 +966,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
- Do not add hostname when networking is disabled
* Return most recent image from the cache by date
- Return all errors from docker wait
* Add Content-Type Header "application/json" to GET /version and /info responses
* Add Content-Type Header "application/json" to GET /version and /info responses
#### Other
@@ -606,12 +981,12 @@ With the ongoing changes to the networking and execution subsystems of docker te
- Fix ADD caching issue with . prefixed path
- Fix docker build on devicemapper by reverting sparse file tar option
- Fix issue with file caching and prevent wrong cache hit
* Use same error handling while unmarshalling CMD and ENTRYPOINT
* Use same error handling while unmarshalling CMD and ENTRYPOINT
#### Documentation
* Simplify and streamline Amazon Quickstart
* Install instructions use unprefixed fedora image
* Install instructions use unprefixed Fedora image
* Update instructions for mtu flag for Docker on GCE
+ Add Ubuntu Saucy to installation
- Fix for wrong version warning on master instead of latest
@@ -619,7 +994,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
#### Runtime
- Only get the image's rootfs when we need to calculate the image size
- Correctly handle unmapping UDP ports
- Correctly handle unmapping UDP ports
* Make CopyFileWithTar use a pipe instead of a buffer to save memory on docker build
- Fix login message to say pull instead of push
- Fix "docker load" help by removing "SOURCE" prompt and mentioning STDIN
@@ -786,7 +1161,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
* Improve unit tests
* The test suite now runs all tests even if one fails
* Refactor C in Go (Devmapper)
- Fix OSX compilation
- Fix OS X compilation
## 0.7.0 (2013-11-25)
@@ -804,7 +1179,7 @@ With the ongoing changes to the networking and execution subsystems of docker te
#### Runtime
* Improve stability, fixes some race conditons
* Improve stability, fixes some race conditions
* Skip the volumes mounted when deleting the volumes of container.
* Fix layer size computation: handle hard links correctly
* Use the work Path for docker cp CONTAINER:PATH
+69 -18
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/project/who-written-for/).
![Contributors guide](docs/sources/static_files/contributors.png)
![Contributors guide](docs/static_files/contributors.png)
This page contains information about reporting issues as well as some tips and
guidelines useful to experienced open source contributors. Finally, make sure
@@ -25,11 +25,11 @@ The Docker maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
Please **DO NOT** file a public issue, instead send your report privately to
[security@docker.com](mailto:security@docker.com),
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated and we will publicly thank you for it.
We also like to send gifts&mdash;if you're into Docker schwag make sure to let
us know We currently do not offer a paid security bounty program, but are not
We also like to send gifts&mdash;if you're into Docker schwag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
@@ -42,14 +42,17 @@ and will thank you for it!
Check that [our issue database](https://github.com/docker/docker/issues)
doesn't already include that problem or suggestion before submitting an issue.
If you find a match, add a quick "+1" or "I have this problem too." Doing this
helps prioritize the most common problems and requests.
helps prioritize the most common problems and requests. **DO NOT DO THAT** to
subscribe to the issue unless you have something meaningful to add to the
conversation. The best way to subscribe the issue is by clicking Subscribe
button in top right of the page.
When reporting issues, please include your host OS (Ubuntu 12.04, Fedora 19,
etc). Please include:
* The output of `uname -a`.
* The output of `docker version`.
* The output of `docker -D info`.
* The output of `docker info`.
Please also include the steps required to reproduce the problem if possible and
applicable. This information will help us review and fix your issue faster.
@@ -129,12 +132,12 @@ However, there might be a way to implement that feature *on top of* Docker.
<col width="45%">
<col width="65%">
<tr>
<td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</th>
<td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</td>
<td>
<p>
IRC 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>.
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
<a href="https://botbot.me/freenode/docker/#" target="_blank">our chat archives</a>.
</p>
@@ -146,9 +149,9 @@ However, there might be a way to implement that feature *on top of* Docker.
<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
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.
</td>
</tr>
@@ -156,15 +159,15 @@ However, there might be a way to implement that feature *on top of* Docker.
<td>Twitter</td>
<td>
You can follow <a href="https://twitter.com/docker/" target="_blank">Docker's Twitter feed</a>
to get updates on our products. You can also tweet us questions or just
to get updates on our products. You can also tweet us questions or just
share blogs or stories.
</td>
</tr>
<tr>
<td>Stack Overflow</td>
<td>
Stack Overflow has over 7000K Docker questions listed. We regularly
monitor <a href="http://stackoverflow.com/search?tab=newest&q=docker" target="_blank">Docker questions</a>
Stack Overflow has over 7000K Docker questions listed. We regularly
monitor <a href="https://stackoverflow.com/search?tab=newest&q=docker" target="_blank">Docker questions</a>
and so do many other knowledgeable Docker users.
</td>
</tr>
@@ -220,11 +223,11 @@ set of patches that should be reviewed together: for example, upgrading the
version of a vendored dependency and taking advantage of its now available new
feature constitute two separate units of work. Implementing a new function and
calling it in another file constitute a single logical unit of work. The very
high majory of submissions should have a single commit, so if in doubt: squash
high majority of submissions should have a single commit, so if in doubt: squash
down to one.
After every commit, [make sure the test suite passes]
((https://docs.docker.com/project/test-and-docs/)). Include documentation
(https://docs.docker.com/project/test-and-docs/). Include documentation
changes in the same pull request so that a revert would remove all traces of
the feature or fix.
@@ -234,6 +237,8 @@ close an issue. Including references automatically closes the issue on a merge.
Please do not add yourself to the `AUTHORS` file, as it is regenerated regularly
from the Git history.
Please see the [Coding Style](#coding-style) for further guidelines.
### Merge approval
Docker maintainers use LGTM (Looks Good To Me) in comments on the code review to
@@ -317,7 +322,7 @@ maintainer to make a difference on the project!
### IRC meetings
There are two monthly meetings taking place on #docker-dev IRC to accomodate all
There are two monthly meetings taking place on #docker-dev IRC to accommodate all
timezones. Anybody can propose a topic for discussion prior to the meeting.
If you feel the conversation is going off-topic, feel free to point it out.
@@ -385,3 +390,49 @@ do need a fair way to deal with people who are making our community suck.
appeals, we know that mistakes happen, and we'll work with you to come up with a
fair solution if there has been a misunderstanding.
## Coding Style
Unless explicitly stated, we follow all coding guidelines from the Go
community. While some of these standards may seem arbitrary, they somehow seem
to result in a solid, consistent codebase.
It is possible that the code base does not currently comply with these
guidelines. We are not looking for a massive PR that fixes this, since that
goes against the spirit of the guidelines. All new contributions should make a
best effort to clean up and make the code base better than they left it.
Obviously, apply your best judgement. Remember, the goal here is to make the
code base easier for humans to navigate and understand. Always keep that in
mind when nudging others to comply.
The rules:
1. All code should be formatted with `gofmt -s`.
2. All code should pass the default levels of
[`golint`](https://github.com/golang/lint).
3. All code should follow the guidelines covered in [Effective
Go](http://golang.org/doc/effective_go.html) and [Go Code Review
Comments](https://github.com/golang/go/wiki/CodeReviewComments).
4. Comment the code. Tell us the why, the history and the context.
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.
`noCommaALongVariableNameLikeThisIsNotMoreClearWhenASimpleCommentWouldDo`.
In practice, short methods will have short variable names and globals will
have longer names.
7. No underscores in package names. If you need a compound name, step back,
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
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
packages are acceptable if they provide _real_ incremental value.
10. Even though we call these "rules" above, they are actually just
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
kool-aid is a lot easier than going thirsty.
+84 -27
View File
@@ -19,29 +19,37 @@
# -e GPG_PASSPHRASE=gloubiboulga \
# docker hack/release.sh
#
# Note: Apparmor used to mess with privileged mode, but this is no longer
# 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 ubuntu:14.04
MAINTAINER Tianon Gravi <admwiggin@gmail.com> (@tianon)
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys E871F18B51E0147C77796AC81196BA81F6B0FC61
RUN echo deb http://ppa.launchpad.net/zfs-native/stable/ubuntu trusty main > /etc/apt/sources.list.d/zfs.list
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
aufs-tools \
automake \
bash-completion \
btrfs-tools \
build-essential \
createrepo \
curl \
dpkg-sig \
gcc-mingw-w64 \
git \
iptables \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
libsystemd-journal-dev \
mercurial \
parallel \
pkg-config \
python-mock \
python-pip \
python-websocket \
@@ -49,8 +57,17 @@ RUN apt-get update && apt-get install -y \
ruby1.9.1 \
ruby1.9.1-dev \
s3cmd=1.1.0* \
ubuntu-zfs \
xfsprogs \
libzfs-dev \
--no-install-recommends
# clr
RUN echo deb http://download.opensuse.org/repositories/home:/clearlinux:/preview/xUbuntu_15.04/ / > /etc/apt/sources.list.d/clear-containers-docker.list
RUN apt-get --allow-unauthenticated update && apt-get install -y --force-yes \
kvmtool\
linux-container
# Get lvm2 source for compiling statically
RUN git clone -b v2_02_103 https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
@@ -63,7 +80,7 @@ RUN cd /usr/local/lvm2 \
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Install lxc
ENV LXC_VERSION 1.0.7
ENV LXC_VERSION 1.1.2
RUN mkdir -p /usr/src/lxc \
&& curl -sSL https://linuxcontainers.org/downloads/lxc/lxc-${LXC_VERSION}.tar.gz | tar -v -C /usr/src/lxc/ -xz --strip-components=1
RUN cd /usr/src/lxc \
@@ -73,7 +90,7 @@ RUN cd /usr/src/lxc \
&& ldconfig
# Install Go
ENV GO_VERSION 1.4.2
ENV GO_VERSION 1.4.3
RUN curl -sSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/local -xz \
&& mkdir -p /go/bin
ENV PATH /go/bin:/usr/local/go/bin:$PATH
@@ -97,29 +114,54 @@ RUN cd /usr/local/go/src \
./make.bash --no-clean 2>&1; \
done
# We still support compiling with older Go, so need to grab older "gofmt"
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
# 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
# Update this sha when we upgrade to go 1.5.0
ENV GO_TOOLS_COMMIT 069d2f3bcb68257b627205f0486d6cc69a231ff9
# Grab Go's cover tool for dead-simple code coverage testing
RUN go get golang.org/x/tools/cmd/cover
# Grab Go's vet tool for examining go code to find suspicious constructs
# and help prevent errors that the compiler might not catch
RUN git clone https://github.com/golang/tools.git /go/src/golang.org/x/tools \
&& (cd /go/src/golang.org/x/tools && git checkout -q $GO_TOOLS_COMMIT) \
&& go install -v golang.org/x/tools/cmd/cover \
&& go install -v golang.org/x/tools/cmd/vet
# Grab Go's lint tool
ENV GO_LINT_COMMIT f42f5c1c440621302702cb0741e9d2ca547ae80f
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
# TODO replace FPM with some very minimal debhelper stuff
RUN gem install --no-rdoc --no-ri fpm --version 1.3.2
# Install registry
ENV REGISTRY_COMMIT d957768537c5af40e4f4cd96871f7b2bde9e2923
ENV REGISTRY_COMMIT ec87e9b6971d831f0eff752ddb54fb64693e51cd
RUN set -x \
&& git clone https://github.com/docker/distribution.git /go/src/github.com/docker/distribution \
&& (cd /go/src/github.com/docker/distribution && git checkout -q $REGISTRY_COMMIT) \
&& GOPATH=/go/src/github.com/docker/distribution/Godeps/_workspace:/go \
go build -o /go/bin/registry-v2 github.com/docker/distribution/cmd/registry
&& 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 server
ENV NOTARY_COMMIT 8e8122eb5528f621afcd4e2854c47302f17392f7
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") \
&& 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 \
&& rm -rf "$GOPATH"
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 91985b239764fe54714fa0a93d52aa362357d251
ENV DOCKER_PY_COMMIT 47ab89ec2bd3bddf1221b856ffbaff333edeabb4
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT
&& git checkout -q $DOCKER_PY_COMMIT \
&& pip install -r test-requirements.txt
# Setup s3cmd config
RUN { \
@@ -137,32 +179,47 @@ RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux btrfs_noversion
ENV DOCKER_BUILDTAGS apparmor 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.sh /go/src/github.com/docker/docker/contrib/
RUN ./contrib/download-frozen-image.sh /docker-frozen-images \
busybox:latest@4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125 \
hello-world:frozen@e45a5af57b00862e5ef5782a9925979a02ba2b12dff832fd0991335f4a11e5c5
busybox:latest@8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55 \
hello-world:frozen@91c95931e552b11604fea91c2f537284149ec32fff0f700a4769cfd31d7696ae \
jess/unshare@5c9f6ea50341a2a8eb6677527f2bdedbf331ae894a41714fda770fb130f3314d
# see also "hack/make/.ensure-frozen-images" (which needs to be updated any time this list is)
# Install man page generator
COPY vendor /go/src/github.com/docker/docker/vendor
# (copy vendor/ because go-md2man needs golang.org/x/net)
# Download man page generator
RUN set -x \
&& git clone -b v1.0.1 https://github.com/cpuguy83/go-md2man.git /go/src/github.com/cpuguy83/go-md2man \
&& git clone -b v1.2 https://github.com/russross/blackfriday.git /go/src/github.com/russross/blackfriday \
&& go install -v github.com/cpuguy83/go-md2man
&& export GOPATH="$(mktemp -d)" \
&& git clone -b v1.0.3 https://github.com/cpuguy83/go-md2man.git "$GOPATH/src/github.com/cpuguy83/go-md2man" \
&& git clone -b v1.2 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"
# install toml validator
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& git clone https://github.com/BurntSushi/toml.git /go/src/github.com/BurntSushi/toml \
&& (cd /go/src/github.com/BurntSushi/toml && git checkout -q $TOMLV_COMMIT) \
&& go install -v github.com/BurntSushi/toml/cmd/tomlv
&& 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"
# Build/install the tool for embedding resources in Windows binaries
ENV RSRC_COMMIT e48dbf1b7fc464a9e85fcec450dddf80816b76e0
RUN set -x \
&& git clone https://github.com/akavel/rsrc.git /go/src/github.com/akavel/rsrc \
&& cd /go/src/github.com/akavel/rsrc \
&& git checkout -q $RSRC_COMMIT \
&& go install -v
# Wrap all commands in the "docker-in-docker" script to allow nested containers
ENTRYPOINT ["hack/dind"]
+72
View File
@@ -0,0 +1,72 @@
# This file describes the standard way to build Docker, using docker
#
# Usage:
#
# # Assemble the full dev environment. This is slow the first time.
# docker build -t docker -f Dockerfile.gccgo .
#
FROM gcc:5.2
# Packaged dependencies
RUN apt-get update && apt-get install -y \
apparmor \
aufs-tools \
btrfs-tools \
build-essential \
curl \
git \
iptables \
net-tools \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
mercurial \
parallel \
python-mock \
python-pip \
python-websocket \
--no-install-recommends
# Get lvm2 source for compiling statically
RUN git clone -b v2_02_103 https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2
# see https://git.fedorahosted.org/cgit/lvm2.git/refs/tags for release tags
# Compile and install lvm2
RUN cd /usr/local/lvm2 \
&& ./configure --enable-static_link \
&& make device-mapper \
&& make install_device-mapper
# see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL
# Install lxc
ENV LXC_VERSION 1.1.2
RUN mkdir -p /usr/src/lxc \
&& curl -sSL https://linuxcontainers.org/downloads/lxc/lxc-${LXC_VERSION}.tar.gz | tar -v -C /usr/src/lxc/ -xz --strip-components=1
RUN cd /usr/src/lxc \
&& ./configure \
&& make \
&& make install \
&& ldconfig
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 139850f3f3b17357bab5ba3edfb745fb14043764
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT
# Add an unprivileged user to be used for tests which need it
RUN groupadd -r docker
RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux
# 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
+1
View File
@@ -23,6 +23,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
e2fsprogs \
iptables \
procps \
xfsprogs \
xz-utils \
\
aufs-tools \
+2 -2
View File
@@ -1,7 +1,7 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
@@ -182,7 +182,7 @@
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
+152 -194
View File
@@ -37,7 +37,7 @@ project from a great one.
text = """
Docker follows the timeless, highly efficient and totally unfair system
known as [Benevolent dictator for
life](http://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), with
life](https://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), with
yours truly, Solomon Hykes, in the role of BDFL. This means that all
decisions are made, by default, by Solomon. Since making every decision
myself would be highly un-scalable, in practice decisions are spread
@@ -113,7 +113,7 @@ It is the responsibility of the subsystem maintainers to process patches affecti
manner.
* If the change affects areas of the code which are not part of a subsystem,
or if subsystem maintainers are unable to reach a timely decision, it must be approved by
or if subsystem maintainers are unable to reach a timely decision, it must be approved by
the core maintainers.
* If the change affects the UI or public APIs, or if it represents a major change in architecture,
@@ -124,98 +124,8 @@ the relevant operators.
* If the change affects the governance, philosophy, goals or principles of the project,
it must be approved by BDFL.
* A pull request can be in 1 of 5 distinct states, for each of which there is a corresponding label
that needs to be applied. `Rules.review.states` contains the list of states with possible targets
for each.
"""
# Triage
[Rules.review.states.0-triage]
# Maintainers are expected to triage new incoming pull requests by removing
# the `0-triage` label and adding the correct labels (e.g. `1-design-review`)
# potentially skipping some steps depending on the kind of pull request.
# Use common sense for judging.
#
# Checking for DCO should be done at this stage.
#
# If an owner, responsible for closing or merging, can be assigned to the PR,
# the better.
close = "e.g. unresponsive contributor without DCO"
3-docs-review = "non-proposal documentation-only change"
2-code-review = "e.g. trivial bugfix"
1-design-review = "general case"
# Design review
[Rules.review.states.1-design-review]
# Maintainers are expected to comment on the design of the pull request.
# Review of documentation is expected only in the context of design validation,
# not for stylistic changes.
#
# Ideally, documentation should reflect the expected behavior of the code.
# No code review should take place in this step.
#
# Once design is approved, a maintainer should make sure to remove this label
# and add the next one.
close = "design rejected"
3-docs-review = "proposals with only documentation changes"
2-code-review = "general case"
# Code review
[Rules.review.states.2-code-review]
# Maintainers are expected to review the code and ensure that it is good
# quality and in accordance with the documentation in the PR.
#
# If documentation is absent but expected, maintainers should ask for documentation.
#
# All tests should pass.
#
# Once code is approved according to the rules of the subsystem, a maintainer
# should make sure to remove this label and add the next one.
close = ""
1-design-review = "raises design concerns"
4-merge = "trivial change not impacting documentation"
3-docs-review = "general case"
# Docs review
[Rules.review.states.3-docs-review]
# Maintainers are expected to review the documentation in its bigger context,
# ensuring consistency, completeness, validity, and breadth of coverage across
# all extent and new documentation.
#
# They should ask for any editorial change that makes the documentation more
# consistent and easier to understand.
#
# Once documentation is approved (see below), a maintainer should make sure to remove this
# label and add the next one.
close = ""
2-code-review = "requires more code changes"
1-design-review = "raises design concerns"
4-merge = "general case"
# Docs approval
[Rules.review.docs-approval]
# Changes and additions to docs must be reviewed and approved (LGTM'd) by a minimum of two docs sub-project maintainers.
# If the docs change originates with a docs maintainer, only one additional LGTM is required (since we assume a docs maintainer approves of their own PR).
# Merge
[Rules.review.states.4-merge]
# Maintainers are expected to merge this pull request as soon as possible.
# They can ask for a rebase, or carry the pull request themselves.
# These should be the easy PRs to merge.
close = "carry PR"
merge = ""
[Rules.DCO]
title = "Helping contributors with the DCO"
@@ -231,7 +141,7 @@ editor, and thus asking them to `git commit --amend -s` is not the best way forw
In this case, maintainers can update the commits based on clause (c) of the DCO. The
most trivial way for a contributor to allow the maintainer to do this, is to add
a DCO signature in a Pull Requests's comment, or a maintainer can simply note that
the change is sufficiently trivial that it does not substantivly change the existing
the change is sufficiently trivial that it does not substantially change the existing
contribution - i.e., a spelling change.
When you add someone's DCO, please also add your own to keep a log.
@@ -268,21 +178,11 @@ made through a pull request.
# The chief architect is responsible for the overall integrity of the technical architecture
# across all subsystems, and the consistency of APIs and UI.
#
#
# Changes to UI, public APIs and overall architecture (for example a plugin system) must
# be approved by the chief architect.
"Chief Architect" = "shykes"
# The Chief Operator is responsible for the day-to-day operations of the project including:
# - facilitating communications amongst all the contributors;
# - tracking release schedules;
# - managing the relationship with downstream distributions and upstream dependencies;
# - helping new contributors to get involved and become successful contributors and maintainers
#
# The role is also responsible for managing and measuring the success of the overall project
# and ensuring it is governed properly working in concert with the Docker Governance Advisory Board (DGAB).
"Chief Operator" = "spf13"
[Org.Operators]
# The operators make sure the trains run on time. They are responsible for overall operations
@@ -296,7 +196,9 @@ made through a pull request.
[Org.Operators.security]
people = [
"erw"
"erw",
"diogomonica",
"nathanmccauley"
]
[Org.Operators."monthly meetings"]
@@ -313,13 +215,29 @@ made through a pull request.
"crosbymichael"
]
[Org.Operators.community]
people = [
"theadactyl"
]
# The chief maintainer is responsible for all aspects of quality for the project including
# code reviews, usability, stability, security, performance, etc.
# code reviews, usability, stability, security, performance, etc.
# The most important function of the chief maintainer is to lead by example. On the first
# day of a new maintainer, the best advice should be "follow the C.M.'s example and you'll
# be fine".
"Chief Maintainer" = "crosbymichael"
# The community manager is responsible for serving the project community, including users,
# contributors and partners. This involves:
# - facilitating communication between maintainers, contributors and users
# - organizing contributor and maintainer events
# - helping new contributors get involved
# - anything the project community needs to be successful
#
# The community manager is a point of contact for any contributor who has questions, concerns
# or feedback about project operations.
"Community Manager" = "theadactyl"
[Org."Core maintainers"]
# The Core maintainers are the ghostbusters of the project: when there's a problem others
@@ -336,103 +254,102 @@ made through a pull request.
#
# It is common for core maintainers to "branch out" to join or start a subsystem.
people = [
"unclejack",
"calavera",
"crosbymichael",
"erikh",
"estesp",
"icecrime",
"jfrazelle",
"lk4d4",
"runcom",
"tibor",
"unclejack",
"vbatts",
"vdemeester",
"vieux",
"vishh"
]
[Org.Subsystems]
# As the project grows, it gets separated into well-defined subsystems. Each subsystem
# has a dedicated group of maintainers, which are dedicated to that subsytem and responsible
# for its quality.
# This "cellular division" is the primary mechanism for scaling maintenance of the project as it grows.
#
#
# The maintainers of each subsytem are responsible for:
#
#
# 1. Exposing a clear road map for improving their subsystem.
# 2. Deliver prompt feedback and decisions on pull requests affecting their subsystem.
# 3. Be available to anyone with questions, bug reports, criticism etc.
# on their component. This includes IRC, GitHub requests and the mailing
# list.
# on their component. This includes IRC, GitHub requests and the mailing
# list.
# 4. Make sure their subsystem respects the philosophy, design and
# road map of the project.
# road map of the project.
#
# #### How to review patches to your subsystem
#
#
# Accepting pull requests:
#
# - If the pull request appears to be ready to merge, give it a `LGTM`, which
# stands for "Looks Good To Me".
# - If the pull request has some small problems that need to be changed, make
# a comment adressing the issues.
# - If the changes needed to a PR are small, you can add a "LGTM once the
# following comments are adressed..." this will reduce needless back and
# forth.
# - If the PR only needs a few changes before being merged, any MAINTAINER can
# make a replacement PR that incorporates the existing commits and fixes the
# problems before a fast track merge.
#
#
# - If the pull request appears to be ready to merge, give it a `LGTM`, which
# stands for "Looks Good To Me".
# - If the pull request has some small problems that need to be changed, make
# a comment adressing the issues.
# - If the changes needed to a PR are small, you can add a "LGTM once the
# following comments are addressed..." this will reduce needless back and
# forth.
# - If the PR only needs a few changes before being merged, any MAINTAINER can
# make a replacement PR that incorporates the existing commits and fixes the
# problems before a fast track merge.
#
# Closing pull requests:
#
# - If a PR appears to be abandoned, after having attempted to contact the
# original contributor, then a replacement PR may be made. Once the
# replacement PR is made, any contributor may close the original one.
# - If you are not sure if the pull request implements a good feature or you
# do not understand the purpose of the PR, ask the contributor to provide
# more documentation. If the contributor is not able to adequately explain
# the purpose of the PR, the PR may be closed by any MAINTAINER.
# - If a MAINTAINER feels that the pull request is sufficiently architecturally
# flawed, or if the pull request needs significantly more design discussion
# before being considered, the MAINTAINER should close the pull request with
# a short explanation of what discussion still needs to be had. It is
# important not to leave such pull requests open, as this will waste both the
# MAINTAINER's time and the contributor's time. It is not good to string a
# contributor on for weeks or months, having them make many changes to a PR
# that will eventually be rejected.
#
# - If a PR appears to be abandoned, after having attempted to contact the
# original contributor, then a replacement PR may be made. Once the
# replacement PR is made, any contributor may close the original one.
# - If you are not sure if the pull request implements a good feature or you
# do not understand the purpose of the PR, ask the contributor to provide
# more documentation. If the contributor is not able to adequately explain
# the purpose of the PR, the PR may be closed by any MAINTAINER.
# - If a MAINTAINER feels that the pull request is sufficiently architecturally
# flawed, or if the pull request needs significantly more design discussion
# before being considered, the MAINTAINER should close the pull request with
# a short explanation of what discussion still needs to be had. It is
# important not to leave such pull requests open, as this will waste both the
# MAINTAINER's time and the contributor's time. It is not good to string a
# contributor on for weeks or months, having them make many changes to a PR
# that will eventually be rejected.
[Org.Subsystems.Documentation]
people = [
"fredlf",
"james",
"sven",
"spf13",
"mary"
"moxiegirl",
"thaJeztah",
"jamtur01",
"sven"
]
[Org.Subsystems.libcontainer]
people = [
"crosbymichael",
"vmarmol",
"mpatel",
"jnagal",
"lk4d4"
"lk4d4",
"mpatel",
"vmarmol"
]
[Org.Subsystems.registry]
people = [
"dmcg",
"dmp42",
"vbatts",
"joffrey",
"jlhawn",
"samalba",
"sday",
"jlhawn",
"dmcg"
"vbatts"
]
[Org.Subsystems."build tools"]
@@ -471,11 +388,27 @@ made through a pull request.
[Org.Subsystem.builder]
people = [
"duglin",
"erikh",
"tibor",
"duglin"
"tibor"
]
[Org.Curators]
# The curators help ensure that incoming issues and pull requests are properly triaged and
# that our various contribution and reviewing processes are respected. With their knowledge of
# the repository activity, they can also guide contributors to relevant material or
# discussions.
#
# They are neither code nor docs reviewers, so they are never expected to merge. They can
# however:
# - close an issue or pull request when it's an exact duplicate
# - close an issue or pull request when it's inappropriate or off-topic
people = [
"thajeztah"
]
[people]
@@ -500,11 +433,26 @@ made through a pull request.
Email = "ben@firshman.co.uk"
GitHub = "bfirsh"
[people.calavera]
Name = "David Calavera"
Email = "david.calavera@gmail.com"
GitHub = "calavera"
[people.cpuguy83]
Name = "Brian Goff"
Email = "cpuguy83@gmail.com"
Github = "cpuguy83"
[people.crosbymichael]
Name = "Michael Crosby"
Email = "crosbymichael@gmail.com"
GitHub = "crosbymichael"
[people.diogomonica]
Name = "Diogo Monica"
Email = "diogo@docker.com"
GitHub = "diogomonica"
[people.duglin]
Name = "Doug Davis"
Email = "dug@us.ibm.com"
@@ -540,11 +488,6 @@ made through a pull request.
Email = "estesp@linux.vnet.ibm.com"
GitHub = "estesp"
[people.fredlf]
Name = "Fred Lifton"
Email = "fred.lifton@docker.com"
GitHub = "fredlf"
[people.icecrime]
Name = "Arnaud Porterie"
Email = "arnaud@docker.com"
@@ -552,7 +495,7 @@ made through a pull request.
[people.jfrazelle]
Name = "Jessie Frazelle"
Email = "jess@docker.com"
Email = "j@docker.com"
GitHub = "jfrazelle"
[people.jlhawn]
@@ -560,21 +503,36 @@ made through a pull request.
Email = "josh.hawn@docker.com"
Github = "jlhawn"
[people.joffrey]
Name = "Joffrey Fuhrer"
Email = "joffrey@docker.com"
Github = "shin-"
[people.jnagal]
Name = "Rohit Jnagal"
Email = "jnagal@google.com"
GitHub = "rjnagal"
[people.lk4d4]
Name = "Alexander Morozov"
Email = "lk4d4@docker.com"
GitHub = "lk4d4"
[people.mary]
[people.moxiegirl]
Name = "Mary Anthony"
Email = "mary.anthony@docker.com"
GitHub = "moxiegirl"
[people.mpatel]
Name = "Mrunal Patel"
Email = "mpatel@redhat.com"
GitHub = "mrunalp"
[people.nathanmccauley]
Name = "Nathan McCauley"
Email = "nathan.mccauley@docker.com"
GitHub = "nathanmccauley"
[people.runcom]
Name = "Antonio Murdaca"
Email = "me@runcom.ninja"
GitHub = "runcom"
[people.sday]
Name = "Stephen Day"
Email = "stephen.day@docker.com"
@@ -584,17 +542,22 @@ made through a pull request.
Name = "Solomon Hykes"
Email = "solomon@docker.com"
GitHub = "shykes"
[people.spf13]
Name = "Steve Francia"
Email = "steve.francia@gmail.com"
GitHub = "spf13"
[people.sven]
Name = "Sven Dowideit"
Email = "SvenDowideit@home.org.au"
GitHub = "SvenDowideit"
[people.thajeztah]
Name = "Sebastiaan van Stijn"
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"
@@ -605,37 +568,32 @@ made through a pull request.
Email = "tibor@docker.com"
GitHub = "tiborvass"
[people.unclejack]
Name = "Cristian Staretu"
Email = "cristian.staretu@gmail.com"
GitHub = "unclejack"
[people.vbatts]
Name = "Vincent Batts"
Email = "vbatts@redhat.com"
GitHub = "vbatts"
[people.vdemeester]
Name = "Vincent Demeester"
Email = "vincent@sbr.pm"
GitHub = "vdemeester"
[people.vieux]
Name = "Victor Vieux"
Email = "vieux@docker.com"
GitHub = "vieux"
[people.vmarmol]
Name = "Victor Marmol"
Email = "vmarmol@google.com"
GitHub = "vmarmol"
[people.jnagal]
Name = "Rohit Jnagal"
Email = "jnagal@google.com"
GitHub = "rjnagal"
[people.mpatel]
Name = "Mrunal Patel"
Email = "mpatel@redhat.com"
GitHub = "mrunalp"
[people.unclejack]
Name = "Cristian Staretu"
Email = "cristian.staretu@gmail.com"
GitHub = "unclejack"
[people.vishh]
Name = "Vishnu Kannan"
Email = "vishnuk@google.com"
GitHub = "vishh"
[people.vmarmol]
Name = "Victor Marmol"
Email = "vmarmol@google.com"
GitHub = "vmarmol"
+16 -32
View File
@@ -1,4 +1,4 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration-cli test-docker-py validate
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
@@ -6,8 +6,13 @@
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_DEBUG \
-e DOCKER_EXECDRIVER \
-e DOCKER_EXPERIMENTAL \
-e DOCKER_REMAP_ROOT \
-e DOCKER_GRAPHDRIVER \
-e DOCKER_STORAGE_OPTS \
-e DOCKER_USERLANDPROXY \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
@@ -19,14 +24,9 @@ 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)")
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_IMAGE := docker-dev$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCKER := docker run --rm -it --privileged $(DOCKER_ENVS) $(DOCKER_MOUNT) "$(DOCKER_IMAGE)"
@@ -47,29 +47,18 @@ binary: build
cross: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" mkdocs serve
deb: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary build-deb
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-release: docs-build
$(DOCKER_RUN_DOCS) -e OPTIONS -e BUILD_ROOT -e DISTRIBUTION_ID \
-v $(CURDIR)/docs/awsconfig:/docs/awsconfig \
"$(DOCKER_DOCS_IMAGE)" ./release.sh
docs-test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" ./test.sh
rpm: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary build-rpm
test: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration test-integration-cli test-docker-py
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration-cli test-docker-py
test-unit: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-unit
test-integration: build
$(DOCKER_RUN_DOCKER) hack/make.sh test-integration
test-integration-cli: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary test-integration-cli
@@ -77,7 +66,7 @@ test-docker-py: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary test-docker-py
validate: build
$(DOCKER_RUN_DOCKER) hack/make.sh validate-gofmt validate-dco validate-toml
$(DOCKER_RUN_DOCKER) hack/make.sh validate-dco validate-gofmt validate-pkg validate-lint validate-test validate-toml validate-vet
shell: build
$(DOCKER_RUN_DOCKER) bash
@@ -85,13 +74,8 @@ shell: build
build: bundles
docker build -t "$(DOCKER_IMAGE)" .
docs-build:
cp ./VERSION docs/VERSION
echo "$(GIT_BRANCH)" > docs/GIT_BRANCH
# echo "$(AWS_S3_BUCKET)" > docs/AWS_S3_BUCKET
echo "$(GITCOMMIT)" > docs/GITCOMMIT
docker pull docs/base
docker build -t "$(DOCKER_DOCS_IMAGE)" docs
bundles:
mkdir bundles
docs:
$(MAKE) -C docs docs
+5 -5
View File
@@ -1,7 +1,7 @@
Docker
Copyright 2012-2015 Docker, Inc.
This product includes software developed at Docker, Inc. (http://www.docker.com).
This product includes software developed at Docker, Inc. (https://www.docker.com).
This product contains software (https://github.com/kr/pty) developed
by Keith Rarick, licensed under the MIT License.
@@ -10,10 +10,10 @@ The following is courtesy of our legal counsel:
Use and transfer of Docker may be subject to certain restrictions by the
United States and other governments.
United States and other governments.
It is your responsibility to ensure that your use and/or transfer does not
violate applicable laws.
violate applicable laws.
For more information, please see http://www.bis.doc.gov
For more information, please see https://www.bis.doc.gov
See also http://www.apache.org/dev/crypto.html and/or seek legal counsel.
See also https://www.apache.org/dev/crypto.html and/or seek legal counsel.
+94 -40
View File
@@ -1,24 +1,24 @@
Docker: the Linux container engine
==================================
Docker: the container engine [![Release](https://img.shields.io/github/release/docker/docker.svg)](https://github.com/docker/docker/releases/latest)
============================
Docker is an open source project to pack, ship and run any application
as a lightweight container
as a lightweight container.
Docker containers are both *hardware-agnostic* and *platform-agnostic*.
This means they can run anywhere, from your laptop to the largest
EC2 compute instance and everything in between - and they don't require
cloud compute instance and everything in between - and they don't require
you to use a particular language, framework or packaging system. That
makes them great building blocks for deploying and scaling web apps,
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](http://dotcloud.com), a popular Platform-as-a-Service.
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.
![Docker L](docs/sources/static_files/docker-logo-compressed.png "Docker")
![Docker L](docs/static_files/docker-logo-compressed.png "Docker")
## Security Disclosure
@@ -30,7 +30,7 @@ security@docker.com and not by creating a github issue.
A common method for distributing applications and sandboxing their
execution is to use virtual machines, or VMs. Typical VM formats are
VMWare's vmdk, Oracle Virtualbox's vdi, and Amazon EC2's ami. In theory
VMware's vmdk, Oracle VirtualBox's vdi, and Amazon EC2's ami. In theory
these formats should allow every developer to automatically package
their application into a "machine" for easy distribution and deployment.
In practice, that almost never happens, for a few reasons:
@@ -56,12 +56,12 @@ By contrast, Docker relies on a different sandboxing method known as
*containerization*. Unlike traditional virtualization, containerization
takes place at the kernel level. Most modern operating system kernels
now support the primitives necessary for containerization, including
Linux with [openvz](http://openvz.org),
Linux with [openvz](https://openvz.org),
[vserver](http://linux-vserver.org) and more recently
[lxc](http://lxc.sourceforge.net), Solaris with
[zones](http://docs.oracle.com/cd/E26502_01/html/E29024/preface-1.html#scrolltoc),
[lxc](https://linuxcontainers.org/), Solaris with
[zones](https://docs.oracle.com/cd/E26502_01/html/E29024/preface-1.html#scrolltoc),
and FreeBSD with
[Jails](http://www.freebsd.org/doc/handbook/jails.html).
[Jails](https://www.freebsd.org/doc/handbook/jails.html).
Docker builds on top of these low-level primitives to offer developers a
portable format and runtime environment that solves all four problems.
@@ -105,7 +105,7 @@ This is usually difficult for several reasons:
these situations with various degrees of ease - but they all
handle them in different and incompatible ways, which again forces
the developer to do extra work.
* *Custom dependencies*. A developer may need to prepare a custom
version of their application's dependency. Some packaging systems
can handle custom versions of a dependency, others can't - and all
@@ -115,7 +115,7 @@ This is usually difficult for several reasons:
Docker solves the problem of dependency hell by giving the developer a simple
way to express *all* their application's dependencies in one place, while
streamlining the process of assembling them. If this makes you think of
[XKCD 927](http://xkcd.com/927/), don't worry. Docker doesn't
[XKCD 927](https://xkcd.com/927/), don't worry. Docker doesn't
*replace* your favorite packaging systems. It simply orchestrates
their use in a simple and repeatable way. How does it do that? With
layers.
@@ -147,19 +147,19 @@ Docker can be installed on your local machine as well as servers - both
bare metal and virtualized. It is available as a binary on most modern
Linux systems, or as a VM on Windows, Mac and other systems.
We also offer an [interactive tutorial](http://www.docker.com/tryit/)
We also offer an [interactive tutorial](https://www.docker.com/tryit/)
for quickly learning the basics of using Docker.
For up-to-date install instructions, see the [Docs](http://docs.docker.com).
For up-to-date install instructions, see the [Docs](https://docs.docker.com).
Usage examples
==============
Docker can be used to run short-lived commands, long-running daemons
(app servers, databases etc.), interactive shell sessions, etc.
(app servers, databases, etc.), interactive shell sessions, etc.
You can find a [list of real-world
examples](http://docs.docker.com/examples/) in the
examples](https://docs.docker.com/examples/) in the
documentation.
Under the hood
@@ -168,22 +168,23 @@ Under the hood
Under the hood, Docker is built on the following components:
* The
[cgroup](http://blog.dotcloud.com/kernel-secrets-from-the-paas-garage-part-24-c)
[cgroups](https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt)
and
[namespacing](http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part)
capabilities of the Linux kernel;
* The [Go](http://golang.org) programming language.
* The [Docker Image Specification] (https://github.com/docker/docker/blob/master/image/spec/v1.md)
* The [Libcontainer Specification] (https://github.com/docker/libcontainer/blob/master/SPEC.md)
[namespaces](http://man7.org/linux/man-pages/man7/namespaces.7.html)
capabilities of the Linux kernel
* The [Go](https://golang.org) programming language
* The [Docker Image Specification](https://github.com/docker/docker/blob/master/image/spec/v1.md)
* The [Libcontainer Specification](https://github.com/opencontainers/runc/blob/master/libcontainer/SPEC.md)
Contributing to Docker
Contributing to Docker [![GoDoc](https://godoc.org/github.com/docker/docker?status.svg)](https://godoc.org/github.com/docker/docker)
======================
[![GoDoc](https://godoc.org/github.com/docker/docker?status.png)](https://godoc.org/github.com/docker/docker)
[![Jenkins Build Status](https://jenkins.dockerproject.com/job/Docker%20Master/badge/icon)](https://jenkins.dockerproject.com/job/Docker%20Master/)
| **Master** (Linux) | **Experimental** (linux) | **Windows** | **FreeBSD** |
|------------------|----------------------|---------|---------|
| [![Jenkins Build Status](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master/badge/icon)](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master/) | [![Jenkins Build Status](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master%20%28experimental%29/badge/icon)](https://jenkins.dockerproject.org/view/Docker/job/Docker%20Master%20%28experimental%29/) | [![Build Status](http://jenkins.dockerproject.org/job/Docker%20Master%20(windows)/badge/icon)](http://jenkins.dockerproject.org/job/Docker%20Master%20(windows)/) | [![Build Status](http://jenkins.dockerproject.org/job/Docker%20Master%20(freebsd)/badge/icon)](http://jenkins.dockerproject.org/job/Docker%20Master%20(freebsd)/) |
Want to hack on Docker? Awesome! We have [instructions to help you get
started contributing code or documentation.](https://docs.docker.com/project/who-written-for/).
started contributing code or documentation](https://docs.docker.com/project/who-written-for/).
These instructions are probably not perfect, please let us know if anything
feels wrong or incomplete. Better yet, submit a PR and improve them yourself.
@@ -192,12 +193,12 @@ Getting the development builds
==============================
Want to run Docker from a master build? You can download
master builds at [master.dockerproject.com](https://master.dockerproject.com).
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
out the master docs at
[docs.master.dockerproject.com](http://docs.master.dockerproject.com).
[docs.master.dockerproject.org](http://docs.master.dockerproject.org).
How the project is run
======================
@@ -207,17 +208,65 @@ or want to get more involved, the best place to start is [the project directory]
We are always open to suggestions on process improvements, and are always looking for more maintainers.
### Talking to other Docker users and contributors
<table class="tg">
<col width="45%">
<col width="65%">
<tr>
<td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</td>
<td>
<p>
IRC 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
<a href="https://botbot.me/freenode/docker/#" target="_blank">our chat archives</a>.
</p>
Read our <a href="https://docs.docker.com/project/get-help/#irc-quickstart" target="_blank">IRC quickstart guide</a> for an easy way to get started.
</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.
</td>
</tr>
<tr>
<td>Twitter</td>
<td>
You can follow <a href="https://twitter.com/docker/" target="_blank">Docker's Twitter feed</a>
to get updates on our products. You can also tweet us questions or just
share blogs or stories.
</td>
</tr>
<tr>
<td>Stack Overflow</td>
<td>
Stack Overflow has over 7000 Docker questions listed. We regularly
monitor <a href="https://stackoverflow.com/search?tab=newest&q=docker" target="_blank">Docker questions</a>
and so do many other knowledgeable Docker users.
</td>
</tr>
</table>
### Legal
*Brought to you courtesy of our legal counsel. For more context,
please see the "NOTICE" document in this repo.*
please see the [NOTICE](https://github.com/docker/docker/blob/master/NOTICE) document in this repo.*
Use and transfer of Docker may be subject to certain restrictions by the
United States and other governments.
It is your responsibility to ensure that your use and/or transfer does not
violate applicable laws.
United States and other governments.
For more information, please see http://www.bis.doc.gov
It is your responsibility to ensure that your use and/or transfer does not
violate applicable laws.
For more information, please see https://www.bis.doc.gov
Licensing
@@ -230,17 +279,22 @@ Other Docker Related Projects
=============================
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.
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.
Docker platform to broaden its application and utility.
* [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
for a container-centric world
for a container-centric world
* [Docker Swarm](https://github.com/docker/swarm): A Docker-native clustering
system
system
* [Docker Compose](https://github.com/docker/compose) (formerly Fig):
Define and run multi-container apps
* [Kitematic](https://github.com/kitematic/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
us keep this list up-to-date by submitting a PR.
Awesome-Docker
==============
You can find more projects, tools and articles related to Docker on the [awesome-docker list](https://github.com/veggiemonk/awesome-docker). Add your project there.
+183
View File
@@ -0,0 +1,183 @@
Docker Engine Roadmap
=====================
### How should I use this document?
This document provides description of items that the project decided to prioritize. This should
serve as a reference point for Docker contributors to understand where the project is going, and
help determine if a contribution could be conflicting with some longer terms plans.
The fact that a feature isn't listed here doesn't mean that a patch for it will automatically be
refused (except for those mentioned as "frozen features" below)! We are always happy to receive
patches for new cool features we haven't thought about, or didn't judge priority. Please however
understand that such patches might take longer for us to review.
### How can I help?
Short term objectives are listed in the [wiki](https://github.com/docker/docker/wiki) and described
in [Issues](https://github.com/docker/docker/issues?q=is%3Aopen+is%3Aissue+label%3Aroadmap). Our
goal is to split down the workload in such way that anybody can jump in and help. Please comment on
issues if you want to take it to avoid duplicating effort! Similarly, if a maintainer is already
assigned on an issue you'd like to participate in, pinging him on IRC or GitHub to offer your help is
the best way to go.
### How can I add something to the roadmap?
The roadmap process is new to the Docker Engine: we are only beginning to structure and document the
project objectives. Our immediate goal is to be more transparent, and work with our community to
focus our efforts on fewer prioritized topics.
We hope to offer in the near future a process allowing anyone to propose a topic to the roadmap, but
we are not quite there yet. For the time being, the BDFL remains the keeper of the roadmap, and we
won't be accepting pull requests adding or removing items from this file.
# 1. Features and refactoring
## 1.1 Security
Security is a top objective for the Docker Engine. The most notable items we intend to provide in
the near future are:
- 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)
## 1.2 Plumbing project
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.
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.
The architectural details are still being worked on, but one thing we know for sure is that we need
to technically decouple the pieces.
### 1.2.1 Runtime
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.
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.
### 1.2.2 Builder
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.
### 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.
# 2 Frozen features
## 2.1 Docker exec
We won't accept patches expanding the surface of `docker exec`, which we intend to keep as a
*debugging* feature, as well as being strongly dependent on the Runtime ingredient effort.
## 2.2 Dockerfile syntax
The Dockerfile syntax as we know it is simple, and has proven successful in supporting all our
[official images](https://github.com/docker-library/official-images). Although this is *not* a
definitive move, we temporarily won't accept more patches to the Dockerfile syntax for several
reasons:
- Long term impact of syntax changes is a sensitive matter that require an amount of attention
the volume of Engine codebase and activity today doesn't allow us to provide.
- Allowing the Builder to be implemented as a separate utility consuming the Engine's API will
open the door for many possibilities, such as offering alternate syntaxes or DSL for existing
languages without cluttering the Engine's codebase.
- A standalone Builder will also offer the opportunity for a better dedicated group of maintainers
to own the Dockerfile syntax and decide collectively on the direction to give it.
- Our experience with official images tend to show that no new instruction or syntax expansion is
*strictly* necessary for the majority of use cases, and although we are aware many things are still
lacking for many, we cannot make it a priority yet for the above reasons.
Again, this is not about saying that the Dockerfile syntax is done, it's about making choices about
what we want to do first!
## 2.3 Remote Registry Operations
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.
Currently, only the following commands cause interaction with a remote
registry:
- 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.
+1 -1
View File
@@ -1 +1 @@
1.5.0-dev
1.9.1-clear-containers
-19
View File
@@ -1,19 +0,0 @@
package api
import (
"testing"
)
func TestJsonContentType(t *testing.T) {
if !MatchesContentType("application/json", "application/json") {
t.Fail()
}
if !MatchesContentType("application/json; charset=utf-8", "application/json") {
t.Fail()
}
if MatchesContentType("dockerapplication/json", "application/json") {
t.Fail()
}
}
+84
View File
@@ -0,0 +1,84 @@
package client
import (
"encoding/json"
"fmt"
"io"
"net/url"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/signal"
)
// 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{"#nostdin", "-no-stdin"}, false, "Do not attach STDIN")
proxy := cmd.Bool([]string{"#sig-proxy", "-sig-proxy"}, true, "Proxy all received signals to the process")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
var c types.ContainerJSON
if err := json.NewDecoder(serverResp.body).Decode(&c); err != nil {
return err
}
if !c.State.Running {
return fmt.Errorf("You cannot attach to a stopped container, start 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)
}
}
var in io.ReadCloser
v := url.Values{}
v.Set("stream", "1")
if !*noStdin && c.Config.OpenStdin {
v.Set("stdin", "1")
in = cli.in
}
v.Set("stdout", "1")
v.Set("stderr", "1")
if *proxy && !c.Config.Tty {
sigc := cli.forwardAllSignals(cmd.Arg(0))
defer signal.StopCatch(sigc)
}
if err := cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), c.Config.Tty, in, cli.out, cli.err, nil, nil); err != nil {
return err
}
_, status, err := getExitCode(cli, cmd.Arg(0))
if err != nil {
return err
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
+674
View File
@@ -0,0 +1,674 @@
package client
import (
"archive/tar"
"bufio"
"encoding/base64"
"encoding/json"
"fmt"
"io"
"io/ioutil"
"net/http"
"net/url"
"os"
"os/exec"
"path/filepath"
"regexp"
"runtime"
"strconv"
"strings"
"github.com/docker/docker/api"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/graph/tags"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/httputils"
"github.com/docker/docker/pkg/jsonmessage"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/progressreader"
"github.com/docker/docker/pkg/streamformatter"
"github.com/docker/docker/pkg/ulimit"
"github.com/docker/docker/pkg/units"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
)
const (
tarHeaderSize = 512
)
// 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)
tag := cmd.String([]string{"t", "-tag"}, "", "Repository name (and optionally a tag) for the image")
suppressOutput := cmd.Bool([]string{"q", "-quiet"}, false, "Suppress the verbose output generated by the containers")
noCache := cmd.Bool([]string{"#no-cache", "-no-cache"}, false, "Do not use cache when building the image")
rm := cmd.Bool([]string{"#rm", "-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"}, "", "Total memory (memory + swap), '-1' to disable swap")
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(opts.ValidateEnv)
cmd.Var(&flBuildArg, []string{"-build-arg"}, "Set build-time variables")
ulimits := make(map[string]*ulimit.Ulimit)
flUlimits := opts.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
)
switch {
case specifiedContext == "-":
tempDir, relDockerfile, err = getContextFromReader(cli.in, *dockerfileName)
case urlutil.IsGitURL(specifiedContext) && hasGit:
tempDir, relDockerfile, err = getContextFromGitURL(specifiedContext, *dockerfileName)
case urlutil.IsURL(specifiedContext):
tempDir, relDockerfile, err = getContextFromURL(cli.out, specifiedContext, *dockerfileName)
default:
contextDir, relDockerfile, err = getContextFromLocalDir(specifiedContext, *dockerfileName)
}
if err != nil {
return fmt.Errorf("unable to prepare context: %s", err)
}
if tempDir != "" {
defer os.RemoveAll(tempDir)
contextDir = tempDir
}
// Resolve the FROM lines in the Dockerfile to trusted digest references
// using Notary. On a successful build, we must tag the resolved digests
// to the original name specified in the Dockerfile.
newDockerfile, resolvedTags, err := rewriteDockerfileFrom(filepath.Join(contextDir, relDockerfile), cli.trustedReference)
if err != nil {
return fmt.Errorf("unable to process Dockerfile: %v", err)
}
defer newDockerfile.Close()
// 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 = utils.ReadDockerIgnore(f)
if err != nil {
return err
}
}
if err := utils.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 deamon 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
}
// Wrap the tar archive to replace the Dockerfile entry with the rewritten
// Dockerfile which uses trusted pulls.
context = replaceDockerfileTarWrapper(context, newDockerfile, relDockerfile)
// Setup an upload progress bar
// FIXME: ProgressReader shouldn't be this annoying to use
sf := streamformatter.NewStreamFormatter()
var body io.Reader = progressreader.New(progressreader.Config{
In: context,
Out: cli.out,
Formatter: sf,
NewLines: true,
ID: "",
Action: "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
}
}
// Send the build context
v := &url.Values{}
//Check if the given image name can be resolved
if *tag != "" {
repository, tag := parsers.ParseRepositoryTag(*tag)
if err := registry.ValidateRepositoryName(repository); err != nil {
return err
}
if len(tag) > 0 {
if err := tags.ValidateTagName(tag); err != nil {
return err
}
}
}
v.Set("t", *tag)
if *suppressOutput {
v.Set("q", "1")
}
if isRemote {
v.Set("remote", cmd.Arg(0))
}
if *noCache {
v.Set("nocache", "1")
}
if *rm {
v.Set("rm", "1")
} else {
v.Set("rm", "0")
}
if *forceRm {
v.Set("forcerm", "1")
}
if *pull {
v.Set("pull", "1")
}
v.Set("cpusetcpus", *flCPUSetCpus)
v.Set("cpusetmems", *flCPUSetMems)
v.Set("cpushares", strconv.FormatInt(*flCPUShares, 10))
v.Set("cpuquota", strconv.FormatInt(*flCPUQuota, 10))
v.Set("cpuperiod", strconv.FormatInt(*flCPUPeriod, 10))
v.Set("memory", strconv.FormatInt(memory, 10))
v.Set("memswap", strconv.FormatInt(memorySwap, 10))
v.Set("cgroupparent", *flCgroupParent)
v.Set("dockerfile", relDockerfile)
ulimitsVar := flUlimits.GetList()
ulimitsJSON, err := json.Marshal(ulimitsVar)
if err != nil {
return err
}
v.Set("ulimits", string(ulimitsJSON))
// collect all the build-time environment variables for the container
buildArgs := runconfig.ConvertKVStringsToMap(flBuildArg.GetAll())
buildArgsJSON, err := json.Marshal(buildArgs)
if err != nil {
return err
}
v.Set("buildargs", string(buildArgsJSON))
headers := http.Header(make(map[string][]string))
buf, err := json.Marshal(cli.configFile.AuthConfigs)
if err != nil {
return err
}
headers.Add("X-Registry-Config", base64.URLEncoding.EncodeToString(buf))
headers.Set("Content-Type", "application/tar")
sopts := &streamOpts{
rawTerminal: true,
in: body,
out: cli.out,
headers: headers,
}
serverResp, err := cli.stream("POST", fmt.Sprintf("/build?%s", v.Encode()), sopts)
// Windows: show error message about modified file permissions.
if runtime.GOOS == "windows" {
h, err := httputils.ParseServerHeader(serverResp.header.Get("Server"))
if err == nil {
if h.OS != "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.`)
}
}
}
if jerr, ok := err.(*jsonmessage.JSONError); ok {
// If no error code is set, default to 1
if jerr.Code == 0 {
jerr.Code = 1
}
return Cli.StatusError{Status: jerr.Message, StatusCode: jerr.Code}
}
if err != nil {
return err
}
// 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.repoInfo, resolved.digestRef, resolved.tagRef); err != nil {
return err
}
}
return 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 to be extracted to 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 getContextFromReader(r io.Reader, dockerfileName string) (absContextDir, relDockerfile string, err error) {
buf := bufio.NewReader(r)
magic, err := buf.Peek(tarHeaderSize)
if err != nil && err != io.EOF {
return "", "", fmt.Errorf("failed to peek context header from STDIN: %v", err)
}
if absContextDir, err = ioutil.TempDir("", "docker-build-context-"); err != nil {
return "", "", fmt.Errorf("unbale to create temporary context directory: %v", err)
}
defer func(d string) {
if err != nil {
os.RemoveAll(d)
}
}(absContextDir)
if !archive.IsArchive(magic) { // Input should be read as a Dockerfile.
// -f option has no meaning when we're reading it from stdin,
// so just use our default Dockerfile name
relDockerfile = api.DefaultDockerfileName
return absContextDir, relDockerfile, writeToFile(buf, filepath.Join(absContextDir, relDockerfile))
}
if err := archive.Untar(buf, absContextDir, nil); err != nil {
return "", "", fmt.Errorf("unable to extract stdin to temporary context directory: %v", err)
}
return getDockerfileRelPath(absContextDir, dockerfileName)
}
// 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 = utils.GitClone(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 context tar
// archive and stored in 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 getContextFromURL(out io.Writer, remoteURL, dockerfileName string) (absContextDir, relDockerfile string, err error) {
response, err := httputils.Download(remoteURL)
if err != nil {
return "", "", fmt.Errorf("unable to download remote context %s: %v", remoteURL, err)
}
defer response.Body.Close()
// Pass the response body through a progress reader.
progReader := &progressreader.Config{
In: response.Body,
Out: out,
Formatter: streamformatter.NewStreamFormatter(),
Size: response.ContentLength,
NewLines: true,
ID: "",
Action: fmt.Sprintf("Downloading build context from remote url: %s", remoteURL),
}
return getContextFromReader(progReader, 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#]+)`)
type trustedDockerfile struct {
*os.File
size int64
}
func (td *trustedDockerfile) Close() error {
td.File.Close()
return os.Remove(td.File.Name())
}
// resolvedTag records the repository, tag, and resolved digest reference
// from a Dockerfile rewrite.
type resolvedTag struct {
repoInfo *registry.RepositoryInfo
digestRef, tagRef registry.Reference
}
// 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(dockerfileName string, translator func(string, registry.Reference) (registry.Reference, error)) (newDockerfile *trustedDockerfile, resolvedTags []*resolvedTag, err error) {
dockerfile, err := os.Open(dockerfileName)
if err != nil {
return nil, nil, fmt.Errorf("unable to open Dockerfile: %v", err)
}
defer dockerfile.Close()
scanner := bufio.NewScanner(dockerfile)
// Make a tempfile to store the rewritten Dockerfile.
tempFile, err := ioutil.TempFile("", "trusted-dockerfile-")
if err != nil {
return nil, nil, fmt.Errorf("unable to make temporary trusted Dockerfile: %v", err)
}
trustedFile := &trustedDockerfile{
File: tempFile,
}
defer func() {
if err != nil {
// Close the tempfile if there was an error during Notary lookups.
// Otherwise the caller should close it.
trustedFile.Close()
}
}()
// 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] != "scratch" {
// Replace the line with a resolved "FROM repo@digest"
repo, tag := parsers.ParseRepositoryTag(matches[1])
if tag == "" {
tag = tags.DefaultTag
}
repoInfo, err := registry.ParseRepositoryInfo(repo)
if err != nil {
return nil, nil, fmt.Errorf("unable to parse repository info: %v", err)
}
ref := registry.ParseReference(tag)
if !ref.HasDigest() && isTrusted() {
trustedRef, err := translator(repo, ref)
if err != nil {
return nil, nil, err
}
line = dockerfileFromLinePattern.ReplaceAllLiteralString(line, fmt.Sprintf("FROM %s", trustedRef.ImageName(repo)))
resolvedTags = append(resolvedTags, &resolvedTag{
repoInfo: repoInfo,
digestRef: trustedRef,
tagRef: ref,
})
}
}
n, err := fmt.Fprintln(tempFile, line)
if err != nil {
return nil, nil, err
}
trustedFile.size += int64(n)
}
tempFile.Seek(0, os.SEEK_SET)
return trustedFile, 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, newDockerfile *trustedDockerfile, dockerfileName string) 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.
hdr.Size = newDockerfile.size
content = 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
}
+135 -151
View File
@@ -2,119 +2,73 @@ package client
import (
"crypto/tls"
"encoding/json"
"errors"
"fmt"
"io"
"net"
"net/http"
"net/url"
"os"
"reflect"
"strings"
"text/template"
"time"
"github.com/docker/docker/pkg/homedir"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/cli"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/sockets"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/registry"
"github.com/docker/docker/pkg/tlsconfig"
)
// DockerCli represents the docker command line client.
// Instances of the client can be returned from NewDockerCli.
type DockerCli struct {
proto string
addr string
configFile *registry.ConfigFile
in io.ReadCloser
out io.Writer
err io.Writer
keyFile string
tlsConfig *tls.Config
scheme string
// inFd holds file descriptor of the client's STDIN, if it's a valid file
// initializing closure
init func() error
// proto holds the client protocol i.e. unix.
proto string
// addr holds the client address.
addr string
// basePath holds the path to prepend to the requests
basePath string
// configFile has the client configuration file
configFile *cliconfig.ConfigFile
// in holds the input stream and closer (io.ReadCloser) for the client.
in io.ReadCloser
// out holds the output stream (io.Writer) for the client.
out io.Writer
// err holds the error stream (io.Writer) for the client.
err io.Writer
// keyFile holds the key file as a string.
keyFile string
// tlsConfig holds the TLS configuration for the client, and will
// set the scheme to https in NewDockerCli if present.
tlsConfig *tls.Config
// scheme holds the scheme of the client i.e. https.
scheme string
// inFd holds the file descriptor of the client's STDIN (if valid).
inFd uintptr
// outFd holds file descriptor of the client's STDOUT, if it's a valid file
// outFd holds file descriptor of the client's STDOUT (if valid).
outFd uintptr
// isTerminalIn describes if client's STDIN is a TTY
// isTerminalIn indicates whether the client's STDIN is a TTY
isTerminalIn bool
// isTerminalOut describes if client's STDOUT is a TTY
// isTerminalOut indicates whether the client's STDOUT is a TTY
isTerminalOut bool
transport *http.Transport
// transport holds the client transport instance.
transport *http.Transport
}
var funcMap = template.FuncMap{
"json": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
}
func (cli *DockerCli) getMethod(args ...string) (func(...string) error, bool) {
camelArgs := make([]string, len(args))
for i, s := range args {
if len(s) == 0 {
return nil, false
}
camelArgs[i] = strings.ToUpper(s[:1]) + strings.ToLower(s[1:])
}
methodName := "Cmd" + strings.Join(camelArgs, "")
method := reflect.ValueOf(cli).MethodByName(methodName)
if !method.IsValid() {
return nil, false
}
return method.Interface().(func(...string) error), true
}
// Cmd executes the specified command
func (cli *DockerCli) Cmd(args ...string) error {
if len(args) > 1 {
method, exists := cli.getMethod(args[:2]...)
if exists {
return method(args[2:]...)
}
}
if len(args) > 0 {
method, exists := cli.getMethod(args[0])
if !exists {
fmt.Fprintf(cli.err, "docker: '%s' is not a docker command. See 'docker --help'.\n", args[0])
os.Exit(1)
}
return method(args[1:]...)
}
return cli.CmdHelp()
}
func (cli *DockerCli) Subcmd(name, signature, description string, exitOnError bool) *flag.FlagSet {
var errorHandling flag.ErrorHandling
if exitOnError {
errorHandling = flag.ExitOnError
} else {
errorHandling = flag.ContinueOnError
}
flags := flag.NewFlagSet(name, errorHandling)
flags.Usage = func() {
options := ""
if signature != "" {
signature = " " + signature
}
if flags.FlagCountUndeprecated() > 0 {
options = " [OPTIONS]"
}
fmt.Fprintf(cli.out, "\nUsage: docker %s%s%s\n\n%s\n\n", name, options, signature, description)
flags.SetOutput(cli.out)
flags.PrintDefaults()
os.Exit(0)
}
return flags
}
func (cli *DockerCli) LoadConfigFile() (err error) {
cli.configFile, err = registry.LoadConfig(homedir.Get())
if err != nil {
fmt.Fprintf(cli.err, "WARNING: %s\n", err)
}
return err
// Initialize calls the init function that will setup the configuration for the client
// such as the TLS, tcp and other parameters used to run the client.
func (cli *DockerCli) Initialize() error {
if cli.init == nil {
return nil
}
return cli.init()
}
// CheckTtyInput checks if we are trying to attach to a container tty
// from a non-tty client input stream, and if so, returns an error.
func (cli *DockerCli) CheckTtyInput(attachStdin, ttyMode bool) error {
// In order to attach to a container tty, input stream for the client must
// be a tty itself: redirecting or piping the client standard input is
@@ -125,61 +79,91 @@ func (cli *DockerCli) CheckTtyInput(attachStdin, ttyMode bool) error {
return nil
}
func NewDockerCli(in io.ReadCloser, out, err io.Writer, keyFile string, proto, addr string, tlsConfig *tls.Config) *DockerCli {
var (
inFd uintptr
outFd uintptr
isTerminalIn = false
isTerminalOut = false
scheme = "http"
)
if tlsConfig != nil {
scheme = "https"
}
if in != nil {
inFd, isTerminalIn = term.GetFdInfo(in)
}
if out != nil {
outFd, isTerminalOut = term.GetFdInfo(out)
}
if err == nil {
err = out
}
// The transport is created here for reuse during the client session
tr := &http.Transport{
TLSClientConfig: tlsConfig,
}
// Why 32? See issue 8035
timeout := 32 * time.Second
if proto == "unix" {
// no need in compressing for local communications
tr.DisableCompression = true
tr.Dial = func(_, _ string) (net.Conn, error) {
return net.DialTimeout(proto, addr, timeout)
}
} else {
tr.Proxy = http.ProxyFromEnvironment
tr.Dial = (&net.Dialer{Timeout: timeout}).Dial
}
return &DockerCli{
proto: proto,
addr: addr,
in: in,
out: out,
err: err,
keyFile: keyFile,
inFd: inFd,
outFd: outFd,
isTerminalIn: isTerminalIn,
isTerminalOut: isTerminalOut,
tlsConfig: tlsConfig,
scheme: scheme,
transport: tr,
}
// PsFormat returns the format string specified in the configuration.
// String contains columns and format specification, for example {{ID}\t{{Name}}.
func (cli *DockerCli) PsFormat() string {
return cli.configFile.PsFormat
}
// 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 {
cli := &DockerCli{
in: in,
out: out,
err: err,
keyFile: clientFlags.Common.TrustKey,
}
cli.init = func() error {
clientFlags.PostParse()
hosts := clientFlags.Common.Hosts
switch len(hosts) {
case 0:
hosts = []string{os.Getenv("DOCKER_HOST")}
case 1:
// only accept one host to talk to
default:
return errors.New("Please specify only one -H")
}
defaultHost := opts.DefaultTCPHost
if clientFlags.Common.TLSOptions != nil {
defaultHost = opts.DefaultTLSHost
}
var e error
if hosts[0], e = opts.ParseHost(defaultHost, hosts[0]); e != nil {
return e
}
protoAddrParts := strings.SplitN(hosts[0], "://", 2)
cli.proto, cli.addr = protoAddrParts[0], protoAddrParts[1]
if cli.proto == "tcp" {
// error is checked in pkg/parsers already
parsed, _ := url.Parse("tcp://" + cli.addr)
cli.addr = parsed.Host
cli.basePath = parsed.Path
}
if clientFlags.Common.TLSOptions != nil {
cli.scheme = "https"
var e error
cli.tlsConfig, e = tlsconfig.Client(*clientFlags.Common.TLSOptions)
if e != nil {
return e
}
} else {
cli.scheme = "http"
}
if cli.in != nil {
cli.inFd, cli.isTerminalIn = term.GetFdInfo(cli.in)
}
if cli.out != nil {
cli.outFd, cli.isTerminalOut = term.GetFdInfo(cli.out)
}
// The transport is created here for reuse during the client session.
cli.transport = &http.Transport{
TLSClientConfig: cli.tlsConfig,
}
sockets.ConfigureTCPTransport(cli.transport, cli.proto, cli.addr)
configFile, e := cliconfig.Load(cliconfig.ConfigDir())
if e != nil {
fmt.Fprintf(cli.err, "WARNING: Error loading config file:%v\n", e)
}
cli.configFile = configFile
return nil
}
return cli
}
+5
View File
@@ -0,0 +1,5 @@
// Package client provides a command-line interface for Docker.
//
// Run "docker help SUBCOMMAND" or "docker SUBCOMMAND --help" to see more information on any Docker subcommand, including the full list of options supported for the subcommand.
// See https://docs.docker.com/installation/ for instructions on installing Docker.
package client
File diff suppressed because it is too large Load Diff
+84
View File
@@ -0,0 +1,84 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
)
// 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"}, "", "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", "#-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)
repository, tag = parsers.ParseRepositoryTag(cmd.Arg(1))
)
//Check if the given image name can be resolved
if repository != "" {
if err := registry.ValidateRepositoryName(repository); err != nil {
return err
}
}
v := url.Values{}
v.Set("container", name)
v.Set("repo", repository)
v.Set("tag", tag)
v.Set("comment", *flComment)
v.Set("author", *flAuthor)
for _, change := range flChanges.GetAll() {
v.Add("changes", change)
}
if *flPause != true {
v.Set("pause", "0")
}
var (
config *runconfig.Config
response types.ContainerCommitResponse
)
if *flConfig != "" {
config = &runconfig.Config{}
if err := json.Unmarshal([]byte(*flConfig), config); err != nil {
return err
}
}
serverResp, err := cli.call("POST", "/commit?"+v.Encode(), config, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
if err := json.NewDecoder(serverResp.body).Decode(&response); err != nil {
return err
}
fmt.Fprintln(cli.out, response.ID)
return nil
}
+325
View File
@@ -0,0 +1,325 @@
package client
import (
"encoding/base64"
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
"os"
"path/filepath"
"strings"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/archive"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/system"
)
type copyDirection int
const (
fromContainer copyDirection = (1 << iota)
toContainer
acrossContainers = fromContainer | toContainer
)
// CmdCp copies files/folders to or from a path in a container.
//
// When copying from a container, if LOCALPATH is '-' the data is written as a
// tar archive file to STDOUT.
//
// When copying to a container, if LOCALPATH is '-' the data is read as a tar
// archive file from STDIN, and the destination CONTAINER:PATH, must specify
// a directory.
//
// Usage:
// docker cp CONTAINER:PATH LOCALPATH|-
// docker cp LOCALPATH|- CONTAINER:PATH
func (cli *DockerCli) CmdCp(args ...string) error {
cmd := Cli.Subcmd(
"cp",
[]string{"CONTAINER:PATH LOCALPATH|-", "LOCALPATH|- CONTAINER:PATH"},
strings.Join([]string{
Cli.DockerCommands["cp"].Description,
"\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,
)
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")
}
srcContainer, srcPath := splitCpArg(cmd.Arg(0))
dstContainer, dstPath := splitCpArg(cmd.Arg(1))
var direction copyDirection
if srcContainer != "" {
direction |= fromContainer
}
if dstContainer != "" {
direction |= toContainer
}
switch direction {
case fromContainer:
return cli.copyFromContainer(srcContainer, srcPath, dstPath)
case toContainer:
return cli.copyToContainer(srcPath, dstContainer, dstPath)
case acrossContainers:
// Copying between containers isn't supported.
return fmt.Errorf("copying between containers is not supported")
default:
// User didn't specify any container.
return fmt.Errorf("must specify at least one container source")
}
}
// 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) {
var stat types.ContainerPathStat
query := make(url.Values, 1)
query.Set("path", filepath.ToSlash(path)) // Normalize the paths used in the API.
urlStr := fmt.Sprintf("/containers/%s/archive?%s", containerName, query.Encode())
response, err := cli.call("HEAD", urlStr, nil, nil)
if err != nil {
return stat, err
}
defer response.body.Close()
if response.statusCode != http.StatusOK {
return stat, fmt.Errorf("unexpected status code from daemon: %d", response.statusCode)
}
return getContainerPathStatFromHeader(response.header)
}
func getContainerPathStatFromHeader(header http.Header) (types.ContainerPathStat, error) {
var stat types.ContainerPathStat
encodedStat := header.Get("X-Docker-Container-Path-Stat")
statDecoder := base64.NewDecoder(base64.StdEncoding, strings.NewReader(encodedStat))
err := json.NewDecoder(statDecoder).Decode(&stat)
if err != nil {
err = fmt.Errorf("unable to decode container path stat header: %s", err)
}
return stat, err
}
func resolveLocalPath(localPath string) (absPath string, err error) {
if absPath, err = filepath.Abs(localPath); err != nil {
return
}
return archive.PreserveTrailingDotOrSeparator(absPath, localPath), nil
}
func (cli *DockerCli) copyFromContainer(srcContainer, srcPath, dstPath string) (err error) {
if dstPath != "-" {
// Get an absolute destination path.
dstPath, err = resolveLocalPath(dstPath)
if err != nil {
return err
}
}
query := make(url.Values, 1)
query.Set("path", filepath.ToSlash(srcPath)) // Normalize the paths used in the API.
urlStr := fmt.Sprintf("/containers/%s/archive?%s", srcContainer, query.Encode())
response, err := cli.call("GET", urlStr, nil, nil)
if err != nil {
return err
}
defer response.body.Close()
if response.statusCode != http.StatusOK {
return fmt.Errorf("unexpected status code from daemon: %d", response.statusCode)
}
if dstPath == "-" {
// Send the response to STDOUT.
_, err = io.Copy(os.Stdout, response.body)
return err
}
// In order to get the copy behavior right, we need to know information
// about both the source and the destination. The response headers include
// stat info about the source that we can use in deciding exactly how to
// copy it locally. Along with the stat info about the local destination,
// we have everything we need to handle the multiple possibilities there
// can be when copying a file/dir from one location to another file/dir.
stat, err := getContainerPathStatFromHeader(response.header)
if err != nil {
return fmt.Errorf("unable to get resource stat from response: %s", err)
}
// Prepare source copy info.
srcInfo := archive.CopyInfo{
Path: srcPath,
Exists: true,
IsDir: stat.Mode.IsDir(),
}
// See comments in the implementation of `archive.CopyTo` for exactly what
// goes into deciding how and whether the source archive needs to be
// altered for the correct copy behavior.
return archive.CopyTo(response.body, srcInfo, dstPath)
}
func (cli *DockerCli) copyToContainer(srcPath, dstContainer, dstPath string) (err error) {
if srcPath != "-" {
// Get an absolute source path.
srcPath, err = resolveLocalPath(srcPath)
if err != nil {
return err
}
}
// In order to get the copy behavior right, we need to know information
// about both the source and destination. The API is a simple tar
// archive/extract API but we can use the stat info header about the
// destination to be more informed about exactly what the destination is.
// Prepare destination copy info by stat-ing the container path.
dstInfo := archive.CopyInfo{Path: dstPath}
dstStat, err := cli.statContainerPath(dstContainer, dstPath)
// If the destination is a symbolic link, we should evaluate it.
if err == nil && dstStat.Mode&os.ModeSymlink != 0 {
linkTarget := dstStat.LinkTarget
if !system.IsAbs(linkTarget) {
// Join with the parent directory.
dstParent, _ := archive.SplitPathDirEntry(dstPath)
linkTarget = filepath.Join(dstParent, linkTarget)
}
dstInfo.Path = linkTarget
dstStat, err = cli.statContainerPath(dstContainer, linkTarget)
}
// Ignore any error and assume that the parent directory of the destination
// path exists, in which case the copy may still succeed. If there is any
// type of conflict (e.g., non-directory overwriting an existing directory
// or vice versia) the extraction will fail. If the destination simply did
// not exist, but the parent directory does, the extraction will still
// succeed.
if err == nil {
dstInfo.Exists, dstInfo.IsDir = true, dstStat.Mode.IsDir()
}
var (
content io.Reader
resolvedDstPath string
)
if srcPath == "-" {
// Use STDIN.
content = os.Stdin
resolvedDstPath = dstInfo.Path
if !dstInfo.IsDir {
return fmt.Errorf("destination %q must be a directory", fmt.Sprintf("%s:%s", dstContainer, dstPath))
}
} else {
// Prepare source copy info.
srcInfo, err := archive.CopyInfoSourcePath(srcPath)
if err != nil {
return err
}
srcArchive, err := archive.TarResource(srcInfo)
if err != nil {
return err
}
defer srcArchive.Close()
// With the stat info about the local source as well as the
// destination, we have enough information to know whether we need to
// alter the archive that we upload so that when the server extracts
// it to the specified directory in the container we get the disired
// copy behavior.
// See comments in the implementation of `archive.PrepareArchiveCopy`
// for exactly what goes into deciding how and whether the source
// archive needs to be altered for the correct copy behavior when it is
// extracted. This function also infers from the source and destination
// info which directory to extract to, which may be the parent of the
// destination that the user specified.
dstDir, preparedArchive, err := archive.PrepareArchiveCopy(srcArchive, srcInfo, dstInfo)
if err != nil {
return err
}
defer preparedArchive.Close()
resolvedDstPath = dstDir
content = preparedArchive
}
query := make(url.Values, 2)
query.Set("path", filepath.ToSlash(resolvedDstPath)) // Normalize the paths used in the API.
// Do not allow for an existing directory to be overwritten by a non-directory and vice versa.
query.Set("noOverwriteDirNonDir", "true")
urlStr := fmt.Sprintf("/containers/%s/archive?%s", dstContainer, query.Encode())
response, err := cli.stream("PUT", urlStr, &streamOpts{in: content})
if err != nil {
return err
}
defer response.body.Close()
if response.statusCode != http.StatusOK {
return fmt.Errorf("unexpected status code from daemon: %d", response.statusCode)
}
return nil
}
+185
View File
@@ -0,0 +1,185 @@
package client
import (
"encoding/base64"
"encoding/json"
"fmt"
"io"
"net/url"
"os"
"strings"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/graph/tags"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
)
func (cli *DockerCli) pullImage(image string) error {
return cli.pullImageCustomOut(image, cli.out)
}
func (cli *DockerCli) pullImageCustomOut(image string, out io.Writer) error {
v := url.Values{}
repos, tag := parsers.ParseRepositoryTag(image)
// pull only the image tagged 'latest' if no tag was specified
if tag == "" {
tag = tags.DefaultTag
}
v.Set("fromImage", repos)
v.Set("tag", tag)
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(repos)
if err != nil {
return err
}
// Resolve the Auth config relevant for this server
authConfig := registry.ResolveAuthConfig(cli.configFile, repoInfo.Index)
buf, err := json.Marshal(authConfig)
if err != nil {
return err
}
registryAuthHeader := []string{
base64.URLEncoding.EncodeToString(buf),
}
sopts := &streamOpts{
rawTerminal: true,
out: out,
headers: map[string][]string{"X-Registry-Auth": registryAuthHeader},
}
if _, err := cli.stream("POST", "/images/create?"+v.Encode(), sopts); err != nil {
return err
}
return 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 *runconfig.Config, hostConfig *runconfig.HostConfig, cidfile, name string) (*types.ContainerCreateResponse, error) {
containerValues := url.Values{}
if name != "" {
containerValues.Set("name", name)
}
mergedConfig := runconfig.MergeConfigs(config, hostConfig)
var containerIDFile *cidFile
if cidfile != "" {
var err error
if containerIDFile, err = newCIDFile(cidfile); err != nil {
return nil, err
}
defer containerIDFile.Close()
}
repo, tag := parsers.ParseRepositoryTag(config.Image)
if tag == "" {
tag = tags.DefaultTag
}
ref := registry.ParseReference(tag)
var trustedRef registry.Reference
if isTrusted() && !ref.HasDigest() {
var err error
trustedRef, err = cli.trustedReference(repo, ref)
if err != nil {
return nil, err
}
config.Image = trustedRef.ImageName(repo)
}
//create the container
serverResp, err := cli.call("POST", "/containers/create?"+containerValues.Encode(), mergedConfig, nil)
//if image not found try to pull it
if serverResp.statusCode == 404 && strings.Contains(err.Error(), config.Image) {
fmt.Fprintf(cli.err, "Unable to find image '%s' locally\n", ref.ImageName(repo))
// 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 trustedRef != nil && !ref.HasDigest() {
repoInfo, err := registry.ParseRepositoryInfo(repo)
if err != nil {
return nil, err
}
if err := cli.tagTrusted(repoInfo, trustedRef, ref); err != nil {
return nil, err
}
}
// Retry
if serverResp, err = cli.call("POST", "/containers/create?"+containerValues.Encode(), mergedConfig, nil); err != nil {
return nil, err
}
} else if err != nil {
return nil, err
}
defer serverResp.body.Close()
var response types.ContainerCreateResponse
if err := json.NewDecoder(serverResp.body).Decode(&response); err != nil {
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, cmd, err := runconfig.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, hostConfig.ContainerIDFile, *flName)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "%s\n", response.ID)
return nil
}
+56
View File
@@ -0,0 +1,56 @@
package client
import (
"encoding/json"
"fmt"
"github.com/docker/docker/api/types"
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")
}
serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/changes", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
changes := []types.ContainerChange{}
if err := json.NewDecoder(serverResp.body).Decode(&changes); 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
}
+63
View File
@@ -0,0 +1,63 @@
package client
import (
"net/url"
"time"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers/filters"
"github.com/docker/docker/pkg/timeutils"
)
// CmdEvents prints a live stream of real time events from the server.
//
// Usage: docker events [OPTIONS]
func (cli *DockerCli) CmdEvents(args ...string) error {
cmd := Cli.Subcmd("events", nil, Cli.DockerCommands["events"].Description, true)
since := cmd.String([]string{"#since", "-since"}, "", "Show all events created since timestamp")
until := cmd.String([]string{"-until"}, "", "Stream events until this timestamp")
flFilter := opts.NewListOpts(nil)
cmd.Var(&flFilter, []string{"f", "-filter"}, "Filter output based on conditions provided")
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
var (
v = url.Values{}
eventFilterArgs = filters.Args{}
)
// Consolidate all filter flags, and sanity check them early.
// They'll get process in the daemon/server.
for _, f := range flFilter.GetAll() {
var err error
eventFilterArgs, err = filters.ParseFlag(f, eventFilterArgs)
if err != nil {
return err
}
}
ref := time.Now()
if *since != "" {
v.Set("since", timeutils.GetTimestamp(*since, ref))
}
if *until != "" {
v.Set("until", timeutils.GetTimestamp(*until, ref))
}
if len(eventFilterArgs) > 0 {
filterJSON, err := filters.ToParam(eventFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJSON)
}
sopts := &streamOpts{
rawTerminal: true,
out: cli.out,
}
if _, err := cli.stream("GET", "/events?"+v.Encode(), sopts); err != nil {
return err
}
return nil
}
+134
View File
@@ -0,0 +1,134 @@
package client
import (
"encoding/json"
"fmt"
"io"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/runconfig"
)
// CmdExec runs a command in a running container.
//
// Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
func (cli *DockerCli) CmdExec(args ...string) error {
cmd := Cli.Subcmd("exec", []string{"CONTAINER COMMAND [ARG...]"}, Cli.DockerCommands["exec"].Description, true)
execConfig, err := runconfig.ParseExec(cmd, args)
// just in case the ParseExec does not exit
if execConfig.Container == "" || err != nil {
return Cli.StatusError{StatusCode: 1}
}
serverResp, err := cli.call("POST", "/containers/"+execConfig.Container+"/exec", execConfig, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
var response types.ContainerExecCreateResponse
if err := json.NewDecoder(serverResp.body).Decode(&response); err != nil {
return err
}
execID := response.ID
if execID == "" {
fmt.Fprintf(cli.out, "exec ID empty")
return nil
}
//Temp struct for execStart so that we don't need to transfer all the execConfig
execStartCheck := &types.ExecStartCheck{
Detach: execConfig.Detach,
Tty: execConfig.Tty,
}
if !execConfig.Detach {
if err := cli.CheckTtyInput(execConfig.AttachStdin, execConfig.Tty); err != nil {
return err
}
} else {
if _, _, err := readBody(cli.call("POST", "/exec/"+execID+"/start", execStartCheck, nil)); err != nil {
return err
}
// For now don't print this - wait for when we support exec wait()
// fmt.Fprintf(cli.out, "%s\n", execID)
return nil
}
// Interactive exec requested.
var (
out, stderr io.Writer
in io.ReadCloser
hijacked = make(chan io.Closer)
errCh chan error
)
// Block the return until the chan gets closed
defer func() {
logrus.Debugf("End of CmdExec(), Waiting for hijack to finish.")
if _, ok := <-hijacked; ok {
fmt.Fprintln(cli.err, "Hijack did not finish (chan still open)")
}
}()
if execConfig.AttachStdin {
in = cli.in
}
if execConfig.AttachStdout {
out = cli.out
}
if execConfig.AttachStderr {
if execConfig.Tty {
stderr = cli.out
} else {
stderr = cli.err
}
}
errCh = promise.Go(func() error {
return cli.hijack("POST", "/exec/"+execID+"/start", execConfig.Tty, in, out, stderr, hijacked, execConfig)
})
// Acknowledge the hijack before starting
select {
case closer := <-hijacked:
// Make sure that hijack gets closed when returning. (result
// in closing hijack chan and freeing server's goroutines.
if closer != nil {
defer closer.Close()
}
case err := <-errCh:
if err != nil {
logrus.Debugf("Error hijack: %s", err)
return err
}
}
if execConfig.Tty && cli.isTerminalIn {
if err := cli.monitorTtySize(execID, true); err != nil {
fmt.Fprintf(cli.err, "Error monitoring TTY size: %s\n", err)
}
}
if err := <-errCh; err != nil {
logrus.Debugf("Error hijack: %s", err)
return err
}
var status int
if _, status, err = getExecExitCode(cli, execID); err != nil {
return err
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
+46
View File
@@ -0,0 +1,46 @@
package client
import (
"errors"
"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.")
}
image := cmd.Arg(0)
sopts := &streamOpts{
rawTerminal: true,
out: output,
}
if _, err := cli.stream("GET", "/containers/"+image+"/export", sopts); err != nil {
return err
}
return nil
}
+41 -37
View File
@@ -13,10 +13,9 @@ import (
"strings"
"time"
log "github.com/Sirupsen/logrus"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/pkg/term"
)
@@ -138,17 +137,31 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
if err != nil {
return err
}
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), params)
req, err := http.NewRequest(method, fmt.Sprintf("%s/v%s%s", cli.basePath, api.Version, path), params)
if err != nil {
return err
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
// Add CLI Config's HTTP Headers BEFORE we set the Docker headers
// then the user can't change OUR headers
for k, v := range cli.configFile.HTTPHeaders {
req.Header.Set(k, v)
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION+" ("+runtime.GOOS+")")
req.Header.Set("Content-Type", "text/plain")
req.Header.Set("Connection", "Upgrade")
req.Header.Set("Upgrade", "tcp")
req.Host = cli.addr
dial, err := cli.dial()
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?")
}
return err
}
// When we set up a TCP connection for hijack, there could be long periods
// of inactivity (a long running command with no output) that in certain
// network setups may cause ECONNTIMEOUT, leaving the client in an unknown
@@ -158,12 +171,7 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
tcpConn.SetKeepAlive(true)
tcpConn.SetKeepAlivePeriod(30 * time.Second)
}
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
}
return err
}
clientconn := httputil.NewClientConn(dial, nil)
defer clientconn.Close()
@@ -177,8 +185,6 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
started <- rwc
}
var receiveStdout chan error
var oldState *term.State
if in != nil && setRawTerminal && cli.isTerminalIn && os.Getenv("NORAW") == "" {
@@ -189,19 +195,15 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
defer term.RestoreTerminal(cli.inFd, oldState)
}
receiveStdout := make(chan error, 1)
if stdout != nil || stderr != nil {
receiveStdout = promise.Go(func() (err error) {
go func() {
defer func() {
if in != nil {
if setRawTerminal && cli.isTerminalIn {
term.RestoreTerminal(cli.inFd, oldState)
}
// 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 runtime.GOOS != "darwin" {
in.Close()
}
in.Close()
}
}()
@@ -211,40 +213,42 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
} else {
_, err = stdcopy.StdCopy(stdout, stderr, br)
}
log.Debugf("[hijack] End of stdout")
return err
})
logrus.Debugf("[hijack] End of stdout")
receiveStdout <- err
}()
}
sendStdin := promise.Go(func() error {
stdinDone := make(chan struct{})
go func() {
if in != nil {
io.Copy(rwc, in)
log.Debugf("[hijack] End of stdin")
logrus.Debugf("[hijack] End of stdin")
}
if conn, ok := rwc.(interface {
CloseWrite() error
}); ok {
if err := conn.CloseWrite(); err != nil {
log.Debugf("Couldn't send EOF: %s", err)
logrus.Debugf("Couldn't send EOF: %s", err)
}
}
// Discard errors due to pipe interruption
return nil
})
close(stdinDone)
}()
if stdout != nil || stderr != nil {
if err := <-receiveStdout; err != nil {
log.Debugf("Error receiveStdout: %s", err)
select {
case err := <-receiveStdout:
if err != nil {
logrus.Debugf("Error receiveStdout: %s", err)
return err
}
case <-stdinDone:
if stdout != nil || stderr != nil {
if err := <-receiveStdout; err != nil {
logrus.Debugf("Error receiveStdout: %s", err)
return err
}
}
}
if !cli.isTerminalIn {
if err := <-sendStdin; err != nil {
log.Debugf("Error sendStdin: %s", err)
return err
}
}
return nil
}
+78
View File
@@ -0,0 +1,78 @@
package client
import (
"encoding/json"
"fmt"
"strings"
"text/tabwriter"
"time"
"github.com/docker/docker/api/types"
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/docker/pkg/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{"#notrunc", "-no-trunc"}, false, "Don't truncate output")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
serverResp, err := cli.call("GET", "/images/"+cmd.Arg(0)+"/history", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
history := []types.ImageHistory{}
if err := json.NewDecoder(serverResp.body).Decode(&history); err != nil {
return err
}
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
if !*quiet {
fmt.Fprintln(w, "IMAGE\tCREATED\tCREATED BY\tSIZE\tCOMMENT")
}
for _, entry := range history {
if *noTrunc {
fmt.Fprintf(w, entry.ID)
} else {
fmt.Fprintf(w, stringid.TruncateID(entry.ID))
}
if !*quiet {
if *human {
fmt.Fprintf(w, "\t%s ago\t", units.HumanDuration(time.Now().UTC().Sub(time.Unix(entry.Created, 0))))
} else {
fmt.Fprintf(w, "\t%s\t", time.Unix(entry.Created, 0).Format(time.RFC3339))
}
if *noTrunc {
fmt.Fprintf(w, "%s\t", strings.Replace(entry.CreatedBy, "\t", " ", -1))
} else {
fmt.Fprintf(w, "%s\t", stringutils.Truncate(strings.Replace(entry.CreatedBy, "\t", " ", -1), 45))
}
if *human {
fmt.Fprintf(w, "%s\t", units.HumanSize(float64(entry.Size)))
} else {
fmt.Fprintf(w, "%d\t", entry.Size)
}
fmt.Fprintf(w, "%s", entry.Comment)
}
fmt.Fprintf(w, "\n")
}
w.Flush()
return nil
}
+130
View File
@@ -0,0 +1,130 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"text/tabwriter"
"time"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/parsers/filters"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/units"
"github.com/docker/docker/utils"
)
// 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{"#notrunc", "-no-trunc"}, false, "Don't truncate output")
showDigests := cmd.Bool([]string{"-digests"}, false, "Show digests")
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.Args{}
for _, f := range flFilter.GetAll() {
var err error
imageFilterArgs, err = filters.ParseFlag(f, imageFilterArgs)
if err != nil {
return err
}
}
matchName := cmd.Arg(0)
v := url.Values{}
if len(imageFilterArgs) > 0 {
filterJSON, err := filters.ToParam(imageFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJSON)
}
if cmd.NArg() == 1 {
// FIXME rename this parameter, to not be confused with the filters flag
v.Set("filter", matchName)
}
if *all {
v.Set("all", "1")
}
serverResp, err := cli.call("GET", "/images/json?"+v.Encode(), nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
images := []types.Image{}
if err := json.NewDecoder(serverResp.body).Decode(&images); err != nil {
return err
}
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
if !*quiet {
if *showDigests {
fmt.Fprintln(w, "REPOSITORY\tTAG\tDIGEST\tIMAGE ID\tCREATED\tVIRTUAL SIZE")
} else {
fmt.Fprintln(w, "REPOSITORY\tTAG\tIMAGE ID\tCREATED\tVIRTUAL SIZE")
}
}
for _, image := range images {
ID := image.ID
if !*noTrunc {
ID = stringid.TruncateID(ID)
}
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 repoDigsts so we only show it once below
repoDigests = []string{}
}
// combine the tags and digests lists
tagsAndDigests := append(repoTags, repoDigests...)
for _, repoAndRef := range tagsAndDigests {
repo, ref := parsers.ParseRepositoryTag(repoAndRef)
// default tag and digest to none - if there's a value, it'll be set below
tag := "<none>"
digest := "<none>"
if utils.DigestReference(ref) {
digest = ref
} else {
tag = ref
}
if !*quiet {
if *showDigests {
fmt.Fprintf(w, "%s\t%s\t%s\t%s\t%s ago\t%s\n", repo, tag, digest, ID, units.HumanDuration(time.Now().UTC().Sub(time.Unix(int64(image.Created), 0))), units.HumanSize(float64(image.VirtualSize)))
} else {
fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\t%s\n", repo, tag, ID, units.HumanDuration(time.Now().UTC().Sub(time.Unix(int64(image.Created), 0))), units.HumanSize(float64(image.VirtualSize)))
}
} else {
fmt.Fprintln(w, ID)
}
}
}
if !*quiet {
w.Flush()
}
return nil
}
+79
View File
@@ -0,0 +1,79 @@
package client
import (
"fmt"
"io"
"net/url"
"os"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/registry"
)
// 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 (
v = url.Values{}
src = cmd.Arg(0)
repository = cmd.Arg(1)
)
v.Set("fromSrc", src)
v.Set("repo", repository)
v.Set("message", *message)
for _, change := range flChanges.GetAll() {
v.Add("changes", change)
}
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")
v.Set("tag", cmd.Arg(2))
}
if repository != "" {
//Check if the given image name can be resolved
repo, _ := parsers.ParseRepositoryTag(repository)
if err := registry.ValidateRepositoryName(repo); err != nil {
return err
}
}
var in io.Reader
if src == "-" {
in = cli.in
} else if !urlutil.IsURL(src) {
v.Set("fromSrc", "-")
file, err := os.Open(src)
if err != nil {
return err
}
defer file.Close()
in = file
}
sopts := &streamOpts{
rawTerminal: true,
in: in,
out: cli.out,
}
_, err := cli.stream("POST", "/images/create?"+v.Encode(), sopts)
return err
}
+114
View File
@@ -0,0 +1,114 @@
package client
import (
"encoding/json"
"fmt"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/pkg/httputils"
"github.com/docker/docker/pkg/ioutils"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/units"
)
// CmdInfo displays system-wide information.
//
// Usage: docker info
func (cli *DockerCli) CmdInfo(args ...string) error {
cmd := Cli.Subcmd("info", nil, Cli.DockerCommands["info"].Description, true)
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
serverResp, err := cli.call("GET", "/info", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
info := &types.Info{}
if err := json.NewDecoder(serverResp.body).Decode(info); err != nil {
return fmt.Errorf("Error reading remote info: %v", err)
}
fmt.Fprintf(cli.out, "Containers: %d\n", info.Containers)
fmt.Fprintf(cli.out, "Images: %d\n", info.Images)
ioutils.FprintfIfNotEmpty(cli.out, "Server Version: %s\n", info.ServerVersion)
ioutils.FprintfIfNotEmpty(cli.out, "Storage Driver: %s\n", info.Driver)
if info.DriverStatus != nil {
for _, pair := range info.DriverStatus {
fmt.Fprintf(cli.out, " %s: %s\n", pair[0], pair[1])
}
}
ioutils.FprintfIfNotEmpty(cli.out, "Execution Driver: %s\n", info.ExecutionDriver)
ioutils.FprintfIfNotEmpty(cli.out, "Logging Driver: %s\n", info.LoggingDriver)
ioutils.FprintfIfNotEmpty(cli.out, "Kernel Version: %s\n", info.KernelVersion)
ioutils.FprintfIfNotEmpty(cli.out, "Operating System: %s\n", info.OperatingSystem)
fmt.Fprintf(cli.out, "CPUs: %d\n", info.NCPU)
fmt.Fprintf(cli.out, "Total Memory: %s\n", units.BytesSize(float64(info.MemTotal)))
ioutils.FprintfIfNotEmpty(cli.out, "Name: %s\n", info.Name)
ioutils.FprintfIfNotEmpty(cli.out, "ID: %s\n", info.ID)
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)
ioutils.FprintfIfNotEmpty(cli.out, "Https Proxy: %s\n", info.HTTPSProxy)
ioutils.FprintfIfNotEmpty(cli.out, "No Proxy: %s\n", info.NoProxy)
if info.IndexServerAddress != "" {
u := cli.configFile.AuthConfigs[info.IndexServerAddress].Username
if len(u) > 0 {
fmt.Fprintf(cli.out, "Username: %v\n", u)
fmt.Fprintf(cli.out, "Registry: %v\n", info.IndexServerAddress)
}
}
// Only output these warnings if the server does not support these features
if h, err := httputils.ParseServerHeader(serverResp.header.Get("Server")); err == nil {
if h.OS != "windows" {
if !info.MemoryLimit {
fmt.Fprintf(cli.err, "WARNING: No memory limit support\n")
}
if !info.SwapLimit {
fmt.Fprintf(cli.err, "WARNING: No swap limit support\n")
}
if !info.IPv4Forwarding {
fmt.Fprintf(cli.err, "WARNING: IPv4 forwarding is disabled\n")
}
if !info.BridgeNfIptables {
fmt.Fprintf(cli.err, "WARNING: bridge-nf-call-iptables is disabled\n")
}
if !info.BridgeNfIP6tables {
fmt.Fprintf(cli.err, "WARNING: bridge-nf-call-ip6tables is disabled\n")
}
}
}
if info.Labels != nil {
fmt.Fprintln(cli.out, "Labels:")
for _, attribute := range info.Labels {
fmt.Fprintf(cli.out, " %s\n", attribute)
}
}
ioutils.FprintfIfTrue(cli.out, "Experimental: %v\n", info.ExperimentalBuild)
if info.ClusterStore != "" {
fmt.Fprintf(cli.out, "Cluster store: %s\n", info.ClusterStore)
}
if info.ClusterAdvertise != "" {
fmt.Fprintf(cli.out, "Cluster advertise: %s\n", info.ClusterAdvertise)
}
return nil
}
+203
View File
@@ -0,0 +1,203 @@
package client
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/url"
"strings"
"text/template"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
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.
//
// Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
func (cli *DockerCli) CmdInspect(args ...string) error {
cmd := Cli.Subcmd("inspect", []string{"CONTAINER|IMAGE [CONTAINER|IMAGE...]"}, Cli.DockerCommands["inspect"].Description, true)
tmplStr := cmd.String([]string{"f", "#format", "-format"}, "", "Format the output using the given go template")
inspectType := cmd.String([]string{"-type"}, "", "Return JSON for specified type, (e.g image or container)")
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)
var tmpl *template.Template
var err error
var obj []byte
if *tmplStr != "" {
if tmpl, err = template.New("").Funcs(funcMap).Parse(*tmplStr); err != nil {
return Cli.StatusError{StatusCode: 64,
Status: "Template parsing error: " + err.Error()}
}
}
if *inspectType != "" && *inspectType != "container" && *inspectType != "image" {
return fmt.Errorf("%q is not a valid value for --type", *inspectType)
}
indented := new(bytes.Buffer)
indented.WriteString("[\n")
status := 0
isImage := false
v := url.Values{}
if *size {
v.Set("size", "1")
}
for _, name := range cmd.Args() {
if *inspectType == "" || *inspectType == "container" {
obj, _, err = readBody(cli.call("GET", "/containers/"+name+"/json?"+v.Encode(), nil, nil))
if err != nil {
if err == errConnectionFailed {
return err
}
if *inspectType == "container" {
if strings.Contains(err.Error(), "No such") {
fmt.Fprintf(cli.err, "Error: No such container: %s\n", name)
} else {
fmt.Fprintf(cli.err, "%s", err)
}
status = 1
continue
}
}
}
if obj == nil && (*inspectType == "" || *inspectType == "image") {
obj, _, err = readBody(cli.call("GET", "/images/"+name+"/json", nil, nil))
isImage = true
if err != nil {
if err == errConnectionFailed {
return err
}
if strings.Contains(err.Error(), "No such") {
if *inspectType == "" {
fmt.Fprintf(cli.err, "Error: No such image or container: %s\n", name)
} else {
fmt.Fprintf(cli.err, "Error: No such image: %s\n", name)
}
} else {
fmt.Fprintf(cli.err, "%s", err)
}
status = 1
continue
}
}
if tmpl == nil {
if err := json.Indent(indented, obj, "", " "); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
} else {
rdr := bytes.NewReader(obj)
dec := json.NewDecoder(rdr)
buf := bytes.NewBufferString("")
if isImage {
inspPtr := types.ImageInspect{}
if err := dec.Decode(&inspPtr); err != nil {
fmt.Fprintf(cli.err, "Unable to read inspect data: %v\n", err)
status = 1
break
}
if err := tmpl.Execute(buf, inspPtr); err != nil {
rdr.Seek(0, 0)
var ok bool
if buf, ok = cli.decodeRawInspect(tmpl, dec); !ok {
fmt.Fprintf(cli.err, "Template parsing error: %v\n", err)
status = 1
break
}
}
} else {
inspPtr := types.ContainerJSON{}
if err := dec.Decode(&inspPtr); err != nil {
fmt.Fprintf(cli.err, "Unable to read inspect data: %v\n", err)
status = 1
break
}
if err := tmpl.Execute(buf, inspPtr); err != nil {
rdr.Seek(0, 0)
var ok bool
if buf, ok = cli.decodeRawInspect(tmpl, dec); !ok {
fmt.Fprintf(cli.err, "Template parsing error: %v\n", err)
status = 1
break
}
}
}
cli.out.Write(buf.Bytes())
cli.out.Write([]byte{'\n'})
}
indented.WriteString(",")
}
if indented.Len() > 1 {
// Remove trailing ','
indented.Truncate(indented.Len() - 1)
}
indented.WriteString("]\n")
if tmpl == nil {
// Note that we will always write "[]" when "-f" isn't specified,
// to make sure the output would always be array, see
// https://github.com/docker/docker/pull/9500#issuecomment-65846734
if _, err := io.Copy(cli.out, indented); err != nil {
return err
}
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
// decodeRawInspect 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.
//
// TODO: Go 1.5 allows to customize the error behavior, we can probably get rid of this as soon as
// we build Docker with that version:
// https://golang.org/pkg/text/template/#Template.Option
func (cli *DockerCli) decodeRawInspect(tmpl *template.Template, dec *json.Decoder) (*bytes.Buffer, bool) {
var raw interface{}
buf := bytes.NewBufferString("")
if rawErr := dec.Decode(&raw); rawErr != nil {
fmt.Fprintf(cli.err, "Unable to read inspect data: %v\n", rawErr)
return buf, false
}
if rawErr := tmpl.Execute(buf, raw); rawErr != nil {
return buf, false
}
if strings.Contains(buf.String(), "<no value>") {
return buf, false
}
return buf, true
}
+33
View File
@@ -0,0 +1,33 @@
package client
import (
"fmt"
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 errNames []string
for _, name := range cmd.Args() {
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/kill?signal=%s", name, *signal), nil, nil)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to kill containers: %v", errNames)
}
return nil
}
+42
View File
@@ -0,0 +1,42 @@
package client
import (
"io"
"os"
Cli "github.com/docker/docker/cli"
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
err error
)
if *infile != "" {
input, err = os.Open(*infile)
if err != nil {
return err
}
}
sopts := &streamOpts{
rawTerminal: true,
in: input,
out: cli.out,
}
if _, err := cli.stream("POST", "/images/load", sopts); err != nil {
return err
}
return nil
}
+153
View File
@@ -0,0 +1,153 @@
package client
import (
"bufio"
"encoding/json"
"fmt"
"io"
"os"
"runtime"
"strings"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/cliconfig"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/term"
"github.com/docker/docker/registry"
)
// 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 = cliconfig.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
serverResp, err := cli.call("POST", "/auth", cli.configFile.AuthConfigs[serverAddress], nil)
if serverResp.statusCode == 401 {
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 != nil {
return err
}
defer serverResp.body.Close()
var response types.AuthResponse
if err := json.NewDecoder(serverResp.body).Decode(&response); err != nil {
// Upon error, remove entry
delete(cli.configFile.AuthConfigs, serverAddress)
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
}
+39
View File
@@ -0,0 +1,39 @@
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
}
+74
View File
@@ -0,0 +1,74 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"time"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/timeutils"
)
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)
serverResp, err := cli.call("GET", "/containers/"+name+"/json", nil, nil)
if err != nil {
return err
}
var c types.ContainerJSON
if err := json.NewDecoder(serverResp.body).Decode(&c); 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)
}
v := url.Values{}
v.Set("stdout", "1")
v.Set("stderr", "1")
if *since != "" {
v.Set("since", timeutils.GetTimestamp(*since, time.Now()))
}
if *times {
v.Set("timestamps", "1")
}
if *follow {
v.Set("follow", "1")
}
v.Set("tail", *tail)
sopts := &streamOpts{
rawTerminal: c.Config.Tty,
out: cli.out,
err: cli.err,
}
_, err = cli.stream("GET", "/containers/"+name+"/logs?"+v.Encode(), sopts)
return err
}
+381
View File
@@ -0,0 +1,381 @@
package client
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net"
"strings"
"text/tabwriter"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/daemon/network"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/stringid"
)
// 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)
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.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: flOpts.GetAll(),
CheckDuplicate: true,
}
obj, _, err := readBody(cli.call("POST", "/networks/create", nc, nil))
if err != nil {
return err
}
var resp types.NetworkCreateResponse
err = json.Unmarshal(obj, &resp)
if err != nil {
return err
}
fmt.Fprintf(cli.out, "%s\n", resp.ID)
return nil
}
// CmdNetworkRm deletes a network
//
// Usage: docker network rm <NETWORK-NAME | NETWORK-ID>
func (cli *DockerCli) CmdNetworkRm(args ...string) error {
cmd := Cli.Subcmd("network rm", []string{"NETWORK"}, "Deletes a network", false)
cmd.Require(flag.Exact, 1)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
_, _, err = readBody(cli.call("DELETE", "/networks/"+cmd.Arg(0), nil, nil))
if err != nil {
return err
}
return nil
}
// CmdNetworkConnect connects a container to a network
//
// Usage: docker network connect <NETWORK> <CONTAINER>
func (cli *DockerCli) CmdNetworkConnect(args ...string) error {
cmd := Cli.Subcmd("network connect", []string{"NETWORK CONTAINER"}, "Connects a container to a network", false)
cmd.Require(flag.Exact, 2)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
nc := types.NetworkConnect{Container: cmd.Arg(1)}
_, _, err = readBody(cli.call("POST", "/networks/"+cmd.Arg(0)+"/connect", nc, nil))
return err
}
// 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)
cmd.Require(flag.Exact, 2)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
nc := types.NetworkConnect{Container: cmd.Arg(1)}
_, _, err = readBody(cli.call("POST", "/networks/"+cmd.Arg(0)+"/disconnect", nc, nil))
return err
}
// CmdNetworkLs lists all the netorks 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")
cmd.Require(flag.Exact, 0)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
obj, _, err := readBody(cli.call("GET", "/networks", nil, nil))
if err != nil {
return err
}
var networkResources []types.NetworkResource
err = json.Unmarshal(obj, &networkResources)
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 a network", false)
cmd.Require(flag.Min, 1)
err := cmd.ParseFlags(args, true)
if err != nil {
return err
}
status := 0
var networks []*types.NetworkResource
for _, name := range cmd.Args() {
obj, _, err := readBody(cli.call("GET", "/networks/"+name, nil, nil))
if err != nil {
if strings.Contains(err.Error(), "not found") {
fmt.Fprintf(cli.err, "Error: No such network: %s\n", name)
} else {
fmt.Fprintf(cli.err, "%s", err)
}
status = 1
continue
}
networkResource := types.NetworkResource{}
if err := json.NewDecoder(bytes.NewReader(obj)).Decode(&networkResource); err != nil {
return err
}
networks = append(networks, &networkResource)
}
b, err := json.MarshalIndent(networks, "", " ")
if err != nil {
return err
}
if _, err := io.Copy(cli.out, bytes.NewReader(b)); err != nil {
return err
}
io.WriteString(cli.out, "\n")
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
// Consolidates the ipam configuration as a group from differnt related configurations
// user can configure network with multiple non-overlapping subnets and hence it is
// possible to corelate the various related parameters and consolidate them.
// consoidateIpam consolidates subnets, ip-ranges, gateways and auxilary 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
}
+32
View File
@@ -0,0 +1,32 @@
package client
import (
"fmt"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdPause pauses all processes within one or more containers.
//
// Usage: docker pause CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdPause(args ...string) error {
cmd := Cli.Subcmd("pause", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["pause"].Description, true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var errNames []string
for _, name := range cmd.Args() {
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/pause", name), nil, nil)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to pause containers: %v", errNames)
}
return nil
}
+72
View File
@@ -0,0 +1,72 @@
package client
import (
"encoding/json"
"fmt"
"strings"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/nat"
)
// CmdPort lists port mappings for a container.
// If a private port is specified, it also shows the public-facing port that is NATed to the private port.
//
// Usage: docker port CONTAINER [PRIVATE_PORT[/PROTO]]
func (cli *DockerCli) CmdPort(args ...string) error {
cmd := Cli.Subcmd("port", []string{"CONTAINER [PRIVATE_PORT[/PROTO]]"}, Cli.DockerCommands["port"].Description, true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
var c struct {
NetworkSettings struct {
Ports nat.PortMap
}
}
if err := json.NewDecoder(serverResp.body).Decode(&c); err != nil {
return err
}
if cmd.NArg() == 2 {
var (
port = cmd.Arg(1)
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(cli.out, "%s:%s\n", frontend.HostIP, frontend.HostPort)
}
return nil
}
return fmt.Errorf("Error: No public port '%s' published for %s", natPort, cmd.Arg(0))
}
for from, frontends := range c.NetworkSettings.Ports {
for _, frontend := range frontends {
fmt.Fprintf(cli.out, "%s -> %s:%s\n", from, frontend.HostIP, frontend.HostPort)
}
}
return nil
}
+116
View File
@@ -0,0 +1,116 @@
package client
import (
"encoding/json"
"net/url"
"strconv"
"github.com/docker/docker/api/client/ps"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers/filters"
)
// CmdPs outputs a list of Docker containers.
//
// Usage: docker ps [OPTIONS]
func (cli *DockerCli) CmdPs(args ...string) error {
var (
err error
psFilterArgs = filters.Args{}
v = url.Values{}
cmd = Cli.Subcmd("ps", nil, Cli.DockerCommands["ps"].Description, true)
quiet = cmd.Bool([]string{"q", "-quiet"}, false, "Only display numeric IDs")
size = cmd.Bool([]string{"s", "-size"}, false, "Display total file sizes")
all = cmd.Bool([]string{"a", "-all"}, false, "Show all containers (default shows just running)")
noTrunc = cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output")
nLatest = cmd.Bool([]string{"l", "-latest"}, false, "Show the latest created container, include non-running")
since = cmd.String([]string{"#sinceId", "#-since-id", "-since"}, "", "Show created since Id or Name, include non-running")
before = cmd.String([]string{"#beforeId", "#-before-id", "-before"}, "", "Show only container created before Id or Name")
last = cmd.Int([]string{"n"}, -1, "Show n last created containers, include non-running")
format = cmd.String([]string{"-format"}, "", "Pretty-print containers using a Go template")
flFilter = opts.NewListOpts(nil)
)
cmd.Require(flag.Exact, 0)
cmd.Var(&flFilter, []string{"f", "-filter"}, "Filter output based on conditions provided")
cmd.ParseFlags(args, true)
if *last == -1 && *nLatest {
*last = 1
}
if *all {
v.Set("all", "1")
}
if *last != -1 {
v.Set("limit", strconv.Itoa(*last))
}
if *since != "" {
v.Set("since", *since)
}
if *before != "" {
v.Set("before", *before)
}
if *size {
v.Set("size", "1")
}
// Consolidate all filter flags, and sanity check them.
// They'll get processed in the daemon/server.
for _, f := range flFilter.GetAll() {
if psFilterArgs, err = filters.ParseFlag(f, psFilterArgs); err != nil {
return err
}
}
if len(psFilterArgs) > 0 {
filterJSON, err := filters.ToParam(psFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJSON)
}
serverResp, err := cli.call("GET", "/containers/json?"+v.Encode(), nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
containers := []types.Container{}
if err := json.NewDecoder(serverResp.body).Decode(&containers); err != nil {
return err
}
f := *format
if len(f) == 0 {
if len(cli.PsFormat()) > 0 && !*quiet {
f = cli.PsFormat()
} else {
f = "table"
}
}
psCtx := ps.Context{
Output: cli.out,
Format: f,
Quiet: *quiet,
Size: *size,
Trunc: !*noTrunc,
}
ps.Format(psCtx, containers)
return nil
}
+160
View File
@@ -0,0 +1,160 @@
package ps
import (
"fmt"
"strconv"
"strings"
"time"
"github.com/docker/docker/api"
"github.com/docker/docker/api/types"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/stringutils"
"github.com/docker/docker/pkg/units"
)
const (
tableKey = "table"
idHeader = "CONTAINER ID"
imageHeader = "IMAGE"
namesHeader = "NAMES"
commandHeader = "COMMAND"
createdAtHeader = "CREATED AT"
runningForHeader = "CREATED"
statusHeader = "STATUS"
portsHeader = "PORTS"
sizeHeader = "SIZE"
labelsHeader = "LABELS"
)
type containerContext struct {
trunc bool
header []string
c types.Container
}
func (c *containerContext) ID() string {
c.addHeader(idHeader)
if c.trunc {
return stringid.TruncateID(c.c.ID)
}
return c.c.ID
}
func (c *containerContext) Names() string {
c.addHeader(namesHeader)
names := stripNamePrefix(c.c.Names)
if c.trunc {
for _, name := range names {
if len(strings.Split(name, "/")) == 1 {
names = []string{name}
break
}
}
}
return strings.Join(names, ",")
}
func (c *containerContext) Image() string {
c.addHeader(imageHeader)
if c.c.Image == "" {
return "<no image>"
}
if c.trunc {
if stringid.TruncateID(c.c.ImageID) == stringid.TruncateID(c.c.Image) {
return stringutils.Truncate(c.c.Image, 12)
}
}
return c.c.Image
}
func (c *containerContext) Command() string {
c.addHeader(commandHeader)
command := c.c.Command
if c.trunc {
command = stringutils.Truncate(command, 20)
}
return strconv.Quote(command)
}
func (c *containerContext) CreatedAt() string {
c.addHeader(createdAtHeader)
return time.Unix(int64(c.c.Created), 0).String()
}
func (c *containerContext) RunningFor() string {
c.addHeader(runningForHeader)
createdAt := time.Unix(int64(c.c.Created), 0)
return units.HumanDuration(time.Now().UTC().Sub(createdAt))
}
func (c *containerContext) Ports() string {
c.addHeader(portsHeader)
return api.DisplayablePorts(c.c.Ports)
}
func (c *containerContext) Status() string {
c.addHeader(statusHeader)
return c.c.Status
}
func (c *containerContext) Size() string {
c.addHeader(sizeHeader)
srw := units.HumanSize(float64(c.c.SizeRw))
sv := units.HumanSize(float64(c.c.SizeRootFs))
sf := srw
if c.c.SizeRootFs > 0 {
sf = fmt.Sprintf("%s (virtual %s)", srw, sv)
}
return sf
}
func (c *containerContext) Labels() string {
c.addHeader(labelsHeader)
if c.c.Labels == nil {
return ""
}
var joinLabels []string
for k, v := range c.c.Labels {
joinLabels = append(joinLabels, fmt.Sprintf("%s=%s", k, v))
}
return strings.Join(joinLabels, ",")
}
func (c *containerContext) Label(name string) string {
n := strings.Split(name, ".")
r := strings.NewReplacer("-", " ", "_", " ")
h := r.Replace(n[len(n)-1])
c.addHeader(h)
if c.c.Labels == nil {
return ""
}
return c.c.Labels[name]
}
func (c *containerContext) fullHeader() string {
if c.header == nil {
return ""
}
return strings.Join(c.header, "\t")
}
func (c *containerContext) addHeader(header string) {
if c.header == nil {
c.header = []string{}
}
c.header = append(c.header, strings.ToUpper(header))
}
func stripNamePrefix(ss []string) []string {
for i, s := range ss {
ss[i] = s[1:]
}
return ss
}
+126
View File
@@ -0,0 +1,126 @@
package ps
import (
"reflect"
"strings"
"testing"
"time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/pkg/stringid"
)
func TestContainerPsContext(t *testing.T) {
containerID := stringid.GenerateRandomID()
unix := time.Now().Unix()
var ctx containerContext
cases := []struct {
container types.Container
trunc bool
expValue string
expHeader string
call func() string
}{
{types.Container{ID: containerID}, true, stringid.TruncateID(containerID), idHeader, ctx.ID},
{types.Container{ID: containerID}, false, containerID, idHeader, ctx.ID},
{types.Container{Names: []string{"/foobar_baz"}}, true, "foobar_baz", namesHeader, ctx.Names},
{types.Container{Image: "ubuntu"}, true, "ubuntu", imageHeader, ctx.Image},
{types.Container{Image: "verylongimagename"}, true, "verylongimagename", imageHeader, ctx.Image},
{types.Container{Image: "verylongimagename"}, false, "verylongimagename", imageHeader, ctx.Image},
{types.Container{
Image: "a5a665ff33eced1e0803148700880edab4",
ImageID: "a5a665ff33eced1e0803148700880edab4269067ed77e27737a708d0d293fbf5",
},
true,
"a5a665ff33ec",
imageHeader,
ctx.Image,
},
{types.Container{
Image: "a5a665ff33eced1e0803148700880edab4",
ImageID: "a5a665ff33eced1e0803148700880edab4269067ed77e27737a708d0d293fbf5",
},
false,
"a5a665ff33eced1e0803148700880edab4",
imageHeader,
ctx.Image,
},
{types.Container{Image: ""}, true, "<no image>", imageHeader, ctx.Image},
{types.Container{Command: "sh -c 'ls -la'"}, true, `"sh -c 'ls -la'"`, commandHeader, ctx.Command},
{types.Container{Created: unix}, true, time.Unix(unix, 0).String(), createdAtHeader, ctx.CreatedAt},
{types.Container{Ports: []types.Port{{PrivatePort: 8080, PublicPort: 8080, Type: "tcp"}}}, true, "8080/tcp", portsHeader, ctx.Ports},
{types.Container{Status: "RUNNING"}, true, "RUNNING", statusHeader, ctx.Status},
{types.Container{SizeRw: 10}, true, "10 B", sizeHeader, ctx.Size},
{types.Container{SizeRw: 10, SizeRootFs: 20}, true, "10 B (virtual 20 B)", sizeHeader, ctx.Size},
{types.Container{}, true, "", labelsHeader, ctx.Labels},
{types.Container{Labels: map[string]string{"cpu": "6", "storage": "ssd"}}, true, "cpu=6,storage=ssd", labelsHeader, ctx.Labels},
{types.Container{Created: unix}, true, "Less than a second", runningForHeader, ctx.RunningFor},
}
for _, c := range cases {
ctx = containerContext{c: c.container, trunc: c.trunc}
v := c.call()
if strings.Contains(v, ",") {
// comma-separated values means probably a map input, which won't
// be guaranteed to have the same order as our expected value
// We'll create maps and use reflect.DeepEquals to check instead:
entriesMap := make(map[string]string)
expMap := make(map[string]string)
entries := strings.Split(v, ",")
expectedEntries := strings.Split(c.expValue, ",")
for _, entry := range entries {
keyval := strings.Split(entry, "=")
entriesMap[keyval[0]] = keyval[1]
}
for _, expected := range expectedEntries {
keyval := strings.Split(expected, "=")
expMap[keyval[0]] = keyval[1]
}
if !reflect.DeepEqual(expMap, entriesMap) {
t.Fatalf("Expected entries: %v, got: %v", c.expValue, v)
}
} else if v != c.expValue {
t.Fatalf("Expected %s, was %s\n", c.expValue, v)
}
h := ctx.fullHeader()
if h != c.expHeader {
t.Fatalf("Expected %s, was %s\n", c.expHeader, h)
}
}
c1 := types.Container{Labels: map[string]string{"com.docker.swarm.swarm-id": "33", "com.docker.swarm.node_name": "ubuntu"}}
ctx = containerContext{c: c1, trunc: true}
sid := ctx.Label("com.docker.swarm.swarm-id")
node := ctx.Label("com.docker.swarm.node_name")
if sid != "33" {
t.Fatalf("Expected 33, was %s\n", sid)
}
if node != "ubuntu" {
t.Fatalf("Expected ubuntu, was %s\n", node)
}
h := ctx.fullHeader()
if h != "SWARM ID\tNODE NAME" {
t.Fatalf("Expected %s, was %s\n", "SWARM ID\tNODE NAME", h)
}
c2 := types.Container{}
ctx = containerContext{c: c2, trunc: true}
label := ctx.Label("anything.really")
if label != "" {
t.Fatalf("Expected an empty string, was %s", label)
}
ctx = containerContext{c: c2, trunc: true}
fullHeader := ctx.fullHeader()
if fullHeader != "" {
t.Fatalf("Expected fullHeader to be empty, was %s", fullHeader)
}
}
+140
View File
@@ -0,0 +1,140 @@
package ps
import (
"bytes"
"fmt"
"io"
"strings"
"text/tabwriter"
"text/template"
"github.com/docker/docker/api/types"
)
const (
tableFormatKey = "table"
rawFormatKey = "raw"
defaultTableFormat = "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.RunningFor}} ago\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
defaultQuietFormat = "{{.ID}}"
)
// Context contains information required by the formatter to print the output as desired.
type Context struct {
// Output is the output stream to which the formatted string is written.
Output io.Writer
// Format is used to choose raw, table or custom format for the output.
Format string
// Size when set to true will display the size of the output.
Size bool
// Quiet when set to true will simply print minimal information.
Quiet bool
// Trunc when set to true will truncate the output of certain fields such as Container ID.
Trunc bool
}
// Format helps to format the output using the parameters set in the Context.
// Currently Format allow to display in raw, table or custom format the output.
func Format(ctx Context, containers []types.Container) {
switch ctx.Format {
case tableFormatKey:
tableFormat(ctx, containers)
case rawFormatKey:
rawFormat(ctx, containers)
default:
customFormat(ctx, containers)
}
}
func rawFormat(ctx Context, containers []types.Container) {
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}}
`
if ctx.Size {
ctx.Format += `size: {{.Size}}
`
}
}
customFormat(ctx, containers)
}
func tableFormat(ctx Context, containers []types.Container) {
ctx.Format = defaultTableFormat
if ctx.Quiet {
ctx.Format = defaultQuietFormat
}
customFormat(ctx, containers)
}
func customFormat(ctx Context, containers []types.Container) {
var (
table bool
header string
format = ctx.Format
buffer = bytes.NewBufferString("")
)
if strings.HasPrefix(ctx.Format, tableKey) {
table = true
format = format[len(tableKey):]
}
format = strings.Trim(format, " ")
r := strings.NewReplacer(`\t`, "\t", `\n`, "\n")
format = r.Replace(format)
if table && ctx.Size {
format += "\t{{.Size}}"
}
tmpl, err := template.New("").Parse(format)
if err != nil {
buffer.WriteString(fmt.Sprintf("Template parsing error: %v\n", err))
buffer.WriteTo(ctx.Output)
return
}
for _, container := range containers {
containerCtx := &containerContext{
trunc: ctx.Trunc,
c: container,
}
if err := tmpl.Execute(buffer, containerCtx); err != nil {
buffer = bytes.NewBufferString(fmt.Sprintf("Template parsing error: %v\n", err))
buffer.WriteTo(ctx.Output)
return
}
if table && len(header) == 0 {
header = containerCtx.fullHeader()
}
buffer.WriteString("\n")
}
if table {
if len(header) == 0 {
// if we still don't have a header, we didn't have any containers so we need to fake it to get the right headers from the template
containerCtx := &containerContext{}
tmpl.Execute(bytes.NewBufferString(""), containerCtx)
header = containerCtx.fullHeader()
}
t := tabwriter.NewWriter(ctx.Output, 20, 1, 3, ' ', 0)
t.Write([]byte(header))
t.Write([]byte("\n"))
buffer.WriteTo(t)
t.Flush()
} else {
buffer.WriteTo(ctx.Output)
}
}
+208
View File
@@ -0,0 +1,208 @@
package ps
import (
"bytes"
"testing"
"github.com/docker/docker/api/types"
)
func TestFormat(t *testing.T) {
contexts := []struct {
context Context
expected string
}{
// Errors
{
Context{
Format: "{{InvalidFunction}}",
},
`Template parsing error: template: :1: function "InvalidFunction" not defined
`,
},
{
Context{
Format: "{{nil}}",
},
`Template parsing error: template: :1:2: executing "" at <nil>: nil is not a command
`,
},
// Table Format
{
Context{
Format: "table",
},
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
containerID1 ubuntu "" 45 years ago foobar_baz
containerID2 ubuntu "" 45 years ago foobar_bar
`,
},
{
Context{
Format: "table {{.Image}}",
},
"IMAGE\nubuntu\nubuntu\n",
},
{
Context{
Format: "table {{.Image}}",
Size: true,
},
"IMAGE SIZE\nubuntu 0 B\nubuntu 0 B\n",
},
{
Context{
Format: "table {{.Image}}",
Quiet: true,
},
"IMAGE\nubuntu\nubuntu\n",
},
{
Context{
Format: "table",
Quiet: true,
},
"containerID1\ncontainerID2\n",
},
// Raw Format
{
Context{
Format: "raw",
},
`container_id: containerID1
image: ubuntu
command: ""
created_at: 1970-01-01 00:00:00 +0000 UTC
status:
names: foobar_baz
labels:
ports:
container_id: containerID2
image: ubuntu
command: ""
created_at: 1970-01-01 00:00:00 +0000 UTC
status:
names: foobar_bar
labels:
ports:
`,
},
{
Context{
Format: "raw",
Size: true,
},
`container_id: containerID1
image: ubuntu
command: ""
created_at: 1970-01-01 00:00:00 +0000 UTC
status:
names: foobar_baz
labels:
ports:
size: 0 B
container_id: containerID2
image: ubuntu
command: ""
created_at: 1970-01-01 00:00:00 +0000 UTC
status:
names: foobar_bar
labels:
ports:
size: 0 B
`,
},
{
Context{
Format: "raw",
Quiet: true,
},
"container_id: containerID1\ncontainer_id: containerID2\n",
},
// Custom Format
{
Context{
Format: "{{.Image}}",
},
"ubuntu\nubuntu\n",
},
{
Context{
Format: "{{.Image}}",
Size: true,
},
"ubuntu\nubuntu\n",
},
}
for _, context := range contexts {
containers := []types.Container{
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu"},
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu"},
}
out := bytes.NewBufferString("")
context.context.Output = out
Format(context.context, containers)
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}
func TestCustomFormatNoContainers(t *testing.T) {
out := bytes.NewBufferString("")
containers := []types.Container{}
contexts := []struct {
context Context
expected string
}{
{
Context{
Format: "{{.Image}}",
Output: out,
},
"",
},
{
Context{
Format: "table {{.Image}}",
Output: out,
},
"IMAGE\n",
},
{
Context{
Format: "{{.Image}}",
Output: out,
Size: true,
},
"",
},
{
Context{
Format: "table {{.Image}}",
Output: out,
Size: true,
},
"IMAGE SIZE\n",
},
}
for _, context := range contexts {
customFormat(context.context, containers)
actual := out.String()
if actual != context.expected {
t.Fatalf("Expected \n%s, got \n%s", context.expected, actual)
}
// Clean buffer
out.Reset()
}
}
+53
View File
@@ -0,0 +1,53 @@
package client
import (
"fmt"
"net/url"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/graph/tags"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/registry"
)
// CmdPull pulls an image or a repository from the registry.
//
// Usage: docker pull [OPTIONS] IMAGENAME[:TAG|@DIGEST]
func (cli *DockerCli) CmdPull(args ...string) error {
cmd := Cli.Subcmd("pull", []string{"NAME[:TAG|@DIGEST]"}, Cli.DockerCommands["pull"].Description, true)
allTags := cmd.Bool([]string{"a", "-all-tags"}, false, "Download all tagged images in the repository")
addTrustedFlags(cmd, true)
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
remote := cmd.Arg(0)
taglessRemote, tag := parsers.ParseRepositoryTag(remote)
if tag == "" && !*allTags {
tag = tags.DefaultTag
fmt.Fprintf(cli.out, "Using default tag: %s\n", tag)
} else if tag != "" && *allTags {
return fmt.Errorf("tag can't be used with --all-tags/-a")
}
ref := registry.ParseReference(tag)
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(taglessRemote)
if err != nil {
return err
}
if isTrusted() && !ref.HasDigest() {
// Check if tag is digest
authConfig := registry.ResolveAuthConfig(cli.configFile, repoInfo.Index)
return cli.trustedPull(repoInfo, ref, authConfig)
}
v := url.Values{}
v.Set("fromImage", ref.ImageName(taglessRemote))
_, _, err = cli.clientRequestAttemptLogin("POST", "/images/create?"+v.Encode(), nil, cli.out, repoInfo.Index, "pull")
return err
}
+53
View File
@@ -0,0 +1,53 @@
package client
import (
"fmt"
"net/url"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/registry"
)
// CmdPush pushes an image or repository to the registry.
//
// Usage: docker push NAME[:TAG]
func (cli *DockerCli) CmdPush(args ...string) error {
cmd := Cli.Subcmd("push", []string{"NAME[:TAG]"}, Cli.DockerCommands["push"].Description, true)
addTrustedFlags(cmd, false)
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
remote, tag := parsers.ParseRepositoryTag(cmd.Arg(0))
// Resolve the Repository name from fqn to RepositoryInfo
repoInfo, err := registry.ParseRepositoryInfo(remote)
if err != nil {
return err
}
// Resolve the Auth config relevant for this server
authConfig := registry.ResolveAuthConfig(cli.configFile, repoInfo.Index)
// If we're not using a custom registry, we know the restrictions
// applied to repository names and can warn the user in advance.
// Custom repositories can have different rules, and we must also
// allow pushing by image ID.
if repoInfo.Official {
username := authConfig.Username
if username == "" {
username = "<user>"
}
return fmt.Errorf("You cannot push a \"root\" repository. Please rename your repository to <user>/<repo> (ex: %s/%s)", username, repoInfo.LocalName)
}
if isTrusted() {
return cli.trustedPush(repoInfo, tag, authConfig)
}
v := url.Values{}
v.Set("tag", tag)
_, _, err = cli.clientRequestAttemptLogin("POST", "/images/"+remote+"/push?"+v.Encode(), nil, cli.out, repoInfo.Index, "push")
return err
}
+32
View File
@@ -0,0 +1,32 @@
package client
import (
"fmt"
"strings"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdRename renames a container.
//
// Usage: docker rename OLD_NAME NEW_NAME
func (cli *DockerCli) CmdRename(args ...string) error {
cmd := Cli.Subcmd("rename", []string{"OLD_NAME NEW_NAME"}, Cli.DockerCommands["rename"].Description, true)
cmd.Require(flag.Exact, 2)
cmd.ParseFlags(args, true)
oldName := strings.TrimSpace(cmd.Arg(0))
newName := strings.TrimSpace(cmd.Arg(1))
if oldName == "" || newName == "" {
return fmt.Errorf("Error: Neither old nor new names may be empty")
}
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/rename?name=%s", oldName, newName), nil, nil)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
return fmt.Errorf("Error: failed to rename container named %s", oldName)
}
return nil
}
+39
View File
@@ -0,0 +1,39 @@
package client
import (
"fmt"
"net/url"
"strconv"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdRestart restarts one or more containers.
//
// Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdRestart(args ...string) error {
cmd := Cli.Subcmd("restart", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["restart"].Description, true)
nSeconds := cmd.Int([]string{"t", "-time"}, 10, "Seconds to wait for stop before killing the container")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
v := url.Values{}
v.Set("t", strconv.Itoa(*nSeconds))
var errNames []string
for _, name := range cmd.Args() {
_, _, err := readBody(cli.call("POST", "/containers/"+name+"/restart?"+v.Encode(), nil, nil))
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to restart containers: %v", errNames)
}
return nil
}
+55
View File
@@ -0,0 +1,55 @@
package client
import (
"fmt"
"net/url"
"strings"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdRm removes one or more containers.
//
// Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdRm(args ...string) error {
cmd := Cli.Subcmd("rm", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["rm"].Description, true)
v := cmd.Bool([]string{"v", "-volumes"}, false, "Remove the volumes associated with the container")
link := cmd.Bool([]string{"l", "#link", "-link"}, false, "Remove the specified link")
force := cmd.Bool([]string{"f", "-force"}, false, "Force the removal of a running container (uses SIGKILL)")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
val := url.Values{}
if *v {
val.Set("v", "1")
}
if *link {
val.Set("link", "1")
}
if *force {
val.Set("force", "1")
}
var errNames []string
for _, name := range cmd.Args() {
if name == "" {
return fmt.Errorf("Container name cannot be empty")
}
name = strings.Trim(name, "/")
_, _, err := readBody(cli.call("DELETE", "/containers/"+name+"?"+val.Encode(), nil, nil))
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to remove containers: %v", errNames)
}
return nil
}
+61
View File
@@ -0,0 +1,61 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdRmi removes all images with the specified name(s).
//
// Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
func (cli *DockerCli) CmdRmi(args ...string) error {
cmd := Cli.Subcmd("rmi", []string{"IMAGE [IMAGE...]"}, Cli.DockerCommands["rmi"].Description, true)
force := cmd.Bool([]string{"f", "-force"}, false, "Force removal of the image")
noprune := cmd.Bool([]string{"-no-prune"}, false, "Do not delete untagged parents")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
v := url.Values{}
if *force {
v.Set("force", "1")
}
if *noprune {
v.Set("noprune", "1")
}
var errNames []string
for _, name := range cmd.Args() {
serverResp, err := cli.call("DELETE", "/images/"+name+"?"+v.Encode(), nil, nil)
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
defer serverResp.body.Close()
dels := []types.ImageDelete{}
if err := json.NewDecoder(serverResp.body).Decode(&dels); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
continue
}
for _, del := range dels {
if del.Deleted != "" {
fmt.Fprintf(cli.out, "Deleted: %s\n", del.Deleted)
} else {
fmt.Fprintf(cli.out, "Untagged: %s\n", del.Untagged)
}
}
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to remove images: %v", errNames)
}
return nil
}
+257
View File
@@ -0,0 +1,257 @@
package client
import (
"fmt"
"io"
"net/url"
"os"
"runtime"
"github.com/Sirupsen/logrus"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/signal"
"github.com/docker/docker/runconfig"
"github.com/docker/libnetwork/resolvconf/dns"
)
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
}
// CmdRun runs a command in a new container.
//
// Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
func (cli *DockerCli) CmdRun(args ...string) error {
cmd := Cli.Subcmd("run", []string{"IMAGE [COMMAND] [ARG...]"}, Cli.DockerCommands["run"].Description, true)
addTrustedFlags(cmd, true)
// These are flags not stored in Config/HostConfig
var (
flAutoRemove = cmd.Bool([]string{"-rm"}, false, "Automatically remove the container when it exits")
flDetach = cmd.Bool([]string{"d", "-detach"}, false, "Run container in background and print container ID")
flSigProxy = cmd.Bool([]string{"-sig-proxy"}, true, "Proxy received signals to the process")
flName = cmd.String([]string{"-name"}, "", "Assign a name to the container")
flAttach *opts.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, cmd, err := runconfig.Parse(cmd, args)
// just in case the Parse does not exit
if err != nil {
cmd.ReportError(err.Error(), true)
os.Exit(1)
}
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(cli.err, "WARNING: Localhost DNS setting (--dns=%s) may fail in containers.\n", dnsIP)
break
}
}
}
if config.Image == "" {
cmd.Usage()
return nil
}
if !*flDetach {
if err := cli.CheckTtyInput(config.AttachStdin, config.Tty); err != nil {
return err
}
} else {
if fl := cmd.Lookup("-attach"); fl != nil {
flAttach = fl.Value.(*opts.ListOpts)
if flAttach.Len() != 0 {
return ErrConflictAttachDetach
}
}
if *flAutoRemove {
return ErrConflictDetachAutoRemove
}
config.AttachStdin = false
config.AttachStdout = false
config.AttachStderr = false
config.StdinOnce = false
}
// Disable flSigProxy when in TTY mode
sigProxy := *flSigProxy
if config.Tty {
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] = cli.getTtySize()
}
createResponse, err := cli.createContainer(config, hostConfig, hostConfig.ContainerIDFile, *flName)
if err != nil {
return err
}
if sigProxy {
sigc := cli.forwardAllSignals(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(cli.out, "%s\n", createResponse.ID)
}()
}
if *flAutoRemove && (hostConfig.RestartPolicy.IsAlways() || hostConfig.RestartPolicy.IsOnFailure()) {
return ErrConflictRestartPolicyAndAutoRemove
}
// We need to instantiate the chan because the select needs it. It can
// be closed but can't be uninitialized.
hijacked := make(chan io.Closer)
// Block the return until the chan gets closed
defer func() {
logrus.Debugf("End of CmdRun(), Waiting for hijack to finish.")
if _, ok := <-hijacked; ok {
fmt.Fprintln(cli.err, "Hijack did not finish (chan still open)")
}
}()
if config.AttachStdin || config.AttachStdout || config.AttachStderr {
var (
out, stderr io.Writer
in io.ReadCloser
v = url.Values{}
)
v.Set("stream", "1")
if config.AttachStdin {
v.Set("stdin", "1")
in = cli.in
}
if config.AttachStdout {
v.Set("stdout", "1")
out = cli.out
}
if config.AttachStderr {
v.Set("stderr", "1")
if config.Tty {
stderr = cli.out
} else {
stderr = cli.err
}
}
errCh = promise.Go(func() error {
return cli.hijack("POST", "/containers/"+createResponse.ID+"/attach?"+v.Encode(), config.Tty, in, out, stderr, hijacked, nil)
})
} else {
close(hijacked)
}
// Acknowledge the hijack before starting
select {
case closer := <-hijacked:
// Make sure that the hijack gets closed when returning (results
// in closing the hijack chan and freeing server's goroutines)
if closer != nil {
defer closer.Close()
}
case err := <-errCh:
if err != nil {
logrus.Debugf("Error hijack: %s", err)
return err
}
}
defer func() {
if *flAutoRemove {
if _, _, err = readBody(cli.call("DELETE", "/containers/"+createResponse.ID+"?v=1", nil, nil)); err != nil {
fmt.Fprintf(cli.err, "Error deleting container: %s\n", err)
}
}
}()
//start the container
if _, _, err = readBody(cli.call("POST", "/containers/"+createResponse.ID+"/start", nil, nil)); err != nil {
return err
}
if (config.AttachStdin || config.AttachStdout || config.AttachStderr) && config.Tty && cli.isTerminalOut {
if err := cli.monitorTtySize(createResponse.ID, false); err != nil {
fmt.Fprintf(cli.err, "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 *flAutoRemove {
// Autoremove: wait for the container to finish, retrieve
// the exit code and remove the container
if _, _, err := readBody(cli.call("POST", "/containers/"+createResponse.ID+"/wait", nil, nil)); err != nil {
return err
}
if _, status, err = getExitCode(cli, createResponse.ID); err != nil {
return err
}
} else {
// No Autoremove: Simply retrieve the exit code
if !config.Tty {
// In non-TTY mode, we can't detach, so we must wait for container exit
if status, err = waitForExit(cli, 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(cli, createResponse.ID); err != nil {
return err
}
}
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
+52
View File
@@ -0,0 +1,52 @@
package client
import (
"errors"
"net/url"
"os"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdSave saves one or more images to a tar archive.
//
// The tar archive is written to STDOUT by default, or written to a file.
//
// Usage: docker save [OPTIONS] IMAGE [IMAGE...]
func (cli *DockerCli) CmdSave(args ...string) error {
cmd := Cli.Subcmd("save", []string{"IMAGE [IMAGE...]"}, Cli.DockerCommands["save"].Description+" (streamed to STDOUT by default)", true)
outfile := cmd.String([]string{"o", "-output"}, "", "Write to a file, instead of STDOUT")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var (
output = cli.out
err error
)
if *outfile == "" && cli.isTerminalOut {
return errors.New("Cowardly refusing to save to a terminal. Use the -o flag or redirect.")
}
if *outfile != "" {
if output, err = os.Create(*outfile); err != nil {
return err
}
}
sopts := &streamOpts{
rawTerminal: true,
out: output,
}
v := url.Values{}
for _, arg := range cmd.Args() {
v.Add("names", arg)
}
if _, err := cli.stream("GET", "/images/get?"+v.Encode(), sopts); err != nil {
return err
}
return nil
}
+88
View File
@@ -0,0 +1,88 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"sort"
"strings"
"text/tabwriter"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/stringutils"
"github.com/docker/docker/registry"
)
// ByStars sorts search results in ascending order by number of stars.
type ByStars []registry.SearchResult
func (r ByStars) Len() int { return len(r) }
func (r ByStars) Swap(i, j int) { r[i], r[j] = r[j], r[i] }
func (r ByStars) Less(i, j int) bool { return r[i].StarCount < r[j].StarCount }
// CmdSearch searches the Docker Hub for images.
//
// Usage: docker search [OPTIONS] TERM
func (cli *DockerCli) CmdSearch(args ...string) error {
cmd := Cli.Subcmd("search", []string{"TERM"}, Cli.DockerCommands["search"].Description, true)
noTrunc := cmd.Bool([]string{"#notrunc", "-no-trunc"}, false, "Don't truncate output")
trusted := cmd.Bool([]string{"#t", "#trusted", "#-trusted"}, false, "Only show trusted builds")
automated := cmd.Bool([]string{"-automated"}, false, "Only show automated builds")
stars := cmd.Uint([]string{"s", "#stars", "-stars"}, 0, "Only displays with at least x stars")
cmd.Require(flag.Exact, 1)
cmd.ParseFlags(args, true)
name := cmd.Arg(0)
v := url.Values{}
v.Set("term", name)
// Resolve the Repository name from fqn to hostname + name
taglessRemote, _ := parsers.ParseRepositoryTag(name)
indexInfo, err := registry.ParseIndexInfo(taglessRemote)
if err != nil {
return err
}
rdr, _, err := cli.clientRequestAttemptLogin("GET", "/images/search?"+v.Encode(), nil, nil, indexInfo, "search")
if err != nil {
return err
}
defer rdr.Close()
results := ByStars{}
if err := json.NewDecoder(rdr).Decode(&results); err != nil {
return err
}
sort.Sort(sort.Reverse(results))
w := tabwriter.NewWriter(cli.out, 10, 1, 3, ' ', 0)
fmt.Fprintf(w, "NAME\tDESCRIPTION\tSTARS\tOFFICIAL\tAUTOMATED\n")
for _, res := range results {
if (*automated && !res.IsAutomated) || (int(*stars) > res.StarCount) || (*trusted && !res.IsTrusted) {
continue
}
desc := strings.Replace(res.Description, "\n", " ", -1)
desc = strings.Replace(desc, "\r", " ", -1)
if !*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 || res.IsTrusted {
fmt.Fprint(w, "[OK]")
}
fmt.Fprint(w, "\n")
}
w.Flush()
return nil
}
+171
View File
@@ -0,0 +1,171 @@
package client
import (
"encoding/json"
"fmt"
"io"
"net/url"
"os"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/signal"
)
func (cli *DockerCli) forwardAllSignals(cid string) chan os.Signal {
sigc := make(chan os.Signal, 128)
signal.CatchAll(sigc)
go func() {
for s := range sigc {
if s == signal.SIGCHLD {
continue
}
var sig string
for sigStr, sigN := range signal.SignalMap {
if sigN == s {
sig = sigStr
break
}
}
if sig == "" {
fmt.Fprintf(cli.err, "Unsupported signal: %v. Discarding.\n", s)
continue
}
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/kill?signal=%s", cid, sig), nil, nil)); err != nil {
logrus.Debugf("Error sending signal: %s", err)
}
}
}()
return sigc
}
// CmdStart starts one or more containers.
//
// Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdStart(args ...string) error {
cmd := Cli.Subcmd("start", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["start"].Description, true)
attach := cmd.Bool([]string{"a", "-attach"}, false, "Attach STDOUT/STDERR and forward signals")
openStdin := cmd.Bool([]string{"i", "-interactive"}, false, "Attach container's STDIN")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var (
cErr chan error
tty bool
)
if *attach || *openStdin {
if cmd.NArg() > 1 {
return fmt.Errorf("You cannot start and attach multiple containers at once.")
}
serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
var c types.ContainerJSON
if err := json.NewDecoder(serverResp.body).Decode(&c); err != nil {
return err
}
tty = c.Config.Tty
if !tty {
sigc := cli.forwardAllSignals(cmd.Arg(0))
defer signal.StopCatch(sigc)
}
var in io.ReadCloser
v := url.Values{}
v.Set("stream", "1")
if *openStdin && c.Config.OpenStdin {
v.Set("stdin", "1")
in = cli.in
}
v.Set("stdout", "1")
v.Set("stderr", "1")
hijacked := make(chan io.Closer)
// Block the return until the chan gets closed
defer func() {
logrus.Debugf("CmdStart() returned, defer waiting for hijack to finish.")
if _, ok := <-hijacked; ok {
fmt.Fprintln(cli.err, "Hijack did not finish (chan still open)")
}
cli.in.Close()
}()
cErr = promise.Go(func() error {
return cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), tty, in, cli.out, cli.err, hijacked, nil)
})
// Acknowledge the hijack before starting
select {
case closer := <-hijacked:
// Make sure that the hijack gets closed when returning (results
// in closing the hijack chan and freeing server's goroutines)
if closer != nil {
defer closer.Close()
}
case err := <-cErr:
if err != nil {
return err
}
}
}
var encounteredError error
var errNames []string
for _, name := range cmd.Args() {
_, _, err := readBody(cli.call("POST", "/containers/"+name+"/start", nil, nil))
if err != nil {
if !*attach && !*openStdin {
// attach and openStdin is false means it could be starting multiple containers
// when a container start failed, show the error message and start next
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
encounteredError = err
}
} else {
if !*attach && !*openStdin {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
}
if len(errNames) > 0 {
encounteredError = fmt.Errorf("Error: failed to start containers: %v", errNames)
}
if encounteredError != nil {
return encounteredError
}
if *openStdin || *attach {
if tty && cli.isTerminalOut {
if err := cli.monitorTtySize(cmd.Arg(0), false); err != nil {
fmt.Fprintf(cli.err, "Error monitoring TTY size: %s\n", err)
}
}
if attchErr := <-cErr; attchErr != nil {
return attchErr
}
_, status, err := getExitCode(cli, cmd.Arg(0))
if err != nil {
return err
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
}
return nil
}
+240
View File
@@ -0,0 +1,240 @@
package client
import (
"encoding/json"
"fmt"
"io"
"net/url"
"sort"
"strings"
"sync"
"text/tabwriter"
"time"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/units"
)
type containerStats struct {
Name string
CPUPercentage float64
Memory float64
MemoryLimit float64
MemoryPercentage float64
NetworkRx float64
NetworkTx float64
BlockRead float64
BlockWrite float64
mu sync.RWMutex
err error
}
func (s *containerStats) Collect(cli *DockerCli, streamStats bool) {
v := url.Values{}
if streamStats {
v.Set("stream", "1")
} else {
v.Set("stream", "0")
}
serverResp, err := cli.call("GET", "/containers/"+s.Name+"/stats?"+v.Encode(), nil, nil)
if err != nil {
s.mu.Lock()
s.err = err
s.mu.Unlock()
return
}
defer serverResp.body.Close()
var (
previousCPU uint64
previousSystem uint64
dec = json.NewDecoder(serverResp.body)
u = make(chan error, 1)
)
go func() {
for {
var v *types.StatsJSON
if err := dec.Decode(&v); err != nil {
u <- err
return
}
var memPercent = 0.0
var cpuPercent = 0.0
// MemoryStats.Limit will never be 0 unless the container is not running and we havn'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.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.mu.Unlock()
case err := <-u:
if err != nil {
s.mu.Lock()
s.err = err
s.mu.Unlock()
return
}
}
if !streamStats {
return
}
}
}
func (s *containerStats) Display(w io.Writer) error {
s.mu.RLock()
defer s.mu.RUnlock()
if s.err != nil {
return s.err
}
fmt.Fprintf(w, "%s\t%.2f%%\t%s / %s\t%.2f%%\t%s / %s\t%s / %s\n",
s.Name,
s.CPUPercentage,
units.HumanSize(s.Memory), units.HumanSize(s.MemoryLimit),
s.MemoryPercentage,
units.HumanSize(s.NetworkRx), units.HumanSize(s.NetworkTx),
units.HumanSize(s.BlockRead), units.HumanSize(s.BlockWrite))
return nil
}
// CmdStats 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.
//
// Usage: docker stats CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdStats(args ...string) error {
cmd := Cli.Subcmd("stats", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["stats"].Description, true)
noStream := cmd.Bool([]string{"-no-stream"}, false, "Disable streaming stats and only pull the first result")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
names := cmd.Args()
sort.Strings(names)
var (
cStats []*containerStats
w = tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
)
printHeader := func() {
if !*noStream {
fmt.Fprint(cli.out, "\033[2J")
fmt.Fprint(cli.out, "\033[H")
}
io.WriteString(w, "CONTAINER\tCPU %\tMEM USAGE / LIMIT\tMEM %\tNET I/O\tBLOCK I/O\n")
}
for _, n := range names {
s := &containerStats{Name: n}
cStats = append(cStats, s)
go s.Collect(cli, !*noStream)
}
// do a quick pause so that any failed connections for containers that do not exist are able to be
// evicted before we display the initial or default values.
time.Sleep(1500 * time.Millisecond)
var errs []string
for _, c := range cStats {
c.mu.Lock()
if c.err != nil {
errs = append(errs, fmt.Sprintf("%s: %v", c.Name, c.err))
}
c.mu.Unlock()
}
if len(errs) > 0 {
return fmt.Errorf("%s", strings.Join(errs, ", "))
}
for range time.Tick(500 * time.Millisecond) {
printHeader()
toRemove := []int{}
for i, s := range cStats {
if err := s.Display(w); err != nil && !*noStream {
toRemove = append(toRemove, i)
}
}
for j := len(toRemove) - 1; j >= 0; j-- {
i := toRemove[j]
cStats = append(cStats[:i], cStats[i+1:]...)
}
if len(cStats) == 0 {
return nil
}
w.Flush()
if *noStream {
break
}
}
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 - previousCPU)
// calculate the change for the entire system between readings
systemDelta = float64(v.CPUStats.SystemUsage - 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
}
+46
View File
@@ -0,0 +1,46 @@
package client
import (
"bytes"
"sync"
"testing"
"github.com/docker/docker/api/types"
)
func TestDisplay(t *testing.T) {
c := &containerStats{
Name: "app",
CPUPercentage: 30.0,
Memory: 100 * 1024 * 1024.0,
MemoryLimit: 2048 * 1024 * 1024.0,
MemoryPercentage: 100.0 / 2048.0 * 100.0,
NetworkRx: 100 * 1024 * 1024,
NetworkTx: 800 * 1024 * 1024,
BlockRead: 100 * 1024 * 1024,
BlockWrite: 800 * 1024 * 1024,
mu: sync.RWMutex{},
}
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"
if got != want {
t.Fatalf("c.Display() = %q, want %q", got, want)
}
}
func TestCalculBlockIO(t *testing.T) {
blkio := types.BlkioStats{
IoServiceBytesRecursive: []types.BlkioStatEntry{{8, 0, "read", 1234}, {8, 1, "read", 4567}, {8, 0, "write", 123}, {8, 1, "write", 456}},
}
blkRead, blkWrite := calculateBlockIO(blkio)
if blkRead != 5801 {
t.Fatalf("blkRead = %d, want 5801", blkRead)
}
if blkWrite != 579 {
t.Fatalf("blkWrite = %d, want 579", blkWrite)
}
}
+41
View File
@@ -0,0 +1,41 @@
package client
import (
"fmt"
"net/url"
"strconv"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdStop stops one or more containers.
//
// A running container is stopped by first sending SIGTERM and then SIGKILL if the container fails to stop within a grace period (the default is 10 seconds).
//
// Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdStop(args ...string) error {
cmd := Cli.Subcmd("stop", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["stop"].Description+".\nSending SIGTERM and then SIGKILL after a grace period", true)
nSeconds := cmd.Int([]string{"t", "-time"}, 10, "Seconds to wait for stop before killing it")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
v := url.Values{}
v.Set("t", strconv.Itoa(*nSeconds))
var errNames []string
for _, name := range cmd.Args() {
_, _, err := readBody(cli.call("POST", "/containers/"+name+"/stop?"+v.Encode(), nil, nil))
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to stop containers: %v", errNames)
}
return nil
}
+42
View File
@@ -0,0 +1,42 @@
package client
import (
"net/url"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/registry"
)
// CmdTag tags an image into a repository.
//
// Usage: docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
func (cli *DockerCli) CmdTag(args ...string) error {
cmd := Cli.Subcmd("tag", []string{"IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]"}, Cli.DockerCommands["tag"].Description, true)
force := cmd.Bool([]string{"f", "#force", "-force"}, false, "Force")
cmd.Require(flag.Exact, 2)
cmd.ParseFlags(args, true)
var (
repository, tag = parsers.ParseRepositoryTag(cmd.Arg(1))
v = url.Values{}
)
//Check if the given image name can be resolved
if err := registry.ValidateRepositoryName(repository); err != nil {
return err
}
v.Set("repo", repository)
v.Set("tag", tag)
if *force {
v.Set("force", "1")
}
if _, _, err := readBody(cli.call("POST", "/images/"+cmd.Arg(0)+"/tag?"+v.Encode(), nil, nil)); err != nil {
return err
}
return nil
}
+49
View File
@@ -0,0 +1,49 @@
package client
import (
"encoding/json"
"fmt"
"net/url"
"strings"
"text/tabwriter"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdTop displays the running processes of a container.
//
// Usage: docker top CONTAINER
func (cli *DockerCli) CmdTop(args ...string) error {
cmd := Cli.Subcmd("top", []string{"CONTAINER [ps OPTIONS]"}, Cli.DockerCommands["top"].Description, true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
val := url.Values{}
if cmd.NArg() > 1 {
val.Set("ps_args", strings.Join(cmd.Args()[1:], " "))
}
serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/top?"+val.Encode(), nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
procList := types.ContainerProcessList{}
if err := json.NewDecoder(serverResp.body).Decode(&procList); err != nil {
return err
}
w := tabwriter.NewWriter(cli.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
}
+479
View File
@@ -0,0 +1,479 @@
package client
import (
"bufio"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"io"
"net"
"net/http"
"net/url"
"os"
"path/filepath"
"regexp"
"sort"
"strconv"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/distribution/digest"
"github.com/docker/distribution/registry/client/auth"
"github.com/docker/distribution/registry/client/transport"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/pkg/ansiescape"
"github.com/docker/docker/pkg/ioutils"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/tlsconfig"
"github.com/docker/docker/registry"
"github.com/docker/notary/client"
"github.com/docker/notary/pkg/passphrase"
"github.com/docker/notary/trustmanager"
"github.com/endophage/gotuf/data"
)
var untrusted bool
func addTrustedFlags(fs *flag.FlagSet, verify bool) {
var trusted bool
if e := os.Getenv("DOCKER_CONTENT_TRUST"); e != "" {
if t, err := strconv.ParseBool(e); t || err != nil {
// treat any other value as true
trusted = true
}
}
message := "Skip image signing"
if verify {
message = "Skip image verification"
}
fs.BoolVar(&untrusted, []string{"-disable-content-trust"}, !trusted, message)
}
func isTrusted() bool {
return !untrusted
}
var targetRegexp = regexp.MustCompile(`([\S]+): digest: ([\S]+) size: ([\d]+)`)
type target struct {
reference registry.Reference
digest digest.Digest
size int64
}
func (cli *DockerCli) trustDirectory() string {
return filepath.Join(cliconfig.ConfigDir(), "trust")
}
// certificateDirectory returns the directory containing
// TLS certificates for the given server. An error is
// returned if there was an error parsing the server string.
func (cli *DockerCli) certificateDirectory(server string) (string, error) {
u, err := url.Parse(server)
if err != nil {
return "", err
}
return filepath.Join(cliconfig.ConfigDir(), "tls", u.Host), nil
}
func trustServer(index *registry.IndexInfo) (string, error) {
if s := os.Getenv("DOCKER_CONTENT_TRUST_SERVER"); s != "" {
urlObj, err := url.Parse(s)
if err != nil || urlObj.Scheme != "https" {
return "", fmt.Errorf("valid https URL required for trust server, got %s", s)
}
return s, nil
}
if index.Official {
return registry.NotaryServer, nil
}
return "https://" + index.Name, nil
}
type simpleCredentialStore struct {
auth cliconfig.AuthConfig
}
func (scs simpleCredentialStore) Basic(u *url.URL) (string, string) {
return scs.auth.Username, scs.auth.Password
}
func (cli *DockerCli) getNotaryRepository(repoInfo *registry.RepositoryInfo, authConfig cliconfig.AuthConfig) (*client.NotaryRepository, error) {
server, err := trustServer(repoInfo.Index)
if err != nil {
return nil, err
}
var cfg = tlsconfig.ClientDefault
cfg.InsecureSkipVerify = !repoInfo.Index.Secure
// Get certificate base directory
certDir, err := cli.certificateDirectory(server)
if err != nil {
return nil, err
}
logrus.Debugf("reading certificate directory: %s", certDir)
if err := registry.ReadCertsDirectory(&cfg, certDir); err != nil {
return nil, err
}
base := &http.Transport{
Proxy: http.ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
DualStack: true,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
TLSClientConfig: &cfg,
DisableKeepAlives: true,
}
// Skip configuration headers since request is not going to Docker daemon
modifiers := registry.DockerHeaders(http.Header{})
authTransport := transport.NewTransport(base, modifiers...)
pingClient := &http.Client{
Transport: authTransport,
Timeout: 5 * time.Second,
}
endpointStr := server + "/v2/"
req, err := http.NewRequest("GET", endpointStr, nil)
if err != nil {
return nil, err
}
challengeManager := auth.NewSimpleChallengeManager()
resp, err := pingClient.Do(req)
if err != nil {
// Ignore error on ping to operate in offline mode
logrus.Debugf("Error pinging notary server %q: %s", endpointStr, err)
} else {
defer resp.Body.Close()
// Add response to the challenge manager to parse out
// authentication header and register authentication method
if err := challengeManager.AddResponse(resp); err != nil {
return nil, err
}
}
creds := simpleCredentialStore{auth: authConfig}
tokenHandler := auth.NewTokenHandler(authTransport, creds, repoInfo.CanonicalName, "push", "pull")
basicHandler := auth.NewBasicHandler(creds)
modifiers = append(modifiers, transport.RequestModifier(auth.NewAuthorizer(challengeManager, tokenHandler, basicHandler)))
tr := transport.NewTransport(base, modifiers...)
return client.NewNotaryRepository(cli.trustDirectory(), repoInfo.CanonicalName, server, tr, cli.getPassphraseRetriever())
}
func convertTarget(t client.Target) (target, error) {
h, ok := t.Hashes["sha256"]
if !ok {
return target{}, errors.New("no valid hash, expecting sha256")
}
return target{
reference: registry.ParseReference(t.Name),
digest: digest.NewDigestFromHex("sha256", hex.EncodeToString(h)),
size: t.Length,
}, nil
}
func (cli *DockerCli) getPassphraseRetriever() passphrase.Retriever {
aliasMap := map[string]string{
"root": "root",
"snapshot": "repository",
"targets": "repository",
}
baseRetriever := passphrase.PromptRetrieverWithInOut(cli.in, cli.out, aliasMap)
env := map[string]string{
"root": os.Getenv("DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE"),
"snapshot": os.Getenv("DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE"),
"targets": os.Getenv("DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE"),
}
// Backwards compatibility with old env names. We should remove this in 1.10
if env["root"] == "" {
if passphrase := os.Getenv("DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE"); passphrase != "" {
env["root"] = passphrase
fmt.Fprintf(cli.err, "[DEPRECATED] The environment variable DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE has been deprecated and will be removed in v1.10. Please use DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE\n")
}
}
if env["snapshot"] == "" || env["targets"] == "" {
if passphrase := os.Getenv("DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE"); passphrase != "" {
env["snapshot"] = passphrase
env["targets"] = passphrase
fmt.Fprintf(cli.err, "[DEPRECATED] The environment variable DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE has been deprecated and will be removed in v1.10. Please use DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE\n")
}
}
return func(keyName string, alias string, createNew bool, numAttempts int) (string, bool, error) {
if v := env[alias]; v != "" {
return v, numAttempts > 1, nil
}
return baseRetriever(keyName, alias, createNew, numAttempts)
}
}
func (cli *DockerCli) trustedReference(repo string, ref registry.Reference) (registry.Reference, error) {
repoInfo, err := registry.ParseRepositoryInfo(repo)
if err != nil {
return nil, err
}
// Resolve the Auth config relevant for this server
authConfig := registry.ResolveAuthConfig(cli.configFile, repoInfo.Index)
notaryRepo, err := cli.getNotaryRepository(repoInfo, authConfig)
if err != nil {
fmt.Fprintf(cli.out, "Error establishing connection to trust repository: %s\n", err)
return nil, err
}
t, err := notaryRepo.GetTargetByName(ref.String())
if err != nil {
return nil, err
}
r, err := convertTarget(*t)
if err != nil {
return nil, err
}
return registry.DigestReference(r.digest), nil
}
func (cli *DockerCli) tagTrusted(repoInfo *registry.RepositoryInfo, trustedRef, ref registry.Reference) error {
fullName := trustedRef.ImageName(repoInfo.LocalName)
fmt.Fprintf(cli.out, "Tagging %s as %s\n", fullName, ref.ImageName(repoInfo.LocalName))
tv := url.Values{}
tv.Set("repo", repoInfo.LocalName)
tv.Set("tag", ref.String())
tv.Set("force", "1")
if _, _, err := readBody(cli.call("POST", "/images/"+fullName+"/tag?"+tv.Encode(), nil, nil)); err != nil {
return err
}
return nil
}
func notaryError(err error) error {
switch err.(type) {
case *json.SyntaxError:
logrus.Debugf("Notary syntax error: %s", err)
return errors.New("no trust data available for remote repository")
case client.ErrExpired:
return fmt.Errorf("remote repository out-of-date: %v", err)
case trustmanager.ErrKeyNotFound:
return fmt.Errorf("signing keys not found: %v", err)
case *net.OpError:
return fmt.Errorf("error contacting notary server: %v", err)
}
return err
}
func (cli *DockerCli) trustedPull(repoInfo *registry.RepositoryInfo, ref registry.Reference, authConfig cliconfig.AuthConfig) error {
var (
v = url.Values{}
refs = []target{}
)
notaryRepo, err := cli.getNotaryRepository(repoInfo, authConfig)
if err != nil {
fmt.Fprintf(cli.out, "Error establishing connection to trust repository: %s\n", err)
return err
}
if ref.String() == "" {
// List all targets
targets, err := notaryRepo.ListTargets()
if err != nil {
return notaryError(err)
}
for _, tgt := range targets {
t, err := convertTarget(*tgt)
if err != nil {
fmt.Fprintf(cli.out, "Skipping target for %q\n", repoInfo.LocalName)
continue
}
refs = append(refs, t)
}
} else {
t, err := notaryRepo.GetTargetByName(ref.String())
if err != nil {
return notaryError(err)
}
r, err := convertTarget(*t)
if err != nil {
return err
}
refs = append(refs, r)
}
v.Set("fromImage", repoInfo.LocalName)
for i, r := range refs {
displayTag := r.reference.String()
if displayTag != "" {
displayTag = ":" + displayTag
}
fmt.Fprintf(cli.out, "Pull (%d of %d): %s%s@%s\n", i+1, len(refs), repoInfo.LocalName, displayTag, r.digest)
v.Set("tag", r.digest.String())
_, _, err = cli.clientRequestAttemptLogin("POST", "/images/create?"+v.Encode(), nil, cli.out, repoInfo.Index, "pull")
if err != nil {
return err
}
// If reference is not trusted, tag by trusted reference
if !r.reference.HasDigest() {
if err := cli.tagTrusted(repoInfo, registry.DigestReference(r.digest), r.reference); err != nil {
return err
}
}
}
return nil
}
func selectKey(keys map[string]string) string {
if len(keys) == 0 {
return ""
}
keyIDs := []string{}
for k := range keys {
keyIDs = append(keyIDs, k)
}
// TODO(dmcgowan): let user choose if multiple keys, now pick consistently
sort.Strings(keyIDs)
return keyIDs[0]
}
func targetStream(in io.Writer) (io.WriteCloser, <-chan []target) {
r, w := io.Pipe()
out := io.MultiWriter(in, w)
targetChan := make(chan []target)
go func() {
targets := []target{}
scanner := bufio.NewScanner(r)
scanner.Split(ansiescape.ScanANSILines)
for scanner.Scan() {
line := scanner.Bytes()
if matches := targetRegexp.FindSubmatch(line); len(matches) == 4 {
dgst, err := digest.ParseDigest(string(matches[2]))
if err != nil {
// Line does match what is expected, continue looking for valid lines
logrus.Debugf("Bad digest value %q in matched line, ignoring\n", string(matches[2]))
continue
}
s, err := strconv.ParseInt(string(matches[3]), 10, 64)
if err != nil {
// Line does match what is expected, continue looking for valid lines
logrus.Debugf("Bad size value %q in matched line, ignoring\n", string(matches[3]))
continue
}
targets = append(targets, target{
reference: registry.ParseReference(string(matches[1])),
digest: dgst,
size: s,
})
}
}
targetChan <- targets
}()
return ioutils.NewWriteCloserWrapper(out, w.Close), targetChan
}
func (cli *DockerCli) trustedPush(repoInfo *registry.RepositoryInfo, tag string, authConfig cliconfig.AuthConfig) error {
streamOut, targetChan := targetStream(cli.out)
v := url.Values{}
v.Set("tag", tag)
_, _, err := cli.clientRequestAttemptLogin("POST", "/images/"+repoInfo.LocalName+"/push?"+v.Encode(), nil, streamOut, repoInfo.Index, "push")
// Close stream channel to finish target parsing
if err := streamOut.Close(); err != nil {
return err
}
// Check error from request
if err != nil {
return err
}
// Get target results
targets := <-targetChan
if tag == "" {
fmt.Fprintf(cli.out, "No tag specified, skipping trust metadata push\n")
return nil
}
if len(targets) == 0 {
fmt.Fprintf(cli.out, "No targets found, skipping trust metadata push\n")
return nil
}
fmt.Fprintf(cli.out, "Signing and pushing trust metadata\n")
repo, err := cli.getNotaryRepository(repoInfo, authConfig)
if err != nil {
fmt.Fprintf(cli.out, "Error establishing connection to notary repository: %s\n", err)
return err
}
for _, target := range targets {
h, err := hex.DecodeString(target.digest.Hex())
if err != nil {
return err
}
t := &client.Target{
Name: target.reference.String(),
Hashes: data.Hashes{
string(target.digest.Algorithm()): h,
},
Length: int64(target.size),
}
if err := repo.AddTarget(t); err != nil {
return err
}
}
err = repo.Publish()
if _, ok := err.(*client.ErrRepoNotInitialized); !ok {
return notaryError(err)
}
ks := repo.KeyStoreManager
keys := ks.RootKeyStore().ListKeys()
rootKey := selectKey(keys)
if rootKey == "" {
rootKey, err = ks.GenRootKey("ecdsa")
if err != nil {
return err
}
}
cryptoService, err := ks.GetRootCryptoService(rootKey)
if err != nil {
return err
}
if err := repo.Initialize(cryptoService); err != nil {
return notaryError(err)
}
fmt.Fprintf(cli.out, "Finished initializing %q\n", repoInfo.CanonicalName)
return notaryError(repo.Publish())
}
+55
View File
@@ -0,0 +1,55 @@
package client
import (
"os"
"testing"
"github.com/docker/docker/registry"
)
func unsetENV() {
os.Unsetenv("DOCKER_CONTENT_TRUST")
os.Unsetenv("DOCKER_CONTENT_TRUST_SERVER")
}
func TestENVTrustServer(t *testing.T) {
defer unsetENV()
indexInfo := &registry.IndexInfo{Name: "testserver"}
if err := os.Setenv("DOCKER_CONTENT_TRUST_SERVER", "https://notary-test.com:5000"); err != nil {
t.Fatal("Failed to set ENV variable")
}
output, err := trustServer(indexInfo)
expectedStr := "https://notary-test.com:5000"
if err != nil || output != expectedStr {
t.Fatalf("Expected server to be %s, got %s", expectedStr, output)
}
}
func TestHTTPENVTrustServer(t *testing.T) {
defer unsetENV()
indexInfo := &registry.IndexInfo{Name: "testserver"}
if err := os.Setenv("DOCKER_CONTENT_TRUST_SERVER", "http://notary-test.com:5000"); err != nil {
t.Fatal("Failed to set ENV variable")
}
_, err := trustServer(indexInfo)
if err == nil {
t.Fatal("Expected error with invalid scheme")
}
}
func TestOfficialTrustServer(t *testing.T) {
indexInfo := &registry.IndexInfo{Name: "testserver", Official: true}
output, err := trustServer(indexInfo)
if err != nil || output != registry.NotaryServer {
t.Fatalf("Expected server to be %s, got %s", registry.NotaryServer, output)
}
}
func TestNonOfficialTrustServer(t *testing.T) {
indexInfo := &registry.IndexInfo{Name: "testserver", Official: false}
output, err := trustServer(indexInfo)
expectedStr := "https://" + indexInfo.Name
if err != nil || output != expectedStr {
t.Fatalf("Expected server to be %s, got %s", expectedStr, output)
}
}
+32
View File
@@ -0,0 +1,32 @@
package client
import (
"fmt"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdUnpause unpauses all processes within a container, for one or more containers.
//
// Usage: docker unpause CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdUnpause(args ...string) error {
cmd := Cli.Subcmd("unpause", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["unpause"].Description, true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var errNames []string
for _, name := range cmd.Args() {
if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/unpause", name), nil, nil)); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%s\n", name)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to unpause containers: %v", errNames)
}
return nil
}
+229 -141
View File
@@ -12,13 +12,17 @@ import (
"net/url"
"os"
gosignal "os/signal"
"runtime"
"strconv"
"strings"
"time"
log "github.com/Sirupsen/logrus"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/api/types"
"github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/pkg/signal"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/pkg/term"
@@ -27,9 +31,16 @@ import (
)
var (
ErrConnectionRefused = errors.New("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
errConnectionFailed = errors.New("Cannot connect to the Docker daemon. Is the docker daemon running on this host?")
)
type serverResponse struct {
body io.ReadCloser
header http.Header
statusCode int
}
// HTTPClient creates a new HTTP client with the cli's client transport instance.
func (cli *DockerCli) HTTPClient() *http.Client {
return &http.Client{Transport: cli.transport}
}
@@ -37,143 +48,192 @@ func (cli *DockerCli) HTTPClient() *http.Client {
func (cli *DockerCli) encodeData(data interface{}) (*bytes.Buffer, error) {
params := bytes.NewBuffer(nil)
if data != nil {
if env, ok := data.(engine.Env); ok {
if err := env.Encode(params); err != nil {
return nil, err
}
} else {
buf, err := json.Marshal(data)
if err != nil {
return nil, err
}
if _, err := params.Write(buf); err != nil {
return nil, err
}
if err := json.NewEncoder(params).Encode(data); err != nil {
return nil, err
}
}
return params, nil
}
func (cli *DockerCli) call(method, path string, data interface{}, passAuthInfo bool) (io.ReadCloser, int, error) {
params, err := cli.encodeData(data)
if err != nil {
return nil, -1, err
}
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), params)
if err != nil {
return nil, -1, err
}
if passAuthInfo {
cli.LoadConfigFile()
// Resolve the Auth config relevant for this server
authConfig := cli.configFile.Configs[registry.IndexServerAddress()]
getHeaders := func(authConfig registry.AuthConfig) (map[string][]string, error) {
buf, err := json.Marshal(authConfig)
if err != nil {
return nil, err
}
registryAuthHeader := []string{
base64.URLEncoding.EncodeToString(buf),
}
return map[string][]string{"X-Registry-Auth": registryAuthHeader}, nil
}
if headers, err := getHeaders(authConfig); err == nil && headers != nil {
for k, v := range headers {
req.Header[k] = v
}
}
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if data != nil {
req.Header.Set("Content-Type", "application/json")
} else if method == "POST" {
req.Header.Set("Content-Type", "text/plain")
}
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return nil, -1, ErrConnectionRefused
}
if cli.tlsConfig == nil {
return nil, -1, fmt.Errorf("%v. Are you trying to connect to a TLS-enabled daemon without TLS?", err)
}
return nil, -1, fmt.Errorf("An error occurred trying to connect: %v", err)
func (cli *DockerCli) clientRequest(method, path string, in io.Reader, headers map[string][]string) (*serverResponse, error) {
serverResp := &serverResponse{
body: nil,
statusCode: -1,
}
if resp.StatusCode < 200 || resp.StatusCode >= 400 {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, -1, err
}
if len(body) == 0 {
return nil, resp.StatusCode, fmt.Errorf("Error: request returned %s for API route and version %s, check if the server supports the requested API version", http.StatusText(resp.StatusCode), req.URL)
}
return nil, resp.StatusCode, fmt.Errorf("Error response from daemon: %s", bytes.TrimSpace(body))
}
return resp.Body, resp.StatusCode, nil
}
func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer, headers map[string][]string) error {
return cli.streamHelper(method, path, true, in, out, nil, headers)
}
func (cli *DockerCli) streamHelper(method, path string, setRawTerminal bool, in io.Reader, stdout, stderr io.Writer, headers map[string][]string) error {
if (method == "POST" || method == "PUT") && in == nil {
expectedPayload := (method == "POST" || method == "PUT")
if expectedPayload && in == nil {
in = bytes.NewReader([]byte{})
}
req, err := http.NewRequest(method, fmt.Sprintf("/v%s%s", api.APIVERSION, path), in)
req, err := http.NewRequest(method, fmt.Sprintf("%s/v%s%s", cli.basePath, api.Version, path), in)
if err != nil {
return err
return serverResp, err
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION)
// Add CLI Config's HTTP Headers BEFORE we set the Docker headers
// then the user can't change OUR headers
for k, v := range cli.configFile.HTTPHeaders {
req.Header.Set(k, v)
}
req.Header.Set("User-Agent", "Docker-Client/"+dockerversion.VERSION+" ("+runtime.GOOS+")")
req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if method == "POST" {
req.Header.Set("Content-Type", "text/plain")
}
if headers != nil {
for k, v := range headers {
req.Header[k] = v
}
}
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
}
return err
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 400 {
if expectedPayload && req.Header.Get("Content-Type") == "" {
req.Header.Set("Content-Type", "text/plain")
}
resp, err := cli.HTTPClient().Do(req)
if resp != nil {
serverResp.statusCode = resp.StatusCode
}
if err != nil {
if utils.IsTimeout(err) || strings.Contains(err.Error(), "connection refused") || strings.Contains(err.Error(), "dial unix") {
return serverResp, errConnectionFailed
}
if cli.tlsConfig == nil && strings.Contains(err.Error(), "malformed HTTP response") {
return serverResp, fmt.Errorf("%v.\n* Are you trying to connect to a TLS-enabled daemon without TLS?", err)
}
if cli.tlsConfig != nil && strings.Contains(err.Error(), "remote error: bad certificate") {
return serverResp, fmt.Errorf("The server probably has client authentication (--tlsverify) enabled. Please check your TLS client certification settings: %v", err)
}
return serverResp, fmt.Errorf("An error occurred trying to connect: %v", err)
}
if serverResp.statusCode < 200 || serverResp.statusCode >= 400 {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return err
return serverResp, err
}
if len(body) == 0 {
return fmt.Errorf("Error :%s", http.StatusText(resp.StatusCode))
return serverResp, fmt.Errorf("Error: request returned %s for API route and version %s, check if the server supports the requested API version", http.StatusText(serverResp.statusCode), req.URL)
}
return fmt.Errorf("Error: %s", bytes.TrimSpace(body))
return serverResp, fmt.Errorf("Error response from daemon: %s", bytes.TrimSpace(body))
}
if api.MatchesContentType(resp.Header.Get("Content-Type"), "application/json") {
return utils.DisplayJSONMessagesStream(resp.Body, stdout, cli.outFd, cli.isTerminalOut)
serverResp.body = resp.Body
serverResp.header = resp.Header
return serverResp, nil
}
// cmdAttempt builds the corresponding registry Auth Header from the given
// authConfig. It returns the servers body, status, error response
func (cli *DockerCli) cmdAttempt(authConfig cliconfig.AuthConfig, method, path string, in io.Reader, out io.Writer) (io.ReadCloser, int, error) {
buf, err := json.Marshal(authConfig)
if err != nil {
return nil, -1, err
}
registryAuthHeader := []string{
base64.URLEncoding.EncodeToString(buf),
}
// begin the request
serverResp, err := cli.clientRequest(method, path, in, map[string][]string{
"X-Registry-Auth": registryAuthHeader,
})
if err == nil && out != nil {
// If we are streaming output, complete the stream since
// errors may not appear until later.
err = cli.streamBody(serverResp.body, serverResp.header.Get("Content-Type"), true, out, nil)
}
if err != nil {
// Since errors in a stream appear after status 200 has been written,
// we may need to change the status code.
if strings.Contains(err.Error(), "Authentication is required") ||
strings.Contains(err.Error(), "Status 401") ||
strings.Contains(err.Error(), "401 Unauthorized") ||
strings.Contains(err.Error(), "status code 401") {
serverResp.statusCode = http.StatusUnauthorized
}
}
return serverResp.body, serverResp.statusCode, err
}
func (cli *DockerCli) clientRequestAttemptLogin(method, path string, in io.Reader, out io.Writer, index *registry.IndexInfo, cmdName string) (io.ReadCloser, int, error) {
// Resolve the Auth config relevant for this server
authConfig := registry.ResolveAuthConfig(cli.configFile, index)
body, statusCode, err := cli.cmdAttempt(authConfig, method, path, in, out)
if statusCode == http.StatusUnauthorized {
fmt.Fprintf(cli.out, "\nPlease login prior to %s:\n", cmdName)
if err = cli.CmdLogin(index.GetAuthConfigKey()); err != nil {
return nil, -1, err
}
authConfig = registry.ResolveAuthConfig(cli.configFile, index)
return cli.cmdAttempt(authConfig, method, path, in, out)
}
return body, statusCode, err
}
func (cli *DockerCli) callWrapper(method, path string, data interface{}, headers map[string][]string) (io.ReadCloser, http.Header, int, error) {
sr, err := cli.call(method, path, data, headers)
return sr.body, sr.header, sr.statusCode, err
}
func (cli *DockerCli) call(method, path string, data interface{}, headers map[string][]string) (*serverResponse, error) {
params, err := cli.encodeData(data)
if err != nil {
sr := &serverResponse{
body: nil,
header: nil,
statusCode: -1,
}
return sr, nil
}
if data != nil {
if headers == nil {
headers = make(map[string][]string)
}
headers["Content-Type"] = []string{"application/json"}
}
serverResp, err := cli.clientRequest(method, path, params, headers)
return serverResp, err
}
type streamOpts struct {
rawTerminal bool
in io.Reader
out io.Writer
err io.Writer
headers map[string][]string
}
func (cli *DockerCli) stream(method, path string, opts *streamOpts) (*serverResponse, error) {
serverResp, err := cli.clientRequest(method, path, opts.in, opts.headers)
if err != nil {
return serverResp, err
}
return serverResp, cli.streamBody(serverResp.body, serverResp.header.Get("Content-Type"), opts.rawTerminal, opts.out, opts.err)
}
func (cli *DockerCli) streamBody(body io.ReadCloser, contentType string, rawTerminal bool, stdout, stderr io.Writer) error {
defer body.Close()
if api.MatchesContentType(contentType, "application/json") {
return jsonmessage.DisplayJSONMessagesStream(body, stdout, cli.outFd, cli.isTerminalOut)
}
if stdout != nil || stderr != nil {
// When TTY is ON, use regular copy
if setRawTerminal {
_, err = io.Copy(stdout, resp.Body)
var err error
if rawTerminal {
_, err = io.Copy(stdout, body)
} else {
_, err = stdcopy.StdCopy(stdout, stderr, resp.Body)
_, err = stdcopy.StdCopy(stdout, stderr, body)
}
log.Debugf("[stream] End of stdout")
logrus.Debugf("[stream] End of stdout")
return err
}
return nil
@@ -195,75 +255,103 @@ func (cli *DockerCli) resizeTty(id string, isExec bool) {
path = "/exec/" + id + "/resize?"
}
if _, _, err := readBody(cli.call("POST", path+v.Encode(), nil, false)); err != nil {
log.Debugf("Error resize: %s", err)
if _, _, err := readBody(cli.call("POST", path+v.Encode(), nil, nil)); err != nil {
logrus.Debugf("Error resize: %s", err)
}
}
func waitForExit(cli *DockerCli, containerId string) (int, error) {
stream, _, err := cli.call("POST", "/containers/"+containerId+"/wait", nil, false)
func waitForExit(cli *DockerCli, containerID string) (int, error) {
serverResp, err := cli.call("POST", "/containers/"+containerID+"/wait", nil, nil)
if err != nil {
return -1, err
}
var out engine.Env
if err := out.Decode(stream); err != nil {
defer serverResp.body.Close()
var res types.ContainerWaitResponse
if err := json.NewDecoder(serverResp.body).Decode(&res); err != nil {
return -1, err
}
return out.GetInt("StatusCode"), nil
return res.StatusCode, nil
}
// getExitCode perform an inspect on the container. It returns
// the running state and the exit code.
func getExitCode(cli *DockerCli, containerId string) (bool, int, error) {
stream, _, err := cli.call("GET", "/containers/"+containerId+"/json", nil, false)
func getExitCode(cli *DockerCli, containerID string) (bool, int, error) {
serverResp, err := cli.call("GET", "/containers/"+containerID+"/json", nil, nil)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != ErrConnectionRefused {
if err != errConnectionFailed {
return false, -1, err
}
return false, -1, nil
}
var result engine.Env
if err := result.Decode(stream); err != nil {
defer serverResp.body.Close()
var c types.ContainerJSON
if err := json.NewDecoder(serverResp.body).Decode(&c); err != nil {
return false, -1, err
}
state := result.GetSubEnv("State")
return state.GetBool("Running"), state.GetInt("ExitCode"), nil
return c.State.Running, c.State.ExitCode, nil
}
// getExecExitCode perform an inspect on the exec command. It returns
// the running state and the exit code.
func getExecExitCode(cli *DockerCli, execId string) (bool, int, error) {
stream, _, err := cli.call("GET", "/exec/"+execId+"/json", nil, false)
func getExecExitCode(cli *DockerCli, execID string) (bool, int, error) {
serverResp, err := cli.call("GET", "/exec/"+execID+"/json", nil, nil)
if err != nil {
// If we can't connect, then the daemon probably died.
if err != ErrConnectionRefused {
if err != errConnectionFailed {
return false, -1, err
}
return false, -1, nil
}
var result engine.Env
if err := result.Decode(stream); err != nil {
defer serverResp.body.Close()
//TODO: Should we reconsider having a type in api/types?
//this is a response to exex/id/json not container
var c struct {
Running bool
ExitCode int
}
if err := json.NewDecoder(serverResp.body).Decode(&c); err != nil {
return false, -1, err
}
return result.GetBool("Running"), result.GetInt("ExitCode"), nil
return c.Running, c.ExitCode, nil
}
func (cli *DockerCli) monitorTtySize(id string, isExec bool) error {
cli.resizeTty(id, isExec)
sigchan := make(chan os.Signal, 1)
gosignal.Notify(sigchan, signal.SIGWINCH)
go func() {
for _ = range sigchan {
cli.resizeTty(id, isExec)
}
}()
if runtime.GOOS == "windows" {
go func() {
prevH, prevW := cli.getTtySize()
for {
time.Sleep(time.Millisecond * 250)
h, w := cli.getTtySize()
if prevW != w || prevH != h {
cli.resizeTty(id, isExec)
}
prevH = h
prevW = w
}
}()
} else {
sigchan := make(chan os.Signal, 1)
gosignal.Notify(sigchan, signal.SIGWINCH)
go func() {
for range sigchan {
cli.resizeTty(id, isExec)
}
}()
}
return nil
}
@@ -273,7 +361,7 @@ func (cli *DockerCli) getTtySize() (int, int) {
}
ws, err := term.GetWinsize(cli.outFd)
if err != nil {
log.Debugf("Error getting size: %s", err)
logrus.Debugf("Error getting size: %s", err)
if ws == nil {
return 0, 0
}
@@ -281,16 +369,16 @@ func (cli *DockerCli) getTtySize() (int, int) {
return int(ws.Height), int(ws.Width)
}
func readBody(stream io.ReadCloser, statusCode int, err error) ([]byte, int, error) {
if stream != nil {
defer stream.Close()
func readBody(serverResp *serverResponse, err error) ([]byte, int, error) {
if serverResp.body != nil {
defer serverResp.body.Close()
}
if err != nil {
return nil, statusCode, err
return nil, serverResp.statusCode, err
}
body, err := ioutil.ReadAll(stream)
body, err := ioutil.ReadAll(serverResp.body)
if err != nil {
return nil, -1, err
}
return body, statusCode, nil
return body, serverResp.statusCode, nil
}
+96
View File
@@ -0,0 +1,96 @@
package client
import (
"encoding/json"
"runtime"
"text/template"
"github.com/docker/docker/api"
"github.com/docker/docker/api/types"
"github.com/docker/docker/autogen/dockerversion"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/utils"
)
var versionTemplate = `Client:
Version: {{.Client.Version}}
API version: {{.Client.APIVersion}}
Go version: {{.Client.GoVersion}}
Git commit: {{.Client.GitCommit}}
Built: {{.Client.BuildTime}}
OS/Arch: {{.Client.Os}}/{{.Client.Arch}}{{if .Client.Experimental}}
Experimental: {{.Client.Experimental}}{{end}}{{if .ServerOK}}
Server:
Version: {{.Server.Version}}
API version: {{.Server.APIVersion}}
Go version: {{.Server.GoVersion}}
Git commit: {{.Server.GitCommit}}
Built: {{.Server.BuildTime}}
OS/Arch: {{.Server.Os}}/{{.Server.Arch}}{{if .Server.Experimental}}
Experimental: {{.Server.Experimental}}{{end}}{{end}}`
type versionData struct {
Client types.Version
ServerOK bool
Server types.Version
}
// CmdVersion shows Docker version information.
//
// Available version information is shown for: client Docker version, client API version, client Go version, client Git commit, client OS/Arch, server Docker version, server API version, server Go version, server Git commit, and server OS/Arch.
//
// Usage: docker version
func (cli *DockerCli) CmdVersion(args ...string) (err error) {
cmd := Cli.Subcmd("version", nil, Cli.DockerCommands["version"].Description, true)
tmplStr := cmd.String([]string{"f", "#format", "-format"}, "", "Format the output using the given go template")
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
if *tmplStr == "" {
*tmplStr = versionTemplate
}
var tmpl *template.Template
if tmpl, err = template.New("").Funcs(funcMap).Parse(*tmplStr); err != nil {
return Cli.StatusError{StatusCode: 64,
Status: "Template parsing error: " + err.Error()}
}
vd := versionData{
Client: types.Version{
Version: dockerversion.VERSION,
APIVersion: api.Version,
GoVersion: runtime.Version(),
GitCommit: dockerversion.GITCOMMIT,
BuildTime: dockerversion.BUILDTIME,
Os: runtime.GOOS,
Arch: runtime.GOARCH,
Experimental: utils.ExperimentalBuild(),
},
}
defer func() {
if err2 := tmpl.Execute(cli.out, vd); err2 != nil && err == nil {
err = err2
}
cli.out.Write([]byte{'\n'})
}()
serverResp, err := cli.call("GET", "/version", nil, nil)
if err != nil {
return err
}
defer serverResp.body.Close()
if err = json.NewDecoder(serverResp.body).Decode(&vd.Server); err != nil {
return Cli.StatusError{StatusCode: 1,
Status: "Error reading remote version: " + err.Error()}
}
vd.ServerOK = true
return
}
+234
View File
@@ -0,0 +1,234 @@
package client
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/url"
"text/tabwriter"
"text/template"
"github.com/docker/docker/api/types"
Cli "github.com/docker/docker/cli"
"github.com/docker/docker/opts"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/parsers/filters"
)
// CmdVolume is the parent subcommand for all volume commands
//
// Usage: docker volume <COMMAND> <OPTS>
func (cli *DockerCli) CmdVolume(args ...string) error {
description := Cli.DockerCommands["volume"].Description + "\n\nCommands:\n"
commands := [][]string{
{"create", "Create a volume"},
{"inspect", "Return low-level information on a volume"},
{"ls", "List volumes"},
{"rm", "Remove a volume"},
}
for _, cmd := range commands {
description += fmt.Sprintf(" %-25.25s%s\n", cmd[0], cmd[1])
}
description += "\nRun 'docker volume COMMAND --help' for more information on a command"
cmd := Cli.Subcmd("volume", []string{"[COMMAND]"}, description, false)
cmd.Require(flag.Exact, 0)
err := cmd.ParseFlags(args, true)
cmd.Usage()
return err
}
// CmdVolumeLs outputs a list of Docker volumes.
//
// Usage: docker volume ls [OPTIONS]
func (cli *DockerCli) CmdVolumeLs(args ...string) error {
cmd := Cli.Subcmd("volume ls", nil, "List volumes", true)
quiet := cmd.Bool([]string{"q", "-quiet"}, false, "Only display volume names")
flFilter := opts.NewListOpts(nil)
cmd.Var(&flFilter, []string{"f", "-filter"}, "Provide filter values (i.e. 'dangling=true')")
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
volFilterArgs := filters.Args{}
for _, f := range flFilter.GetAll() {
var err error
volFilterArgs, err = filters.ParseFlag(f, volFilterArgs)
if err != nil {
return err
}
}
v := url.Values{}
if len(volFilterArgs) > 0 {
filterJSON, err := filters.ToParam(volFilterArgs)
if err != nil {
return err
}
v.Set("filters", filterJSON)
}
resp, err := cli.call("GET", "/volumes?"+v.Encode(), nil, nil)
if err != nil {
return err
}
var volumes types.VolumesListResponse
if err := json.NewDecoder(resp.body).Decode(&volumes); err != nil {
return err
}
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
if !*quiet {
fmt.Fprintf(w, "DRIVER \tVOLUME NAME")
fmt.Fprintf(w, "\n")
}
for _, vol := range volumes.Volumes {
if *quiet {
fmt.Fprintln(w, vol.Name)
continue
}
fmt.Fprintf(w, "%s\t%s\n", vol.Driver, vol.Name)
}
w.Flush()
return nil
}
// CmdVolumeInspect displays low-level information on one or more volumes.
//
// Usage: docker volume inspect [OPTIONS] VOLUME [VOLUME...]
func (cli *DockerCli) CmdVolumeInspect(args ...string) error {
cmd := Cli.Subcmd("volume inspect", []string{"VOLUME [VOLUME...]"}, "Return low-level information on a volume", true)
tmplStr := cmd.String([]string{"f", "-format"}, "", "Format the output using the given go template")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
if err := cmd.Parse(args); err != nil {
return nil
}
var tmpl *template.Template
if *tmplStr != "" {
var err error
tmpl, err = template.New("").Funcs(funcMap).Parse(*tmplStr)
if err != nil {
return err
}
}
var status = 0
var volumes []*types.Volume
for _, name := range cmd.Args() {
resp, err := cli.call("GET", "/volumes/"+name, nil, nil)
if err != nil {
return err
}
var volume types.Volume
if err := json.NewDecoder(resp.body).Decode(&volume); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
if tmpl == nil {
volumes = append(volumes, &volume)
continue
}
if err := tmpl.Execute(cli.out, &volume); err != nil {
if err := tmpl.Execute(cli.out, &volume); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
}
io.WriteString(cli.out, "\n")
}
if tmpl != nil {
return nil
}
b, err := json.MarshalIndent(volumes, "", " ")
if err != nil {
return err
}
_, err = io.Copy(cli.out, bytes.NewReader(b))
if err != nil {
return err
}
io.WriteString(cli.out, "\n")
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
// CmdVolumeCreate creates a new container from a given image.
//
// Usage: docker volume create [OPTIONS]
func (cli *DockerCli) CmdVolumeCreate(args ...string) error {
cmd := Cli.Subcmd("volume create", nil, "Create a volume", true)
flDriver := cmd.String([]string{"d", "-driver"}, "local", "Specify volume driver name")
flName := cmd.String([]string{"-name"}, "", "Specify volume name")
flDriverOpts := opts.NewMapOpts(nil, nil)
cmd.Var(flDriverOpts, []string{"o", "-opt"}, "Set driver specific options")
cmd.Require(flag.Exact, 0)
cmd.ParseFlags(args, true)
volReq := &types.VolumeCreateRequest{
Driver: *flDriver,
DriverOpts: flDriverOpts.GetAll(),
}
if *flName != "" {
volReq.Name = *flName
}
resp, err := cli.call("POST", "/volumes/create", volReq, nil)
if err != nil {
return err
}
var vol types.Volume
if err := json.NewDecoder(resp.body).Decode(&vol); err != nil {
return err
}
fmt.Fprintf(cli.out, "%s\n", vol.Name)
return nil
}
// CmdVolumeRm removes one or more containers.
//
// Usage: docker volume rm VOLUME [VOLUME...]
func (cli *DockerCli) CmdVolumeRm(args ...string) error {
cmd := Cli.Subcmd("volume rm", []string{"VOLUME [VOLUME...]"}, "Remove a volume", true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var status = 0
for _, name := range cmd.Args() {
_, err := cli.call("DELETE", "/volumes/"+name, nil, nil)
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
fmt.Fprintf(cli.out, "%s\n", name)
}
if status != 0 {
return Cli.StatusError{StatusCode: status}
}
return nil
}
+35
View File
@@ -0,0 +1,35 @@
package client
import (
"fmt"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdWait blocks until a container stops, then prints its exit code.
//
// If more than one container is specified, this will wait synchronously on each container.
//
// Usage: docker wait CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdWait(args ...string) error {
cmd := Cli.Subcmd("wait", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["wait"].Description, true)
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var errNames []string
for _, name := range cmd.Args() {
status, err := waitForExit(cli, name)
if err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
errNames = append(errNames, name)
} else {
fmt.Fprintf(cli.out, "%d\n", status)
}
}
if len(errNames) > 0 {
return fmt.Errorf("Error: failed to wait containers: %v", errNames)
}
return nil
}
+60 -65
View File
@@ -3,97 +3,91 @@ package api
import (
"fmt"
"mime"
"os"
"path/filepath"
"sort"
"strconv"
"strings"
log "github.com/Sirupsen/logrus"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/parsers"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/types"
"github.com/docker/docker/pkg/system"
"github.com/docker/docker/pkg/version"
"github.com/docker/libtrust"
)
// Common constants for daemon and client.
const (
APIVERSION version.Version = "1.18"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
DefaultDockerfileName string = "Dockerfile"
// Version of Current REST API
Version version.Version = "1.21"
// MinVersion represents Minimun REST API version supported
MinVersion version.Version = "1.12"
// DefaultDockerfileName is the Default filename with Docker commands, read by docker build
DefaultDockerfileName string = "Dockerfile"
)
func ValidateHost(val string) (string, error) {
host, err := parsers.ParseHost(DEFAULTHTTPHOST, DEFAULTUNIXSOCKET, val)
if err != nil {
return val, err
}
return host, nil
}
// byPrivatePort is temporary type used to sort types.Port by PrivatePort
type byPrivatePort []types.Port
// TODO remove, used on < 1.5 in getContainersJSON
func DisplayablePorts(ports *engine.Table) string {
var (
result = []string{}
hostMappings = []string{}
firstInGroupMap map[string]int
lastInGroupMap map[string]int
)
firstInGroupMap = make(map[string]int)
lastInGroupMap = make(map[string]int)
ports.SetKey("PrivatePort")
ports.Sort()
for _, port := range ports.Data {
var (
current = port.GetInt("PrivatePort")
portKey = port.Get("Type")
firstInGroup int
lastInGroup int
)
if port.Get("IP") != "" {
if port.GetInt("PublicPort") != current {
hostMappings = append(hostMappings, fmt.Sprintf("%s:%d->%d/%s", port.Get("IP"), port.GetInt("PublicPort"), port.GetInt("PrivatePort"), port.Get("Type")))
func (r byPrivatePort) Len() int { return len(r) }
func (r byPrivatePort) Swap(i, j int) { r[i], r[j] = r[j], r[i] }
func (r byPrivatePort) Less(i, j int) bool { return r[i].PrivatePort < r[j].PrivatePort }
// DisplayablePorts returns formatted string representing open ports of container
// e.g. "0.0.0.0:80->9090/tcp, 9988/tcp"
// it's used by command 'docker ps'
func DisplayablePorts(ports []types.Port) string {
type portGroup struct {
first int
last int
}
groupMap := make(map[string]*portGroup)
var result []string
var hostMappings []string
sort.Sort(byPrivatePort(ports))
for _, port := range ports {
current := port.PrivatePort
portKey := port.Type
if port.IP != "" {
if port.PublicPort != current {
hostMappings = append(hostMappings, fmt.Sprintf("%s:%d->%d/%s", port.IP, port.PublicPort, port.PrivatePort, port.Type))
continue
}
portKey = fmt.Sprintf("%s/%s", port.Get("IP"), port.Get("Type"))
portKey = fmt.Sprintf("%s/%s", port.IP, port.Type)
}
firstInGroup = firstInGroupMap[portKey]
lastInGroup = lastInGroupMap[portKey]
group := groupMap[portKey]
if firstInGroup == 0 {
firstInGroupMap[portKey] = current
lastInGroupMap[portKey] = current
if group == nil {
groupMap[portKey] = &portGroup{first: current, last: current}
continue
}
if current == (group.last + 1) {
group.last = current
continue
}
if current == (lastInGroup + 1) {
lastInGroupMap[portKey] = current
continue
}
result = append(result, FormGroup(portKey, firstInGroup, lastInGroup))
firstInGroupMap[portKey] = current
lastInGroupMap[portKey] = current
result = append(result, formGroup(portKey, group.first, group.last))
groupMap[portKey] = &portGroup{first: current, last: current}
}
for portKey, firstInGroup := range firstInGroupMap {
result = append(result, FormGroup(portKey, firstInGroup, lastInGroupMap[portKey]))
for portKey, g := range groupMap {
result = append(result, formGroup(portKey, g.first, g.last))
}
result = append(result, hostMappings...)
return strings.Join(result, ", ")
}
func FormGroup(key string, start, last int) string {
var (
group string
parts = strings.Split(key, "/")
groupType = parts[0]
ip = ""
)
func formGroup(key string, start, last int) string {
parts := strings.Split(key, "/")
groupType := parts[0]
var ip string
if len(parts) > 1 {
ip = parts[0]
groupType = parts[1]
}
if start == last {
group = fmt.Sprintf("%d", start)
} else {
group = fmt.Sprintf("%d-%d", start, last)
group := strconv.Itoa(start)
if start != last {
group = fmt.Sprintf("%s-%d", group, last)
}
if ip != "" {
group = fmt.Sprintf("%s:%s->%s", ip, group, group)
@@ -101,10 +95,11 @@ func FormGroup(key string, start, last int) string {
return fmt.Sprintf("%s/%s", group, groupType)
}
// MatchesContentType validates the content type against the expected one
func MatchesContentType(contentType, expectedType string) bool {
mimetype, _, err := mime.ParseMediaType(contentType)
if err != nil {
log.Errorf("Error parsing media type: %s error: %v", contentType, err)
logrus.Errorf("Error parsing media type: %s error: %v", contentType, err)
}
return err == nil && mimetype == expectedType
}
@@ -112,7 +107,7 @@ func MatchesContentType(contentType, expectedType string) bool {
// LoadOrCreateTrustKey attempts to load the libtrust key at the given path,
// otherwise generates a new one
func LoadOrCreateTrustKey(trustKeyPath string) (libtrust.PrivateKey, error) {
err := os.MkdirAll(filepath.Dir(trustKeyPath), 0700)
err := system.MkdirAll(filepath.Dir(trustKeyPath), 0700)
if err != nil {
return nil, err
}
+282
View File
@@ -0,0 +1,282 @@
package api
import (
"io/ioutil"
"path/filepath"
"testing"
"github.com/docker/docker/api/types"
"os"
)
type ports struct {
ports []types.Port
expected string
}
// DisplayablePorts
func TestDisplayablePorts(t *testing.T) {
cases := []ports{
{
[]types.Port{
{
PrivatePort: 9988,
Type: "tcp",
},
},
"9988/tcp"},
{
[]types.Port{
{
PrivatePort: 9988,
Type: "udp",
},
},
"9988/udp",
},
{
[]types.Port{
{
IP: "0.0.0.0",
PrivatePort: 9988,
Type: "tcp",
},
},
"0.0.0.0:0->9988/tcp",
},
{
[]types.Port{
{
PrivatePort: 9988,
PublicPort: 8899,
Type: "tcp",
},
},
"9988/tcp",
},
{
[]types.Port{
{
IP: "4.3.2.1",
PrivatePort: 9988,
PublicPort: 8899,
Type: "tcp",
},
},
"4.3.2.1:8899->9988/tcp",
},
{
[]types.Port{
{
IP: "4.3.2.1",
PrivatePort: 9988,
PublicPort: 9988,
Type: "tcp",
},
},
"4.3.2.1:9988->9988/tcp",
},
{
[]types.Port{
{
PrivatePort: 9988,
Type: "udp",
}, {
PrivatePort: 9988,
Type: "udp",
},
},
"9988/udp, 9988/udp",
},
{
[]types.Port{
{
IP: "1.2.3.4",
PublicPort: 9998,
PrivatePort: 9998,
Type: "udp",
}, {
IP: "1.2.3.4",
PublicPort: 9999,
PrivatePort: 9999,
Type: "udp",
},
},
"1.2.3.4:9998-9999->9998-9999/udp",
},
{
[]types.Port{
{
IP: "1.2.3.4",
PublicPort: 8887,
PrivatePort: 9998,
Type: "udp",
}, {
IP: "1.2.3.4",
PublicPort: 8888,
PrivatePort: 9999,
Type: "udp",
},
},
"1.2.3.4:8887->9998/udp, 1.2.3.4:8888->9999/udp",
},
{
[]types.Port{
{
PrivatePort: 9998,
Type: "udp",
}, {
PrivatePort: 9999,
Type: "udp",
},
},
"9998-9999/udp",
},
{
[]types.Port{
{
IP: "1.2.3.4",
PrivatePort: 6677,
PublicPort: 7766,
Type: "tcp",
}, {
PrivatePort: 9988,
PublicPort: 8899,
Type: "udp",
},
},
"9988/udp, 1.2.3.4:7766->6677/tcp",
},
{
[]types.Port{
{
IP: "1.2.3.4",
PrivatePort: 9988,
PublicPort: 8899,
Type: "udp",
}, {
IP: "1.2.3.4",
PrivatePort: 9988,
PublicPort: 8899,
Type: "tcp",
}, {
IP: "4.3.2.1",
PrivatePort: 2233,
PublicPort: 3322,
Type: "tcp",
},
},
"4.3.2.1:3322->2233/tcp, 1.2.3.4:8899->9988/udp, 1.2.3.4:8899->9988/tcp",
},
{
[]types.Port{
{
PrivatePort: 9988,
PublicPort: 8899,
Type: "udp",
}, {
IP: "1.2.3.4",
PrivatePort: 6677,
PublicPort: 7766,
Type: "tcp",
}, {
IP: "4.3.2.1",
PrivatePort: 2233,
PublicPort: 3322,
Type: "tcp",
},
},
"9988/udp, 4.3.2.1:3322->2233/tcp, 1.2.3.4:7766->6677/tcp",
},
}
for _, port := range cases {
actual := DisplayablePorts(port.ports)
if port.expected != actual {
t.Fatalf("Expected %s, got %s.", port.expected, actual)
}
}
}
// MatchesContentType
func TestJsonContentType(t *testing.T) {
if !MatchesContentType("application/json", "application/json") {
t.Fail()
}
if !MatchesContentType("application/json; charset=utf-8", "application/json") {
t.Fail()
}
if MatchesContentType("dockerapplication/json", "application/json") {
t.Fail()
}
}
// LoadOrCreateTrustKey
func TestLoadOrCreateTrustKeyInvalidKeyFile(t *testing.T) {
tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpKeyFolderPath)
tmpKeyFile, err := ioutil.TempFile(tmpKeyFolderPath, "keyfile")
if err != nil {
t.Fatal(err)
}
if _, err := LoadOrCreateTrustKey(tmpKeyFile.Name()); err == nil {
t.Fatalf("expected an error, got nothing.")
}
}
func TestLoadOrCreateTrustKeyCreateKey(t *testing.T) {
tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpKeyFolderPath)
// Without the need to create the folder hierarchy
tmpKeyFile := filepath.Join(tmpKeyFolderPath, "keyfile")
if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
t.Fatalf("expected a new key file, got : %v and %v", err, key)
}
if _, err := os.Stat(tmpKeyFile); err != nil {
t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err)
}
// With the need to create the folder hierarchy as tmpKeyFie is in a path
// where some folder do not exists.
tmpKeyFile = filepath.Join(tmpKeyFolderPath, "folder/hierarchy/keyfile")
if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
t.Fatalf("expected a new key file, got : %v and %v", err, key)
}
if _, err := os.Stat(tmpKeyFile); err != nil {
t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err)
}
// With no path at all
defer os.Remove("keyfile")
if key, err := LoadOrCreateTrustKey("keyfile"); err != nil || key == nil {
t.Fatalf("expected a new key file, got : %v and %v", err, key)
}
if _, err := os.Stat("keyfile"); err != nil {
t.Fatalf("Expected to find a file keyfile, got %v", err)
}
}
func TestLoadOrCreateTrustKeyLoadValidKey(t *testing.T) {
tmpKeyFile := filepath.Join("fixtures", "keyfile")
if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
t.Fatalf("expected a key file, got : %v and %v", err, key)
}
}
+7
View File
@@ -0,0 +1,7 @@
-----BEGIN EC PRIVATE KEY-----
keyID: AWX2:I27X:WQFX:IOMK:CNAK:O7PW:VYNB:ZLKC:CVAE:YJP2:SI4A:XXAY
MHcCAQEEILHTRWdcpKWsnORxSFyBnndJ4ROU41hMtr/GCiLVvwBQoAoGCCqGSM49
AwEHoUQDQgAElpVFbQ2V2UQKajqdE3fVxJ+/pE/YuEFOxWbOxF2be19BY209/iky
NzeFFK7SLpQ4CBJ7zDVXOHsMzrkY/GquGA==
-----END EC PRIVATE KEY-----
+76
View File
@@ -0,0 +1,76 @@
package httputils
import (
"fmt"
"net/http"
"path/filepath"
"strconv"
"strings"
)
// BoolValue transforms a form value in different formats into a boolean type.
func BoolValue(r *http.Request, k string) bool {
s := strings.ToLower(strings.TrimSpace(r.FormValue(k)))
return !(s == "" || s == "0" || s == "no" || s == "false" || s == "none")
}
// BoolValueOrDefault returns the default bool passed if the query param is
// missing, otherwise it's just a proxy to boolValue above
func BoolValueOrDefault(r *http.Request, k string, d bool) bool {
if _, ok := r.Form[k]; !ok {
return d
}
return BoolValue(r, k)
}
// Int64ValueOrZero parses a form value into an int64 type.
// It returns 0 if the parsing fails.
func Int64ValueOrZero(r *http.Request, k string) int64 {
val, err := Int64ValueOrDefault(r, k, 0)
if err != nil {
return 0
}
return val
}
// Int64ValueOrDefault parses a form value into an int64 type. If there is an
// error, returns the error. If there is no value returns the default value.
func Int64ValueOrDefault(r *http.Request, field string, def int64) (int64, error) {
if r.Form.Get(field) != "" {
value, err := strconv.ParseInt(r.Form.Get(field), 10, 64)
if err != nil {
return value, err
}
return value, nil
}
return def, nil
}
// ArchiveOptions stores archive information for different operations.
type ArchiveOptions struct {
Name string
Path string
}
// ArchiveFormValues parses form values and turns them into ArchiveOptions.
// It fails if the archive name and path are not in the request.
func ArchiveFormValues(r *http.Request, vars map[string]string) (ArchiveOptions, error) {
if vars == nil {
return ArchiveOptions{}, fmt.Errorf("Missing parameter")
}
if err := ParseForm(r); err != nil {
return ArchiveOptions{}, err
}
name := vars["name"]
path := filepath.FromSlash(r.Form.Get("path"))
switch {
case name == "":
return ArchiveOptions{}, fmt.Errorf("bad parameter: 'name' cannot be empty")
case path == "":
return ArchiveOptions{}, fmt.Errorf("bad parameter: 'path' cannot be empty")
}
return ArchiveOptions{name, path}, nil
}
+105
View File
@@ -0,0 +1,105 @@
package httputils
import (
"net/http"
"net/url"
"testing"
)
func TestBoolValue(t *testing.T) {
cases := map[string]bool{
"": false,
"0": false,
"no": false,
"false": false,
"none": false,
"1": true,
"yes": true,
"true": true,
"one": true,
"100": true,
}
for c, e := range cases {
v := url.Values{}
v.Set("test", c)
r, _ := http.NewRequest("POST", "", nil)
r.Form = v
a := BoolValue(r, "test")
if a != e {
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
}
}
}
func TestBoolValueOrDefault(t *testing.T) {
r, _ := http.NewRequest("GET", "", nil)
if !BoolValueOrDefault(r, "queryparam", true) {
t.Fatal("Expected to get true default value, got false")
}
v := url.Values{}
v.Set("param", "")
r, _ = http.NewRequest("GET", "", nil)
r.Form = v
if BoolValueOrDefault(r, "param", true) {
t.Fatal("Expected not to get true")
}
}
func TestInt64ValueOrZero(t *testing.T) {
cases := map[string]int64{
"": 0,
"asdf": 0,
"0": 0,
"1": 1,
}
for c, e := range cases {
v := url.Values{}
v.Set("test", c)
r, _ := http.NewRequest("POST", "", nil)
r.Form = v
a := Int64ValueOrZero(r, "test")
if a != e {
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
}
}
}
func TestInt64ValueOrDefault(t *testing.T) {
cases := map[string]int64{
"": -1,
"-1": -1,
"42": 42,
}
for c, e := range cases {
v := url.Values{}
v.Set("test", c)
r, _ := http.NewRequest("POST", "", nil)
r.Form = v
a, err := Int64ValueOrDefault(r, "test", -1)
if a != e {
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
}
if err != nil {
t.Fatalf("Error should be nil, but received: %s", err)
}
}
}
func TestInt64ValueOrDefaultWithError(t *testing.T) {
v := url.Values{}
v.Set("test", "invalid")
r, _ := http.NewRequest("POST", "", nil)
r.Form = v
_, err := Int64ValueOrDefault(r, "test", -1)
if err == nil {
t.Fatalf("Expected an error.")
}
}
+180
View File
@@ -0,0 +1,180 @@
package httputils
import (
"encoding/json"
"fmt"
"io"
"net/http"
"strings"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/distribution/registry/api/errcode"
"github.com/docker/docker/api"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/utils"
)
// APIVersionKey is the client's requested API version.
const APIVersionKey = "api-version"
// APIFunc is an adapter to allow the use of ordinary functions as Docker API endpoints.
// Any function that has the appropriate signature can be register as a API endpoint (e.g. getVersion).
type APIFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error
// HijackConnection interrupts the http response writer to get the
// underlying connection and operate with it.
func HijackConnection(w http.ResponseWriter) (io.ReadCloser, io.Writer, error) {
conn, _, err := w.(http.Hijacker).Hijack()
if err != nil {
return nil, nil, err
}
// Flush the options to make sure the client sets the raw mode
conn.Write([]byte{})
return conn, conn, nil
}
// CloseStreams ensures that a list for http streams are properly closed.
func CloseStreams(streams ...interface{}) {
for _, stream := range streams {
if tcpc, ok := stream.(interface {
CloseWrite() error
}); ok {
tcpc.CloseWrite()
} else if closer, ok := stream.(io.Closer); ok {
closer.Close()
}
}
}
// CheckForJSON makes sure that the request's Content-Type is application/json.
func CheckForJSON(r *http.Request) error {
ct := r.Header.Get("Content-Type")
// No Content-Type header is ok as long as there's no Body
if ct == "" {
if r.Body == nil || r.ContentLength == 0 {
return nil
}
}
// Otherwise it better be json
if api.MatchesContentType(ct, "application/json") {
return nil
}
return fmt.Errorf("Content-Type specified (%s) must be 'application/json'", ct)
}
// ParseForm ensures the request form is parsed even with invalid content types.
// If we don't do this, POST method without Content-type (even with empty body) will fail.
func ParseForm(r *http.Request) error {
if r == nil {
return nil
}
if err := r.ParseForm(); err != nil && !strings.HasPrefix(err.Error(), "mime:") {
return err
}
return nil
}
// ParseMultipartForm ensure the request form is parsed, even with invalid content types.
func ParseMultipartForm(r *http.Request) error {
if err := r.ParseMultipartForm(4096); err != nil && !strings.HasPrefix(err.Error(), "mime:") {
return err
}
return nil
}
// WriteError decodes a specific docker error and sends it in the response.
func WriteError(w http.ResponseWriter, err error) {
if err == nil || w == nil {
logrus.WithFields(logrus.Fields{"error": err, "writer": w}).Error("unexpected HTTP error handling")
return
}
statusCode := http.StatusInternalServerError
errMsg := err.Error()
// Based on the type of error we get we need to process things
// slightly differently to extract the error message.
// In the 'errcode.*' cases there are two different type of
// error that could be returned. errocode.ErrorCode is the base
// type of error object - it is just an 'int' that can then be
// used as the look-up key to find the message. errorcode.Error
// extends errorcode.Error by adding error-instance specific
// data, like 'details' or variable strings to be inserted into
// the message.
//
// Ideally, we should just be able to call err.Error() for all
// cases but the errcode package doesn't support that yet.
//
// Additionally, in both errcode cases, there might be an http
// status code associated with it, and if so use it.
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
}
}
}
if statusCode == 0 {
statusCode = http.StatusInternalServerError
}
logrus.WithFields(logrus.Fields{"statusCode": statusCode, "err": utils.GetErrorMessage(err)}).Error("HTTP Error")
http.Error(w, errMsg, statusCode)
}
// WriteJSON writes the value v to the http response stream as json with standard json encoding.
func WriteJSON(w http.ResponseWriter, code int, v interface{}) error {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(code)
return json.NewEncoder(w).Encode(v)
}
// VersionFromContext returns an API version from the context using APIVersionKey.
// It panics if the context value does not have version.Version type.
func VersionFromContext(ctx context.Context) (ver version.Version) {
if ctx == nil {
return
}
val := ctx.Value(APIVersionKey)
if val == nil {
return
}
return val.(version.Version)
}
+118
View File
@@ -0,0 +1,118 @@
package server
import (
"net/http"
"runtime"
"strings"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/errors"
"github.com/docker/docker/pkg/version"
"golang.org/x/net/context"
)
// middleware is an adapter to allow the use of ordinary functions as Docker API filters.
// Any function that has the appropriate signature can be register as a middleware.
type middleware func(handler httputils.APIFunc) httputils.APIFunc
// loggingMiddleware logs each request when logging is enabled.
func (s *Server) loggingMiddleware(handler httputils.APIFunc) httputils.APIFunc {
return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if s.cfg.Logging {
logrus.Infof("%s %s", r.Method, r.RequestURI)
}
return handler(ctx, w, r, vars)
}
}
// userAgentMiddleware checks the User-Agent header looking for a valid docker client spec.
func (s *Server) userAgentMiddleware(handler httputils.APIFunc) httputils.APIFunc {
return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if strings.Contains(r.Header.Get("User-Agent"), "Docker-Client/") {
dockerVersion := version.Version(s.cfg.Version)
userAgent := strings.Split(r.Header.Get("User-Agent"), "/")
// v1.20 onwards includes the GOOS of the client after the version
// such as Docker/1.7.0 (linux)
if len(userAgent) == 2 && strings.Contains(userAgent[1], " ") {
userAgent[1] = strings.Split(userAgent[1], " ")[0]
}
if len(userAgent) == 2 && !dockerVersion.Equal(version.Version(userAgent[1])) {
logrus.Debugf("Warning: client and server don't have the same version (client: %s, server: %s)", userAgent[1], dockerVersion)
}
}
return handler(ctx, w, r, vars)
}
}
// corsMiddleware sets the CORS header expectations in the server.
func (s *Server) corsMiddleware(handler httputils.APIFunc) httputils.APIFunc {
return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
// If "api-cors-header" is not given, but "api-enable-cors" is true, we set cors to "*"
// otherwise, all head values will be passed to HTTP handler
corsHeaders := s.cfg.CorsHeaders
if corsHeaders == "" && s.cfg.EnableCors {
corsHeaders = "*"
}
if corsHeaders != "" {
writeCorsHeaders(w, r, corsHeaders)
}
return handler(ctx, w, r, vars)
}
}
// versionMiddleware checks the api version requirements before passing the request to the server handler.
func versionMiddleware(handler httputils.APIFunc) httputils.APIFunc {
return func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
apiVersion := version.Version(vars["version"])
if apiVersion == "" {
apiVersion = api.Version
}
if apiVersion.GreaterThan(api.Version) {
return errors.ErrorCodeNewerClientVersion.WithArgs(apiVersion, api.Version)
}
if apiVersion.LessThan(api.MinVersion) {
return errors.ErrorCodeOldClientVersion.WithArgs(apiVersion, api.Version)
}
w.Header().Set("Server", "Docker/"+dockerversion.VERSION+" ("+runtime.GOOS+")")
ctx = context.WithValue(ctx, httputils.APIVersionKey, apiVersion)
return handler(ctx, w, r, vars)
}
}
// handleWithGlobalMiddlwares wraps the handler function for a request with
// the server's global middlewares. The order of the middlewares is backwards,
// meaning that the first in the list will be evaludated last.
//
// Example: handleWithGlobalMiddlewares(s.getContainersName)
//
// s.loggingMiddleware(
// s.userAgentMiddleware(
// s.corsMiddleware(
// versionMiddleware(s.getContainersName)
// )
// )
// )
// )
func (s *Server) handleWithGlobalMiddlewares(handler httputils.APIFunc) httputils.APIFunc {
middlewares := []middleware{
versionMiddleware,
s.corsMiddleware,
s.userAgentMiddleware,
s.loggingMiddleware,
}
h := handler
for _, m := range middlewares {
h = m(h)
}
return h
}
+57
View File
@@ -0,0 +1,57 @@
package server
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/docker/distribution/registry/api/errcode"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/errors"
"golang.org/x/net/context"
)
func TestVersionMiddleware(t *testing.T) {
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if httputils.VersionFromContext(ctx) == "" {
t.Fatalf("Expected version, got empty string")
}
return nil
}
h := versionMiddleware(handler)
req, _ := http.NewRequest("GET", "/containers/json", nil)
resp := httptest.NewRecorder()
ctx := context.Background()
if err := h(ctx, resp, req, map[string]string{}); err != nil {
t.Fatal(err)
}
}
func TestVersionMiddlewareWithErrors(t *testing.T) {
handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if httputils.VersionFromContext(ctx) == "" {
t.Fatalf("Expected version, got empty string")
}
return nil
}
h := versionMiddleware(handler)
req, _ := http.NewRequest("GET", "/containers/json", nil)
resp := httptest.NewRecorder()
ctx := context.Background()
vars := map[string]string{"version": "0.1"}
err := h(ctx, resp, req, vars)
if derr, ok := err.(errcode.Error); !ok || derr.ErrorCode() != errors.ErrorCodeOldClientVersion {
t.Fatalf("Expected ErrorCodeOldClientVersion, got %v", err)
}
vars["version"] = "100000"
err = h(ctx, resp, req, vars)
if derr, ok := err.(errcode.Error); !ok || derr.ErrorCode() != errors.ErrorCodeNewerClientVersion {
t.Fatalf("Expected ErrorCodeNewerClientVersion, got %v", err)
}
}
+38
View File
@@ -0,0 +1,38 @@
package server
import (
"expvar"
"fmt"
"net/http"
"net/http/pprof"
"github.com/gorilla/mux"
)
func profilerSetup(mainRouter *mux.Router, path string) {
var r = mainRouter.PathPrefix(path).Subrouter()
r.HandleFunc("/vars", expVars)
r.HandleFunc("/pprof/", pprof.Index)
r.HandleFunc("/pprof/cmdline", pprof.Cmdline)
r.HandleFunc("/pprof/profile", pprof.Profile)
r.HandleFunc("/pprof/symbol", pprof.Symbol)
r.HandleFunc("/pprof/block", pprof.Handler("block").ServeHTTP)
r.HandleFunc("/pprof/heap", pprof.Handler("heap").ServeHTTP)
r.HandleFunc("/pprof/goroutine", pprof.Handler("goroutine").ServeHTTP)
r.HandleFunc("/pprof/threadcreate", pprof.Handler("threadcreate").ServeHTTP)
}
// Replicated from expvar.go as not public.
func expVars(w http.ResponseWriter, r *http.Request) {
first := true
w.Header().Set("Content-Type", "application/json; charset=utf-8")
fmt.Fprintf(w, "{\n")
expvar.Do(func(kv expvar.KeyValue) {
if !first {
fmt.Fprintf(w, ",\n")
}
first = false
fmt.Fprintf(w, "%q: %s", kv.Key, kv.Value)
})
fmt.Fprintf(w, "\n}\n")
}
+27
View File
@@ -0,0 +1,27 @@
package local
import (
"encoding/json"
"net/http"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/cliconfig"
"golang.org/x/net/context"
)
func (s *router) postAuth(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
var config *cliconfig.AuthConfig
err := json.NewDecoder(r.Body).Decode(&config)
r.Body.Close()
if err != nil {
return err
}
status, err := s.daemon.AuthenticateToRegistry(config)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, &types.AuthResponse{
Status: status,
})
}
+515
View File
@@ -0,0 +1,515 @@
package local
import (
"fmt"
"io"
"net/http"
"strconv"
"strings"
"syscall"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/distribution/registry/api/errcode"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/daemon"
derr "github.com/docker/docker/errors"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/signal"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
"golang.org/x/net/context"
"golang.org/x/net/websocket"
)
func (s *router) getContainersJSON(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
config := &daemon.ContainersConfig{
All: httputils.BoolValue(r, "all"),
Size: httputils.BoolValue(r, "size"),
Since: r.Form.Get("since"),
Before: r.Form.Get("before"),
Filters: r.Form.Get("filters"),
}
if tmpLimit := r.Form.Get("limit"); tmpLimit != "" {
limit, err := strconv.Atoi(tmpLimit)
if err != nil {
return err
}
config.Limit = limit
}
containers, err := s.daemon.Containers(config)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, containers)
}
func (s *router) getContainersStats(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
stream := httputils.BoolValueOrDefault(r, "stream", true)
var out io.Writer
if !stream {
w.Header().Set("Content-Type", "application/json")
out = w
} else {
wf := ioutils.NewWriteFlusher(w)
out = wf
defer wf.Close()
}
var closeNotifier <-chan bool
if notifier, ok := w.(http.CloseNotifier); ok {
closeNotifier = notifier.CloseNotify()
}
config := &daemon.ContainerStatsConfig{
Stream: stream,
OutStream: out,
Stop: closeNotifier,
Version: httputils.VersionFromContext(ctx),
}
return s.daemon.ContainerStats(vars["name"], config)
}
func (s *router) getContainersLogs(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
// Args are validated before the stream starts because when it starts we're
// sending HTTP 200 by writing an empty chunk of data to tell the client that
// daemon is going to stream. By sending this initial HTTP 200 we can't report
// any error after the stream starts (i.e. container not found, wrong parameters)
// with the appropriate status code.
stdout, stderr := httputils.BoolValue(r, "stdout"), httputils.BoolValue(r, "stderr")
if !(stdout || stderr) {
return fmt.Errorf("Bad parameters: you must choose at least one stream")
}
var since time.Time
if r.Form.Get("since") != "" {
s, err := strconv.ParseInt(r.Form.Get("since"), 10, 64)
if err != nil {
return err
}
since = time.Unix(s, 0)
}
var closeNotifier <-chan bool
if notifier, ok := w.(http.CloseNotifier); ok {
closeNotifier = notifier.CloseNotify()
}
containerName := vars["name"]
if !s.daemon.Exists(containerName) {
return derr.ErrorCodeNoSuchContainer.WithArgs(containerName)
}
// write an empty chunk of data (this is to ensure that the
// HTTP Response is sent immediately, even if the container has
// not yet produced any data)
w.WriteHeader(http.StatusOK)
if flusher, ok := w.(http.Flusher); ok {
flusher.Flush()
}
output := ioutils.NewWriteFlusher(w)
defer output.Close()
logsConfig := &daemon.ContainerLogsConfig{
Follow: httputils.BoolValue(r, "follow"),
Timestamps: httputils.BoolValue(r, "timestamps"),
Since: since,
Tail: r.Form.Get("tail"),
UseStdout: stdout,
UseStderr: stderr,
OutStream: output,
Stop: closeNotifier,
}
if err := s.daemon.ContainerLogs(containerName, logsConfig); err != nil {
// The client may be expecting all of the data we're sending to
// be multiplexed, so send it through OutStream, which will
// have been set up to handle that if needed.
fmt.Fprintf(logsConfig.OutStream, "Error running logs job: %s\n", utils.GetErrorMessage(err))
}
return nil
}
func (s *router) getContainersExport(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
return s.daemon.ContainerExport(vars["name"], w)
}
func (s *router) postContainersStart(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
// If contentLength is -1, we can assumed chunked encoding
// or more technically that the length is unknown
// https://golang.org/src/pkg/net/http/request.go#L139
// net/http otherwise seems to swallow any headers related to chunked encoding
// including r.TransferEncoding
// allow a nil body for backwards compatibility
var hostConfig *runconfig.HostConfig
if r.Body != nil && (r.ContentLength > 0 || r.ContentLength == -1) {
if err := httputils.CheckForJSON(r); err != nil {
return err
}
c, err := runconfig.DecodeHostConfig(r.Body)
if err != nil {
return err
}
hostConfig = c
}
if err := s.daemon.ContainerStart(vars["name"], hostConfig); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersStop(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
seconds, _ := strconv.Atoi(r.Form.Get("t"))
if err := s.daemon.ContainerStop(vars["name"], seconds); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersKill(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.ParseForm(r); err != nil {
return err
}
var sig syscall.Signal
name := vars["name"]
// If we have a signal, look at it. Otherwise, do nothing
if sigStr := r.Form.Get("signal"); sigStr != "" {
var err error
if sig, err = signal.ParseSignal(sigStr); err != nil {
return err
}
}
if err := s.daemon.ContainerKill(name, uint64(sig)); err != nil {
theErr, isDerr := err.(errcode.ErrorCoder)
isStopped := isDerr && theErr.ErrorCode() == derr.ErrorCodeNotRunning
// Return error that's not caused because the container is stopped.
// Return error if the container is not running and the api is >= 1.20
// to keep backwards compatibility.
version := httputils.VersionFromContext(ctx)
if version.GreaterThanOrEqualTo("1.20") || !isStopped {
return fmt.Errorf("Cannot kill container %s: %v", name, err)
}
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersRestart(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
timeout, _ := strconv.Atoi(r.Form.Get("t"))
if err := s.daemon.ContainerRestart(vars["name"], timeout); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersPause(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := s.daemon.ContainerPause(vars["name"]); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersUnpause(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := s.daemon.ContainerUnpause(vars["name"]); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersWait(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
status, err := s.daemon.ContainerWait(vars["name"], -1*time.Second)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, &types.ContainerWaitResponse{
StatusCode: status,
})
}
func (s *router) getContainersChanges(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
changes, err := s.daemon.ContainerChanges(vars["name"])
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, changes)
}
func (s *router) getContainersTop(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.ParseForm(r); err != nil {
return err
}
procList, err := s.daemon.ContainerTop(vars["name"], r.Form.Get("ps_args"))
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, procList)
}
func (s *router) postContainerRename(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
name := vars["name"]
newName := r.Form.Get("name")
if err := s.daemon.ContainerRename(name, newName); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
name := r.Form.Get("name")
config, hostConfig, err := runconfig.DecodeContainerConfig(r.Body)
if err != nil {
return err
}
version := httputils.VersionFromContext(ctx)
adjustCPUShares := version.LessThan("1.19")
ccr, err := s.daemon.ContainerCreate(name, config, hostConfig, adjustCPUShares)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusCreated, ccr)
}
func (s *router) deleteContainers(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
name := vars["name"]
config := &daemon.ContainerRmConfig{
ForceRemove: httputils.BoolValue(r, "force"),
RemoveVolume: httputils.BoolValue(r, "v"),
RemoveLink: httputils.BoolValue(r, "link"),
}
if err := s.daemon.ContainerRm(name, config); err != nil {
// Force a 404 for the empty string
if strings.Contains(strings.ToLower(err.Error()), "prefix can't be empty") {
return fmt.Errorf("no such id: \"\"")
}
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
func (s *router) postContainersResize(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
height, err := strconv.Atoi(r.Form.Get("h"))
if err != nil {
return err
}
width, err := strconv.Atoi(r.Form.Get("w"))
if err != nil {
return err
}
return s.daemon.ContainerResize(vars["name"], height, width)
}
func (s *router) postContainersAttach(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
containerName := vars["name"]
if !s.daemon.Exists(containerName) {
return derr.ErrorCodeNoSuchContainer.WithArgs(containerName)
}
inStream, outStream, err := httputils.HijackConnection(w)
if err != nil {
return err
}
defer httputils.CloseStreams(inStream, outStream)
if _, ok := r.Header["Upgrade"]; ok {
fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
} else {
fmt.Fprintf(outStream, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
}
attachWithLogsConfig := &daemon.ContainerAttachWithLogsConfig{
InStream: inStream,
OutStream: outStream,
UseStdin: httputils.BoolValue(r, "stdin"),
UseStdout: httputils.BoolValue(r, "stdout"),
UseStderr: httputils.BoolValue(r, "stderr"),
Logs: httputils.BoolValue(r, "logs"),
Stream: httputils.BoolValue(r, "stream"),
}
if err := s.daemon.ContainerAttachWithLogs(containerName, attachWithLogsConfig); err != nil {
fmt.Fprintf(outStream, "Error attaching: %s\n", err)
}
return nil
}
func (s *router) wsContainersAttach(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
containerName := vars["name"]
if !s.daemon.Exists(containerName) {
return derr.ErrorCodeNoSuchContainer.WithArgs(containerName)
}
h := websocket.Handler(func(ws *websocket.Conn) {
defer ws.Close()
wsAttachWithLogsConfig := &daemon.ContainerWsAttachWithLogsConfig{
InStream: ws,
OutStream: ws,
ErrStream: ws,
Logs: httputils.BoolValue(r, "logs"),
Stream: httputils.BoolValue(r, "stream"),
}
if err := s.daemon.ContainerWsAttachWithLogs(containerName, wsAttachWithLogsConfig); err != nil {
logrus.Errorf("Error attaching websocket: %s", err)
}
})
ws := websocket.Server{Handler: h, Handshake: nil}
ws.ServeHTTP(w, r)
return nil
}
+116
View File
@@ -0,0 +1,116 @@
package local
import (
"encoding/base64"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"strings"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"golang.org/x/net/context"
)
// postContainersCopy is deprecated in favor of getContainersArchive.
func (s *router) postContainersCopy(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
cfg := types.CopyConfig{}
if err := json.NewDecoder(r.Body).Decode(&cfg); err != nil {
return err
}
if cfg.Resource == "" {
return fmt.Errorf("Path cannot be empty")
}
data, err := s.daemon.ContainerCopy(vars["name"], cfg.Resource)
if err != nil {
if strings.Contains(strings.ToLower(err.Error()), "no such id") {
w.WriteHeader(http.StatusNotFound)
return nil
}
if os.IsNotExist(err) {
return fmt.Errorf("Could not find the file %s in container %s", cfg.Resource, vars["name"])
}
return err
}
defer data.Close()
w.Header().Set("Content-Type", "application/x-tar")
if _, err := io.Copy(w, data); err != nil {
return err
}
return nil
}
// // Encode the stat to JSON, base64 encode, and place in a header.
func setContainerPathStatHeader(stat *types.ContainerPathStat, header http.Header) error {
statJSON, err := json.Marshal(stat)
if err != nil {
return err
}
header.Set(
"X-Docker-Container-Path-Stat",
base64.StdEncoding.EncodeToString(statJSON),
)
return nil
}
func (s *router) headContainersArchive(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
v, err := httputils.ArchiveFormValues(r, vars)
if err != nil {
return err
}
stat, err := s.daemon.ContainerStatPath(v.Name, v.Path)
if err != nil {
return err
}
return setContainerPathStatHeader(stat, w.Header())
}
func (s *router) getContainersArchive(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
v, err := httputils.ArchiveFormValues(r, vars)
if err != nil {
return err
}
tarArchive, stat, err := s.daemon.ContainerArchivePath(v.Name, v.Path)
if err != nil {
return err
}
defer tarArchive.Close()
if err := setContainerPathStatHeader(stat, w.Header()); err != nil {
return err
}
w.Header().Set("Content-Type", "application/x-tar")
_, err = io.Copy(w, tarArchive)
return err
}
func (s *router) putContainersArchive(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
v, err := httputils.ArchiveFormValues(r, vars)
if err != nil {
return err
}
noOverwriteDirNonDir := httputils.BoolValue(r, "noOverwriteDirNonDir")
return s.daemon.ContainerExtractToDir(v.Name, v.Path, noOverwriteDirNonDir, r.Body)
}
+135
View File
@@ -0,0 +1,135 @@
package local
import (
"encoding/json"
"fmt"
"io"
"net/http"
"strconv"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/runconfig"
"golang.org/x/net/context"
)
func (s *router) getExecByID(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter 'id'")
}
eConfig, err := s.daemon.ContainerExecInspect(vars["id"])
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, eConfig)
}
func (s *router) postContainerExecCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
name := vars["name"]
execConfig := &runconfig.ExecConfig{}
if err := json.NewDecoder(r.Body).Decode(execConfig); err != nil {
return err
}
execConfig.Container = name
if len(execConfig.Cmd) == 0 {
return fmt.Errorf("No exec command specified")
}
// Register an instance of Exec in container.
id, err := s.daemon.ContainerExecCreate(execConfig)
if err != nil {
logrus.Errorf("Error setting up exec command in container %s: %s", name, err)
return err
}
return httputils.WriteJSON(w, http.StatusCreated, &types.ContainerExecCreateResponse{
ID: id,
})
}
// TODO(vishh): Refactor the code to avoid having to specify stream config as part of both create and start.
func (s *router) postContainerExecStart(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
var (
execName = vars["name"]
stdin, inStream io.ReadCloser
stdout, stderr, outStream io.Writer
)
execStartCheck := &types.ExecStartCheck{}
if err := json.NewDecoder(r.Body).Decode(execStartCheck); err != nil {
return err
}
if exists, err := s.daemon.ExecExists(execName); !exists {
return err
}
if !execStartCheck.Detach {
var err error
// Setting up the streaming http interface.
inStream, outStream, err = httputils.HijackConnection(w)
if err != nil {
return err
}
defer httputils.CloseStreams(inStream, outStream)
if _, ok := r.Header["Upgrade"]; ok {
fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
} else {
fmt.Fprintf(outStream, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
}
stdin = inStream
stdout = outStream
if !execStartCheck.Tty {
stderr = stdcopy.NewStdWriter(outStream, stdcopy.Stderr)
stdout = stdcopy.NewStdWriter(outStream, stdcopy.Stdout)
}
} else {
outStream = w
}
// Now run the user process in container.
if err := s.daemon.ContainerExecStart(execName, stdin, stdout, stderr); err != nil {
if execStartCheck.Detach {
return err
}
logrus.Errorf("Error running exec in container: %v\n", err)
}
return nil
}
func (s *router) postContainerExecResize(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
height, err := strconv.Atoi(r.Form.Get("h"))
if err != nil {
return err
}
width, err := strconv.Atoi(r.Form.Get("w"))
if err != nil {
return err
}
return s.daemon.ContainerExecResize(vars["name"], height, width)
}
+524
View File
@@ -0,0 +1,524 @@
package local
import (
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"strings"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/builder"
"github.com/docker/docker/builder/dockerfile"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/daemon/daemonbuilder"
"github.com/docker/docker/graph"
"github.com/docker/docker/graph/tags"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/chrootarchive"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/progressreader"
"github.com/docker/docker/pkg/streamformatter"
"github.com/docker/docker/pkg/ulimit"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
"golang.org/x/net/context"
)
func (s *router) postCommit(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
cname := r.Form.Get("container")
pause := httputils.BoolValue(r, "pause")
version := httputils.VersionFromContext(ctx)
if r.FormValue("pause") == "" && version.GreaterThanOrEqualTo("1.13") {
pause = true
}
c, _, err := runconfig.DecodeContainerConfig(r.Body)
if err != nil && err != io.EOF { //Do not fail if body is empty.
return err
}
commitCfg := &dockerfile.CommitConfig{
Pause: pause,
Repo: r.Form.Get("repo"),
Tag: r.Form.Get("tag"),
Author: r.Form.Get("author"),
Comment: r.Form.Get("comment"),
Changes: r.Form["changes"],
Config: c,
}
container, err := s.daemon.Get(cname)
if err != nil {
return err
}
imgID, err := dockerfile.Commit(container, s.daemon, commitCfg)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusCreated, &types.ContainerCommitResponse{
ID: string(imgID),
})
}
// Creates an image from Pull or from Import
func (s *router) postImagesCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
var (
image = r.Form.Get("fromImage")
repo = r.Form.Get("repo")
tag = r.Form.Get("tag")
message = r.Form.Get("message")
)
authEncoded := r.Header.Get("X-Registry-Auth")
authConfig := &cliconfig.AuthConfig{}
if authEncoded != "" {
authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJSON).Decode(authConfig); err != nil {
// for a pull it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting to be empty
authConfig = &cliconfig.AuthConfig{}
}
}
var (
err error
output = ioutils.NewWriteFlusher(w)
)
defer output.Close()
w.Header().Set("Content-Type", "application/json")
if image != "" { //pull
if tag == "" {
image, tag = parsers.ParseRepositoryTag(image)
}
metaHeaders := map[string][]string{}
for k, v := range r.Header {
if strings.HasPrefix(k, "X-Meta-") {
metaHeaders[k] = v
}
}
imagePullConfig := &graph.ImagePullConfig{
MetaHeaders: metaHeaders,
AuthConfig: authConfig,
OutStream: output,
}
err = s.daemon.PullImage(image, tag, imagePullConfig)
} else { //import
if tag == "" {
repo, tag = parsers.ParseRepositoryTag(repo)
}
src := r.Form.Get("fromSrc")
// 'err' MUST NOT be defined within this block, we need any error
// generated from the download to be available to the output
// stream processing below
var newConfig *runconfig.Config
newConfig, err = dockerfile.BuildFromConfig(&runconfig.Config{}, r.Form["changes"])
if err != nil {
return err
}
err = s.daemon.ImportImage(src, repo, tag, message, r.Body, output, newConfig)
}
if err != nil {
if !output.Flushed() {
return err
}
sf := streamformatter.NewJSONStreamFormatter()
output.Write(sf.FormatError(err))
}
return nil
}
func (s *router) postImagesPush(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
metaHeaders := map[string][]string{}
for k, v := range r.Header {
if strings.HasPrefix(k, "X-Meta-") {
metaHeaders[k] = v
}
}
if err := httputils.ParseForm(r); err != nil {
return err
}
authConfig := &cliconfig.AuthConfig{}
authEncoded := r.Header.Get("X-Registry-Auth")
if authEncoded != "" {
// the new format is to handle the authConfig as a header
authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJSON).Decode(authConfig); err != nil {
// to increase compatibility to existing api it is defaulting to be empty
authConfig = &cliconfig.AuthConfig{}
}
} else {
// the old format is supported for compatibility if there was no authConfig header
if err := json.NewDecoder(r.Body).Decode(authConfig); err != nil {
return fmt.Errorf("Bad parameters and missing X-Registry-Auth: %v", err)
}
}
name := vars["name"]
output := ioutils.NewWriteFlusher(w)
defer output.Close()
imagePushConfig := &graph.ImagePushConfig{
MetaHeaders: metaHeaders,
AuthConfig: authConfig,
Tag: r.Form.Get("tag"),
OutStream: output,
}
w.Header().Set("Content-Type", "application/json")
if err := s.daemon.PushImage(name, imagePushConfig); err != nil {
if !output.Flushed() {
return err
}
sf := streamformatter.NewJSONStreamFormatter()
output.Write(sf.FormatError(err))
}
return nil
}
func (s *router) getImagesGet(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
if err := httputils.ParseForm(r); err != nil {
return err
}
w.Header().Set("Content-Type", "application/x-tar")
output := ioutils.NewWriteFlusher(w)
defer output.Close()
var names []string
if name, ok := vars["name"]; ok {
names = []string{name}
} else {
names = r.Form["names"]
}
if err := s.daemon.ExportImage(names, output); err != nil {
if !output.Flushed() {
return err
}
sf := streamformatter.NewJSONStreamFormatter()
output.Write(sf.FormatError(err))
}
return nil
}
func (s *router) postImagesLoad(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
return s.daemon.LoadImage(r.Body, w)
}
func (s *router) deleteImages(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
name := vars["name"]
if name == "" {
return fmt.Errorf("image name cannot be blank")
}
force := httputils.BoolValue(r, "force")
prune := !httputils.BoolValue(r, "noprune")
list, err := s.daemon.ImageDelete(name, force, prune)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, list)
}
func (s *router) getImagesByName(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
imageInspect, err := s.daemon.LookupImage(vars["name"])
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, imageInspect)
}
func (s *router) postBuild(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
var (
authConfigs = map[string]cliconfig.AuthConfig{}
authConfigsEncoded = r.Header.Get("X-Registry-Config")
buildConfig = &dockerfile.Config{}
)
if authConfigsEncoded != "" {
authConfigsJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authConfigsEncoded))
if err := json.NewDecoder(authConfigsJSON).Decode(&authConfigs); err != nil {
// for a pull it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting
// to be empty.
}
}
w.Header().Set("Content-Type", "application/json")
version := httputils.VersionFromContext(ctx)
output := ioutils.NewWriteFlusher(w)
defer output.Close()
sf := streamformatter.NewJSONStreamFormatter()
errf := func(err error) error {
// Do not write the error in the http output if it's still empty.
// This prevents from writing a 200(OK) when there is an interal error.
if !output.Flushed() {
return err
}
_, err = w.Write(sf.FormatError(errors.New(utils.GetErrorMessage(err))))
if err != nil {
logrus.Warnf("could not write error response: %v", err)
}
return nil
}
if httputils.BoolValue(r, "forcerm") && version.GreaterThanOrEqualTo("1.12") {
buildConfig.Remove = true
} else if r.FormValue("rm") == "" && version.GreaterThanOrEqualTo("1.12") {
buildConfig.Remove = true
} else {
buildConfig.Remove = httputils.BoolValue(r, "rm")
}
if httputils.BoolValue(r, "pull") && version.GreaterThanOrEqualTo("1.16") {
buildConfig.Pull = true
}
repoName, tag := parsers.ParseRepositoryTag(r.FormValue("t"))
if repoName != "" {
if err := registry.ValidateRepositoryName(repoName); err != nil {
return errf(err)
}
if len(tag) > 0 {
if err := tags.ValidateTagName(tag); err != nil {
return errf(err)
}
}
}
buildConfig.DockerfileName = r.FormValue("dockerfile")
buildConfig.Verbose = !httputils.BoolValue(r, "q")
buildConfig.UseCache = !httputils.BoolValue(r, "nocache")
buildConfig.ForceRemove = httputils.BoolValue(r, "forcerm")
buildConfig.MemorySwap = httputils.Int64ValueOrZero(r, "memswap")
buildConfig.Memory = httputils.Int64ValueOrZero(r, "memory")
buildConfig.CPUShares = httputils.Int64ValueOrZero(r, "cpushares")
buildConfig.CPUPeriod = httputils.Int64ValueOrZero(r, "cpuperiod")
buildConfig.CPUQuota = httputils.Int64ValueOrZero(r, "cpuquota")
buildConfig.CPUSetCpus = r.FormValue("cpusetcpus")
buildConfig.CPUSetMems = r.FormValue("cpusetmems")
buildConfig.CgroupParent = r.FormValue("cgroupparent")
var buildUlimits = []*ulimit.Ulimit{}
ulimitsJSON := r.FormValue("ulimits")
if ulimitsJSON != "" {
if err := json.NewDecoder(strings.NewReader(ulimitsJSON)).Decode(&buildUlimits); err != nil {
return errf(err)
}
buildConfig.Ulimits = buildUlimits
}
var buildArgs = map[string]string{}
buildArgsJSON := r.FormValue("buildargs")
if buildArgsJSON != "" {
if err := json.NewDecoder(strings.NewReader(buildArgsJSON)).Decode(&buildArgs); err != nil {
return errf(err)
}
buildConfig.BuildArgs = buildArgs
}
remoteURL := r.FormValue("remote")
// Currently, only used if context is from a remote url.
// The field `In` is set by DetectContextFromRemoteURL.
// Look at code in DetectContextFromRemoteURL for more information.
pReader := &progressreader.Config{
// TODO: make progressreader streamformatter-agnostic
Out: output,
Formatter: sf,
Size: r.ContentLength,
NewLines: true,
ID: "Downloading context",
Action: remoteURL,
}
var (
context builder.ModifiableContext
dockerfileName string
err error
)
context, dockerfileName, err = daemonbuilder.DetectContextFromRemoteURL(r.Body, remoteURL, pReader)
if err != nil {
return errf(err)
}
defer func() {
if err := context.Close(); err != nil {
logrus.Debugf("[BUILDER] failed to remove temporary context: %v", err)
}
}()
uidMaps, gidMaps := s.daemon.GetUIDGIDMaps()
defaultArchiver := &archive.Archiver{
Untar: chrootarchive.Untar,
UIDMaps: uidMaps,
GIDMaps: gidMaps,
}
docker := daemonbuilder.Docker{s.daemon, output, authConfigs, defaultArchiver}
b, err := dockerfile.NewBuilder(buildConfig, docker, builder.DockerIgnoreContext{context}, nil)
if err != nil {
return errf(err)
}
b.Stdout = &streamformatter.StdoutFormatter{Writer: output, StreamFormatter: sf}
b.Stderr = &streamformatter.StderrFormatter{Writer: output, StreamFormatter: sf}
if closeNotifier, ok := w.(http.CloseNotifier); ok {
finished := make(chan struct{})
defer close(finished)
go func() {
select {
case <-finished:
case <-closeNotifier.CloseNotify():
logrus.Infof("Client disconnected, cancelling job: build")
b.Cancel()
}
}()
}
if len(dockerfileName) > 0 {
b.DockerfileName = dockerfileName
}
imgID, err := b.Build()
if err != nil {
return errf(err)
}
if repoName != "" {
if err := s.daemon.TagImage(repoName, tag, string(imgID), true); err != nil {
return errf(err)
}
}
return nil
}
func (s *router) getImagesJSON(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
// FIXME: The filter parameter could just be a match filter
images, err := s.daemon.ListImages(r.Form.Get("filters"), r.Form.Get("filter"), httputils.BoolValue(r, "all"))
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, images)
}
func (s *router) getImagesHistory(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil {
return fmt.Errorf("Missing parameter")
}
name := vars["name"]
history, err := s.daemon.ImageHistory(name)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, history)
}
func (s *router) postImagesTag(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if vars == nil {
return fmt.Errorf("Missing parameter")
}
repo := r.Form.Get("repo")
tag := r.Form.Get("tag")
name := vars["name"]
force := httputils.BoolValue(r, "force")
if err := s.daemon.TagImage(repo, tag, name, force); err != nil {
return err
}
s.daemon.EventsService.Log("tag", utils.ImageReference(repo, tag), "")
w.WriteHeader(http.StatusCreated)
return nil
}
func (s *router) getImagesSearch(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
var (
config *cliconfig.AuthConfig
authEncoded = r.Header.Get("X-Registry-Auth")
headers = map[string][]string{}
)
if authEncoded != "" {
authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJSON).Decode(&config); err != nil {
// for a search it is not an error if no auth was given
// to increase compatibility with the existing api it is defaulting to be empty
config = &cliconfig.AuthConfig{}
}
}
for k, v := range r.Header {
if strings.HasPrefix(k, "X-Meta-") {
headers[k] = v
}
}
query, err := s.daemon.SearchRegistryForImages(r.Form.Get("term"), config, headers)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, query.Results)
}
+142
View File
@@ -0,0 +1,142 @@
package local
import (
"encoding/json"
"net/http"
"runtime"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/pkg/parsers/filters"
"github.com/docker/docker/pkg/parsers/kernel"
"github.com/docker/docker/utils"
"golang.org/x/net/context"
)
func (s *router) getVersion(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
v := &types.Version{
Version: dockerversion.VERSION,
APIVersion: api.Version,
GitCommit: dockerversion.GITCOMMIT,
GoVersion: runtime.Version(),
Os: runtime.GOOS,
Arch: runtime.GOARCH,
BuildTime: dockerversion.BUILDTIME,
}
version := httputils.VersionFromContext(ctx)
if version.GreaterThanOrEqualTo("1.19") {
v.Experimental = utils.ExperimentalBuild()
}
if kernelVersion, err := kernel.GetKernelVersion(); err == nil {
v.KernelVersion = kernelVersion.String()
}
return httputils.WriteJSON(w, http.StatusOK, v)
}
func (s *router) getInfo(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
info, err := s.daemon.SystemInfo()
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, info)
}
func (s *router) getEvents(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
since, err := httputils.Int64ValueOrDefault(r, "since", -1)
if err != nil {
return err
}
until, err := httputils.Int64ValueOrDefault(r, "until", -1)
if err != nil {
return err
}
timer := time.NewTimer(0)
timer.Stop()
if until > 0 {
dur := time.Unix(until, 0).Sub(time.Now())
timer = time.NewTimer(dur)
}
ef, err := filters.FromParam(r.Form.Get("filters"))
if err != nil {
return err
}
w.Header().Set("Content-Type", "application/json")
// This is to ensure that the HTTP status code is sent immediately,
// so that it will not block the receiver.
w.WriteHeader(http.StatusOK)
if flusher, ok := w.(http.Flusher); ok {
flusher.Flush()
}
output := ioutils.NewWriteFlusher(w)
defer output.Close()
enc := json.NewEncoder(output)
d := s.daemon
es := d.EventsService
current, l := es.Subscribe()
defer es.Evict(l)
eventFilter := d.GetEventFilter(ef)
handleEvent := func(ev *jsonmessage.JSONMessage) error {
if eventFilter.Include(ev) {
if err := enc.Encode(ev); err != nil {
return err
}
}
return nil
}
if since == -1 {
current = nil
}
for _, ev := range current {
if ev.Time < since {
continue
}
if err := handleEvent(ev); err != nil {
return err
}
}
var closeNotify <-chan bool
if closeNotifier, ok := w.(http.CloseNotifier); ok {
closeNotify = closeNotifier.CloseNotify()
}
for {
select {
case ev := <-l:
jev, ok := ev.(*jsonmessage.JSONMessage)
if !ok {
continue
}
if err := handleEvent(jev); err != nil {
return err
}
case <-timer.C:
return nil
case <-closeNotify:
logrus.Debug("Client disconnected, stop sending events")
return nil
}
}
}
+37
View File
@@ -0,0 +1,37 @@
package local
import (
"fmt"
"net/http"
"github.com/docker/docker/api/server/httputils"
"golang.org/x/net/context"
)
// getContainersByName inspects containers configuration and serializes it as json.
func (s *router) getContainersByName(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
displaySize := httputils.BoolValue(r, "size")
if vars == nil {
return fmt.Errorf("Missing parameter")
}
var json interface{}
var err error
version := httputils.VersionFromContext(ctx)
switch {
case version.LessThan("1.20"):
json, err = s.daemon.ContainerInspectPre120(vars["name"])
case version.Equal("1.20"):
json, err = s.daemon.ContainerInspect120(vars["name"])
default:
json, err = s.daemon.ContainerInspect(vars["name"], displaySize)
}
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, json)
}
+162
View File
@@ -0,0 +1,162 @@
package local
import (
"net/http"
"golang.org/x/net/context"
"github.com/docker/docker/api/server/httputils"
dkrouter "github.com/docker/docker/api/server/router"
"github.com/docker/docker/daemon"
)
// router is a docker router that talks with the local docker daemon.
type router struct {
daemon *daemon.Daemon
routes []dkrouter.Route
}
// localRoute defines an individual API route to connect with the docker daemon.
// It implements router.Route.
type localRoute struct {
method string
path string
handler httputils.APIFunc
}
// Handler returns the APIFunc to let the server wrap it in middlewares
func (l localRoute) Handler() httputils.APIFunc {
return l.handler
}
// Method returns the http method that the route responds to.
func (l localRoute) Method() string {
return l.method
}
// Path returns the subpath where the route responds to.
func (l localRoute) Path() string {
return l.path
}
// NewRoute initialies a new local route for the reouter
func NewRoute(method, path string, handler httputils.APIFunc) dkrouter.Route {
return localRoute{method, path, handler}
}
// NewGetRoute initializes a new route with the http method GET.
func NewGetRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("GET", path, handler)
}
// NewPostRoute initializes a new route with the http method POST.
func NewPostRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("POST", path, handler)
}
// NewPutRoute initializes a new route with the http method PUT.
func NewPutRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("PUT", path, handler)
}
// NewDeleteRoute initializes a new route with the http method DELETE.
func NewDeleteRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("DELETE", path, handler)
}
// NewOptionsRoute initializes a new route with the http method OPTIONS
func NewOptionsRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("OPTIONS", path, handler)
}
// NewHeadRoute initializes a new route with the http method HEAD.
func NewHeadRoute(path string, handler httputils.APIFunc) dkrouter.Route {
return NewRoute("HEAD", path, handler)
}
// NewRouter initializes a local router with a new daemon.
func NewRouter(daemon *daemon.Daemon) dkrouter.Router {
r := &router{
daemon: daemon,
}
r.initRoutes()
return r
}
// Routes returns the list of routes registered in the router.
func (r *router) Routes() []dkrouter.Route {
return r.routes
}
// initRoutes initializes the routes in this router
func (r *router) initRoutes() {
r.routes = []dkrouter.Route{
// HEAD
NewHeadRoute("/containers/{name:.*}/archive", r.headContainersArchive),
// OPTIONS
NewOptionsRoute("/", optionsHandler),
// GET
NewGetRoute("/_ping", pingHandler),
NewGetRoute("/events", r.getEvents),
NewGetRoute("/info", r.getInfo),
NewGetRoute("/version", r.getVersion),
NewGetRoute("/images/json", r.getImagesJSON),
NewGetRoute("/images/search", r.getImagesSearch),
NewGetRoute("/images/get", r.getImagesGet),
NewGetRoute("/images/{name:.*}/get", r.getImagesGet),
NewGetRoute("/images/{name:.*}/history", r.getImagesHistory),
NewGetRoute("/images/{name:.*}/json", r.getImagesByName),
NewGetRoute("/containers/json", r.getContainersJSON),
NewGetRoute("/containers/{name:.*}/export", r.getContainersExport),
NewGetRoute("/containers/{name:.*}/changes", r.getContainersChanges),
NewGetRoute("/containers/{name:.*}/json", r.getContainersByName),
NewGetRoute("/containers/{name:.*}/top", r.getContainersTop),
NewGetRoute("/containers/{name:.*}/logs", r.getContainersLogs),
NewGetRoute("/containers/{name:.*}/stats", r.getContainersStats),
NewGetRoute("/containers/{name:.*}/attach/ws", r.wsContainersAttach),
NewGetRoute("/exec/{id:.*}/json", r.getExecByID),
NewGetRoute("/containers/{name:.*}/archive", r.getContainersArchive),
NewGetRoute("/volumes", r.getVolumesList),
NewGetRoute("/volumes/{name:.*}", r.getVolumeByName),
// POST
NewPostRoute("/auth", r.postAuth),
NewPostRoute("/commit", r.postCommit),
NewPostRoute("/build", r.postBuild),
NewPostRoute("/images/create", r.postImagesCreate),
NewPostRoute("/images/load", r.postImagesLoad),
NewPostRoute("/images/{name:.*}/push", r.postImagesPush),
NewPostRoute("/images/{name:.*}/tag", r.postImagesTag),
NewPostRoute("/containers/create", r.postContainersCreate),
NewPostRoute("/containers/{name:.*}/kill", r.postContainersKill),
NewPostRoute("/containers/{name:.*}/pause", r.postContainersPause),
NewPostRoute("/containers/{name:.*}/unpause", r.postContainersUnpause),
NewPostRoute("/containers/{name:.*}/restart", r.postContainersRestart),
NewPostRoute("/containers/{name:.*}/start", r.postContainersStart),
NewPostRoute("/containers/{name:.*}/stop", r.postContainersStop),
NewPostRoute("/containers/{name:.*}/wait", r.postContainersWait),
NewPostRoute("/containers/{name:.*}/resize", r.postContainersResize),
NewPostRoute("/containers/{name:.*}/attach", r.postContainersAttach),
NewPostRoute("/containers/{name:.*}/copy", r.postContainersCopy),
NewPostRoute("/containers/{name:.*}/exec", r.postContainerExecCreate),
NewPostRoute("/exec/{name:.*}/start", r.postContainerExecStart),
NewPostRoute("/exec/{name:.*}/resize", r.postContainerExecResize),
NewPostRoute("/containers/{name:.*}/rename", r.postContainerRename),
NewPostRoute("/volumes/create", r.postVolumesCreate),
// PUT
NewPutRoute("/containers/{name:.*}/archive", r.putContainersArchive),
// DELETE
NewDeleteRoute("/containers/{name:.*}", r.deleteContainers),
NewDeleteRoute("/images/{name:.*}", r.deleteImages),
NewDeleteRoute("/volumes/{name:.*}", r.deleteVolumes),
}
}
func optionsHandler(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
w.WriteHeader(http.StatusOK)
return nil
}
func pingHandler(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
_, err := w.Write([]byte{'O', 'K'})
return err
}
+66
View File
@@ -0,0 +1,66 @@
package local
import (
"encoding/json"
"net/http"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"golang.org/x/net/context"
)
func (s *router) getVolumesList(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
volumes, err := s.daemon.Volumes(r.Form.Get("filters"))
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, &types.VolumesListResponse{Volumes: volumes})
}
func (s *router) getVolumeByName(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
v, err := s.daemon.VolumeInspect(vars["name"])
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, v)
}
func (s *router) postVolumesCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
var req types.VolumeCreateRequest
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
return err
}
volume, err := s.daemon.VolumeCreate(req.Name, req.Driver, req.DriverOpts)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusCreated, volume)
}
func (s *router) deleteVolumes(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := s.daemon.VolumeRm(vars["name"]); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
+57
View File
@@ -0,0 +1,57 @@
package network
import (
"net/http"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/server/router"
"github.com/docker/docker/api/server/router/local"
"github.com/docker/docker/daemon"
"github.com/docker/docker/errors"
"golang.org/x/net/context"
)
// networkRouter is a router to talk with the network controller
type networkRouter struct {
daemon *daemon.Daemon
routes []router.Route
}
// NewRouter initializes a new network router
func NewRouter(d *daemon.Daemon) router.Router {
r := &networkRouter{
daemon: d,
}
r.initRoutes()
return r
}
// Routes returns the available routes to the network controller
func (r *networkRouter) Routes() []router.Route {
return r.routes
}
func (r *networkRouter) initRoutes() {
r.routes = []router.Route{
// GET
local.NewGetRoute("/networks", r.controllerEnabledMiddleware(r.getNetworksList)),
local.NewGetRoute("/networks/{id:.*}", r.controllerEnabledMiddleware(r.getNetwork)),
// POST
local.NewPostRoute("/networks/create", r.controllerEnabledMiddleware(r.postNetworkCreate)),
local.NewPostRoute("/networks/{id:.*}/connect", r.controllerEnabledMiddleware(r.postNetworkConnect)),
local.NewPostRoute("/networks/{id:.*}/disconnect", r.controllerEnabledMiddleware(r.postNetworkDisconnect)),
// DELETE
local.NewDeleteRoute("/networks/{id:.*}", r.controllerEnabledMiddleware(r.deleteNetwork)),
}
}
func (r *networkRouter) controllerEnabledMiddleware(handler httputils.APIFunc) httputils.APIFunc {
if r.daemon.NetworkControllerEnabled() {
return handler
}
return networkControllerDisabled
}
func networkControllerDisabled(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
return errors.ErrorNetworkControllerNotEnabled.WithArgs()
}
+266
View File
@@ -0,0 +1,266 @@
package network
import (
"encoding/json"
"fmt"
"net/http"
"golang.org/x/net/context"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api/server/httputils"
"github.com/docker/docker/api/types"
"github.com/docker/docker/daemon"
"github.com/docker/docker/daemon/network"
"github.com/docker/docker/pkg/parsers/filters"
"github.com/docker/docker/runconfig"
"github.com/docker/libnetwork"
)
func (n *networkRouter) getNetworksList(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
filter := r.Form.Get("filters")
netFilters, err := filters.FromParam(filter)
if err != nil {
return err
}
list := []*types.NetworkResource{}
var nameFilter, idFilter bool
var names, ids []string
if names, nameFilter = netFilters["name"]; nameFilter {
for _, name := range names {
if nw, err := n.daemon.GetNetwork(name, daemon.NetworkByName); err == nil {
list = append(list, buildNetworkResource(nw))
} else {
logrus.Errorf("failed to get network for filter=%s : %v", name, err)
}
}
}
if ids, idFilter = netFilters["id"]; idFilter {
for _, id := range ids {
for _, nw := range n.daemon.GetNetworksByID(id) {
list = append(list, buildNetworkResource(nw))
}
}
}
if !nameFilter && !idFilter {
nwList := n.daemon.GetNetworksByID("")
for _, nw := range nwList {
list = append(list, buildNetworkResource(nw))
}
}
return httputils.WriteJSON(w, http.StatusOK, list)
}
func (n *networkRouter) getNetwork(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
nw, err := n.daemon.FindNetwork(vars["id"])
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, buildNetworkResource(nw))
}
func (n *networkRouter) postNetworkCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
var create types.NetworkCreate
var warning string
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
if err := json.NewDecoder(r.Body).Decode(&create); err != nil {
return err
}
if runconfig.IsPreDefinedNetwork(create.Name) {
return httputils.WriteJSON(w, http.StatusForbidden,
fmt.Sprintf("%s is a pre-defined network and cannot be created", create.Name))
}
nw, err := n.daemon.GetNetwork(create.Name, daemon.NetworkByName)
if _, ok := err.(libnetwork.ErrNoSuchNetwork); err != nil && !ok {
return err
}
if nw != nil {
if create.CheckDuplicate {
return libnetwork.NetworkNameError(create.Name)
}
warning = fmt.Sprintf("Network with name %s (id : %s) already exists", nw.Name(), nw.ID())
}
nw, err = n.daemon.CreateNetwork(create.Name, create.Driver, create.IPAM, create.Options)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusCreated, &types.NetworkCreateResponse{
ID: nw.ID(),
Warning: warning,
})
}
func (n *networkRouter) postNetworkConnect(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
var connect types.NetworkConnect
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
if err := json.NewDecoder(r.Body).Decode(&connect); err != nil {
return err
}
nw, err := n.daemon.FindNetwork(vars["id"])
if err != nil {
return err
}
container, err := n.daemon.Get(connect.Container)
if err != nil {
return fmt.Errorf("invalid container %s : %v", container, err)
}
return container.ConnectToNetwork(nw.Name())
}
func (n *networkRouter) postNetworkDisconnect(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
var disconnect types.NetworkDisconnect
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
if err := json.NewDecoder(r.Body).Decode(&disconnect); err != nil {
return err
}
nw, err := n.daemon.FindNetwork(vars["id"])
if err != nil {
return err
}
container, err := n.daemon.Get(disconnect.Container)
if err != nil {
return fmt.Errorf("invalid container %s : %v", container, err)
}
return container.DisconnectFromNetwork(nw)
}
func (n *networkRouter) deleteNetwork(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
nw, err := n.daemon.FindNetwork(vars["id"])
if err != nil {
return err
}
if runconfig.IsPreDefinedNetwork(nw.Name()) {
return httputils.WriteJSON(w, http.StatusForbidden,
fmt.Sprintf("%s is a pre-defined network and cannot be removed", nw.Name()))
}
return nw.Delete()
}
func buildNetworkResource(nw libnetwork.Network) *types.NetworkResource {
r := &types.NetworkResource{}
if nw == nil {
return r
}
r.Name = nw.Name()
r.ID = nw.ID()
r.Scope = nw.Info().Scope()
r.Driver = nw.Type()
r.Options = nw.Info().DriverOptions()
r.Containers = make(map[string]types.EndpointResource)
buildIpamResources(r, nw)
epl := nw.Endpoints()
for _, e := range epl {
ei := e.Info()
if ei == nil {
continue
}
sb := ei.Sandbox()
if sb == nil {
continue
}
r.Containers[sb.ContainerID()] = buildEndpointResource(e)
}
return r
}
func buildIpamResources(r *types.NetworkResource, nw libnetwork.Network) {
id, ipv4conf, ipv6conf := nw.Info().IpamConfig()
r.IPAM.Driver = id
r.IPAM.Config = []network.IPAMConfig{}
for _, ip4 := range ipv4conf {
iData := network.IPAMConfig{}
iData.Subnet = ip4.PreferredPool
iData.IPRange = ip4.SubPool
iData.Gateway = ip4.Gateway
iData.AuxAddress = ip4.AuxAddresses
r.IPAM.Config = append(r.IPAM.Config, iData)
}
for _, ip6 := range ipv6conf {
iData := network.IPAMConfig{}
iData.Subnet = ip6.PreferredPool
iData.IPRange = ip6.SubPool
iData.Gateway = ip6.Gateway
iData.AuxAddress = ip6.AuxAddresses
r.IPAM.Config = append(r.IPAM.Config, iData)
}
}
func buildEndpointResource(e libnetwork.Endpoint) types.EndpointResource {
er := types.EndpointResource{}
if e == nil {
return er
}
er.EndpointID = e.ID()
ei := e.Info()
if ei == nil {
return er
}
if iface := ei.Iface(); iface != nil {
if mac := iface.MacAddress(); mac != nil {
er.MacAddress = mac.String()
}
if ip := iface.Address(); ip != nil && len(ip.IP) > 0 {
er.IPv4Address = ip.String()
}
if ipv6 := iface.AddressIPv6(); ipv6 != nil && len(ipv6.IP) > 0 {
er.IPv6Address = ipv6.String()
}
}
return er
}
+18
View File
@@ -0,0 +1,18 @@
package router
import "github.com/docker/docker/api/server/httputils"
// Router defines an interface to specify a group of routes to add the the docker server.
type Router interface {
Routes() []Route
}
// Route defines an individual API route in the docker server.
type Route interface {
// Handler returns the raw function to create the http handler.
Handler() httputils.APIFunc
// Method returns the http method that the route responds to.
Method() string
// Path returns the subpath where the route responds to.
Path() string
}
+181 -1585
View File
File diff suppressed because it is too large Load Diff
-103
View File
@@ -1,103 +0,0 @@
// +build linux
package server
import (
"fmt"
"net/http"
"os"
"syscall"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/systemd"
)
// NewServer sets up the required Server and does protocol specific checking.
func NewServer(proto, addr string, job *engine.Job) (Server, error) {
// Basic error and sanity checking
switch proto {
case "fd":
return nil, serveFd(addr, job)
case "tcp":
return setupTcpHttp(addr, job)
case "unix":
return setupUnixHttp(addr, job)
default:
return nil, fmt.Errorf("Invalid protocol format.")
}
}
func setupUnixHttp(addr string, job *engine.Job) (*HttpServer, error) {
r := createRouter(job.Eng, job.GetenvBool("Logging"), job.GetenvBool("EnableCors"), job.Getenv("CorsHeaders"), job.Getenv("Version"))
if err := syscall.Unlink(addr); err != nil && !os.IsNotExist(err) {
return nil, err
}
mask := syscall.Umask(0777)
defer syscall.Umask(mask)
l, err := newListener("unix", addr, job.GetenvBool("BufferRequests"))
if err != nil {
return nil, err
}
if err := setSocketGroup(addr, job.Getenv("SocketGroup")); err != nil {
return nil, err
}
if err := os.Chmod(addr, 0660); err != nil {
return nil, err
}
return &HttpServer{&http.Server{Addr: addr, Handler: r}, l}, nil
}
// serveFd creates an http.Server and sets it up to serve given a socket activated
// argument.
func serveFd(addr string, job *engine.Job) error {
r := createRouter(job.Eng, job.GetenvBool("Logging"), job.GetenvBool("EnableCors"), job.Getenv("CorsHeaders"), job.Getenv("Version"))
ls, e := systemd.ListenFD(addr)
if e != nil {
return e
}
chErrors := make(chan error, len(ls))
// We don't want to start serving on these sockets until the
// daemon is initialized and installed. Otherwise required handlers
// won't be ready.
<-activationLock
// Since ListenFD will return one or more sockets we have
// to create a go func to spawn off multiple serves
for i := range ls {
listener := ls[i]
go func() {
httpSrv := http.Server{Handler: r}
chErrors <- httpSrv.Serve(listener)
}()
}
for i := 0; i < len(ls); i++ {
err := <-chErrors
if err != nil {
return err
}
}
return nil
}
// Called through eng.Job("acceptconnections")
func AcceptConnections(job *engine.Job) engine.Status {
// Tell the init daemon we are accepting requests
go systemd.SdNotify("READY=1")
// close the lock so the listeners start accepting connections
if activationLock != nil {
close(activationLock)
}
return engine.StatusOK
}
+34
View File
@@ -0,0 +1,34 @@
package server
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/docker/docker/api/server/httputils"
"golang.org/x/net/context"
)
func TestMiddlewares(t *testing.T) {
cfg := &Config{}
srv := &Server{
cfg: cfg,
}
req, _ := http.NewRequest("GET", "/containers/json", nil)
resp := httptest.NewRecorder()
ctx := context.Background()
localHandler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if httputils.VersionFromContext(ctx) == "" {
t.Fatalf("Expected version, got empty string")
}
return nil
}
handlerFunc := srv.handleWithGlobalMiddlewares(localHandler)
if err := handlerFunc(ctx, resp, req, map[string]string{}); err != nil {
t.Fatal(err)
}
}
-553
View File
@@ -1,553 +0,0 @@
package server
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"net/http/httptest"
"reflect"
"strings"
"testing"
"github.com/docker/docker/api"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/version"
)
func TestGetBoolParam(t *testing.T) {
if ret, err := getBoolParam("true"); err != nil || !ret {
t.Fatalf("true -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("True"); err != nil || !ret {
t.Fatalf("True -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("1"); err != nil || !ret {
t.Fatalf("1 -> true, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam(""); err != nil || ret {
t.Fatalf("\"\" -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("false"); err != nil || ret {
t.Fatalf("false -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("0"); err != nil || ret {
t.Fatalf("0 -> false, nil | got %t %s", ret, err)
}
if ret, err := getBoolParam("faux"); err == nil || ret {
t.Fatalf("faux -> false, err | got %t %s", ret, err)
}
}
func TesthttpError(t *testing.T) {
r := httptest.NewRecorder()
httpError(r, fmt.Errorf("No such method"))
if r.Code != http.StatusNotFound {
t.Fatalf("Expected %d, got %d", http.StatusNotFound, r.Code)
}
httpError(r, fmt.Errorf("This accound hasn't been activated"))
if r.Code != http.StatusForbidden {
t.Fatalf("Expected %d, got %d", http.StatusForbidden, r.Code)
}
httpError(r, fmt.Errorf("Some error"))
if r.Code != http.StatusInternalServerError {
t.Fatalf("Expected %d, got %d", http.StatusInternalServerError, r.Code)
}
}
func TestGetVersion(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("version", func(job *engine.Job) engine.Status {
called = true
v := &engine.Env{}
v.SetJson("Version", "42.1")
v.Set("ApiVersion", "1.1.1.1.1")
v.Set("GoVersion", "2.42")
v.Set("Os", "Linux")
v.Set("Arch", "x86_64")
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/version", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
v := readEnv(r.Body, t)
if v.Get("Version") != "42.1" {
t.Fatalf("%#v\n", v)
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
}
func TestGetInfo(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("info", func(job *engine.Job) engine.Status {
called = true
v := &engine.Env{}
v.SetInt("Containers", 1)
v.SetInt("Images", 42000)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/info", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
v := readEnv(r.Body, t)
if v.GetInt("Images") != 42000 {
t.Fatalf("%#v\n", v)
}
if v.GetInt("Containers") != 1 {
t.Fatalf("%#v\n", v)
}
assertContentType(r, "application/json", t)
}
func TestGetImagesJSON(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("images", func(job *engine.Job) engine.Status {
called = true
v := createEnvFromGetImagesJSONStruct(sampleImage)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/images/json", nil, eng, t)
if !called {
t.Fatal("handler was not called")
}
assertHttpNotError(r, t)
assertContentType(r, "application/json", t)
var observed getImagesJSONStruct
if err := json.Unmarshal(r.Body.Bytes(), &observed); err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(observed, sampleImage) {
t.Errorf("Expected %#v but got %#v", sampleImage, observed)
}
}
func TestGetImagesJSONFilter(t *testing.T) {
eng := engine.New()
filter := "nothing"
eng.Register("images", func(job *engine.Job) engine.Status {
filter = job.Getenv("filter")
return engine.StatusOK
})
serveRequest("GET", "/images/json?filter=aaaa", nil, eng, t)
if filter != "aaaa" {
t.Errorf("%#v", filter)
}
}
func TestGetImagesJSONFilters(t *testing.T) {
eng := engine.New()
filter := "nothing"
eng.Register("images", func(job *engine.Job) engine.Status {
filter = job.Getenv("filters")
return engine.StatusOK
})
serveRequest("GET", "/images/json?filters=nnnn", nil, eng, t)
if filter != "nnnn" {
t.Errorf("%#v", filter)
}
}
func TestGetImagesJSONAll(t *testing.T) {
eng := engine.New()
allFilter := "-1"
eng.Register("images", func(job *engine.Job) engine.Status {
allFilter = job.Getenv("all")
return engine.StatusOK
})
serveRequest("GET", "/images/json?all=1", nil, eng, t)
if allFilter != "1" {
t.Errorf("%#v", allFilter)
}
}
func TestGetImagesJSONLegacyFormat(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("images", func(job *engine.Job) engine.Status {
called = true
outsLegacy := engine.NewTable("Created", 0)
outsLegacy.Add(createEnvFromGetImagesJSONStruct(sampleImage))
if _, err := outsLegacy.WriteListTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequestUsingVersion("GET", "/images/json", "1.6", nil, eng, t)
if !called {
t.Fatal("handler was not called")
}
assertHttpNotError(r, t)
assertContentType(r, "application/json", t)
images := engine.NewTable("Created", 0)
if _, err := images.ReadListFrom(r.Body.Bytes()); err != nil {
t.Fatal(err)
}
if images.Len() != 1 {
t.Fatalf("Expected 1 image, %d found", images.Len())
}
image := images.Data[0]
if image.Get("Tag") != "test-tag" {
t.Errorf("Expected tag 'test-tag', found '%s'", image.Get("Tag"))
}
if image.Get("Repository") != "test-name" {
t.Errorf("Expected repository 'test-name', found '%s'", image.Get("Repository"))
}
}
func TestGetContainersByName(t *testing.T) {
eng := engine.New()
name := "container_name"
var called bool
eng.Register("container_inspect", func(job *engine.Job) engine.Status {
called = true
if job.Args[0] != name {
t.Errorf("name != '%s': %#v", name, job.Args[0])
}
if api.APIVERSION.LessThan("1.12") && !job.GetenvBool("dirty") {
t.Errorf("dirty env variable not set")
} else if api.APIVERSION.GreaterThanOrEqualTo("1.12") && job.GetenvBool("dirty") {
t.Errorf("dirty env variable set when it shouldn't")
}
v := &engine.Env{}
v.SetBool("dirty", true)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/containers/"+name+"/json", nil, eng, t)
if !called {
t.Fatal("handler was not called")
}
assertContentType(r, "application/json", t)
var stdoutJson interface{}
if err := json.Unmarshal(r.Body.Bytes(), &stdoutJson); err != nil {
t.Fatalf("%#v", err)
}
if stdoutJson.(map[string]interface{})["dirty"].(float64) != 1 {
t.Fatalf("%#v", stdoutJson)
}
}
func TestGetEvents(t *testing.T) {
eng := engine.New()
var called bool
eng.Register("events", func(job *engine.Job) engine.Status {
called = true
since := job.Getenv("since")
if since != "1" {
t.Fatalf("'since' should be 1, found %#v instead", since)
}
until := job.Getenv("until")
if until != "0" {
t.Fatalf("'until' should be 0, found %#v instead", until)
}
v := &engine.Env{}
v.Set("since", since)
v.Set("until", until)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/events?since=1&until=0", nil, eng, t)
if !called {
t.Fatal("handler was not called")
}
assertContentType(r, "application/json", t)
var stdout_json struct {
Since int
Until int
}
if err := json.Unmarshal(r.Body.Bytes(), &stdout_json); err != nil {
t.Fatal(err)
}
if stdout_json.Since != 1 {
t.Errorf("since != 1: %#v", stdout_json.Since)
}
if stdout_json.Until != 0 {
t.Errorf("until != 0: %#v", stdout_json.Until)
}
}
func TestLogs(t *testing.T) {
eng := engine.New()
var inspect bool
var logs bool
eng.Register("container_inspect", func(job *engine.Job) engine.Status {
inspect = true
if len(job.Args) == 0 {
t.Fatal("Job arguments is empty")
}
if job.Args[0] != "test" {
t.Fatalf("Container name %s, must be test", job.Args[0])
}
return engine.StatusOK
})
expected := "logs"
eng.Register("logs", func(job *engine.Job) engine.Status {
logs = true
if len(job.Args) == 0 {
t.Fatal("Job arguments is empty")
}
if job.Args[0] != "test" {
t.Fatalf("Container name %s, must be test", job.Args[0])
}
follow := job.Getenv("follow")
if follow != "1" {
t.Fatalf("follow: %s, must be 1", follow)
}
stdout := job.Getenv("stdout")
if stdout != "1" {
t.Fatalf("stdout %s, must be 1", stdout)
}
stderr := job.Getenv("stderr")
if stderr != "" {
t.Fatalf("stderr %s, must be empty", stderr)
}
timestamps := job.Getenv("timestamps")
if timestamps != "1" {
t.Fatalf("timestamps %s, must be 1", timestamps)
}
job.Stdout.Write([]byte(expected))
return engine.StatusOK
})
r := serveRequest("GET", "/containers/test/logs?follow=1&stdout=1&timestamps=1", nil, eng, t)
if r.Code != http.StatusOK {
t.Fatalf("Got status %d, expected %d", r.Code, http.StatusOK)
}
if !inspect {
t.Fatal("container_inspect job was not called")
}
if !logs {
t.Fatal("logs job was not called")
}
res := r.Body.String()
if res != expected {
t.Fatalf("Output %s, expected %s", res, expected)
}
}
func TestLogsNoStreams(t *testing.T) {
eng := engine.New()
var inspect bool
var logs bool
eng.Register("container_inspect", func(job *engine.Job) engine.Status {
inspect = true
if len(job.Args) == 0 {
t.Fatal("Job arguments is empty")
}
if job.Args[0] != "test" {
t.Fatalf("Container name %s, must be test", job.Args[0])
}
return engine.StatusOK
})
eng.Register("logs", func(job *engine.Job) engine.Status {
logs = true
return engine.StatusOK
})
r := serveRequest("GET", "/containers/test/logs", nil, eng, t)
if r.Code != http.StatusBadRequest {
t.Fatalf("Got status %d, expected %d", r.Code, http.StatusBadRequest)
}
if inspect {
t.Fatal("container_inspect job was called, but it shouldn't")
}
if logs {
t.Fatal("logs job was called, but it shouldn't")
}
res := strings.TrimSpace(r.Body.String())
expected := "Bad parameters: you must choose at least one stream"
if !strings.Contains(res, expected) {
t.Fatalf("Output %s, expected %s in it", res, expected)
}
}
func TestGetImagesHistory(t *testing.T) {
eng := engine.New()
imageName := "docker-test-image"
var called bool
eng.Register("history", func(job *engine.Job) engine.Status {
called = true
if len(job.Args) == 0 {
t.Fatal("Job arguments is empty")
}
if job.Args[0] != imageName {
t.Fatalf("name != '%s': %#v", imageName, job.Args[0])
}
v := &engine.Env{}
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/images/"+imageName+"/history", nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
if r.Code != http.StatusOK {
t.Fatalf("Got status %d, expected %d", r.Code, http.StatusOK)
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
}
func TestGetImagesByName(t *testing.T) {
eng := engine.New()
name := "image_name"
var called bool
eng.Register("image_inspect", func(job *engine.Job) engine.Status {
called = true
if job.Args[0] != name {
t.Fatalf("name != '%s': %#v", name, job.Args[0])
}
if api.APIVERSION.LessThan("1.12") && !job.GetenvBool("dirty") {
t.Fatal("dirty env variable not set")
} else if api.APIVERSION.GreaterThanOrEqualTo("1.12") && job.GetenvBool("dirty") {
t.Fatal("dirty env variable set when it shouldn't")
}
v := &engine.Env{}
v.SetBool("dirty", true)
if _, err := v.WriteTo(job.Stdout); err != nil {
return job.Error(err)
}
return engine.StatusOK
})
r := serveRequest("GET", "/images/"+name+"/json", nil, eng, t)
if !called {
t.Fatal("handler was not called")
}
if r.HeaderMap.Get("Content-Type") != "application/json" {
t.Fatalf("%#v\n", r)
}
var stdoutJson interface{}
if err := json.Unmarshal(r.Body.Bytes(), &stdoutJson); err != nil {
t.Fatalf("%#v", err)
}
if stdoutJson.(map[string]interface{})["dirty"].(float64) != 1 {
t.Fatalf("%#v", stdoutJson)
}
}
func TestDeleteContainers(t *testing.T) {
eng := engine.New()
name := "foo"
var called bool
eng.Register("rm", func(job *engine.Job) engine.Status {
called = true
if len(job.Args) == 0 {
t.Fatalf("Job arguments is empty")
}
if job.Args[0] != name {
t.Fatalf("name != '%s': %#v", name, job.Args[0])
}
return engine.StatusOK
})
r := serveRequest("DELETE", "/containers/"+name, nil, eng, t)
if !called {
t.Fatalf("handler was not called")
}
if r.Code != http.StatusNoContent {
t.Fatalf("Got status %d, expected %d", r.Code, http.StatusNoContent)
}
}
func serveRequest(method, target string, body io.Reader, eng *engine.Engine, t *testing.T) *httptest.ResponseRecorder {
return serveRequestUsingVersion(method, target, api.APIVERSION, body, eng, t)
}
func serveRequestUsingVersion(method, target string, version version.Version, body io.Reader, eng *engine.Engine, t *testing.T) *httptest.ResponseRecorder {
r := httptest.NewRecorder()
req, err := http.NewRequest(method, target, body)
if err != nil {
t.Fatal(err)
}
ServeRequest(eng, version, r, req)
return r
}
func readEnv(src io.Reader, t *testing.T) *engine.Env {
out := engine.NewOutput()
v, err := out.AddEnv()
if err != nil {
t.Fatal(err)
}
if _, err := io.Copy(out, src); err != nil {
t.Fatal(err)
}
out.Close()
return v
}
func toJson(data interface{}, t *testing.T) io.Reader {
var buf bytes.Buffer
if err := json.NewEncoder(&buf).Encode(data); err != nil {
t.Fatal(err)
}
return &buf
}
func assertContentType(recorder *httptest.ResponseRecorder, content_type string, t *testing.T) {
if recorder.HeaderMap.Get("Content-Type") != content_type {
t.Fatalf("%#v\n", recorder)
}
}
// XXX: Duplicated from integration/utils_test.go, but maybe that's OK as that
// should die as soon as we converted all integration tests?
// assertHttpNotError expect the given response to not have an error.
// Otherwise the it causes the test to fail.
func assertHttpNotError(r *httptest.ResponseRecorder, t *testing.T) {
// Non-error http status are [200, 400)
if r.Code < http.StatusOK || r.Code >= http.StatusBadRequest {
t.Fatal(fmt.Errorf("Unexpected http error: %v", r.Code))
}
}
func createEnvFromGetImagesJSONStruct(data getImagesJSONStruct) *engine.Env {
v := &engine.Env{}
v.SetList("RepoTags", data.RepoTags)
v.Set("Id", data.Id)
v.SetInt64("Created", data.Created)
v.SetInt64("Size", data.Size)
v.SetInt64("VirtualSize", data.VirtualSize)
return v
}
type getImagesJSONStruct struct {
RepoTags []string
Id string
Created int64
Size int64
VirtualSize int64
}
var sampleImage getImagesJSONStruct = getImagesJSONStruct{
RepoTags: []string{"test-name:test-tag"},
Id: "ID",
Created: 999,
Size: 777,
VirtualSize: 666,
}
+123
View File
@@ -0,0 +1,123 @@
// +build freebsd linux
package server
import (
"fmt"
"net"
"net/http"
"strconv"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/pkg/sockets"
"github.com/docker/libnetwork/portallocator"
systemdActivation "github.com/coreos/go-systemd/activation"
)
// newServer sets up the required HTTPServers and does protocol specific checking.
// newServer does not set any muxers, you should set it later to Handler field
func (s *Server) newServer(proto, addr string) ([]*HTTPServer, error) {
var (
err error
ls []net.Listener
)
switch proto {
case "fd":
ls, err = listenFD(addr)
if err != nil {
return nil, err
}
case "tcp":
l, err := s.initTCPSocket(addr)
if err != nil {
return nil, err
}
ls = append(ls, l)
case "unix":
l, err := sockets.NewUnixSocket(addr, s.cfg.SocketGroup, s.start)
if err != nil {
return nil, err
}
ls = append(ls, l)
default:
return nil, fmt.Errorf("Invalid protocol format: %q", proto)
}
var res []*HTTPServer
for _, l := range ls {
res = append(res, &HTTPServer{
&http.Server{
Addr: addr,
},
l,
})
}
return res, nil
}
func allocateDaemonPort(addr string) error {
host, port, err := net.SplitHostPort(addr)
if err != nil {
return err
}
intPort, err := strconv.Atoi(port)
if err != nil {
return err
}
var hostIPs []net.IP
if parsedIP := net.ParseIP(host); parsedIP != nil {
hostIPs = append(hostIPs, parsedIP)
} else if hostIPs, err = net.LookupIP(host); err != nil {
return fmt.Errorf("failed to lookup %s address in host specification", host)
}
pa := portallocator.Get()
for _, hostIP := range hostIPs {
if _, err := pa.RequestPort(hostIP, "tcp", intPort); err != nil {
return fmt.Errorf("failed to allocate daemon listening port %d (err: %v)", intPort, err)
}
}
return nil
}
// listenFD returns the specified socket activated files as a slice of
// net.Listeners or all of the activated files if "*" is given.
func listenFD(addr string) ([]net.Listener, error) {
// socket activation
listeners, err := systemdActivation.Listeners(false)
if err != nil {
return nil, err
}
if len(listeners) == 0 {
return nil, fmt.Errorf("No sockets found")
}
// default to all fds just like unix:// and tcp://
if addr == "" || addr == "*" {
return listeners, nil
}
fdNum, err := strconv.Atoi(addr)
if err != nil {
return nil, fmt.Errorf("failed to parse systemd address, should be number: %v", err)
}
fdOffset := fdNum - 3
if len(listeners) < int(fdOffset)+1 {
return nil, fmt.Errorf("Too few socket activated files passed in")
}
if listeners[fdOffset] == nil {
return nil, fmt.Errorf("failed to listen on systemd activated file at fd %d", fdOffset+3)
}
for i, ls := range listeners {
if i == fdOffset || ls == nil {
continue
}
if err := ls.Close(); err != nil {
logrus.Errorf("Failed to close systemd activated file at fd %d: %v", fdOffset+3, err)
}
}
return []net.Listener{listeners[fdOffset]}, nil
}
+26 -14
View File
@@ -3,29 +3,41 @@
package server
import (
"fmt"
"github.com/docker/docker/engine"
"errors"
"net"
"net/http"
)
// NewServer sets up the required Server and does protocol specific checking.
func NewServer(proto, addr string, job *engine.Job) (Server, error) {
// Basic error and sanity checking
func (s *Server) newServer(proto, addr string) ([]*HTTPServer, error) {
var (
ls []net.Listener
)
switch proto {
case "tcp":
return setupTcpHttp(addr, job)
l, err := s.initTCPSocket(addr)
if err != nil {
return nil, err
}
ls = append(ls, l)
default:
return nil, errors.New("Invalid protocol format. Windows only supports tcp.")
}
}
// Called through eng.Job("acceptconnections")
func AcceptConnections(job *engine.Job) engine.Status {
// close the lock so the listeners start accepting connections
if activationLock != nil {
close(activationLock)
var res []*HTTPServer
for _, l := range ls {
res = append(res, &HTTPServer{
&http.Server{
Addr: addr,
},
l,
})
}
return res, nil
return engine.StatusOK
}
func allocateDaemonPort(addr string) error {
return nil
}
+26 -8
View File
@@ -1,9 +1,10 @@
// This package is used for API stability in the types and response to the
// Package types is used for API stability in the types and response to the
// consumers of the API stats endpoint.
package types
import "time"
// ThrottlingData stores CPU throttling stats of one running container
type ThrottlingData struct {
// Number of periods with throttling active
Periods uint64 `json:"periods"`
@@ -13,8 +14,8 @@ type ThrottlingData struct {
ThrottledTime uint64 `json:"throttled_time"`
}
// All CPU stats are aggregated since container inception.
type CpuUsage struct {
// CPUUsage stores All CPU stats aggregated since container inception.
type CPUUsage struct {
// Total CPU time consumed.
// Units: nanoseconds.
TotalUsage uint64 `json:"total_usage"`
@@ -29,12 +30,14 @@ type CpuUsage struct {
UsageInUsermode uint64 `json:"usage_in_usermode"`
}
type CpuStats struct {
CpuUsage CpuUsage `json:"cpu_usage"`
// CPUStats aggregates and wraps all CPU related info of container
type CPUStats struct {
CPUUsage CPUUsage `json:"cpu_usage"`
SystemUsage uint64 `json:"system_cpu_usage"`
ThrottlingData ThrottlingData `json:"throttling_data,omitempty"`
}
// MemoryStats aggregates All memory stats since container inception
type MemoryStats struct {
// current res_counter usage for memory
Usage uint64 `json:"usage"`
@@ -48,6 +51,8 @@ type MemoryStats struct {
Limit uint64 `json:"limit"`
}
// BlkioStatEntry is one small entity to store a piece of Blkio stats
// TODO Windows: This can be factored out
type BlkioStatEntry struct {
Major uint64 `json:"major"`
Minor uint64 `json:"minor"`
@@ -55,6 +60,8 @@ type BlkioStatEntry struct {
Value uint64 `json:"value"`
}
// BlkioStats stores All IO service stats for data read and write
// TODO Windows: This can be factored out
type BlkioStats struct {
// number of bytes tranferred to and from the block device
IoServiceBytesRecursive []BlkioStatEntry `json:"io_service_bytes_recursive"`
@@ -67,7 +74,9 @@ type BlkioStats struct {
SectorsRecursive []BlkioStatEntry `json:"sectors_recursive"`
}
type Network struct {
// NetworkStats aggregates All network stats of one container
// TODO Windows: This will require refactoring
type NetworkStats struct {
RxBytes uint64 `json:"rx_bytes"`
RxPackets uint64 `json:"rx_packets"`
RxErrors uint64 `json:"rx_errors"`
@@ -78,10 +87,19 @@ type Network struct {
TxDropped uint64 `json:"tx_dropped"`
}
// Stats is Ultimate struct aggregating all types of stats of one container
type Stats struct {
Read time.Time `json:"read"`
Network Network `json:"network,omitempty"`
CpuStats CpuStats `json:"cpu_stats,omitempty"`
PreCPUStats CPUStats `json:"precpu_stats,omitempty"`
CPUStats CPUStats `json:"cpu_stats,omitempty"`
MemoryStats MemoryStats `json:"memory_stats,omitempty"`
BlkioStats BlkioStats `json:"blkio_stats,omitempty"`
}
// StatsJSON is newly used Networks
type StatsJSON struct {
Stats
// Networks request version >=1.21
Networks map[string]NetworkStats `json:"networks,omitempty"`
}
+382
View File
@@ -1,5 +1,16 @@
package types
import (
"os"
"time"
"github.com/docker/docker/daemon/network"
"github.com/docker/docker/pkg/nat"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
)
// ContainerCreateResponse contains the information returned to a client on the
// creation of a new container.
type ContainerCreateResponse struct {
@@ -9,3 +20,374 @@ type ContainerCreateResponse struct {
// Warnings are any warnings encountered during the creation of the container.
Warnings []string `json:"Warnings"`
}
// ContainerExecCreateResponse contains response of Remote API:
// POST "/containers/{name:.*}/exec"
type ContainerExecCreateResponse struct {
// ID is the exec ID.
ID string `json:"Id"`
}
// AuthResponse contains response of Remote API:
// POST "/auth"
type AuthResponse struct {
// Status is the authentication status
Status string `json:"Status"`
}
// ContainerWaitResponse contains response of Remote API:
// POST "/containers/"+containerID+"/wait"
type ContainerWaitResponse struct {
// StatusCode is the status code of the wait job
StatusCode int `json:"StatusCode"`
}
// ContainerCommitResponse contains response of Remote API:
// POST "/commit?container="+containerID
type ContainerCommitResponse struct {
ID string `json:"Id"`
}
// ContainerChange contains response of Remote API:
// GET "/containers/{name:.*}/changes"
type ContainerChange struct {
Kind int
Path string
}
// ImageHistory contains response of Remote API:
// GET "/images/{name:.*}/history"
type ImageHistory struct {
ID string `json:"Id"`
Created int64
CreatedBy string
Tags []string
Size int64
Comment string
}
// ImageDelete contains response of Remote API:
// DELETE "/images/{name:.*}"
type ImageDelete struct {
Untagged string `json:",omitempty"`
Deleted string `json:",omitempty"`
}
// Image contains response of Remote API:
// GET "/images/json"
type Image struct {
ID string `json:"Id"`
ParentID string `json:"ParentId"`
RepoTags []string
RepoDigests []string
Created int64
Size int64
VirtualSize int64
Labels map[string]string
}
// GraphDriverData returns Image's graph driver config info
// when calling inspect command
type GraphDriverData struct {
Name string
Data map[string]string
}
// ImageInspect contains response of Remote API:
// GET "/images/{name:.*}/json"
type ImageInspect struct {
ID string `json:"Id"`
RepoTags []string
RepoDigests []string
Parent string
Comment string
Created string
Container string
ContainerConfig *runconfig.Config
DockerVersion string
Author string
Config *runconfig.Config
Architecture string
Os string
Size int64
VirtualSize int64
GraphDriver GraphDriverData
}
// Port stores open ports info of container
// e.g. {"PrivatePort": 8080, "PublicPort": 80, "Type": "tcp"}
type Port struct {
IP string `json:",omitempty"`
PrivatePort int
PublicPort int `json:",omitempty"`
Type string
}
// Container contains response of Remote API:
// GET "/containers/json"
type Container struct {
ID string `json:"Id"`
Names []string
Image string
ImageID string
Command string
Created int64
Ports []Port
SizeRw int64 `json:",omitempty"`
SizeRootFs int64 `json:",omitempty"`
Labels map[string]string
Status string
HostConfig struct {
NetworkMode string `json:",omitempty"`
}
}
// CopyConfig contains request body of Remote API:
// POST "/containers/"+containerID+"/copy"
type CopyConfig struct {
Resource string
}
// ContainerPathStat is used to encode the header from
// GET "/containers/{name:.*}/archive"
// "Name" is the file or directory name.
type ContainerPathStat struct {
Name string `json:"name"`
Size int64 `json:"size"`
Mode os.FileMode `json:"mode"`
Mtime time.Time `json:"mtime"`
LinkTarget string `json:"linkTarget"`
}
// ContainerProcessList contains response of Remote API:
// GET "/containers/{name:.*}/top"
type ContainerProcessList struct {
Processes [][]string
Titles []string
}
// Version contains response of Remote API:
// GET "/version"
type Version struct {
Version string
APIVersion version.Version `json:"ApiVersion"`
GitCommit string
GoVersion string
Os string
Arch string
KernelVersion string `json:",omitempty"`
Experimental bool `json:",omitempty"`
BuildTime string `json:",omitempty"`
}
// Info contains response of Remote API:
// GET "/info"
type Info struct {
ID string
Containers int
Images int
Driver string
DriverStatus [][2]string
MemoryLimit bool
SwapLimit bool
CPUCfsPeriod bool `json:"CpuCfsPeriod"`
CPUCfsQuota bool `json:"CpuCfsQuota"`
IPv4Forwarding bool
BridgeNfIptables bool
BridgeNfIP6tables bool `json:"BridgeNfIp6tables"`
Debug bool
NFd int
OomKillDisable bool
NGoroutines int
SystemTime string
ExecutionDriver string
LoggingDriver string
NEventsListener int
KernelVersion string
OperatingSystem string
IndexServerAddress string
RegistryConfig *registry.ServiceConfig
InitSha1 string
InitPath string
NCPU int
MemTotal int64
DockerRootDir string
HTTPProxy string `json:"HttpProxy"`
HTTPSProxy string `json:"HttpsProxy"`
NoProxy string
Name string
Labels []string
ExperimentalBuild bool
ServerVersion string
ClusterStore string
ClusterAdvertise string
}
// ExecStartCheck is a temp struct used by execStart
// Config fields is part of ExecConfig in runconfig package
type ExecStartCheck struct {
// ExecStart will first check if it's detached
Detach bool
// Check if there's a tty
Tty bool
}
// ContainerState stores container's running state
// it's part of ContainerJSONBase and will return by "inspect" command
type ContainerState struct {
Status string
Running bool
Paused bool
Restarting bool
OOMKilled bool
Dead bool
Pid int
ExitCode int
Error string
StartedAt string
FinishedAt string
}
// ContainerJSONBase contains response of Remote API:
// GET "/containers/{name:.*}/json"
type ContainerJSONBase struct {
ID string `json:"Id"`
Created string
Path string
Args []string
State *ContainerState
Image string
ResolvConfPath string
HostnamePath string
HostsPath string
LogPath string
Name string
RestartCount int
Driver string
ExecDriver string
MountLabel string
ProcessLabel string
AppArmorProfile string
ExecIDs []string
HostConfig *runconfig.HostConfig
GraphDriver GraphDriverData
SizeRw *int64 `json:",omitempty"`
SizeRootFs *int64 `json:",omitempty"`
}
// ContainerJSON is newly used struct along with MountPoint
type ContainerJSON struct {
*ContainerJSONBase
Mounts []MountPoint
Config *runconfig.Config
NetworkSettings *NetworkSettings
}
// NetworkSettings exposes the network settings in the api
type NetworkSettings struct {
NetworkSettingsBase
DefaultNetworkSettings
Networks map[string]*network.EndpointSettings
}
// NetworkSettingsBase holds basic information about networks
type NetworkSettingsBase struct {
Bridge string
SandboxID string
HairpinMode bool
LinkLocalIPv6Address string
LinkLocalIPv6PrefixLen int
Ports nat.PortMap
SandboxKey string
SecondaryIPAddresses []network.Address
SecondaryIPv6Addresses []network.Address
}
// DefaultNetworkSettings holds network information
// during the 2 release deprecation period.
// It will be removed in Docker 1.11.
type DefaultNetworkSettings struct {
EndpointID string
Gateway string
GlobalIPv6Address string
GlobalIPv6PrefixLen int
IPAddress string
IPPrefixLen int
IPv6Gateway string
MacAddress string
}
// MountPoint represents a mount point configuration inside the container.
type MountPoint struct {
Name string `json:",omitempty"`
Source string
Destination string
Driver string `json:",omitempty"`
Mode string
RW bool
}
// Volume represents the configuration of a volume for the remote API
type Volume struct {
Name string // Name is the name of the volume
Driver string // Driver is the Driver name used to create the volume
Mountpoint string // Mountpoint is the location on disk of the volume
}
// VolumesListResponse contains the response for the remote API:
// GET "/volumes"
type VolumesListResponse struct {
Volumes []*Volume // Volumes is the list of volumes being returned
}
// VolumeCreateRequest contains the response for the remote API:
// POST "/volumes/create"
type VolumeCreateRequest struct {
Name string // Name is the requested name of the volume
Driver string // Driver is the name of the driver that should be used to create the volume
DriverOpts map[string]string // DriverOpts holds the driver specific options to use for when creating the volume.
}
// NetworkResource is the body of the "get network" http response message
type NetworkResource struct {
Name string
ID string `json:"Id"`
Scope string
Driver string
IPAM network.IPAM
Containers map[string]EndpointResource
Options map[string]string
}
//EndpointResource contains network resources allocated and usd for a container in a network
type EndpointResource struct {
EndpointID string
MacAddress string
IPv4Address string
IPv6Address string
}
// NetworkCreate is the expected body of the "create network" http request message
type NetworkCreate struct {
Name string
CheckDuplicate bool
Driver string
IPAM network.IPAM
Options map[string]string
}
// NetworkCreateResponse is the response message sent by the server for network create call
type NetworkCreateResponse struct {
ID string `json:"Id"`
Warning string
}
// NetworkConnect represents the data to be used to connect a container to the network
type NetworkConnect struct {
Container string
}
// NetworkDisconnect represents the data to be used to disconnect a container from the network
type NetworkDisconnect struct {
Container string
}
+14
View File
@@ -0,0 +1,14 @@
## Legacy API type versions
This package includes types for legacy API versions. The stable version of the API types live in `api/types/*.go`.
Consider moving a type here when you need to keep backwards compatibility in the API. This legacy types are organized by the latest API version they appear in. For instance, types in the `v1p19` package are valid for API versions below or equal `1.19`. Types in the `v1p20` package are valid for the API version `1.20`, since the versions below that will use the legacy types in `v1p19`.
### Package name conventions
The package name convention is to use `v` as a prefix for the version number and `p`(patch) as a separator. We use this nomenclature due to a few restrictions in the Go package name convention:
1. We cannot use `.` because it's interpreted by the language, think of `v1.20.CallFunction`.
2. We cannot use `_` because golint complains abount it. The code is actually valid, but it looks probably more weird: `v1_20.CallFunction`.
For instance, if you want to modify a type that was available in the version `1.21` of the API but it will have different fields in the version `1.22`, you want to create a new package under `api/types/versions/v1p21`.
+35
View File
@@ -0,0 +1,35 @@
// Package v1p19 provides specific API types for the API version 1, patch 19.
package v1p19
import (
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/versions/v1p20"
"github.com/docker/docker/pkg/nat"
"github.com/docker/docker/runconfig"
)
// ContainerJSON is a backcompatibility struct for APIs prior to 1.20.
// Note this is not used by the Windows daemon.
type ContainerJSON struct {
*types.ContainerJSONBase
Volumes map[string]string
VolumesRW map[string]bool
Config *ContainerConfig
NetworkSettings *v1p20.NetworkSettings
}
// ContainerConfig is a backcompatibility struct for APIs prior to 1.20.
type ContainerConfig struct {
*runconfig.Config
MacAddress string
NetworkDisabled bool
ExposedPorts map[nat.Port]struct{}
// backward compatibility, they now live in HostConfig
VolumeDriver string
Memory int64
MemorySwap int64
CPUShares int64 `json:"CpuShares"`
CPUSet string `json:"Cpuset"`
}

Some files were not shown because too many files have changed in this diff Show More