Compare commits

..

6080 Commits

Author SHA1 Message Date
David Calavera
0a8c2e3717 Bump to version 1.8.2.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-10 14:43:43 -04:00
Tianon Gravi
57e9c4f7e5 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-10 14:43:43 -04:00
Jessica Frazelle
3e8da36017 use apt-ftparchive and reprepro to enable apt-pinning;
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit 12a71c8954)
2015-09-03 05:20:58 -04:00
David Calavera
1cce9a26a3 Bump libnetwork version to bc565c2d295067c1a43674a23a473ec6336d7fd4
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-02 17:24:37 -04:00
Tonis Tiigi
d7f8b4d43e Fix goroutine leak on pull
Close the pipeWriter even if there was no error.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-09-01 09:31:43 -04:00
Derek McGowan
6f7bbc3171 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-31 03:37:50 -04:00
Harald Albers
947087fb24 Update bash completion for docker run
Also fixed sort order of options using `sort -d`

Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 644c158837)
2015-08-28 05:03:01 -04:00
Harald Albers
ffe7e48ed6 Add options for the json-file logging driver to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 5c1ad6f90c)
2015-08-28 05:02:55 -04:00
Harald Albers
eeecd1cf59 Add storage options to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e4d8a8e1ca)

Conflicts:
	contrib/completion/bash/docker
2015-08-28 05:02:45 -04:00
Harald Albers
3f411db15b Add missing storage drivers to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-28 04:59:30 -04:00
Harald Albers
789197f33d 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-28 04:59:09 -04:00
Harald Albers
0c71d09921 Add docker ps --format to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-08-28 04:57:54 -04:00
Tonis Tiigi
cc8320cb58 Fix pull on client disconnect
Fixes #15589

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-28 04:26:22 -04:00
Arnaud Porterie
c22b292719 Update vendoring
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-26 04:45:56 -04:00
Tonis Tiigi
14d2083f14 Remove nil contexts
Causes daemon panic because loggers can’t be found.

Fixes #15724

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 0c08913d52)
2015-08-25 12:25:38 -04:00
Tonis Tiigi
ea56c5e1ce Update volumes userguide
Fixes #15644

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-25 12:25:37 -04:00
Harald Albers
341ff018a2 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>
(cherry picked from commit 18381faee6)

Conflicts:
	contrib/completion/bash/docker
2015-08-25 12:25:37 -04:00
Shijiang Wei
e07819293a a quick fix to #15626
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-25 12:25:37 -04:00
Marius Sturm
6ec8d40ae7 Initialize LogConfig in daemon mode
Signed-off-by: Marius Sturm <marius@graylog.com>
(cherry picked from commit e904cbec03)

Conflicts:
	docker/daemon.go
2015-08-25 12:25:37 -04:00
Jana Radhakrishnan
16d64608f3 Vendoring in vishvananda/netlink
Updating netlink package to 4b5dce31de6d42af5bb9811c6d265472199e0fec
to fix certain wierd netlink issues seen.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
(cherry picked from commit 7948b755c7)

Conflicts:
	hack/vendor.sh
2015-08-25 12:25:37 -04:00
David Calavera
00a27b6872 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-25 04:32:20 -04:00
Vincent Batts
fc12b9ddce 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-25 04:32:07 -04:00
Jessie Frazelle
b66e5ef208 Merge pull request #15544 from icecrime/bump_1.8.1
Bump 1.8.1
2015-08-12 20:19:06 -07:00
Arnaud Porterie
d12ea79c9d Update VERSION and CHANGELOG.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:54:41 -07:00
Arnaud Porterie
a9aaa66780 Update regression test
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:52:01 -07:00
Arnaud Porterie
e19060dcea Revert #14884
This reverts commit 810d3b2642.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:51:57 -07:00
David Calavera
b0e0dbb33b Merge pull request #15091 from calavera/bump_v1.8.0
Bump v1.8.0
2015-08-11 13:16:04 -05:00
David Calavera
0d03096b65 Bump version to 1.8.0
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-11 11:35:27 -05:00
Jessica Frazelle
55e9551aaa minor cosmetic change to client output on pull
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit 8bd6322760)
2015-08-11 11:35:27 -05:00
Mary Anthony
c65afe6ba8 Updating new vm and with migrate
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit e5c160e1d6)
2015-08-11 11:35:27 -05:00
Mary Anthony
5745aaed22 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>
(cherry picked from commit d550d729e1)
2015-08-11 11:35:27 -05:00
Diogo Monica
b6f0f93c94 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>
(cherry picked from commit 753bf40f15)
2015-08-11 11:35:26 -05:00
Youcef YEKHLEF
33b16fef43 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>
(cherry picked from commit 35aebdc803)
2015-08-10 12:11:42 -05:00
Youcef YEKHLEF
9705c349c5 Add fedora 22 install docs warning about systemd-network
Following @cles commit #6bd15a68c for Arch

Signed-off-by: yyekhlef <yyekhlef@gmail.com>
(cherry picked from commit f224a9f3d6)
2015-08-10 12:11:42 -05:00
Ankush Agarwal
3de34af5d1 Remove note from docker version 1.3 on Env variables
Fixes #14734

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
(cherry picked from commit 89ec5399af)
2015-08-10 12:11:42 -05:00
Ankush Agarwal
b3f3abfc94 Make official install instructions use curl instead of wget
YOU GO CURL

Fixes #14650

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
(cherry picked from commit c76fef1791)
2015-08-10 12:10:42 -05:00
Mary Anthony
783baec49c Fixes #15349 too many apis
Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit 1d5f479e01)
2015-08-10 12:10:42 -05:00
Vincent Bernat
c1d9e7c6fb 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>
(cherry picked from commit 56b33e9f27)
2015-08-10 12:10:42 -05:00
Derek McGowan
83f6dbe30a 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)
(cherry picked from commit bf3c1e6a3a)
2015-08-07 10:08:37 -07:00
Jessica Frazelle
a97b89b585 remove docker-unconfined profile we were not using it and it breaks apparmor on wheezy
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit e542238f2a)
2015-08-06 20:08:25 -07:00
Tibor Vass
29ea36a880 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>
(cherry picked from commit b899977ee2)
2015-08-06 19:55:06 -07:00
Alessandro Boch
ed672d1609 Vendoring libnetwork bd3eecc96f3c05a4acef1bedcf74397bc6850d22
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit e35a5ae463)
2015-08-06 19:55:05 -07:00
Jessica Frazelle
5916664220 revert apparmor changes back to how it was in 1.7.1, but keep tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit ed248207d7)
2015-08-06 19:55:05 -07:00
Lei
da4b336233 Remove redundant ip_forward check
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 6a0050d0f0)
2015-08-06 09:55:02 -07:00
Josh Hawn
74df05ccaa [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)

(cherry picked from commit d80c4244d3)
2015-08-06 09:14:16 -07:00
Dimitri John Ledkov
2c875215b1 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>
(cherry picked from commit d3e5179c29)
2015-08-06 08:39:11 -07:00
Mary Anthony
be40a48c12 - 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>
(cherry picked from commit cc375a1e48)
2015-08-06 08:39:10 -07:00
Filipe Oliveira
85f7f7cfc7 Adding support to forked distributions in installer script.
Signed-off-by: Filipe Oliveira <contato@fmoliveira.com.br>
(cherry picked from commit f618de1543)
2015-08-06 08:35:41 -07:00
David Calavera
e15f6fca3f 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>
(cherry picked from commit 3d3db0d4af)
2015-08-05 16:21:30 -07:00
Vincent Demeester
d3bbaa70cd Update some contributions documentations
- Add a golint entry to coding-style.md

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit b304920021)
2015-08-05 10:54:39 -07:00
Harald Albers
cc6f6cb2e2 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>
(cherry picked from commit b898111d3a)
2015-08-05 09:52:08 -07:00
Jessica Frazelle
c967dd289f update systemd article to reference dropin file
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit 35e7a7c3e2)
2015-08-04 14:11:36 -07:00
Sally O'Malley
7895ec25ea 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>
(cherry picked from commit f3bea61c80)
2015-08-04 09:35:25 -07:00
Charles Chan
5b06c94701 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>
(cherry picked from commit b245bcd458)
2015-08-04 09:35:25 -07:00
Eric Windisch
5851e2da60 Remove container AA profile from packaging
Signed-off-by: Eric Windisch <eric@windisch.us>
(cherry picked from commit 0f4e5f7149)
2015-08-03 17:49:58 -07:00
Eric Windisch
9eff33735a 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>
(cherry picked from commit 5832715052)
2015-08-03 17:49:58 -07:00
Alessandro Boch
fc7697b050 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>
(cherry picked from commit dab0447ae0)
2015-08-03 17:21:31 -07:00
David Calavera
1bf8954d0d Remove key file when migration fails.
Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 07c45e499d)
2015-08-03 16:22:34 -07:00
Michael Crosby
dfd9f5989a Add LXC built in support deprecation notice
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit 06f6c0c7e5)
2015-08-03 16:22:34 -07:00
Josh Hawn
d9581e861d [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)

(cherry picked from commit de52a3bcaa)
2015-08-03 16:22:33 -07:00
Stephen Rust
c383ceaf37 Docs: Add Blockbridge volume plugin
Signed-off-by: Stephen Rust <srust@blockbridge.com>
(cherry picked from commit 8b15b7958a)
2015-08-03 11:29:25 -07:00
Harald Albers
948912f692 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>
(cherry picked from commit 69cde5a302)
2015-08-03 11:29:25 -07:00
jrabbit
d19b1b927b Actually link to the information
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
(cherry picked from commit d2cd142ce1)
2015-08-03 09:44:11 -07:00
Tibor Vass
53f5905379 Add missing LICENSE files for docker/notary
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 084af30f39)
2015-08-03 09:43:19 -07:00
Tibor Vass
60cbf4da6c Vendor docker/distribution to 7dc8d4a26b689bd4892f2f2322dbce0b7119d686
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 0cce1fb37f)
2015-08-03 09:43:19 -07:00
evalle
183628388c Fix wrong path to YaST's 'Routing' menu for openSUSE Tumbleweed
Signed-off-by: evalle <shmarnev@gmail.com>
(cherry picked from commit 5f1593c7b8)
2015-08-03 09:37:35 -07:00
Charles Chan
fbd2267e7d 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>
(cherry picked from commit 084d464081)
2015-08-03 09:37:35 -07:00
Derek McGowan
a16ab243e5 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)
(cherry picked from commit 6ce76cd9ed)
2015-08-03 09:37:35 -07:00
Derek McGowan
b3c3c4cddc Vendor latest notary
Use updated notary to pick up updates from security review

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
(cherry picked from commit d594c6fcd8)
2015-08-03 09:37:34 -07:00
Qiang Huang
0fe5aad984 Remove unused variable
Introduced by #15209 unintentionally.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
(cherry picked from commit f5557f4f43)
2015-08-03 09:37:34 -07:00
Brian Goff
0f5e2fd479 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>
(cherry picked from commit c57faa91e2)
2015-08-03 09:37:34 -07:00
David Calavera
2f7145b1c5 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>
(cherry picked from commit 5ed84009b3)
2015-07-31 14:56:17 -07:00
Harald Albers
81efe1f32e 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>
(cherry picked from commit aab82c5c22)
2015-07-31 12:20:42 -07:00
Harald Albers
5ba75ac343 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>
(cherry picked from commit e0dad9a153)
2015-07-31 12:20:42 -07:00
Alessandro Boch
290987fcb4 Add test code to cover issue #14859
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 4964ab0821)
2015-07-31 08:59:42 -07:00
Alessandro Boch
98855c863d Vendoring libnetwork 31139cdb513aea5ad1ed08b60d4350a68b4c96db
Signed-off-by: Alessandro Boch <aboch@docker.com>
(cherry picked from commit 91274625ba)
2015-07-31 08:59:42 -07:00
Jessica Frazelle
b1f394a247 fix regression
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
(cherry picked from commit b0af811272)
2015-07-30 17:21:22 -07:00
Avi Miller
a819a60a94 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>
(cherry picked from commit 5c6446f335)
2015-07-30 17:21:21 -07:00
Tibor Vass
33cdc7f2c4 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>
(cherry picked from commit a21ba12f4e)
2015-07-30 17:21:21 -07:00
Jay Kamat
117860577c Fix a couple broken links
Signed-off-by: Jay Kamat <github@jgkamat.33mail.com>
(cherry picked from commit 4ca0aad855)
2015-07-30 17:21:21 -07:00
Dan Walsh
b0ac5df367 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)

(cherry picked from commit 90b8cebda6)
2015-07-30 17:21:21 -07:00
Josh Hawn
c109095a58 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)

(cherry picked from commit 75f6929b44)
2015-07-30 17:21:20 -07:00
Stephen Rust
d394113dfe 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>
(cherry picked from commit c358a4cd35)
2015-07-30 17:21:20 -07:00
Michael Crosby
2af7f63173 Don't mount /proc as ro
This caused a regression with LSM labeling.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit bfc51cf660)
2015-07-30 17:21:20 -07:00
Eric Windisch
f156fb7be5 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>
(cherry picked from commit f5c388b35a)
2015-07-30 12:54:14 -07:00
Tibor Vass
559043b953 tlsconfig: better format for error message in tlsconfig
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit c7a04fda2a)
2015-07-30 12:54:14 -07:00
Harald Albers
ba8abcb3dd Add docker daemon to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8cc8ee9254)
2015-07-30 12:54:14 -07:00
David Calavera
ebf396c6e8 Log each release step.
Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 776600fabb)
2015-07-30 09:07:15 -07:00
Josh Hawn
47d52fb872 [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)

(cherry picked from commit bb2e6c72d2)
2015-07-29 16:53:10 -07:00
Vincent Batts
d167338876 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>
(cherry picked from commit 273f50c741)
2015-07-29 16:48:42 -07:00
Vincent Batts
e6844381f0 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>
(cherry picked from commit 56bf275e32)
2015-07-29 16:48:41 -07:00
Derek McGowan
589922adf0 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)
(cherry picked from commit e863a07b89)
2015-07-29 16:45:16 -07:00
David Calavera
689c4e6075 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>
(cherry picked from commit 621e3d8587)
2015-07-29 16:44:21 -07:00
David Calavera
43da1adedb Use *int64 for MemorySwappiness.
So we marshal/unmarshal its value properly when it's empty.

Signed-off-by: David Calavera <david.calavera@gmail.com>
(cherry picked from commit 4e25d2982b)
2015-07-29 16:44:21 -07:00
Antonio Murdaca
686fe02020 Fix install script to handle debian 8.1 apt repo string
Fix #14911

Signed-off-by: Antonio Murdaca <runcom@linux.com>
(cherry picked from commit 98f15cae89)
2015-07-29 10:46:26 -07:00
Eric Windisch
1d02be1c7a 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>
(cherry picked from commit 6c887be769)
2015-07-29 09:54:16 -07:00
Eric Windisch
edb60b950a 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>
(cherry picked from commit 8b2fcddcd2)
2015-07-29 09:54:16 -07:00
Eric Windisch
e0e852ee6f 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>
(cherry picked from commit 3edc88f76d)
2015-07-29 09:54:16 -07:00
Jessica Frazelle
b537508f8c only write distributions file if dne
Signed-off-by: Jessica Frazelle <princess@docker.com>
(cherry picked from commit 2eee192366)
2015-07-28 17:48:56 -07:00
Avi Miller
37e886eb7b Fix typo.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
(cherry picked from commit 59e48b3468)
2015-07-28 09:39:55 -07:00
Avi Miller
50f65742ef Switch to using only the RPM command to determine the distro version.
Signed-off-by: Avi Miller <avi.miller@oracle.com>
(cherry picked from commit a43199f143)
2015-07-28 09:39:50 -07:00
Alexander Morozov
56d859d052 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>
(cherry picked from commit eb45602d2f)
2015-07-28 09:35:56 -07:00
Josh Hawn
546a704c63 [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)

(cherry picked from commit 01d570ad30)
2015-07-28 09:35:38 -07:00
Aaron Lehmann
fa85dc0030 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>
(cherry picked from commit 091dbc1034)
2015-07-28 09:35:26 -07:00
Antonio Murdaca
36b6e5884d 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>
(cherry picked from commit c9207bc0aa)
2015-07-28 09:35:14 -07:00
Jessica Frazelle
90991ddb9b fix deb packaging systemd files
Signed-off-by: Jessica Frazelle <princess@docker.com>
(cherry picked from commit a2ea8f2ad8)
2015-07-28 09:34:48 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ecdbf86884/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
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
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 341a37095f. 👍

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:
4656bf47fc

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:
b315c380f4
b3b451d6f8
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
ded0ada9b4 Merge pull request #11538 from duglin/EmptyVolume
Check volume path to make sure its not the empty string
2015-03-22 19:25:50 -07:00
Jessie Frazelle
45ee402a63 Merge pull request #9774 from pwaller/cancellation
Add basic build cancellation
2015-03-22 19:16:23 -07:00
moxiegirl
0b63b343e8 Merge pull request #11505 from lloydde/doc-ref-run-it
doc: reference/run introduce -it .
2015-03-22 19:14:34 -07:00
moxiegirl
0926a023d6 Merge pull request #11550 from moxiegirl/adjust-mac-install
Clarifying structure in light of Kitematic
2015-03-22 19:13:38 -07:00
Sven Dowideit
19295cb37b Merge pull request #11062 from misterbisson/joyentinstall
Installation on Joyent
2015-03-23 12:07:49 +10:00
Arnaud Porterie
1265395406 Merge pull request #11532 from dmcgowan/fix-v1-404-issue-11510
Add check for 404 on get repository data
2015-03-22 18:57:35 -07: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
e09ead98ef Merge pull request #11566 from tiborvass/carry-10864
Carry 10864: ANSI terminal emulation for windows
2015-03-22 18:21:32 -07:00
Casey Bisson
a71d89d041 Merge branch 'master' of github.com:docker/docker into joyentinstall
Reolved conflict in:
	docs/mkdocs.yml

Signed-off-by: Casey Bisson <casey.bisson@joyent.com>
2015-03-22 18:19:27 -07:00
Derek McGowan
c8d2ec93ca Add check for 404 on get repository data
No longer add the body to the error when a 404 is received on get repository data.

closes #11510

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-22 18:15:18 -07:00
Jessie Frazelle
01506d13fa Merge pull request #11553 from Sirupsen/update-logrus-71
vendor: update logrus to 0.7.1
2015-03-22 18:11:17 -07:00
Sven Dowideit
cce196d64b Merge pull request #10903 from programmerq/docs_submodules
Update docs around private github submodules in automated builds.
2015-03-23 11:01:28 +10:00
Arnaud Porterie
33448ac3c9 Restore TestPullVerified test
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-22 17:56:05 -07:00
Doug Davis
48a954f4b3 Merge pull request #11572 from tiborvass/skip-hello-world-test
Skip TestPullVerified because hello-world image cannot be verified
2015-03-22 20:09:55 -04:00
Sven Dowideit
cf7d093e17 Merge pull request #11400 from ahmetalpbalkan/docs/azure
docs: Add Microsoft Azure installation instructions
2015-03-23 10:03:00 +10:00
Tibor Vass
df389df990 Skip TestPullVerified because hello-world image cannot be verified
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-03-22 19:34:40 -04:00
Tibor Vass
01a43174da winconsole: cleanup
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-03-22 15:47:54 -04:00
moxiegirl
4abc0fcf59 Merge pull request #11222 from moxiegirl/update-howto-docs
Updating in light of new contributors guide. Got verbal ok from Jess to pull janky is acting janky.
2015-03-22 12:21:12 -07:00
Mary Anthony
fdbec26411 Updating in light of new contributors guide
Link to new guide. Added a quickstart contributor guide for experienced people.
Converting narrative style to procedures for easier use. I think there is something missing in the
release publishing section...but it looks like it was missing in the original.
Updates per thaJeztah
Edits per Fred
Updating with comments from Sven

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-22 11:55:32 -07:00
Doug Davis
b485d3dfa7 Merge pull request #11567 from draghuram/contrib-docs
Fix typo in git setup doc.
2015-03-22 11:31:00 -04:00
Raghuram Devarakonda
f5c60fc0fd Fix typo in git setup doc.
Signed-off-by: Raghuram Devarakonda <draghuram@gmail.com>
2015-03-22 11:22:47 -04:00
Peter Waller
671c12204c Implement build cancellation
Add the capability to cancel the build by disconnecting the client.

This adds a `cancelled` channel which is used to signal that a build
should halt. The build is halted by sending a Kill signal and noticing
that the cancellation channel is closed.

This first pass implementation does not allow cancellation during a
pull, but that will come in a subsequent PR.

* Add documentation of cancellation to cli and API

* Protect job cancellation with sync.Once

* Add TestBuildCancelationKillsSleep

* Add test case for build cancellation of RUN statements.

Signed-off-by: Peter Waller <p@pwaller.net>
2015-03-22 11:31:28 +00:00
Simon Eskildsen
3a33bff7fd vendor: update logrus to 0.7.1
Changes relevant for Docker since 0.6.6 are (most other changes are hooks and
options for formatters):

* Debugging color output changed to gray.
* Don't quote the number 9 when it's by it self (i.e. `omg=9` instead of
  `omg="8"`, this was the case for all other numbers)
* Performance is better when running a high logging level with lots of low-level
  logging.
* Minor internal refactoring and more tests.

Signed-off-by: Simon Eskildsen <sirup@sirupsen.com>
2015-03-22 02:06:50 +00:00
Mary Anthony
f3b7bf9682 Clarifying structure in light of Kitematic
Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-21 18:20:25 -07:00
sidharthamani
eaecd8b1b5 add syslog driver
Signed-off-by: wlan0 <sid@rancher.com>
2015-03-21 18:01:18 -07:00
Jessie Frazelle
e40fc2f038 Merge pull request #11546 from moxiegirl/bday-edits-before
Update contributor docs and triage to match new labeling system
2015-03-21 16:25:10 -07:00
Doug Davis
4c443facf4 Merge pull request #11543 from ahmetalpbalkan/TestBuildSpaces
integ-cli: fix bug and race in TestBuildSpaces
2015-03-21 19:20:17 -04:00
Mary Anthony
3ff9991bb2 Update contributor docs and triage to match new labeling system
Add clarification around experience
Adding test
improvement > enhancement

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-21 15:55:33 -07:00
Jessie Frazelle
b6e20a67f9 Merge pull request #11454 from hqhq/fix_memoryswap_warning
do not warning when we disable memoryswap
2015-03-21 15:23:25 -07:00
Ahmet Alp Balkan
28a34dfffd integ-cli: fix bug and race in TestBuildSpaces
`TestBuildSpaces` is used to do string manipulation to redact timestamps
from compared cmd output. However it was assuming there is going to be
only one `time=".."` in the output --not the case on windows. Therefore
I wrote a regexp to redact all log timestamps.

Also the test used to have a copy/paste bug (see err1/err2). This fixes
that, too.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-21 19:43:14 +00: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
8071bf3967 Check volume path to make sure its not the empty string
With this Dockerfile
```
FROM ubuntu
ENV ABC=""
VOLUME $ABC
```

It builds ok but then at run time I get this error:

FATA[0002] Error response from daemon: Cannot start container 8902b4a7aaf5c4e4b11a38070d392db465fa97ad88c91c8b38dda5ab8149ccac: [8] System error: no such file or directory

Because the Volume config shows "" as the path.  This PR checks for "" as
the path and stops it at build time.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-20 21:39:49 -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
Doug Davis
e3e6f8e859 Merge pull request #11531 from vishh/parent-cgroup
Remove debug log line from cgroup-parent feature e2e test.
2015-03-20 20:30:01 -04:00
Michael Crosby
84d3ab30d4 Merge pull request #11492 from coolljt0725/fix_hostname_missing_in_container_netmode
Fix hostname missing when a container's net mode is contaienr mode
2015-03-20 16:49:37 -07:00
Michael Crosby
ca6512acba Merge pull request #11272 from dmcgowan/enable-v2-default-push
Enable v2 default push
2015-03-20 16:47:32 -07:00
Michael Crosby
ca3a912287 Merge pull request #11528 from jlhawn/separate_init_blob_upload
Separate init blob upload
2015-03-20 16:39:31 -07:00
Vishnu Kannan
a7639c2e1f Remove debug log line from cgroup-parent feature e2e test.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-20 23:25:34 +00:00
Doug Davis
c536e5bfb4 Merge pull request #11397 from ahmetalpbalkan/win-cli/build-warning
Add cli build warning about chmod bits on windows
2015-03-20 19:19:38 -04:00
Jessie Frazelle
57f061211a Merge pull request #11530 from twhiteman/master
docs: cli: reorder rename command to be in alphabetical order
2015-03-20 15:59:44 -07:00
Jessie Frazelle
41f2b010c6 Merge pull request #11525 from cpuguy83/10969-cleanup-unix-sockets
cleanup unix sockets
2015-03-20 14:55:17 -07:00
Todd Whiteman
fe21c7a4be docs: cli: reorder rename command to be in alphabetical order
Signed-off-by: Todd Whiteman <todd.whiteman@joyent.com>
2015-03-20 14:51:39 -07:00
Casey Bisson
19e3db3503 updated text
per recommendations in https://github.com/docker/docker/pull/11062#issuecomment-82435939

Signed-off-by: Casey Bisson <casey.bisson@joyent.com>
2015-03-20 14:44:24 -07:00
Casey Bisson
cb2280c98e Merge branch 'master' of github.com:docker/docker into joyentinstall
Resolved conflict in the following file:
	docs/sources/installation/MAINTAINERS

File was deleted upstream and changed in this branch. Deleting the file in this branch as well.

Signed-off-by: Casey Bisson <casey.bisson@joyent.com>
2015-03-20 14:37:17 -07:00
Ahmet Alp Balkan
4a8b3cad60 Add cli build warning about chmod bits on windows
This shows a warning message about adjusted file/directory permission bits
when the `docker build` cli command is executed on windows.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-20 20:13:32 +00:00
Josh Hawn
73b33db04b Separate init blob upload
Pushing a v2 image layer has two steps:

- POST to get a new upload URL
- PUT to that upload URL

We were previously not checking the response code of
the POST request and the PUT would fail in weird ways.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-03-20 13:11:05 -07:00
Derek McGowan
770e9b6b81 Enable v2 default push
When pushing to the official registry, v2 push will be attempted first. If the v2 endpoint is unavailable, a push to v1 will occur. If a v2 push is started and failed, the push operation will fail. Pulling non-official images the official v2 registry is also enabled to pull the newly push images. When a pull of a v2 image fails, v1 will always be attempted.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-20 11:09:33 -07:00
Tibor Vass
7974481162 Merge pull request #11475 from estesp/registry-is-distribution
We should point README readers at the new registry v2 project
2015-03-20 13:59:25 -04:00
Tibor Vass
df8110519a Merge pull request #11521 from duglin/AddLABELCacher
Add LABEL config check to runconfig compare
2015-03-20 13:52:13 -04:00
Jessie Frazelle
24a148d384 Merge pull request #11457 from jlhawn/pull_by_digest_verify
Add verification of image manifest digests on v2 push/pull
2015-03-20 10:49:16 -07:00
Jessie Frazelle
ba6de9121f Merge pull request #11408 from Mashimiao/fix-wrong-tab-completion
fix wrong tab completion
2015-03-20 10:46:26 -07:00
Jessie Frazelle
0dca963f40 Merge pull request #11522 from duglin/FixCGroupTests
Ignore blank lines in getCgroupPaths
2015-03-20 10:44:57 -07:00
Josh Hawn
9ececa14ba Add verification of image manifest digests
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-03-20 09:34:39 -07:00
Brian Goff
16309bef63 Add integration test for unix sock cleanup
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-20 12:34:35 -04: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
Jeff Anderson
890d93adb1 Merge pull request #2 from SvenDowideit/small-copy-edits
Small copy edits
2015-03-20 09:10:48 -06:00
Phil Estes
d2cb3af75b Merge pull request #11481 from jfrazelle/perms-on-release
cleanup docs/release.sh
2015-03-20 10:57:43 -04:00
Rik Nijessen
0c0e9836c4 Implement cleanup unix sockets after serving.
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
2015-03-20 09:12:59 -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
Doug Davis
b4beb0637a Add LABEL config check to runconfig compare
Without this we won't do a proper cacche check because we skip the
labels part of the config.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-20 05:55:48 -07:00
Doug Davis
301bd57b1d Ignore blank lines in getCgroupPaths
w/o this I would see:
```
  unexpected file format for /proc/self/cgroup - ""
```
while running the cgroup tests

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-20 05:36:34 -07:00
Michael Crosby
385d4beaa5 Merge pull request #11512 from vishh/parent-cgroup
Update --cgroup-parent cli integration test to use "memory" cgroup instead of "cpu"
2015-03-19 21:28:59 -07:00
Ahmet Alp Balkan
72fa3fcaea docs: Add Azure installation instructions
Adding instructions that refers to the Microsoft Azure
documentation on creating Docker-ready Linux VMs on Azure
platform.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-19 21:28:29 -07:00
Sven Dowideit
32efa559a3 Small copy edits
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-03-20 14:09:30 +10:00
Jessica Frazelle
844c0f154a change perms on release and cleanup docs
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-03-19 21:07:02 -07:00
Doug Davis
051bdf5c55 Merge pull request #11501 from duglin/TestLabels
Add a LABEL cache check testcase
2015-03-19 23:01:29 -04:00
Doug Davis
97c573bf02 Add a LABEL cache check testcase
Thanks to @tiborvass's review of another PR it was noticed that
we didn't have a testcase to make sure the cache checking for LABEL
was being done properly.  This adds a test for it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-19 19:18:00 -07:00
Sachin Joshi
816d602059 Reduce memory allocation and remove channels
Signed-off-by: Sachin Joshi <sachin_jayant_joshi@hotmail.com>
2015-03-19 18:07:56 -07:00
Vishnu Kannan
49cb1a289f Update --cgroup-parent cli integration test to use "memory" cgroup for detecting the test's
cgroups path instead of CPU.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-20 00:38:19 +00:00
Jessie Frazelle
56f483072d Merge pull request #11456 from tianon/explicit-curl-missing-failure
Fail explicitly if curl is missing in contrib/download-frozen-image.sh
2015-03-19 16:23:07 -07:00
Jessie Frazelle
f574262ff7 Merge pull request #11470 from albers/events-filter-name
Remove 'name' filter from docker events documentation
2015-03-19 16:22:30 -07:00
Jessie Frazelle
0d3da36a5f Merge pull request #11479 from falmp/patch-1
Fixed --read-only description indentation
2015-03-19 16:22:08 -07:00
Jessie Frazelle
fcc87c0df0 Merge pull request #11498 from jbnunn/patch-1
Typo/grammar corrections to dockerizing.md
2015-03-19 16:21:29 -07:00
Jessie Frazelle
5d90a8cc83 Merge pull request #11494 from sunyuan3/m2
add TestContainerRestartwithGoodContainer test case
2015-03-19 16:16:38 -07:00
Jessie Frazelle
5a239c0022 Merge pull request #11507 from crosbymichael/container-state
Cleanup libcontainer container state
2015-03-19 16:02:24 -07:00
Tianon Gravi
9e5c0641e9 Merge pull request #11124 from tianon/autoremove-recommends
Set "Apt::AutoRemove::RecommendsImportant" to "false" in debootstrap
2015-03-19 16:00:40 -07:00
Michael Crosby
455a272aef Merge pull request #11428 from vishh/parent-cgroup
Adding '--cgroup-parent' option.
2015-03-19 14:41:57 -07:00
Michael Crosby
2b12b099b8 Mount libcontainer state dir in tmpfs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-19 14:27:17 -07:00
Michael Crosby
06c939e527 Ensure the container state is removed on daemon boot
This ensures that the libcontainer state is fully removed for a
container after it is terminated.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-19 14:21:19 -07:00
Arnaud Porterie
661c31737d Merge pull request #11477 from dmcgowan/fix-auth-http-client
Update auth client configuration to use proper tls config
2015-03-19 14:17:47 -07:00
Michael Crosby
65f0ba42f5 Merge pull request #11502 from mrunalp/update_libcontainer
Update libcontainer to 4a72e540feb67091156b907c4700e580a99f5a9d
2015-03-19 14:15:35 -07:00
Lloyd Dewolf
6ca1494f19 doc: reference/run introduce -it .
Also:
- Fix "docker" cmd always "sudo docker" for docs.
- Fix "-ti" with "-it".
- fix "/docker" typo.

Signed-off-by: Lloyd Dewolf <foolswisdom@gmail.com>
2015-03-19 13:59:40 -07:00
Mrunal Patel
60ef4ae6fc Update libcontainer to 4a72e540feb67091156b907c4700e580a99f5a9d
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-03-19 14:42:23 -04:00
moxiegirl
831c796fb7 Merge pull request #11493 from proppy/patch-13
CONTRIBUTING.md: fix markdown formating
2015-03-19 09:15:16 -07:00
Sebastiaan van Stijn
cf0634b937 Optimize images
Optimized new screenshots, reduced file-size with 50%

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-19 10:01:43 -06:00
Jeff Anderson
390dd4bf3f Update docs around private github submodules in automated builds.
Signed-off-by: Jeff Anderson <jeff@docker.com>
2015-03-19 10:01:43 -06:00
J. Nunn
a8faba021c Typo/grammar corrections to dockerizing.md
Added commas where necessary, edited typos to improve readability.

Signed-off-by: J. Nunn <jeffnunn@amazon.com>
2015-03-19 10:51:12 -05:00
Alexander Morozov
d338c613bf Merge pull request #11459 from simonswine/10001-ipv6-tests
[WiP] Adds testing for bridge's IPv6 support
2015-03-19 08:37:28 -07:00
Phil Estes
b4ebcdef15 We should point README readers at the new registry v2 project
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-19 11:11:51 -04:00
falmp
b311066d24 Fixed --read-only description indentation
The wrong indentation was breaking documentation layout with code blocks.

Signed-off-by: Francisco Lopes <chico.lopes@gmail.com>
2015-03-19 11:53:50 -03:00
Tibor Vass
fdf49d758f Merge pull request #11274 from MabinGo/selinux_enable_verify
Add logs when Docker enabled selinux (closes #11197)
2015-03-19 10:34:55 -04:00
Phil Estes
9d5eab1873 Merge pull request #11453 from duglin/HideDaemonDots
Hide dots on daemon startup when loglevel != info
2015-03-19 10:10:18 -04:00
Phil Estes
ae1d3d6d68 Merge pull request #11455 from tianon/minor-formatting-consistency
Fix several very minor consistency issues
2015-03-19 09:57:57 -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
Phil Estes
27fd77cc3b Merge pull request #11496 from docker/revert-11495-m3
Revert "correct comment errors for netlink_linux.go"
2015-03-19 09:38:25 -04:00
unclejack
d173669fdf Revert "correct comment errors for netlink_linux.go"
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-03-19 14:38:00 +02:00
Doug Davis
70092e5ebb Merge pull request #11495 from sunyuan3/m3
correct comment errors for netlink_linux.go
2015-03-19 08:29:54 -04:00
s00318865
c5fdc93f89 correct comment errors for netlink_linux.go
Signed-off-by: s00318865 <sunyuan3@huawei.com>
2015-03-19 20:29:30 +08:00
s00318865
1339831906 add TestContainerRestartwithGoodContainer test case
Signed-off-by: s00318865 <sunyuan3@huawei.com>
2015-03-19 20:20:04 +08:00
Lei Jitang
74664dabff Fix hostname missing when a container's net mode is contaienr mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-19 17:03:40 +08:00
Johan Euphrosine
1d9fb2583c CONTRIBUTING.md: fix markdown formating
Signed-off-by: Johan Euphrosine <proppy@google.com>
2015-03-19 01:51:45 -07:00
Harald Albers
ec7530afde Remove 'name' filter from docker events documentation
Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-19 08:51:36 +01:00
Michael Crosby
c861231a70 Merge pull request #11488 from stevvooe/address-digest-deadlock
Correctly close pipe after error in tarsum verification
2015-03-18 23:00:13 -07:00
James Turnbull
33bec0a7f6 Merge pull request #11028 from jstangroome/patch-1
Correct IP/MAC address generation docs
2015-03-19 01:44:43 -04:00
Vishnu Kannan
c7267017e9 Adding integration tests for --cgroup-parent feature.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-19 02:34:42 +00:00
Vishnu Kannan
f7dd1333b5 Adding documentation for '--cgroup-parent' option.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-19 02:34:15 +00:00
Vishnu Kannan
0b1e2b5a55 Adding '--cgroup-parent' flag to docker run. This feature helps users implement more complex
resource isolation policies on top of what native docker provides.

Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-19 02:34:15 +00:00
Stephen J Day
0306a41909 Correctly close pipe after error in tarsum verification
This addresses a subtle deadlock where an error during a copy prevented pipe
closure to propagate correctly. By closing down the read end of the pipe rather
than the write end, the waiting writer is properly signaled. A nice side-effect
of this change is that errors encountered by io.Copy are now propagated to the
verifier's Write method.

A test to ensure validation errors for unsupported digest types has been added,
as well.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-18 19:07:55 -07:00
Mabin
1bf529a456 Add logs when Docker enabled selinux
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-19 09:46:53 +08:00
Doug Davis
2cde817458 Merge pull request #11410 from cpuguy83/10191_build_resources
Allow setting resource constraints for build
2015-03-18 21:44:21 -04:00
Brian Goff
e6ae89a45a Allow setting resource constrains for build
Closes #10191

Allow `docker build` to set --cpu-shares, --cpuset, --memory,
--memory-swap for all containers created by the build.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-18 20:57:13 -04:00
moxiegirl
068d343ddf Merge pull request #11452 from jeffdm/master
Adding Kitematic link to Mac OS X install instructions in docs
2015-03-18 17:32:48 -07:00
Jeffrey Morgan
3ddf5d7517 Adding Kitematic link to Mac OS X install instructions
Signed-off-by: Jeffrey Morgan <jeff@kitematic.com>
2015-03-18 16:32:59 -07:00
Jessie Frazelle
42f5c87425 Merge pull request #11328 from jfrazelle/fix-docs-release-script
Fix clear cache docs release.
2015-03-18 16:06:27 -07:00
Tibor Vass
8ec4e69839 Merge pull request #11430 from jfrazelle/export_outputflag
Modified `docker export` to allow an --output flag
2015-03-18 19:04:43 -04:00
Jessie Frazelle
474f58e2e7 Merge pull request #11471 from LK4D4/wait_for_copier
Wait for copier finishing it's work before closing logger
2015-03-18 15:41:12 -07:00
Derek McGowan
959b35d974 Update auth client configuration to use proper tls config
Currently the http clients used by auth use the default tls config.  The config needs to be updated to only support TLS1.0 and newer as well as respect registry insecure configuration.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-18 14:52:49 -07:00
Jessie Frazelle
e1a0bff6b8 Merge pull request #11474 from crosbymichael/null-masked-paths
Do not mask /proc/kcore in privileged
2015-03-18 14:43:13 -07:00
Phil Estes
54232084c5 Merge pull request #11472 from LK4D4/logger_mutex
Protect jsonfilelog writes with mutex
2015-03-18 17:20:03 -04:00
Michael Crosby
f4a458e67f Do not mask /proc/kcore in privileged
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-18 14:17:21 -07:00
Tibor Vass
d0e5f52fbb Merge pull request #11271 from dmcgowan/v2-sha256
Push and pull to v2 registries with sha256 instead of tarsum
2015-03-18 16:53:47 -04:00
Jessie Frazelle
29f809233e Merge pull request #11464 from ncdc/fix-duplicate-dangling-images
Fix duplicate display of dangling images
2015-03-18 13:53:33 -07:00
Alexander Morozov
b6a42673ab Wait for copier finishing it's work before closing logger
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-18 13:48:01 -07:00
Sachin Joshi
cb7a65c55e Fix panic with vi in busybox
Following bugs are fixed:
1.Handle out of bound cursor movements: vi in busybox sets cursor
to (999,999) expecting it to be set to right, bottom correctly.

2.Correctly determine redirected non-terminal file.

Signed-off-by: Sachin Joshi <sachin_jayant_joshi@hotmail.com>
2015-03-18 13:10:57 -07:00
Alexander Morozov
bd8661e8fa Protect jsonfilelog writes with mutex
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-18 13:00:53 -07: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
moxiegirl
50bf3cbedc Merge pull request #11305 from moxiegirl/HOSTPATH-text-11144
Clarify behavior of docker cp
2015-03-18 08:46:52 -07:00
Andy Goldstein
c680dd9e5a Fix duplicate display of dangling images
Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2015-03-18 10:41:01 -04:00
Doug Davis
9732c254ad Merge pull request #11314 from HammerOfThor/pull_err_print
print detailed error info for docker pull
2015-03-18 08:08:01 -04:00
Christian Simon
4307ec283b [WiP] Adds testing for bridge's IPv6 support
* fixes #10001
* test for global subnets <= 80
* test for global subnets > 80
* test link local allocations
* test duplicated addresses
* test regression from bug #11427

Signed-off-by: Christian Simon <simon@swine.de>
2015-03-18 08:51:14 +01:00
Tianon Gravi
b5763f8fa7 Fail explicitly if curl is missing in contrib/download-frozen-image.sh
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-17 23:10:02 -06:00
Tianon Gravi
ae61593417 Fix several very minor consistency issues
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-17 23:01:40 -06:00
Zhang Wei
efa65d16b6 print detailed error info for docker pull
When docker push get response with unknown HTTP status, docker daemon
print:
"Error: Status XXX trying to push repository XXX: XXX"
But when docker pull meets response with unknown status code, it gives:
"HTTP code: XXX"

This commit helps docker pull print more detailed error info like push
does, so push and pull can behave consistently when error happens.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-03-18 11:35:44 +08:00
Alexander Morozov
cf071bb962 Merge pull request #11450 from crosbymichael/rlimitfix
Don't hardcode default rlimit
2015-03-17 20:27:05 -07:00
Qiang Huang
55cc166e53 do not warning when we disable memoryswap
$ docker run -ti --rm -m 300M --memory-swap=-1 ubuntu:14.04
WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
root@813aafc019d5:/#

When we disable memoryswap, it should not warning swap limit not support.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-18 10:08:17 +08:00
Jessie Frazelle
a5269223a7 Merge pull request #11320 from estesp/fix-daemon-startup
Fix daemon shutdown on error after rework of daemon startup
2015-03-17 19:04:25 -07:00
Doug Davis
88dc6cc2df Hide dots on daemon startup when loglevel != info
When the deamon starts up with log level set to INFO it will show something
like this:
```
INFO[0000] Loading containers: start.
................................................................
INFO[0000] Loading containers: done.
```
where the dots represent containers in the system.
When you run with log level set to "error" it will still show the dots
w/o the "Loading..." lines before and after which looks really odd.
This PR will fix it so that the dots are only shown IFF the "Loading..."
lines are also shown

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-17 17:27:53 -07:00
Michael Crosby
f5a154f2d2 Don't hardcode default rlimit
The default for rlimit handling should be to inherit the rlimit of the
daemon unless explicitly set.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-17 16:04:15 -07:00
Jessie Frazelle
ef78cc0191 Merge pull request #11237 from thaJeztah/docs-remove-temporary-styles
cleanup: docs: remove temporary inline styles
2015-03-17 15:09:17 -07:00
Jessie Frazelle
8e6d0107df Merge pull request #11431 from jfrazelle/update-docs-image-on-make
Update docs/base in makefile docs-build.
2015-03-17 14:49:24 -07:00
Sebastiaan van Stijn
4e6a01023b cleanup: docs: remove temporary inline styles
Some inline `<style>` tags were temporarily added to the documentation
because the documentation-stylesheets where not yet updated to the
latest version (see https://github.com/docker/docker/pull/11231 and
https://github.com/docker/docker/pull/11229#issuecomment-77698868).

This removes those temporary `<style>` tags.

depends on #11230 (https://github.com/docker/docker/issues/11230)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-17 22:48:28 +01:00
Phil Estes
f42acd070a Merge pull request #11448 from vishh/port_log
Reduce logging level for "ip_local_port_range" proc file in not accessible.
2015-03-17 14:52:23 -04:00
Phil Estes
459e58ffc9 Fix daemon shutdown on error after rework of daemon startup
Currently the daemon will not stop on error because the serve API job is
blocking the channel wait for daemon init.  A better way is to run the
blocking serve API job as a goroutine and make sure that error
notification gets back to the main daemon thread (using the already
existing channel) so that clean shutdown can occur on error.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-17 14:15:00 -04:00
James Turnbull
c1639a7e4e Merge pull request #11355 from moxiegirl/11023-ubuntu-install
Updating Ubuntu installation to use wget; eliminating elo
2015-03-17 14:11:27 -04:00
Derek McGowan
514be385f7 Support push and pull of sha256
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-17 10:50:35 -07:00
Derek McGowan
75e29f4550 Vendor distribution/digest
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-17 10:47:45 -07:00
Phil Estes
e35c78a495 Merge pull request #11298 from brahmaroutu/gccgo_script
Initial gccgo build script, requires host to contain gccgo 5.0
2015-03-17 13:45:47 -04:00
Vishnu Kannan
39d49ba7ba Reduce logging level from error to warning if "/proc/sys/net/ipv4/ip_local_port_range" proc file in not accessible.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2015-03-17 17:39:17 +00:00
Jessie Frazelle
c858cbffe0 Merge pull request #11444 from albers/bash-completion
Updates to bash completion
2015-03-17 10:25:46 -07:00
Mary Anthony
f60ed98e79 # This is a combination of 2 commits.
# The first commit's message is:

Updating Ubuntu installation to use wget; eliminating elo

Signed-off-by: Mary Anthony <mary.anthony@docker.com>

# This is the 2nd commit message:

Adding in James comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-17 10:15:46 -07:00
Tibor Vass
ed66853697 Merge pull request #11447 from moxiegirl/black-to-back-fixes
Fixing it back
2015-03-17 13:09:16 -04:00
Mary Anthony
241579a34f Fixing it back
Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-17 10:07:09 -07:00
moxiegirl
2ab105e9fe Merge pull request #11433 from moxiegirl/pick-up-tweaks-9882
Return of the Ring: Metadata Labels Doc Tweaks
2015-03-17 09:47:36 -07:00
Arnaud Porterie
1ff5a91007 Merge pull request #10568 from LK4D4/logging_drivers
Logging drivers
2015-03-17 09:45:58 -07:00
Arnaud Porterie
a751cc53a7 Merge pull request #11118 from shishir-a412ed/restriction_username_length
Docker Tag command: Relax the restriction on namespace (username) length from 30 to 255 characters.
2015-03-17 09:41:12 -07:00
Harald Albers
04ca2c1f2b Updates to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-17 17:07:10 +01:00
Arnaud Porterie
cb77ad4757 Merge pull request #11369 from coolljt0725/fix_link
Fix --link to a container which net mode is container
2015-03-17 08:36:33 -07:00
Alexander Morozov
8685af0b13 Merge pull request #11401 from Mashimiao/11385-fix-lxc-conf-error
fix not show error when using --lxc-conf without lxc driver
2015-03-17 08:35:18 -07:00
Alexander Morozov
aba193499e Merge pull request #11436 from sunyuan3/m1
verify MaximumRetryCount for container restart policy
2015-03-17 08:26:22 -07:00
Arnaud Porterie
0c3c645ad7 Merge pull request #11109 from ncdc/pull-by-digest
Add support for referring to images by digest
2015-03-17 08:15:45 -07: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
Lei Jitang
82e2e1a11a Fix --link to a container which net mode is container mode
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-17 07:50:12 -07:00
Andy Goldstein
a2b0c9778f Add ability to refer to image by name + digest
Add ability to refer to an image by repository name and digest using the
format repository@digest. Works for pull, push, run, build, and rmi.

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2015-03-17 10:10:42 +00:00
Jessica Frazelle
6a313e81cc fix TestExportContainerWithOutputAndImportImage on windows
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-17 01:01:52 -07:00
Joseph Kern
5ff122f797 Modified docker export to allow an --output flag
Copied code from CmdSave into CmdExport. This should work, not an expert in the API calls being made. But it does make more sense to have a consistent export/save flag.

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

checkpoint before edits on the export functions

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

Added an --output flag to docker export and created tests.

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

White space cleanup.

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

Docker-DCO-1.1-Signed-off-by: Joseph Kern <jkern@semafour.net> (github: jfrazelle)

checkpoint before edits on the export functions

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

White space cleanup.

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

Added text to reflect a new output option for the export command.

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

Whitespace clean up

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>

Added man page documentation for the new --output flag in export

Signed-off-by: Joseph Kern <joseph.a.kern@gmail.com>
2015-03-17 00:20:19 -07:00
Arnaud Porterie
ad56b5c603 Merge pull request #11437 from duglin/FixLabels
Some fixes for new LABEL stuff
2015-03-16 23:39:59 -07:00
Doug Davis
6784a772ba Some fixed for new LABEL stuff
- command.Commands was missing "Label"
- used the correct error string in dispatcher when LABEL has no args, otherwise
  the test TestBuildMissingArgs will not work
- removed the premature error msg in line_parser that was blocking the
  label() func in dispatcher from showing the err msg in previous bullet
- since LABEL uses the env parser it needs to be added to the replaceEnvAllowed
  list so that proper quote processing will be done.  Especially once
  PR #10431 is merged.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-16 22:53:41 -07:00
s00318865
173642c866 verify MaximumRetryCount for container restart policy
Signed-off-by: s00318865 <sunyuan3@huawei.com>
2015-03-17 13:20:25 +08:00
Mary Anthony
6ddfe883dd Updating with Sven's comments and other tweaks
Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-16 21:49:33 -07: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
Arnaud Porterie
b6ac111abf Merge pull request #9882 from ibuildthecloud/labels
Proposal: One Meta Data to Rule Them All => Labels
2015-03-16 20:20:05 -07:00
Jessie Frazelle
ea25582d9f Merge pull request #10860 from mbentley/curl-install-fix
Add 'extras' virtual package to fix kernel upgrade fallback from aufs to devicemapper
2015-03-16 18:21:11 -07:00
James Turnbull
97a5c584b3 Merge pull request #11429 from tianon/eval-shellinit
Add "eval" to every invocation of "boot2docker shellinit"
2015-03-16 21:19:50 -04:00
Jessie Frazelle
da24ba42e2 Merge pull request #11239 from thaJeztah/docs-tables-in-run-reference
docs: use more tables in run reference and minor fixups
2015-03-16 18:02:42 -07:00
Jessica Frazelle
6c492a2d05 Update docs/base in makefile docs-build.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-16 17:53:54 -07:00
Ma Shimiao
703cab12e7 fix not show error when using --lxc-conf without lxc driver
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-03-17 08:50:17 +08:00
Michael Crosby
e6b18cb66d Merge pull request #11210 from xuhdev/patch-1
Update doc: "docker create" must specify a command
2015-03-16 17:43:17 -07:00
Tianon Gravi
200123b317 Add "eval" to every invocation of "boot2docker shellinit"
See http://unix.stackexchange.com/a/181581 for the rationale behind this change.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-16 18:27:59 -06:00
Jessie Frazelle
f4f10cf43b Merge pull request #11203 from rhatdan/Dockerfile
We had some testers who found a hard to diagnose bug in Dockerfile
2015-03-16 17:26:18 -07:00
Jessie Frazelle
44e9715e46 Merge pull request #10723 from SvenDowideit/takeover-10653
Update sample systemd for container
2015-03-16 17:18:57 -07:00
Jessie Frazelle
c7f5ee9d69 Merge pull request #10816 from SvenDowideit/docker-build-return-code
Add some information about the docker build return code
2015-03-16 17:18:26 -07:00
Darren Shepherd
fae92d5f0a Documentation changes for labels
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-16 17:08:40 -07:00
Jessie Frazelle
87a8658eb6 Merge pull request #11353 from mrunalp/override_default_mounts
Filter out default mounts that are being overriden by the user.
2015-03-16 16:40:32 -07:00
Michael Crosby
9422bc55fa Merge pull request #11332 from icecrime/windows_release
Publish Windows binaries in release script
2015-03-16 16:39:58 -07:00
Jessie Frazelle
213be9ee27 Merge pull request #11427 from LK4D4/fix_alloc_ip6
Fix IPv6 autoallocation from mac with --ipv6-cidr
2015-03-16 16:38:46 -07:00
Tianon Gravi
e6a18da53f Set "Apt::AutoRemove::SuggestsImportant" to "false" in debootstrap
This makes APT be appropriately aggressive about removing packages it added due to `Recommends` or `Depends` if the packages they were added for are removed (even if other packages only have the softer `Suggests` relationship).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-16 17:28:54 -06:00
Phil Estes
d70c5cdcb9 Merge pull request #11426 from dmcgowan/registry-error-cleanup
Quote registry error strings
2015-03-16 19:27:41 -04:00
Michael Crosby
c0b48ab70e Merge pull request #11411 from icecrime/contributing_squash
Detail CONTRIBUTING.md regarding squashing
2015-03-16 16:25:54 -07:00
Michael Crosby
88f437d6c6 Merge pull request #11402 from miminar/err-cleanup
Error formatting cleanups
2015-03-16 16:13:16 -07:00
Michael Crosby
8a6a5929a3 Merge pull request #11416 from mrunalp/update_libcontainer
Update libcontainer to 52a8c004ca94cf98f6866536de828c71eb42d1ec
2015-03-16 15:51:58 -07:00
Arnaud Porterie
241c371976 Publish Windows binaries in release script
Windows client being official supported, publish Docker client Windows
binaries as part of the release.sh script.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-16 15:49:38 -07:00
Mrunal Patel
7804cd36ee Filter out default mounts that are override by user.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-03-16 18:39:50 -04:00
Srini Brahmaroutu
ec92e84b85 Build docker with gccgo, requires host to contain gccgo 5.0
Addresses #9207
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-16 22:38:26 +00:00
Alexander Morozov
491f8ab144 Fix IPv6 autoallocation from mac with --ipv6-cidr
We used slice globalIPv6Network.IP itself, not its copy as expected.

Fixes #10774

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-16 15:36:50 -07:00
Derek McGowan
33c94eb238 Quote registry error strings
Currently when registry error strings contain new line characters only the last line is displayed to the client. Quote the string to ensure the client can see the entire body value.

fixes #11346

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-16 15:32:47 -07:00
Michael Crosby
a2fcae41ef Merge pull request #11343 from hqhq/hq_fix_panic_error
fix panic error when docker stats a stopped container
2015-03-16 15:16:03 -07:00
Mrunal Patel
591f821aee Update libcontainer to 52a8c004ca94cf98f6866536de828c71eb42d1ec
It includes fixes to selinux Getfilecon, mounting sysfs and cgroups.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-03-16 18:13:40 -04:00
Arnaud Porterie
68a9cd63cc Define 'logical unit of work'
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-16 15:09:40 -07:00
Jessie Frazelle
9611b64708 Merge pull request #11424 from dmcgowan/registry-ping-user-agent
Use request factory for registry ping
2015-03-16 15:02:53 -07:00
Jessie Frazelle
f41ba82eb9 Merge pull request #11420 from estesp/reexec-path-fix
Fix relative path execution of docker daemon in reexec.Self()
2015-03-16 14:57:25 -07:00
Tibor Vass
085054db9d Merge pull request #10591 from duglin/ErrUnknownCmd
Generate an error on unknown Dockerfile instruction
2015-03-16 17:47:28 -04:00
Phil Estes
1705ded1d2 Merge pull request #10792 from larsks/bug/10781
fix various problems with iptables.Exists
2015-03-16 17:39:36 -04:00
Jessie Frazelle
2550c306eb Merge pull request #11419 from dmcgowan/fix-test-pull-verified
Fix test pull verified
2015-03-16 14:23:59 -07:00
Derek McGowan
55f0ca94e5 Use request factory for registry ping
Currently when the registry ping is sent, it creates the request directly from http.NewRequest instead of from the http request factory. The request factory adds useful header information such as user agent which is needed by the registry.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-16 14:21:00 -07:00
Michael Crosby
0c2eb5ebfb Merge pull request #11295 from LK4D4/oom_after_dead
Check oom status after container stopped in lxc driver
2015-03-16 14:16:47 -07:00
Lars Kellogg-Stedman
3559b4177e fix various problems with iptables.Exists
This modifies iptables.Exists so that it must be called with an explicit
table and chain.  This allows us (a) to generate an appropriate command
line for "iptables -C", which was not previously possible, and (b) it
allows us to limit our strings.Contains() search to just the table and
chain in question, preventing erroneous matches against unrelated rules.

Resolves #10781

Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2015-03-16 17:14:45 -04:00
Jessie Frazelle
61e7efeadd Merge pull request #11364 from Mashimiao/update-manpage
Update docker manpage
2015-03-16 14:13:27 -07:00
Michael Crosby
66bf7a269a Merge pull request #11300 from Microsoft/10662_jjh_server_factor_serverfd_and_systemd_for_windows
Factor out ServeFD & systemd in server for Linux only (Not Windows)
2015-03-16 14:12:48 -07:00
Sachin Joshi
45262c4cb0 Use syscall consts, check for errors,
Also rename func for non-windows specific names.

Signed-off-by: Sachin Joshi <sachin_jayant_joshi@hotmail.com>
2015-03-16 14:04:56 -07:00
Sachin Joshi
898d2763c5 Move windows console specific implementation in sub package
Signed-off-by: Sachin Joshi <sachin_jayant_joshi@hotmail.com>
2015-03-16 14:04:53 -07:00
Sachin Joshi
d8c3090dd9 ANSI terminal emulation for windows
It is implemented by intercepting and interpreting the output
escape sequence by calling win32 console apis.

In addition the input from win32 console is translated to linux keycodes

Signed-off-by: Sachin Joshi <sachin_jayant_joshi@hotmail.com>
2015-03-16 14:04:49 -07:00
Phil Estes
334aea3441 Fix relative path execution of docker daemon in reexec.Self()
After the new libcontainer API, the reexec.Self() output of the daemon
binary is used as the libcontainer factory InitPath.  If it is relative,
it can't be found at container start time.  This patch solves the
problem by making sure that we return a rooted/absolute path if a
relative path is used.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-16 16:52:00 -04:00
Tianon Gravi
793ebba3d6 Enforce our use of the explicitly frozen images
This requires that any environment where we wish to run the integration-cli tests includes both the `Dockerfile` and `curl`, which has been deemed an appropriate and acceptable trade-off.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-16 14:42:59 -06:00
Alexander Morozov
8ae20d8eba Merge pull request #10977 from robertabbott/10959-progressreader
Moves progressreader from utils to its own package
2015-03-16 12:45:33 -07:00
Mary Anthony
9a78ed8f48 Clarify behavior of docker cp
The STDOUT behavior of cp is not yet released in 1.50 so removed.
Also, tested against 1.5 all other behaviors and extended documentation to match.
Renamed HOSTPATH to HOSTDIR to give a self documenting name.

Adding back in the references to STDOUT
fix the command string
Entering Doug's comment re append and ~/tmp/foo in the glass
Adding in Doug's comments regarding PATHs and missing |-
Updating with James comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-16 12:44:28 -07:00
Derek McGowan
636037c363 Fix test pull verified
Update pull code to consider any layer download or new tag as an update.
Update hello-world frozen image to be explicitly tagged as frozen, to not interfere with pull tests.  The hello-world is used by pull tests because of its small size and there is no other official image with such a size.

fixes #11383

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-16 12:22:00 -07:00
Alexander Morozov
6485d885a0 Merge pull request #11323 from delftswa2014/utils-daemon-windows
Make utils_daemon and volumes.go cross-platform compileable (Windows).
2015-03-16 12:14:30 -07:00
Jessie Frazelle
ed435fb458 Merge pull request #11403 from sapphiredev/typo
Fix minor typo
2015-03-16 10:17:14 -07:00
Qiang Huang
8dc5791f73 fix panic error when docker stats a stopped container
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-16 19:55:34 +08:00
Matt Bentley
b89d04dd62 Add 'extras' virtual package to fix kernel upgrade fallback from aufs to devicemapper
Added checks for the proper kernel support before blindly installing extras package

Fixes #10859

Signed-off-by: Matt Bentley <mbentley@mbentley.net>
2015-03-16 07:46:18 -04:00
Michal Minar
210ab030bc Format error by value
- Use `%v` verb to format errors.
- Give `param` constant in portallocator some better name.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-16 12:05:53 +01:00
Ma Shimiao
3bf125fce3 fix wrong tab completion
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-03-16 19:02:53 +08:00
sapphiredev
4b0744b119 Fix minor typo
Signed-off-by: sapphiredev <se.imas.kr@gmail.com>
2015-03-16 19:50:52 +09:00
Rik Nijessen
1ec2eac50d Make utils_daemon and volumes cross-platform compileable.
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
2015-03-16 11:46:07 +01:00
Sven Dowideit
88924993a2 Merge pull request #11393 from enguerran/patch-1
Ambiguous example in registry_mirror.md
2015-03-16 16:21:00 +10:00
Arnaud Porterie
82f390e139 Merge pull request #11076 from hqhq/hq_use_warning_in_sysinfo
use type WARN for warning
2015-03-15 21:13:23 -07:00
Arnaud Porterie
bc7d1d6ef3 Merge pull request #10298 from hqhq/hq_move_resource_to_hostconfig
move resource options from Config to hostConfig
2015-03-15 17:30:46 -07:00
moxiegirl
a9e19a2672 Merge pull request #11392 from moxiegirl/copy-edit-contribute
Adding in minor copy edits
2015-03-15 08:02:58 -07:00
Enguerran
0cd857d99f Update registry_mirror.md
The syntactic coloration is a little bit ambiguous, I suggest this as a fix.

Signed-off-by: Enguerran Colson <engcolson@gmail.com>
2015-03-15 12:35:43 +01:00
Mary Anthony
dc899c4eaf Adding in minor copy edits
Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-14 21:31:36 -07:00
James Turnbull
495f5e4998 Merge pull request #11321 from duglin/CmdLineTweak
Add "Docker" to Reference pull-down for Command Line
2015-03-14 21:04:25 -06:00
moxiegirl
2830b6fa58 Merge pull request #11297 from moxiegirl/11235-tweak-doc
Consistency in the restart policy docs
2015-03-14 19:58:46 -07:00
Jessie Frazelle
e0cb65b4a9 Merge pull request #11389 from aidanhs/aphs-allow-nonexistent-gid-fix
Correctly check that gid parses as an int
2015-03-14 16:12:35 -07:00
Aidan Hobson Sayers
8ef79ae8e4 Correctly check that gid parses as an int
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-03-14 23:02:53 +00:00
Jessie Frazelle
649d8333ce Merge pull request #11377 from aidanhs/aphs-allow-nonexistent-gid
Allow a non-existent groupid to own the docker socket
2015-03-14 15:01:10 -07:00
Shishir Mahajan
9839e9784d Docker Tag command: Relax the restriction on namespace (username) length from 30 to 255 characters.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-03-14 16:45:44 -04:00
Doug Davis
8a5b50d65d Generate an error on unknown Dockerfile instruction
Instead of just printing a warning and going on, this will generate
an error and stop processing.

This used to be part of #10561 but I decided it might need its own
independent discussion/PR as to not derail #10561.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-13 16:08:34 -07:00
James Turnbull
e2ca237aa2 Merge pull request #11345 from x1022as/cli
Change cli.md to show right `docker rmi` output
2015-03-13 16:33:03 -06:00
Jessie Frazelle
d2f925fb27 Merge pull request #11373 from tianon/move-hack-scripts-back
Move scripts back to hack/, leave docs in project/
2015-03-13 15:26:54 -07:00
Alexander Morozov
02c1dd899a Merge pull request #10238 from miminar/ephemeral-port-range-allocation
Use system's ephemeral port range for port allocation
2015-03-13 15:18:05 -07:00
Alexander Morozov
bdf3a0295d Fail docker logs on all logging drivers apart from 'json-file'
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-13 15:02:09 -07:00
moxiegirl
db39cc8351 Merge pull request #11379 from sbasyal/patch-1
Update Centos links
2015-03-13 13:50:53 -07:00
Tianon Gravi
949a21b55f Move scripts back to hack/, leave docs in project/
This also removes the now-defunct `*maintainer*.sh` scripts that don't work with the new TOML format, and moves a couple not-build-or-release-related scripts to `contrib/` instead.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-13 14:04:08 -06:00
Michael Crosby
a97fbe7d78 Merge pull request #11378 from LK4D4/update_libcontainer
Update libcontainer to 5d6c507d7cfeff97172deedf3db13b5295bcacef
2015-03-13 12:14:54 -07:00
Alexander Morozov
dd6d2cd660 Tests for --log-driver options
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-13 12:13:37 -07:00
Alexander Morozov
47a6afb93f Default 'json-file' logging driver and none logging driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-13 12:13:21 -07:00
Darren Shepherd
03cea0ef23 Docs changes for labels based on feedback
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-13 11:56:33 -07:00
Sabin Basyal
dba4651760 Update Centos links
Signed-off-by: Sabin Basyal <sabin.basyal@gmail.com>
2015-03-13 11:48:09 -07:00
Alexander Morozov
14887e2e1f Interface Logger for logging drivers
Also there is aux datastructure Copier which can copy lines from streams
to Loggers

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-13 11:46:59 -07:00
Alexander Morozov
eade8eac09 Update libcontainer to 5d6c507d7cfeff97172deedf3db13b5295bcacef
It includes new Type() method for Factory, which needed for replacing
execdriver.Driver.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-13 11:33:49 -07:00
Aidan Hobson Sayers
334382a8c3 Allow a non-existent groupid to own the docker socket
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-03-13 18:12:50 +00:00
Darren Shepherd
5de1298f41 Add more tests for labels on containers
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-13 10:02:04 -07:00
Sebastiaan van Stijn
7d89e66dac Add labels documentation
Adds more documentation for labels and adds the label instruction to the
man-pages.

Also included is a document called "Labels - custom meta-data in Docker"
in the user-guide, this is still a work-in-progress I started to describe
the "namespaces" conventions, an example on storing structured data.

I ran a bit "out of steam" (writers block?) on that document, but kept
it in (for now), in case it still ends up useful.

The Remote API documentation changes will need to be moved to the
docker_remote_api_v1.18.md document when rebasing the whole PR.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-13 10:02:04 -07:00
Darren Shepherd
389eee1084 Add docs for container/image labels
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-13 10:02:04 -07:00
Darren Shepherd
abb5e9a077 Set labels on container create
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-03-13 10:02:04 -07:00
Dan Walsh
cdfdfbfb62 Allow specification of Label Name/Value pairs in image json content
Save "LABEL" field in Dockerfile into image content.

This will allow a user to save user data into an image, which
can later be retrieved using:

docker inspect IMAGEID

I have copied this from the "Comment" handling in docker images.

We want to be able to add Name/Value data to an image to describe the image,
and then be able to use other tools to look at this data, to be able to do
security checks based on this data.

We are thinking about adding version names,
Perhaps listing the content of the dockerfile.
Descriptions of where the code came from etc.

This LABEL field should also be allowed to be specified in the
docker import --change LABEL:Name=Value
docker commit --change LABEL:Name=Value

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-13 09:47:09 -07:00
Arnaud Porterie
6374c12fbb Merge pull request #11350 from delftswa2014/utils-directory-windows
Makes `directory` pkg compilable on Windows.
2015-03-13 09:26:08 -07:00
Arnaud Porterie
b44aae395a Merge pull request #11374 from tianon/cpusets
Add CONFIG_CPUSETS to check-config.sh
2015-03-13 09:12:21 -07:00
Tianon Gravi
03de73a5e0 Add CONFIG_CPUSETS to check-config.sh
See also https://bugs.gentoo.org/show_bug.cgi?id=536546:

```console
$ docker run learn/tutorial echo "hello world"
FATA[0001] Error response from daemon: Cannot start container 1d0c0ca5cc7f39a271ec40c1479a80bffb7190fab97392b3453a1fc0b2dc8e78: mountpoint for cpuset not found
```

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-13 09:18:10 -06:00
Steve Francia
e79c91447f Merge pull request #11363 from moxiegirl/split-contribute-out
Breaking out the project into more granular pieces
2015-03-13 08:33:51 -04:00
Michal Minar
40d5406371 Pass buffered file reader to Fscanf instead of string reader
Unless `file` is wrapped with buffered reader, `fmt.Fscanf` will read
just one byte and terminate with `EOF`.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-13 09:40:53 +01:00
Ma Shimiao
fa1fa50160 Update docker manpage
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2015-03-13 15:28:09 +08:00
Mary Anthony
ec728939b1 Breaking out the project into more granular pieces
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-12 22:27:49 -07:00
Phil Estes
88c706e442 Merge pull request #11349 from cpuguy83/11132_better_error_message_on_graph_init
Make errors from graphdriver friendlier
2015-03-12 23:26:35 -04:00
Doug Davis
4e7bf0dde4 Merge pull request #11359 from sunyuan3/m1
correct some daemon spelling mistakes
2015-03-12 22:17:19 -04:00
Yuan Sun
906974b185 correct some daemon spelling mistakes
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-03-13 05:14:56 -04:00
Jessie Frazelle
50c6c675e6 Merge pull request #11351 from tianon/bash-3-frozen
Update "download-frozen-image.sh" with Bash 3 support for msysGit
2015-03-12 18:05:11 -07:00
Michael Crosby
eb435d70c1 Merge pull request #11340 from fredlf/docs-lgtms
Adds Fred, updates docs LGTMs
2015-03-12 14:35:23 -07:00
moxiegirl
e781c9624c Merge pull request #10620 from acbodine/notify_user_of_creds_save
Adds: notify user of login credential persistence for registry
2015-03-12 13:43:20 -07:00
Alexander Morozov
227f60ce76 Merge pull request #10924 from tcnghia/master
engine.Tail() to ignore trailing whitespaces.
2015-03-12 12:55:48 -07:00
Tianon Gravi
27aab3acc6 Update "download-frozen-image.sh" with Bash 3 support for msysGit
This uses a bit of on-disk state in our export directory to emulate our associative array for generating the "repositories" JSON file.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-12 12:32:16 -06:00
Brian Goff
c0f7819905 Make errors from graphdriver init friendlier
In several cases graphdriver were just returning the low-level syscall
error and that was making it all the way up to the daemon logs and in
many cases was difficult to tell it was even coming from the graphdriver
at all.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-12 08:13:00 -07:00
Rick Wieman
46d4f12fbf Makes directory pkg compilable on Windows.
Also makes the test cases platform independent.

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-03-12 15:54:22 +01:00
Tibor Vass
565cff84b1 Merge pull request #11265 from duglin/ScratchSHfix
Fix builder when num of RUN args is 1
2015-03-12 09:30:56 -05:00
Phil Estes
5d174e000f Merge pull request #11269 from tianon/update-simple
Update Dockerfile.simple to include aufs-tools
2015-03-12 10:05:56 -04:00
Brian Goff
d9c6787b4a Merge pull request #11342 from sunyuan3/spellingmistake
correct a spelling mistake
2015-03-12 05:54:49 -07:00
Yuan Sun
a02256577a correct a spelling mistake
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-03-12 09:22:51 -04:00
Deng Guangxing
98610282c2 Change cli.md to show right docker rmi output
`docker rmi` output in docs/sources/reference/commandline/cli.md
is different from real scene. This commit fixes it.

Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-03-12 19:06:48 +08:00
Jessie Frazelle
52f6da2238 Merge pull request #11278 from ahmetalpbalkan/win-cli/fakeGIT
integ-cli: use httpserver container for fakeGIT
2015-03-11 18:19:11 -07:00
Fred Lifton
3bcd2006b5 Adds Fred to list of people and clarifies that docs approval requires only two LGTMS (not a "majority" as it was before Mary and Steve were added).
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2015-03-11 17:38:35 -07:00
Michael Crosby
5494432f91 Merge pull request #11331 from jfrazelle/update-logrus
Update logrus to 0.6.6
2015-03-11 16:18:22 -07:00
Sebastiaan van Stijn
37d856db14 docs: use more tables in run reference and minor fixups
This adds two more tables to the run reference documentation.

- the list of 'modes' for Network settings is now a table.
- the "note" for `--net="host"` was moved from the list to the detailed
  description.
- the 'options' for "Runtime constraints on CPU and memory" are
  now a table
- slightly re-worded the description for "memory" options, e.g.
  "It is not allowed..." was rewriten to "The *container* is not allowed..."
- fix example in "Runtime privilege, Linux capabilities, and LXC configuration"
  being indented twice
- slightly reduced indenting in some `usage` output to be better readable.
- fixes a typo `/ets/hosts` -> `/etc/hosts`

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-11 23:41:57 +01:00
moxiegirl
254b6f8946 Merge pull request #11248 from Finkes/patch-1
improve Debian installation instructions
2015-03-11 15:36:01 -07:00
moxiegirl
cc4095a18c Merge pull request #11280 from MabinGo/docs_api-enable-cors_deprecated
docs: --api-enable-cors is deprecated,updated docs description
2015-03-11 15:28:28 -07:00
moxiegirl
5b5b09275e Merge pull request #11329 from estesp/fix-run-test-doc
Remove escaping from TESTFLAGS; it is no longer required
2015-03-11 15:01:17 -07:00
moxiegirl
24408f1c18 Merge pull request #11325 from duglin/11289-HelpDashF
Minor tweak to build -f text to make it clear Dockerfile is in context
2015-03-11 14:58:38 -07:00
moxiegirl
f960a79b7c Merge pull request #11311 from delftswa2014/11309-add-filter-name
Adds 'name' filter to the CLI reference.
2015-03-11 14:54:51 -07:00
Tibor Vass
d6a6c7d4d9 Merge pull request #11310 from ahmetalpbalkan/win-cli/ping-icmp
integ-cli: remove ICMP dependency from test, use nslookup
2015-03-11 17:53:50 -04:00
Ahmet Alp Balkan
004ac85aa2 integ-cli: remove ICMP dependency from test, use nslookup
As we started running CI machines on Azure cloud and Azure
doesn't have ICMP stack implemented by replacing
`ping 8.8.8.8` with `nslookup google.com`.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-11 14:27:11 -07:00
Jessie Frazelle
c6321931d2 Merge pull request #11326 from cpuguy83/11315_rename_w_daemon_restart
Persist container to disk after rename
2015-03-11 13:44:13 -07:00
Jessie Frazelle
bf35122890 Merge pull request #11330 from ahmetalpbalkan/win-cli/events-daemon-time
integ-cli: Fix clock skew against remote test daemon
2015-03-11 13:40:37 -07:00
Jessie Frazelle
586f75d61c Merge pull request #11333 from crosbymichael/upldate-libcontainer-mar-11
Update libcontainer to aa10040b570386c1ae311c6245b
2015-03-11 13:04:51 -07:00
Brian Goff
c5c72cf151 Persist container to disk after rename
Fixes #11315

After rename occured the graphdb was updated but the container struct
was never commited back to disk, so on daemon restart it loads the old
name again.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-11 12:39:31 -07:00
Dominik Finkbeiner
cddb443da4 improve Debian installation instructions
Signed-off-by: Dominik Finkbeiner <finkes93@gmail.com>
2015-03-11 20:14:32 +01:00
Michael Crosby
c553be5a4f Update libcontainer to aa10040b570386c1ae311c6245b
Includes mqueue label fix and cgroups improvements.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-03-11 11:49:15 -07:00
Jessica Frazelle
89e2e5fc55 Update logrus to 0.6.6
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)
2015-03-11 11:29:13 -07:00
Ahmet Alp Balkan
e424c54d9c integ-cli: fix clock skew against remote test daemon
This fixes the `docker events`-related tests as they have been
failing due to clock skew between CI machine and test daemon on
some other machine (even 1-2 seconds of diff causes races as
we pass local time to --since/--until).

If we're running in same host, we keep using time.Now(), otherwise
we read the system time of the daemon from `/info` endpoint.

Fixes pretty much all events-related tests on windows CI.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-11 10:28:56 -07:00
Jessica Frazelle
4602241f11 Fix clear cache docs release.
Clear the cache for all files. Don't worry about what changed.

Move the docs release script back to the docker/docker repo, so we all can
easily watch the changes.

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)
2015-03-11 10:11:13 -07:00
Phil Estes
ed3f383507 Remove escaping from TESTFLAGS; it is no longer required
In fact, it doesn't work as the bare `\` backslashes are now preserved
and therefore are not valid regex matches on any test, making it not run
any tests at all.  I assume at some point there was a process in the
pipeline that needed escaping, but on master (for quite a while) this
has not worked.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-11 13:09:40 -04:00
moxiegirl
d010bf0d99 Merge pull request #11291 from ahmetalpbalkan/info/system-date
Add system time to /info
2015-03-11 09:43:43 -07:00
Doug Davis
1b46248a33 Minor tweak to build -f text to make it clear Dockerfile is in context
Closes #11289

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-11 09:04:30 -07:00
Doug Davis
779dca61e5 Add "Docker" to Reference pull-down for Command Line
A minor thing, but I noticed that the "Reference" drop-down menu just
says "Command line".  This was fine when we just had one command line,
but now there's also 'Compose command line' and I suspect we may add
others later.  We should qualify the Docker one with the word "Docker"
in front

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-11 07:43:33 -07:00
Doug Davis
645f8a32df Fix builder when num of RUN args is 1
FROM scratch
ADD echo /
RUN [ "echo" ]

will die with
  exec: "/bin/sh": stat /bin/sh: no such file or directory

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-11 07:30:44 -07:00
Tibor Vass
830544044e Merge pull request #11317 from zenlinTechnofreak/helpSuffixSpace
Help suffix space
2015-03-11 10:04:23 -04:00
Tibor Vass
1a5e46ce89 Merge pull request #11316 from ahmetalpbalkan/win-cli/help-homepath-fix
Make use of %USERPROFILE% in cli help message
2015-03-11 09:28:43 -04:00
Zen Lin(Zhinan Lin)
491b63e0da Add checking trailing space for all lines of the help output
Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-11 21:24:30 +08:00
Phil Estes
95dcb27484 Merge pull request #11244 from ChristopherBiscardi/docs-code-fixes
Fix a few code rendering errors in docs
2015-03-11 08:34:53 -04:00
Zen Lin(Zhinan Lin)
2b051bcbda Normalize the log for docker subcommand usage,
delete unecessary blank after "[OPTIONS] "
and add a blank to the log between options and signature.

To make the code style consistency.

Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-11 18:58:32 +08:00
Zen Lin(Zhinan Lin)
f63a29ddee Add the check for suffix of option in each line of help, to make sure no extra space in it
Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-11 18:46:01 +08:00
Ahmet Alp Balkan
802c905000 Make use of %USERPROFILE% in cli help message
An earlier commit was causing docker windows CLI build to not to pick up
the shorthand form for home directory (`%USERPROFILE%`) shown in when
`docker --help` is executed.

Fixing that bug and making the if statement concise and clear.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-11 02:14:49 -07:00
bobby abbott
12b278d354 Remove import to utils in progressreader
Added method in StreamFormatter to handle calls
from progressreader. Solves #10959

Signed-off-by: bobby abbott <ttobbaybbob@gmail.com>
2015-03-11 00:50:27 -07:00
Rick Wieman
179e45f27c Adds 'name' filter to the CLI reference.
Also sorts the filter and fixes the bullet list.

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-03-11 07:41:56 +01:00
Ahmet Alp Balkan
44ffb199d0 integ-cli: use httpserver container for fakeGIT
This change enables `fakeGIT()` to use the new `fakeStorage`
server which is automatically starting a container on the remote test
daemon machine using the git repo directory (when requested).

Fixes the following tests:

- `TestBuildApiLowerDockerfile`
- `TestBuildApiBuildGitWithF`
- `TestBuildApiDoubleDockerfile` (skipped on windows: NTFS case-insensitive)
- `TestBuildFromGIT` (still needs local server)

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-10 22:48:35 -07:00
moxiegirl
558c3b09db Merge pull request #11307 from moxiegirl/fix-contributors-logo
Fixing broken image thanks @SvenDowideit
2015-03-10 22:48:10 -07:00
moxiegirl
dd6f76a76c Merge pull request #10663 from brahmaroutu/events_filterbyname_10645
filter events by container name
2015-03-10 21:16:39 -07:00
moxiegirl
a58f0d47f3 Merge pull request #11306 from x1022as/master
Fix minor typo
2015-03-10 20:55:37 -07:00
Mary Anthony
add13cb782 Fixing broken image
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-10 20:47:06 -07:00
Mabin
0648e59ad8 docs: api-enable-cors is deprecated,updated docs description
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-11 11:38:37 +08:00
moxiegirl
c3c29284ae Merge pull request #11263 from moxiegirl/edit-ilo-new-contribguide
Updating to account for new contributors guide.
2015-03-10 20:36:51 -07:00
Deng Guangxing
ce1a0b612d Fix minor typo
Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
2015-03-11 11:13:39 +08:00
ChristoperBiscardi
4ab18fa2ac Modify ip_forward instructions
Signed-off-by: ChristoperBiscardi <chris@docker.com>
2015-03-10 19:28:55 -07:00
Qiang Huang
837eec064d move resources from Config to HostConfig
Cgroup resources are host dependent, they should be in hostConfig.

For backward compatibility, we just copy it to hostConfig, and leave it in
Config for now, so there is no regressions, but the right way to use this
throught json is to put it in HostConfig, like:
  {
      "Hostname": "",
      ...
      "HostConfig": {
	  "CpuShares": 512,
          "Memory": 314572800,
          ...
      }
  }

As we will add CpusetMems, CpusetCpus is definitely a better name, but some
users are already using Cpuset in their http APIs, we also make it compatible.

The main idea is keep using Cpuset in Config Struct, and make it has the same
value as CpusetCpus, but not always, some scenarios:
 - Users use --cpuset in docker command, it can setup cpuset.cpus and can
   get Cpuset field from docker inspect or other http API which will get
   config info.
 - Users use --cpuset-cpus in docker command, ditto.
 - Users use Cpuset field in their http APIs, ditto.
 - Users use CpusetCpus field in their http APIs, they won't get Cpuset field
   in Config info, because by then, they should already know what happens
   to Cpuset.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-11 09:31:18 +08:00
Qiang Huang
bffe04b582 fix warning messages
Use log.Warnf instead of log.Infof, and remove redundant `WARNING` prefix.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-11 08:47:45 +08:00
Michael Crosby
2772a47519 Merge pull request #10853 from rhatdan/audit_read
Need to support new linux capability AUDIT_READ
2015-03-10 17:28:50 -07:00
Dan Walsh
72f366238f Need to support new linux capability AUDIT_READ
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-10 20:01:06 -04:00
Ahmet Alp Balkan
2977fd2b7a Add system time to /info
This change adds daemon's system time as RFC3339Nano to the `/info` endpoint
and shows in a more readable format (UnixDate) in `docker -D info` output.

I will be using this to fix the clock skew between the remote test host and
the CI machines running `docker events`-related tests as they're using `--since`
and `--until` and the timestamps are not matching when daemon is not on the
same machine.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-10 15:29:05 -07:00
Mary Anthony
10c01fce45 Consistency in the restart policy docs
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-10 15:13:34 -07:00
John Howard (VM)
081c6c76e2 Factor out ServeFD & systemd in server for Linux only (Not Windows)
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-03-10 15:06:16 -07:00
Alexander Morozov
d59212e605 Check oom status after container stopped in lxc driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-10 13:45:13 -07:00
Mary Anthony
933f207fd8 Updating to account for new contributors guide.
Primary links will go to the contributor's guide
Adding in Fred's comments
Tweak list alignment

Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-10 13:30:46 -07:00
Alexander Morozov
13bfbfc84b Merge pull request #11292 from jfrazelle/cleanup-defer
cleanup defer func
2015-03-10 12:46:16 -07:00
Jessica Frazelle
17a784aa09 cleanup defer func
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)
2015-03-10 12:18:43 -07:00
Jessie Frazelle
e4b753c1de Merge pull request #11211 from cpuguy83/ensure_engine_shutdown
Ensure clean engine shutdown on startup errors
2015-03-10 12:13:35 -07:00
Jessie Frazelle
7e47bb6eff Merge pull request #11235 from coolljt0725/fix_default_restart_name
Set default restart policy name to `no` Closes #10874
2015-03-10 12:12:40 -07:00
Jessie Frazelle
8be1671f45 Merge pull request #11288 from estesp/warn-on-localhost-dns
Add warning for --dns flag set to localhost addresses.
2015-03-10 12:03:46 -07:00
Phil Estes
afa92a9af0 Add warning for --dns flag set to localhost addresses.
We should warn users who use the `--dns` command line option to point
DNS to a localhost address, either IPv4 or IPv6.  Unless they have
specifically set up the container as a DNS server or are using
--net=host (which is why this should be allowed, but warned on because
those are pretty unique cases) a localhost address as a resolver will
not reach what they might expect (e.g. expecting it will hit localhost
on the Docker daemon/host).

Added a test for the message, and fixed up tests to separate stdout and
stderr that were using `--dns=127.0.0.1` to test the options.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-10 14:43:17 -04:00
Tibor Vass
d26e3cfd52 Merge pull request #11287 from rhatdan/homedir
If $HOME is not set, return homedir from /etc/passwd
2015-03-10 14:38:30 -04:00
Michael Crosby
7dac3f417d Merge pull request #11267 from thaJeztah/simplify-parser_test
cleanup: simplify parser_test
2015-03-10 11:05:39 -07:00
Michael Crosby
ec7621aab5 Merge pull request #11277 from chenhanxiao/RELEASE-CHECKLIST-typo
RELEASE-CHECKLIST: fix a typo
2015-03-10 10:50:34 -07:00
Michael Crosby
1835665e94 Merge pull request #11290 from LK4D4/fix_lxc_for_new_api
Use CgroupString instead of missing GetCgroupAllowString in lxc_template
2015-03-10 10:39:17 -07:00
Alexander Morozov
821ec8334f Setup user groups in lxc driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-10 09:43:11 -07:00
Phil Estes
1b1cc100f2 Merge pull request #11282 from duglin/FixAPITestCode
Fixup a test for -f processing
2015-03-10 12:10:08 -04:00
Tibor Vass
eb21eb95e5 Merge pull request #11143 from dmcgowan/graph-v2-push-cleanup
Cleanup v2 push logic
2015-03-10 11:56:02 -04:00
Alexander Morozov
c8c11bfc36 Use CgroupString instead of missing GetCgroupAllowString in lxc_template
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-10 08:50:03 -07:00
Tibor Vass
cda003775f Merge pull request #11218 from tianon/refactor-frozen
Refactor busybox downloading as generic "frozen-images"
2015-03-10 11:47:00 -04:00
Jessie Frazelle
2fb89b2e2c Merge pull request #11208 from LK4D4/new_libcontainer_api
New libcontainer api
2015-03-10 07:50:19 -07:00
Dan Walsh
42aec0c771 If $HOME is not set, return homedir from /etc/passwd
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-10 10:00:22 -04:00
Doug Davis
a853f8e468 Fixup a test for -f processing
Thanks to @ahmetalpbalkan for noticing... we had an old check in this
testcase that no longer applied (due to stuff being removing recently).
However, while in there I added a check to make sure that the file referenced
by the query parameter isn't used at all.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-10 05:47:12 -07:00
Chen Hanxiao
8d138eb7fa RELEASE-CHECKLIST: fix a typo
s/cabdidate/candidate
s/can get bring/can bring

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-03-10 05:03:28 -04:00
Michal Minar
0dcc970432 Restructured port range loader
And renamed `GetPortRange` to `PortRange`.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-10 10:02:43 +01:00
Lei Jitang
311a600f19 Set default restart policy name to 'no' Closes #10874
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-10 10:09:12 +08:00
Derek McGowan
d172f1253a Cleanup v2 push logic
Manifest is now generated during a v2 push, not relying on previously generated hashes. When pushing a layer, the hash is directly calculated from the tar contents which will be pushed. Computing the hash on push ensures that the hash contents always match what is seen by the registry. This also mitigates issues with tarsum differences and permits using pure SHA digests.
Additionally the new manifest function is moved to the unit tests since it is no longer called outside the tests.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-09 18:33:15 -07:00
Tianon Gravi
09b4c25852 Refactor busybox downloading as generic "frozen-images"
This makes it much simpler to add new "frozen" images -- simply add them to the `Dockerfile` and in `hack/make/.ensure-frozen-images` and you're off to the races.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-09 19:02:59 -06:00
Tianon Gravi
ece4b5bde8 Update Dockerfile.simple to include aufs-tools
This also updates the comments at the top of the file to note that `-v /var/lib/docker` should be supplied for running `test-integration-cli` and that `hack/dind` is actually also required for `test-unit`.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-09 18:24:49 -06:00
Michael Crosby
c5af44e6d0 Merge pull request #11268 from duglin/FixServerURLUsage
Use server.URL() instead of server.URL
2015-03-09 17:18:32 -07:00
Doug Davis
40c8e78757 Use server.URL() instead of server.URL
Old way now returns the go type instead of the value

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-09 17:00:45 -07:00
Sebastiaan van Stijn
9e63b0d0f9 cleanup: simplify parser_test
parser_test only needed the directory-names for
the tests to run. This replaces f.Readdir() with
f.Readdirnames() to only return the names.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-10 00:55:00 +01:00
Tibor Vass
feb02a2bbf Merge pull request #11159 from duglin/LastModifiedTest
Add an HTTP Last-Modified header testcase
2015-03-09 19:22:27 -04:00
Tibor Vass
aa19a78d3d Merge pull request #11258 from HuKeping/cmdlogin
Remove leading spaces of username when login
2015-03-09 19:02:24 -04:00
Hu Keping
2687502ba4 Remove leading spaces of username when login
When we run `docker login` we will be asked to input our username.

Prior to this PR, "userA" and " userA" will be considered as two
diferrent user, which is not right.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-03-10 07:54:08 +08:00
Alexander Morozov
7c4951d552 Merge pull request #10893 from ahmetalpbalkan/win-cli/BuildViaDockerfileURL-same-host-fix
integ-cli: Implement remote FakeStorage server for build via URL tests
2015-03-09 13:33:40 -07:00
Tibor Vass
02e0a23d80 Merge pull request #10423 from dmcgowan/v2-registry-fix-single-names
Allow single name component repository names
2015-03-09 15:40:22 -04:00
Ahmet Alp Balkan
2e95bb5f1a integ-cli: Implement remote FakeStorage server for build via URL tests
Implemented a FakeStorage alternative that supports spinning
up a remote container on DOCKER_TEST_HOST to serve files over
an offline-compiled Go static web server image so that tests which
use URLs in Dockerfile can build them over at the daemon side.

`fakeStorage` function now automatically chooses if it should
use a local httptest.Server or a remote container.

This fixes the following tests when running against a remote
daemon:

- `TestBuildCacheADD`
- `TestBuildCopyWildcardNoFind`
- `TestBuildCopyWildcardCache`
- `TestBuildADDRemoteFileWithCache`
- `TestBuildADDRemoteFileWithoutCache`
- `TestBuildADDRemoteFileMTime`
- `TestBuildADDLocalAndRemoteFilesWithCache`
- `TestBuildADDLocalAndRemoteFilesWithoutCache`
- `TestBuildFromURLWithF`
- `TestBuildApiDockerFileRemote`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-09 12:03:55 -07:00
moxiegirl
5cbe6820e2 Merge pull request #11232 from estesp/localhost-resolv-docs
Add information on resolv.conf localhost filtering to networking.md
2015-03-09 11:32:38 -07:00
Tianon Gravi
228449b631 Merge pull request #11251 from coolljt0725/add_ulimit_to_bash_completion
Add --ulimit and --default-ulimit to bash completion
2015-03-09 11:30:42 -07:00
Arnaud Porterie
2e518bc831 Merge pull request #11123 from jlhawn/pull_tempfile_copy_log_error
Check for error when copying v2 image blob to temp
2015-03-09 11:14:03 -07:00
Tibor Vass
6ffc57ad5c Merge pull request #11260 from jfrazelle/carry-domain-255
Restrict domain name to 255 characters
2015-03-09 14:09:37 -04:00
Phil Estes
b32bf64f6f Add information on resolv.conf localhost filtering to networking.md
This patch adds detail on how the host's `/etc/resolv.conf` file is
filtered when creating the copy for the container.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-09 13:41:00 -04:00
Tomáš Hrčka
b2f05c2207 Restrict domain name to 255 characters
Signed-off-by: Tomáš Hrčka <thrcka@redhat.com>

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
2015-03-09 10:14:56 -07:00
Jessie Frazelle
6135ec89ad Merge pull request #10896 from albers/bash-completion
Update Bash completion for docker events
2015-03-09 10:02:50 -07:00
moxiegirl
b85c137f1d Merge pull request #11227 from coolljt0725/fix_start_help_message
Fix docker start help message
2015-03-09 09:54:36 -07:00
moxiegirl
8b516bf5ce Merge pull request #11177 from duglin/10805-cp-to-stdot
Add support for 'docker cp' to write to stdout
2015-03-09 09:51:48 -07:00
moxiegirl
da5155a1ad Merge pull request #11213 from SvenDowideit/example-of-how-to-drive-s3-manually
Show how to remove a file from the docs s3 bucket, and then invalidate t...
2015-03-09 09:50:47 -07:00
moxiegirl
08211aab57 Merge pull request #11146 from SvenDowideit/takeover-11126
fix to cpu.shares documentation by @hqhq
2015-03-09 09:48:33 -07:00
Alexander Morozov
057c5e6aa9 Merge pull request #11216 from ahmetalpbalkan/win-cli/TestCliProxyDisableProxyUnixSock-fix
integ-cli: skip test assuming -H is unix://...
2015-03-09 09:09:52 -07:00
Alexander Morozov
c5f9aa18f4 Merge pull request #11219 from icecrime/remove_maintainers_files
Remove subdirectories MAINTAINERS files
2015-03-09 09:02:58 -07:00
Michal Minar
fcf8e85a35 Use default port range in unit tests
Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-09 16:58:14 +01:00
Brian Goff
0e3f2f2ac0 Ensure clean engine shutdown on startup errors
Previously on error either from the daemon or from the api it is just
exiting with exit status 1 but not performing a shutdown.
This can produce insconsistent state depending on where the error came
from.

This makes sure that before we exit on error that the engine gets fully
shutdown.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-09 08:40:38 -04:00
Lei Jitang
fb25a2f2aa Add --ulimit and --default-ulimit to bash completion
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-09 20:36:09 +08:00
Michal Minar
0eb3544c43 Use system's ephemeral port range for port allocation
Read `/proc/sys/net/ipv4/ip_local_port_range` kernel parameter to obtain
ephemeral port range that now sets the boundaries of port allocator
which finds free host ports for those exported by containers.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-03-09 09:13:20 +01:00
ChristoperBiscardi
79a0fa29f1 Fix a few code rendering errors in docs
Signed-off-by: ChristoperBiscardi <chris@docker.com>
2015-03-08 16:18:43 -07:00
Phil Estes
93e78ac8e7 Merge pull request #11225 from coolljt0725/show_error_message
Add docker start show error message form daemon when start failed
2015-03-08 14:39:40 -04:00
Lei Jitang
2a5a50dca7 Fix docker start muliple containers continue on one failed and
add docker start show error message from daemon when start failed

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-08 13:44:25 +08:00
Tibor Vass
1ff904e045 Merge pull request #10813 from chenhanxiao/expose-warning-v2
dispatchers: warn user if try to use EXPOSE ip:hostPort:containerPort
2015-03-08 00:30:27 -05:00
moxiegirl
e5ff907e0c Merge pull request #11231 from thaJeztah/docs-contribute-to-project-fixups-alternative
Cleanup: new project docs fix-ups (alternative) Merging without another LGTM as it only includes line breaks and the bday stuff is moving fast.
2015-03-07 19:17:33 -08:00
Sebastiaan van Stijn
efc625fcd0 Cleanup: new project docs fix-ups (alternative)
This cleans up the recently added project docs and
fixes some minor issues.

- remove inline styles where possible
- add redirects for renamed/replaced documents
- add styles for GitHub labels to match the style on GitHub
- fix minor markdown issues causing some code-blocks
  to be shown as text
- wrap the documents to 80-chars
- use 4 spaces in stead of tabs for identing and remove
  trailing whitespace/redundant blank lines
- optimized 'gordon' image

NOTE:
This alternative commit/PR re-introduces some inline
styles because the docs/base image has not yet been
updated for the current docs.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-07 23:40:34 +01:00
Doug Davis
6f0733a9e3 Merge pull request #11212 from cpuguy83/better_error_message_for_tls_issues
Improve error messages for loading tls keys
2015-03-07 16:47:16 -05:00
Doug Davis
7967fc8119 Merge pull request #11223 from ahmetalpbalkan/win-cli/preserve-SYSTEMROOT
integ-cli: also preserve SystemRoot env var
2015-03-07 14:07:44 -05:00
Lei Jitang
3c37f88aff Fix docker start help message
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-07 20:45:46 +08:00
Ahmet Alp Balkan
d18689dff7 integ-cli: also preserve SystemRoot env var
Windows CI fails to dial remote test host over tcp in the test cases where
we clear environment variables during `exec(dockerBinary, ...)` in the
absence of `SystemRoot` environment variable (typically points to `c:\windows`).

This fixes tests:
- `TestRunEnvironmentErase`
- `TestRunEnvironmentOverride`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-07 01:09:01 -08:00
moxiegirl
faa6fd40f4 Merge pull request #11097 from thaJeztah/11069-run-reference-restart-policies
Docs: add restart-policies to 'Run reference'
2015-03-06 22:08:29 -08:00
Arnaud Porterie
89bdaa35e0 Remove subdirectories MAINTAINERS files
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-03-06 18:21:51 -08:00
Derek McGowan
a0ca9190cc Allow single name component repository names
Private registries should support having images pushed with only a single name component (e.g. localhost:5000/myapp).
The public registry currently requires two name components, but this is already enforced in the registry code.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-03-06 18:18:53 -08:00
Josh Hawn
6564e0ad2f Check for error when copying v2 image blob to temp
The call to io.Copy was not being checked for errors at a critical point in the
pull logic. This patch will log the error value if not nil.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-03-06 18:03:39 -08:00
Brian Goff
2ea6c2c264 Improve error messages for loading tls keys
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-03-06 20:40:09 -05:00
Arnaud Porterie
a59b6f4ce6 Merge pull request #10425 from dmcgowan/registry-maintainers
Add distribution maintainers to maintainers files
2015-03-06 17:37:12 -08:00
Phil Estes
2aab992e17 Merge pull request #11119 from tianon/busybox-from-hub
Download busybox from the Hub instead of GitHub
2015-03-06 18:01:43 -05:00
Alexander Morozov
68ba5f0b69 Execdriver implementation on new libcontainer API
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-06 14:46:58 -08:00
Ahmet Alp Balkan
f6f2bad7ea integ-cli: skip test assuming -H is unix://...
`TestCliProxyDisableProxyUnixSock` verifies that HTTP_PROXY env var is
used when DOCKER_HOST is not set and cli connects to `unix://...` by
default.

In the windows/darwin CLI CIs, daemon is on remote host and we always
connect via `tcp://`, therefore this test fails very straight. Skipping
this test to run only on "same host daemon" assumption.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-06 14:45:26 -08:00
moxiegirl
7924acf420 Merge pull request #11209 from moxiegirl/contribute-update
Contribute update to Project
2015-03-06 14:40:49 -08:00
Hong Xu
fb6fab83df Update doc: specify a dummy command for "docker create"
"docker create" for data containers should specify a dummy command to
avoid accidential "docker start" to cause unexpected data loss.

Signed-off-by: Hong Xu <hong@topbug.net>
2015-03-06 14:37:28 -08:00
Mary Anthony
efde5ec9be Fixing two bad files that got borked in the last rebase
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-06 14:21:17 -08:00
Mary Anthony
8c575f263d Rewrite the Contributing tree as Project in preparation for the Docker birthday.
Signed-off-by: Mary Anthony <mary.anthony@docker.com>

Optimize images, remove old file, add metadata tagging

Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-03-06 14:10:55 -08:00
Sven Dowideit
d1dc24e5db Show how to remove a file from the docs s3 bucket, and then invalidate the cloudflare cache
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-03-06 14:05:26 -08:00
Sven Dowideit
e058b7980d Merge pull request #11195 from ahmetalpbalkan/doc/remote-api-kind
doc/api: explain Kind (ChangeType)
2015-03-07 07:19:29 +10:00
Srini Brahmaroutu
e0fa577378 filter events by container name,id or partial id
Addresses #10645

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-06 19:54:57 +00:00
Alexander Morozov
7910cb5243 update libcontainer to dd3cb8822352fd4acc0b8b426bd86e47e98f6853
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-03-06 11:25:55 -08:00
Phil Estes
cfe5767045 Merge pull request #11202 from coolljt0725/fix_start_hijacked
Fix start container failed hijack the stdin of terminal
2015-03-06 13:48:02 -05:00
moxiegirl
55fc7f5c9d Merge pull request #11204 from duglin/VolumeDocs
Tell users about how VOLUME initializes the new mount point/volume
2015-03-06 10:44:03 -08:00
Tibor Vass
ecea4a9cc2 Merge pull request #11186 from ahmetalpbalkan/win-cli/TestBuild-case-sensitive-fix
integ-cli: skip case-sensitive dockerfile tests on windows
2015-03-06 13:43:01 -05:00
Phil Estes
c94eb28af0 Merge pull request #10675 from brahmaroutu/events_filterbyimage_10645
Allow use of just image name without the tag
2015-03-06 13:38:41 -05:00
Tianon Gravi
f5538dc3bc Merge pull request #11196 from ahmetalpbalkan/win-cli/TestRunCidFileCleanupIfEmpty-fix
integ-cli: fix test requiring scratch
2015-03-06 11:32:35 -07:00
Doug Davis
9be2ca2394 Tell users about how VOLUME initializes the new mount point/volume
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-06 10:25:47 -08:00
Tibor Vass
a6ddb8de42 Merge pull request #11148 from ahmetalpbalkan/win-cli/chmod-x-fix
pkg/archive: adjust chmod bits on windows
2015-03-06 12:28:58 -05:00
Lei Jitang
518fdf972d Fix start container failed hijack the stdin of terminal
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-06 09:06:14 -08:00
Ahmet Alp Balkan
3a70f9d422 integ-cli: fix test requiring scratch
TestRunCidFileCleanupIfEmpty fails on windows/mac because the test runs
the command `docker run scratch` and it gives the following error:

	Unable to find image 'scratch:latest' locally
	Pulling repository scratch
	511136ea3c5a: Download complete
	FATA[0004] 'scratch' is a reserved name

I am not entirely sure if this is a test issue or not but I had a quick
workaround by creating another image using `FROM scratch` and using that.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-06 08:52:40 -08:00
Phil Estes
dd3746973e Merge pull request #11122 from tianon/simple-dockerfile
Add secondary "simple" Dockerfile
2015-03-06 11:52:07 -05:00
Jessie Frazelle
aa1dce8eda Merge pull request #11175 from coolljt0725/fix_build_bash_completion
Fix docker build -f bash completion and docker run bash completion
2015-03-06 15:53:48 +00:00
Dan Walsh
b3769f0ca6 We had some testers who found a hard to diagnose bug in Dockerfile
They used single-quotes (') in the exec-form of onbuild run command
and things blew up.  They asked to fix the man page to explain why.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-06 08:43:57 -05:00
Lei Jitang
00d3727106 Fix docker build and docker run bash completion
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-06 15:35:52 +08:00
Ahmet Alp Balkan
957bc8ac50 remote api: explain Kind (ChangeType)
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-05 19:39:14 -08:00
Doug Davis
2a8a2d2428 Merge pull request #11189 from ahmetalpbalkan/win-cli/archive-path-separator
pkg/archive_windows: make use of os.PathSeparator
2015-03-05 22:25:20 -05:00
Tibor Vass
94fca50de0 Merge pull request #11125 from moypray/http_proxy
docker info display http/https_proxy setting
2015-03-05 20:26:20 -05:00
Ahmet Alp Balkan
8ba64b383d pkg/archive_windows: make use of os.PathSeparator
cc: @jhowardmsft

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-05 17:15:11 -08:00
Zhang Wentao
06a40f0f28 docker info display http/https_proxy setting
Signed-off-by: Zhang Wentao <zhangwentao234@huawei.com>
2015-03-06 09:02:21 +08:00
Ahmet Alp Balkan
d046f56e88 integ-cli: skip case-sensitive dockerfile tests on windows
The tests end up overwriting the `dockerfile` with `Dockerfile` since
windows filesystems are case-insensitive. The following methods are
skipped:

- TestBuildRenamedDockerfile
- TestBuildFromMixedcaseDockerfile

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-05 15:50:15 -08:00
Doug Davis
f3d96e81e9 Add support for 'docker cp' to write to stdout
Closes #10805

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-05 15:22:08 -08:00
Michael Crosby
92e632c84e Merge pull request #11064 from delftswa2014/10970-treesize
Move directory size calculation to pkg/ (fixes #10970)
2015-03-05 13:06:02 -08:00
Michael Crosby
c40993777f Merge pull request #11138 from tianon/go-autogen
Rename .dockerversion to .go-autogen so it's clear that all autogenerated code goes here
2015-03-05 13:00:32 -08:00
Casey Bisson
c8abc52736 installation on Joyent
Signed-off-by: Casey Bisson <casey.bisson@joyent.com>
2015-03-05 12:47:02 -08:00
Michael Crosby
78989424bc Merge pull request #11179 from rhatdan/selinux-fixes
Two SELinux Changes.
2015-03-05 12:19:10 -08:00
Michael Crosby
27acf7b4ac Merge pull request #11156 from jfrazelle/ulimit-skip-lxc
Skip new ulimits test on lxc
2015-03-05 12:18:52 -08:00
Michael Crosby
0bf6015745 Merge pull request #11172 from duglin/5169-LinkEnvDocs
Add some text about env vars when linking containers
2015-03-05 12:18:04 -08:00
Dan Walsh
4eb2fd169f Two SELinux Changes.
daemon/volumes.go

  This SetFileCon call made no sense, it was changing the labels of any
directory mounted into the containers SELinux label.  If it came from me,
then I apologize since it is a huge bug.

The Volumes Mount code should optionally do this, but it should not always
happen, and should never happen on a --privileged container.

The change to

daemon/graphdriver/vfs/driver.go, is a simplification since this it not
a relabel, it is only a setting of the shared label for docker volumes.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-03-05 13:55:44 -05:00
Fred Lifton
e4a90897e1 Merge pull request #11151 from chenhanxiao/See-also-export-import-save-load
docs: add See Also for description of export/import and save/load
2015-03-05 10:35:37 -08:00
Harald Albers
43804baa33 Add bash completion for docker events --filter and --until.
Signed-off-by: Harald Albers <github@albersweb.de>
2015-03-05 19:00:47 +01:00
Doug Davis
3c9425d40d Add some text about env vars when linking containers
In particular, the security implications.

Closes #5169

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-05 09:39:10 -08:00
Brian Goff
620339f166 Merge pull request #11173 from estesp/cleanup-etc-cover-test
Clarify/cleanup "/etc" volume overlays special /etc mounts test
2015-03-05 10:47:36 -05:00
Phil Estes
214eae6f53 Merge pull request #11163 from duglin/RmiTest
Better error message for `docker rmi ''`
2015-03-05 09:49:46 -05:00
Phil Estes
b5036ad5c6 Clarify/cleanup "/etc" volume overlays special /etc mounts test
Added link to original issue and clarified text so someone without any
background on the original issue can understand why the test exists.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-05 09:41:56 -05:00
Jessie Frazelle
7125ae00bb Merge pull request #11168 from estesp/no-inotify-overlayfs
Don't test resolv.conf updater on overlay filesystem
2015-03-05 14:04:22 +00:00
Phil Estes
9057ca2541 Don't test resolv.conf updater on overlay filesystem
The overlay filesystem does not support inotify at this time. The
resolv.conf updater test was passing on overlay-based Jenkins because of
a fluke--because it was DIND, /etc/resolv.conf on the "host" was really
a bind-mounted resolv.conf from the outer container, which means a watch
directly on that file worked as it was not overlay backed.  The new test
(from #10703) unmounts the bind-mounted copy to test create and modify
code-paths, which caused us to hit the issue.

This PR also adds a note to the docs about the lack of auto-update when
using the overlay storage driver.

See https://lkml.org/lkml/2012/2/28/223 for more info on inotify and
overlay.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-03-05 00:22:01 -05:00
Chen Hanxiao
26e85b0db1 dispatchers: warn user if try to use EXPOSE ip:hostPort:containerPort
We could use EXPOSE ip:hostPort:containerPort,
but actually it did as EXPOSE ::containerPort

commit 2275c833 already warned user on daemon side.
This patch will print warning message on client side.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-03-04 21:09:50 -05:00
Chen Hanxiao
cbb149f52f docs: add See Also for description of export/import and save/load
make them reference to each other.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-03-04 20:21:38 -05:00
Sebastiaan van Stijn
8833779ae0 Docs: add restart-policies to 'Run reference'
This moves some information on restart-policies from
the "command line" page to "run reference".

Also fixes some minor typos and adds a "NOTE"
about --rm and --restart not allowed to be combined.

Also removes inline CSS styles from tables,
which will be styled by the stylesheet, and fixes
some minor MarkDown errors (`<` -> &lt;)

depends on https://github.com/docker/docs-base/pull/1

resolves #11069

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-03-05 01:13:53 +01:00
Ahmet Alp Balkan
1a22418f9f pkg/archive: adjust chmod bits on windows
This change modifies the chmod bits of build context archives built on
windows to preserve the execute bit and remove the r/w bits from
grp/others.

Also adjusted integ-cli tests to verify permissions based on the platform
the tests are running.

Fixes #11047.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-04 14:10:37 -08:00
Alexander Morozov
5035fa1e21 Merge pull request #11162 from SvenDowideit/if-nil-call-with-nil
Seems like an un-necessary if statement
2015-03-04 13:59:27 -08:00
Doug Davis
5c05b5c992 Add an HTTP Last-Modified header testcase
Make sure ADD uses the Last-Modified as the mtime of the file.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-04 13:32:38 -08:00
Sven Dowideit
4e5ea0c875 Seems like an un-necessary if statement
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-03-04 13:24:17 -08:00
Doug Davis
eeb36c9348 Better error message for "docker rmi ''"
See: https://github.com/docker/docker/issues/10867

While looking at #10867 I noticed that the error message generated for
a blank image ID wasn't very helpful so this fixes that.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-04 13:21:59 -08:00
Sven Dowideit
26e5a9d76a fix to cpu.shares documentation by @hqhq
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-03-04 13:13:22 -08:00
Qiang Huang
e8dc07dabc docs: fix cpu.shares part in man pages
The original description has some mistakes and lack of many useful
information, I rewrite them to make it accurate and complete.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-03-04 13:01:30 -08:00
Martijn Dwars
e2b8933d21 Move directory size calculation to pkg/ (fixes #10970)
Signed-off-by: Martijn Dwars <ikben@martijndwars.nl>
2015-03-04 21:16:31 +01:00
Alexander Morozov
e0823b09ec Merge pull request #11000 from anandkumarpatel/invalidate-probe
Improve build speed
2015-03-04 11:35:00 -08:00
Jessie Frazelle
7b3ffd5cc0 Merge pull request #10586 from resouer/10532-fix-cors-hardcode
Fix 10532 to change --api-enable-cors to string.
2015-03-04 18:42:20 +00:00
Jessie Frazelle
4bccf278bd Merge pull request #11046 from bfirsh/rename-fig-to-compose
Rename fig to compose
2015-03-04 08:39:01 -08:00
Ben Firshman
a6824ea7f2 Rename fig to compose
It's now at https://github.com/docker/compose

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-03-04 16:35:56 +00:00
Jessica Frazelle
80d585b0c7 Skip new ulimits test on lxc
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-04 08:28:32 -08:00
Phil Estes
2380004d30 Merge pull request #10713 from swagiaal/pickup-created-resolvconf
Update resolv.conf in containers on file creation.
2015-03-04 10:21:36 -05:00
Tibor Vass
973c32c8a0 Merge pull request #11147 from ahmetalpbalkan/archive_test_fix
pkg/archive: rm invalid test case from achive_windows_test.go
2015-03-04 09:51:36 -05:00
Tibor Vass
ffc738225d Merge pull request #11030 from jfrazelle/skip-lxc-remaining-tests
Last three tests skip on lxc.
2015-03-04 09:51:06 -05:00
Jessica Frazelle
321874f376 Last three tests skip on lxc.
Now we can scale lxc tests to all PRs.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-03-04 06:04:25 -08:00
Jessie Frazelle
0f6704f961 Merge pull request #11077 from tianon/debootstrap-PATH
Update debootstrap PATH+chroot handling
2015-03-04 06:01:25 -08:00
Jessie Frazelle
ffc755ac14 Merge pull request #11134 from duglin/CheckMultiLineHelp
Fix 'docker ps --help' so the options don't span more than one line
2015-03-04 05:53:47 -08:00
Phil Estes
e2c79e2b30 Merge pull request #11155 from coolljt0725/add_xfs_magic
Fix docker info show unknown backing filesystem when use xfs
2015-03-04 07:59:23 -05:00
Jessie Frazelle
df7ba57f5f Merge pull request #9437 from cpuguy83/set_rlimits_in_container
Allow setting ulimits for containers
2015-03-04 04:00:17 -08:00
Jessie Frazelle
d64b009bc0 Merge pull request #11133 from zenlinTechnofreak/zenlinFormatBridgeDriver
Just format some logs and notes in /daemon/networkdriver/bridge/driver.g...
2015-03-04 03:57:29 -08:00
Jessie Frazelle
a8b699f5d9 Merge pull request #10798 from ahmetalpbalkan/win-cli/TestEventsUntag-fix
integration-cli: Remove timeout dependency on TestEventsUntag
2015-03-04 03:54:33 -08:00
Jessie Frazelle
beea697be3 Merge pull request #10858 from duglin/10807-MixedcaseDockerfile
Support dockerfile and Dockerfile
2015-03-04 03:52:49 -08:00
Lei Jitang
dd56fa1906 Add xfs fs magic to graphdriver/driver.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-03-04 19:01:39 +08:00
moxiegirl
98630b2ef6 Merge pull request #11051 from bdehamer/add-registry-api-client-library
Add reference to docker-reg-client
2015-03-03 20:41:42 -08:00
Ahmet Alp Balkan
baebff38d5 pkg/archive: rm invalid test case from achive_windows_test.go
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-03 18:42:52 -08:00
Doug Davis
15924f2385 Support dockerfile and Dockerfile
Closes #10807

Adds support for `dockerfile` ONLY when `Dockerfile` can't be found.
If we're building from a Dockerfile via stdin/URL then always download
it a `Dockerfile` and ignore the -f flag.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-03 18:38:50 -08:00
Fred Lifton
5929f401fc Merge pull request #11091 from chenhanxiao/See-also-login-start
docs: add See Also for description of login/logout and start/stop
2015-03-03 14:49:59 -08:00
Srini Brahmaroutu
ce02578317 Allow use of just image name without the tag
Addresses #10645

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-03-03 22:38:45 +00:00
Fred Lifton
b47ab8cfa3 Merge pull request #11140 from SvenDowideit/correct-notes-markup
Notes should be indented
2015-03-03 14:16:56 -08:00
Sven Dowideit
93c82360a6 Notes should be indented
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-03-03 13:58:35 -08:00
Tianon Gravi
8625a281c6 Rename .dockerversion to .go-autogen so it's clear that all autogenerated code goes here
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-03 12:42:38 -07:00
Doug Davis
5595da2bde Fix 'docker ps --help' so the options don't span more than one line
and add a testcase to catch this in the future.

While in there I also:
- removed extra periods from the few options that had them (new test)
- made the --filter option consistent across all command

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-03-03 10:02:23 -08:00
Zen Lin(Zhinan Lin)
2c0e027ab9 Just format some logs and notes in /daemon/networkdriver/bridge/driver.go
Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-03 23:39:04 +08: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
resouer
dc0a6c1f5e Rebase & update api doc v1.18 instead
Signed-off-by: harry zhang <resouer@163.com>
2015-03-03 12:32:17 +08:00
resouer
f3dd2db4ff Add cors header flag and leave boolean flag not changed
Deprecate api-enable-cors

Update docs & man files

Signed-off-by: harry zhang <resouer@163.com>
2015-03-03 11:21:19 +08:00
Tianon Gravi
dec67f7f57 Update contrib/mkimage/debootstrap whitespace for consistency
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-02 18:33:38 -07:00
Jessie Frazelle
8e107a9321 Merge pull request #11121 from shishir-a412ed/docker_help_issue
Fix: docker -d -h start daemon instead of showing help menu
2015-03-02 15:40:27 -08:00
Tianon Gravi
5118f1431c Add secondary "simple" Dockerfile
This is the absolute bare minimum necessary to compile and test Docker -- this is going to be especially useful for testing and verifying assumptions.

With this, we can setup a Jenkins job that tests to ensure that all the work we do to make sure our build scripts and tests don't contain assumptions is not effort spent in vain.

This is important because this is the kind of bare-bones stock environment our packagers build in.  Additionally, this verifies that our scripts will work reasonably on other platforms (such as Darwin and Windows) as well.

Assumptions existing tests make that currently fail:

- `registry-v2` exists as a binary in `$PATH` (FIXED IN #11005 🎉)
- `unprivilegeduser` exists as a user in `/etc/passwd`

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-02 15:20:16 -07:00
Shishir Mahajan
0ab28c6589 Fix: docker -d -h start daemon instead of showing help menu
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-03-02 17:01:56 -05:00
Alexander Morozov
32ccde46dd Merge pull request #11106 from MabinGo/fix_log_info
Fix some revision about log output
2015-03-02 13:55:43 -08:00
Tianon Gravi
351074edcd Download busybox from the Hub instead of GitHub
This downloads a specific image ID of `busybox:latest` from the Hub directly (within the `Dockerfile`, ready for `docker load`) instead of grabbing the source from GitHub and doing a `docker build` at daemon start time.  This ensures the test suite runs more consistently.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-02 14:38:19 -07:00
Jessie Frazelle
f92213af88 Merge pull request #11005 from ahmetalpbalkan/win-cli/RegistryV2-skip
integ-cli: skip tests launching registry-v2
2015-03-02 12:41:21 -08:00
Jessie Frazelle
c5ecdfd878 Merge pull request #10971 from Microsoft/10662-api_server_factor_out_windows
api\server: Factored out UnixHttp on Windows, supported on Linux only.
2015-03-02 12:40:20 -08:00
Jessie Frazelle
bedf3f8f20 Merge pull request #11006 from ahmetalpbalkan/win-cli/TestCommitChange-fix
integ-cli: fix TestCommitChange for pulled busybox
2015-03-02 12:39:34 -08:00
moxiegirl
377e62aa02 Merge pull request #11111 from zenlinTechnofreak/zlFixDriverNote
fix err in note at daemon/networkdriver/bridge/driver.go
2015-03-02 12:31:37 -08:00
Jessie Frazelle
2bfa701f45 Merge pull request #10986 from crosbymichael/create-api-type
Create api types package for structured responses
2015-03-02 12:22:02 -08:00
Jessie Frazelle
1500503b29 Merge pull request #11055 from MabinGo/checkfileoper2
when the file that was opened has been read into buffer, the file should be closed
2015-03-02 12:18:14 -08:00
Jessie Frazelle
82aa950f4e Merge pull request #11054 from MabinGo/checkfileoper1
Add the file close operation before function return to advoid resource leaking
2015-03-02 10:44:26 -08:00
Phil Estes
738bdec490 Merge pull request #11083 from MabinGo/minor_typo
Modify the minor typo in deviceset.go
2015-03-02 13:11:14 -05:00
Tibor Vass
360adc707b Merge pull request #11112 from tianon/bashrc-for-tibor-♥
Add support for an optional ".bashrc" file
2015-03-02 13:02:39 -05:00
Tianon Gravi
c62230a879 Add support for an optional ".bashrc" file
If `.bashrc` exists at the root of the source tree, it will be used as the `~/.bashrc` inside the container.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-03-02 10:33:26 -07:00
Zen Lin(Zhinan Lin)
e5bc50b5cd fix err in note at daemon/networkdriver/bridge/driver.go
Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-03 00:52:53 +08:00
Phil Estes
89db94ecf9 Merge pull request #11003 from brahmaroutu/rename_10996
Prefix / is ignored when container is renamed
2015-03-02 09:48:07 -05:00
moxiegirl
6bbf5c3e99 Merge pull request #11060 from dmitrygusev/docs-improvements
Docs improvements typo fixes and consistency
2015-03-02 06:46:17 -08:00
Phil Estes
a3dc3bb758 Merge pull request #11073 from zenlinTechnofreak/zenlinlogerrfix
To avoid the confusing in log, change '%s' to '%q', change the question ...
2015-03-02 09:30:59 -05:00
Phil Estes
5c2a602b4e Merge pull request #11096 from MabinGo/fix_comments_typo
fix wrong description and typo in daemon/graphdriver/devmapper/deviceset.go
2015-03-02 08:55:51 -05:00
Zen Lin(Zhinan Lin)
08ea03ccb9 To avoid the confusing in log, change '%s' to '%q', change the question sentence to a reminding sentence.
Signed-off-by: Zen Lin(Zhinan Lin) <linzhinan@huawei.com>
2015-03-02 19:14:22 +08:00
Mabin
adfd1ddfc6 Fix some revision about log output
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-02 17:06:38 +08:00
Mabin
f4ac86de84 fix typo of comments in daemon/graphdriver/devmapper/deviceset.go
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-03-02 02:11:15 +08:00
Chen Hanxiao
41dc0e08d3 docs: add See Also for description of login/logout and start/stop
make them reference to each other.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-03-01 01:36:00 -05:00
moxiegirl
a61716e5d9 Merge pull request #11089 from thaJeztah/carry-11063-update-mac-links
Fix incorrect https example in mac.md (carry of 11063).  This is a fix for a typo. And a single line tweak.
2015-02-28 16:05:47 -08:00
Sebastiaan van Stijn
1d4b2524ec Fix incorrect https example in mac.md (carry of 11063)
The document referenced https but was using the http port. I changed the
examples from https to http.

Also, fyi, when I tried accessing https using the correct 443 port, it
did not work. I have not investigated why. Port 80 worked fine.

For me:
jay-mac:.ssh jay$ docker port web
80/tcp -> 0.0.0.0:49153
443/tcp -> 0.0.0.0:49154
jay-mac:.ssh jay$ boot2docker ip
192.168.59.103

works: http://192.168.59.103:49153/
fails: https://192.168.59.103:49154/

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-02-28 22:13:03 +01:00
Doug Davis
1dddf8a9a6 Merge pull request #11075 from coolljt0725/fix_minor_typo
Fix a minor typo in daemon/container.go
2015-02-28 09:24:28 -05:00
Lei Jitang
40dc18e2fa Fix a minor typo in daemon/container.go
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-28 18:43:28 +08:00
Mabin
5c1559a754 Modify the minor typo in deviceset.go
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-02-28 18:04:10 +08:00
Tianon Gravi
91770ec9e4 Adjust contrib/mkimage/debootstrap PATH handling to be more robust
Instead of applying it only for the final `chroot`, this adds a chroot helper function to apply it appropriately for every chroot, including making sure that we find `chroot` in our current host `PATH` in case it's in a strange place.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-28 00:11:55 -07:00
Damjan Georgievski
a871327135 export a proper debian PATH for the chroot
when running in the chroot, it would be expected to have a Debian-ish environment,
most important the PATH variable. Otherwise the host PATH would be used which can wrong
for Debian, especially if the host is Arch (which doesn't have /bin, /sbin or /usr/sbin).

Signed-off-by: Damjan Georgievski <gdamjan@gmail.com>
2015-02-27 23:56:42 -07:00
Jason Stangroome
ed3fe85ba3 Correct IP/MAC address generation docs
The MAC address is generated from the IP address, not the other way.

Signed-off-by: Jason Stangroome <jason@codeassassin.com>
2015-02-28 10:05:06 +11:00
Jessie Frazelle
b52a2cfdf1 Merge pull request #11070 from jfrazelle/fix-racyevents-test
fix racy events test
2015-02-27 14:50:17 -08:00
Jessica Frazelle
202709d178 fix racy events test
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-02-27 14:48:39 -08:00
Srini Brahmaroutu
caaae78247 Prefix / to the container name is ignored when container is renamed
Closes #10996

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-02-27 22:40:04 +00:00
Dmitry Gusev
39b3690ba1 Update cli.md
Use `-it` combination in example instead of `-ti`, because this is how it used everywhere in examples.

Update dockerfile_best-practices.md

Fix typo in command name

Signed-off-by: Dmitry Gusev <dmitry.gusev@gmail.com>
2015-02-27 23:18:32 +03:00
Jessie Frazelle
2768ce0e4e Merge pull request #10998 from jfrazelle/fix-filter-events-test-better
Fix events test so it doesnt need new daemon
2015-02-27 12:05:48 -08:00
Jessie Frazelle
314a678da7 Merge pull request #11037 from coolljt0725/add_parse_mac
Add validate the input mac address on docker run command
2015-02-27 12:03:25 -08:00
Jessie Frazelle
13030add69 Merge pull request #11011 from coolljt0725/fix_rmi_conflict
Fix docker remove an image show misleading conflicts
2015-02-27 12:00:12 -08:00
Jessie Frazelle
1061c56a5f Merge pull request #11002 from ahmetalpbalkan/win-cli/dockerfile-path-fix
Support windows style dockerfile paths for build cmd
2015-02-27 11:57:19 -08:00
Mabin
b5eeab6e06 Add the file close operation before function return to advoid resource leaking
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-02-28 00:24:41 +08:00
Lei Jitang
2ba0fbb0ae Add validate the input mac address on docker run command
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-27 07:27:12 -08:00
Mabin
d5ea4bae4a when the file that was opened has been read into buffer, the file should be close.
Signed-off-by: Mabin <bin.ma@huawei.com>
2015-02-27 19:09:17 +08:00
Ahmet Alp Balkan
c1b7792186 integ-cli: fix TestCommitChange for pulled busybox
If the tests are running outside a container (i.e.
executed without `make test`), we are using a `busybox`
pulled from Docker Hub (not jpatezzo's docker-busybox).

That one adds an extra
`PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`
env var all the time and that messes the test `TestCommitChange`.
That's currently breaking the windows CI.

I'm keeping the same PATH here but making it explicit
so that it's always set and we verify what we set. It's actually the same
thing if I set `ENV PATH foo` here but I thought it may lead to some
problems hard to debug in the future.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-26 20:08:16 -08:00
Phil Estes
f5850e8e30 Merge pull request #11017 from brahmaroutu/random_10962
moving random.go from utils
2015-02-26 21:35:42 -05:00
Jessie Frazelle
fe554589c0 Merge pull request #11013 from delftswa2014/10965-timeout
Move TimeoutConn to seperate pkg dir.
2015-02-26 17:40:42 -08:00
Jessie Frazelle
bcbe70588d Merge pull request #11029 from brahmaroutu/fixtest_10963
When --net=none enabled, the test uses local filesystem
2015-02-26 17:30:02 -08:00
Jessie Frazelle
94553f1ba6 Merge pull request #10902 from estesp/10855-fix-add-host-doc
Correct --add-host documentation regarding host IP address retrieval
2015-02-26 17:25:01 -08:00
Brian DeHamer
4835430165 Add reference to docker-reg-client
Update the "Docker Remote API Client Libraries" documentation page to
include a reference to the Go-based docker-reg-client package.

Signed-off-by: Brian DeHamer <brian@dehamer.com>
2015-02-26 13:03:39 -08:00
Jessie Frazelle
ac2521b87c Merge pull request #11044 from moxiegirl/fix-image-11043
Rep README Fixing broken logo image
2015-02-26 13:03:14 -08:00
Jessie Frazelle
082b7726e2 Merge pull request #11007 from ahmetalpbalkan/context-close-cleanup
integ-cli: Add a few missing context cleanups
2015-02-26 11:05:30 -08:00
Srini Brahmaroutu
53ece336dc moving random.go from utils
Closes #10962
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-02-26 18:31:18 +00:00
Srini Brahmaroutu
17b6583a5a When --net=none enabled, the test uses local filesystem
Closes #10963
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-02-26 18:24:34 +00:00
Doug Davis
1d6f469764 Merge pull request #11036 from liusdu/fix-typo
fix a minor typo in daemon/exec.go
2015-02-26 10:02:46 -08:00
Mary Anthony
02639c03b7 Smaller image
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-02-26 08:48:58 -08:00
Mary Anthony
2e567d22da Fixing broken logo image
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-02-26 08:45:59 -08:00
Jessie Frazelle
9324cdac07 Merge pull request #10831 from MalteJ/ipv6-ndp-proxy
Adding IPv6 NDP Proxying documentation
2015-02-26 07:19:36 -08:00
Sven Dowideit
7a93d52ea4 Merge pull request #11039 from SvenDowideit/fix-missing-compose-docs
Missed to added doc files
2015-02-27 01:13:35 +10:00
Sven Dowideit
7646e3f957 Missed to added doc files
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-27 01:10:50 +10:00
Liu Hua
5b794c413a fix a minor typo in daemon/exec.go
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-02-26 19:11:27 +08:00
Tibor Vass
7e2328b76e Merge pull request #10869 from SvenDowideit/extract-docs-base
Extract docs base
2015-02-25 23:16:46 -05:00
Lei Jitang
d9d9175507 Fix docker remover an image show misleading conflicts
due to its dependency is tagged to multiple repositories

Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-26 12:01:35 +08:00
Sven Dowideit
6d4b0f5334 update the mkdocs.yml to add new docs
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 12:11:29 +10:00
James Turnbull
f8dbcdc599 Merge pull request #10940 from 1HLtd/master
docs/man/docker.1.md: spelling mistake fix
2015-02-25 20:45:46 -05:00
Sven Dowideit
0365e8c204 set the document meta-data for the orchestration docs to turn off the docker-version documentation dropdown, asit doesn't apply
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 11:41:39 +10:00
Sven Dowideit
ac47a87740 Manually place the orchestration docs into the menu
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 11:41:39 +10:00
Sven Dowideit
8d4459fffb Don't require Docker 1.5.0 for docker build -f docs/Dockerfile
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 11:41:39 +10:00
Sven Dowideit
3e84b9e56a Import docs from swarm, machine and compose repositories,
Also add the image spec from the code area to show we're building from the repo-root now

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 11:41:39 +10:00
Sven Dowideit
ab545aed4c Simplify the existing docs building by extracting the main Dockerfile into a docs/base Hub image
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-26 11:41:39 +10:00
Brian Goff
3f39050637 Allow setting ulimits for containers
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-25 19:37:43 -05:00
Jessie Frazelle
321f4f0683 Merge pull request #11025 from crosbymichael/test-rm-dev
Reinit slice for each dir in search
2015-02-25 16:18:05 -08:00
Michael Crosby
8be8e41429 Reinit slice for each dir in search
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-25 15:53:07 -08:00
Michael Crosby
481e75203d Merge pull request #10510 from ashahab-altiscale/9875-lxc-image-layer
Added /dev paths to layer comparison
2015-02-25 14:52:31 -08:00
AnandkumarPatel
1a5ea50aa8 Remove comment and b.UtilizeCache check.
Signed-off-by: AnandkumarPatel <anandkumarpatel@gmail.com>
2015-02-25 14:04:35 -08:00
Michael Crosby
9a2e58dd29 Merge pull request #10498 from ashahab-altiscale/9875-lxc-stats
Implements stats for lxc driver
2015-02-25 13:46:18 -08:00
Rik Nijessen
7e7646c28a Rename package timeout to timeoutconn.
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
2015-02-25 20:52:37 +01:00
AnandkumarPatel
2420c1f03b Add cacheBusted flag which gets set on the first cache miss
Refactor of probeCache function

Signed-off-by: AnandkumarPatel <anandkumarpatel@gmail.com>
2015-02-25 10:27:32 -08:00
Jessie Frazelle
21811f0786 Merge pull request #11001 from ahmetalpbalkan/win-cli/TestRunNoDupVolumes-fix
integ-cli: pass unix paths to TestRunNoDupVolumes
2015-02-25 09:47:30 -08:00
Alexander Morozov
711175d666 Merge pull request #11004 from ahmetalpbalkan/win-cli/TestRunBindMounts-skip
integ-cli: skip TestRunBindMounts (same-host daemon requirement)
2015-02-25 09:37:15 -08:00
John Howard (VM)
69246e1527 api\server: Factored out UnixHttp on Windows, supported on Linux only.
Signed-off-by: John Howard <John.Howard@microsoft.com>
2015-02-25 09:24:34 -08:00
Rik Nijessen
690a85797e Move TimeoutConn to seperate pkg dir.
Fixes #10965
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
2015-02-25 17:09:47 +01:00
Phil Estes
f8a146311d Correct --add-host documentation regarding host IP address retrieval
Fixes: 10855

The example was actually incorrect for many situations, and also, now
that we have IPv6 we should not that the example is for IPv4 and note
how to find IPv6 addresses.  Also, the device they want to connect to
could be the bridge, or main ethernet device, or some other device
name, so note that as well.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-25 09:56:58 -05:00
Ahmet Alp Balkan
f6e95ef3a4 integ-cli: a few context cleanups
These cleanup calls were forgotten, adding these to
reduce garbage on windows CI machines.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-25 01:09:06 -08:00
Ahmet Alp Balkan
e2aa8f0cd9 integ-cli: skip tests launching registry-v2
Some pull/push tests are launching `registry-v2`
binary which is compiled and installed if the tests
are running in-container through `make test-integration-cli`.

However, registry is not supported to run on non-linux
platforms and we can't really spin up any registry-v2
containers in the remote DOCKER_TEST_HOST at this point.

Just skipping those with the new TestRequirement called
`RegistryHosting`.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 23:19:59 -08:00
Ahmet Alp Balkan
26444e5e9a integ-cli: skip TestRunBindMounts (same-host daemon requirement)
`TestRunBindMounts` requires daemon to be on the same host.
Running this cli test on Linux is fair enough coverage for
this functionality and we can skip this for platforms where
daemon cannot run side-by-side with the cli for now.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 21:04:47 -08:00
Ahmet Alp Balkan
5ecab9e831 Support windows style dockerfile paths for build cmd
Currently TestBuildRenamedDockerfile fails since passing
custom dockerfile paths like:

    docker build -f dir/file .

fails on windows because those are unix paths. Instead, on
windows accept windows style paths like:

    docker build -f dir\file .

and convert them to unix style paths using the helper we
have in `pkg/archive` so that daemon can correctly locate
the path in the context.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 20:23:53 -08:00
Ahmet Alp Balkan
db1f8f7481 integ-cli: pass unix paths to TestRunNoDupVolumes
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 18:50:55 -08:00
AnandkumarPatel
1e746a8a2b Set UtilizeCache to false on cache miss
Signed-off-by: Anandkumar Patel <anandkumarpatel@gmail.com>

Signed-off-by: AnandkumarPatel <anandkumarpatel@gmail.com>
2015-02-24 18:29:26 -08:00
Jessica Frazelle
9aff77156b Fix events test so it doesnt need new daemon
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

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)
2015-02-24 18:28:16 -08:00
Alexander Morozov
309eec2378 Merge pull request #10999 from ahmetalpbalkan/win-cli/SameHostDaemon-skips-3
integ-cli: Skip some exec tests requiring same-host daemon
2015-02-24 17:17:23 -08:00
Ahmet Alp Balkan
e6f88f091d integ-cli: Skip some exec tests requiring same-host daemon
This skips tests:
- `TestRunExecDir`
- `TestRunMutableNetworkFiles`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 16:39:42 -08:00
Jessie Frazelle
1060a5334e Merge pull request #10995 from ahmetalpbalkan/win-cli/SameHostDaemon-skips-2
integ-cli: Skip new tests requiring same-host daemon
2015-02-24 16:36:11 -08:00
Jessie Frazelle
8974f61fa3 Merge pull request #10997 from ahmetalpbalkan/win-cli/TestSaveDirectoryPermissions-fix
integ-cli: remove bash dependency from TestSaveDirectoryPermissions
2015-02-24 16:31:04 -08:00
Ahmet Alp Balkan
cfc8372c0a integ-cli: Skip new tests requiring same-host daemon
This skips tests:
- `TestExecAfterContainerRestart`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 16:30:22 -08:00
Ahmet Alp Balkan
c3e28351a1 integ-cli: remove bash dependency from TestSaveDirectoryPermissions
Use the new `runCommandPipelineWithOutput` helper to
remove bash dependency required for piping in
`TestSaveDirectoryPermissions`.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 15:52:06 -08:00
Jessie Frazelle
11717741fd Merge pull request #10989 from ahmetalpbalkan/win-cli/TestCliProxyProxyTCPSock-skip
integ-cli: skip TestCliProxyProxyTCPSock on remote daemon
2015-02-24 15:47:46 -08:00
Michael Crosby
f57c26553b Add ContainerCreateResponse type
This type is produced on the server side and is a type safe struct that
can be encoded to json.  It is consumed via the client.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-24 15:27:49 -08:00
Michael Crosby
435d654b09 Merge pull request #10837 from ahmetalpbalkan/win-cli/readContainerFile-with-exec
integration-cli: readContainerFileWithExec for links tests
2015-02-24 15:24:48 -08:00
Tibor Vass
e7dc7a6342 Merge pull request #9123 from rhatdan/commit-change
Patch to commit-change patch to add docker import support
2015-02-24 17:09:10 -05:00
Michael Crosby
bd95269fb9 Merge pull request #10935 from coolljt0725/fix_commit
Fix docker commit make a paused container to unpaused
2015-02-24 13:28:32 -08:00
Michael Crosby
a7cacbeb1d Merge pull request #10957 from tianon/cleanup-autogen
Cleanup "autogen/" if we have successful build
2015-02-24 13:25:46 -08:00
Michael Crosby
478a9462e8 Merge pull request #10980 from miminar/fix-volumes-from
Fixed bad handling of "container not found" error
2015-02-24 13:23:34 -08:00
Michael Crosby
7d62ebf278 Merge pull request #10985 from jfrazelle/add-tools-doc
add tools doc
2015-02-24 13:13:45 -08:00
Michael Crosby
aa2b3c668b Merge pull request #10984 from thaJeztah/do-re-mi
Order maintainers alphabetically
2015-02-24 13:13:08 -08:00
Jessie Frazelle
3b484c9554 Merge pull request #10988 from ahmetalpbalkan/TestBuildAddBadLinks-leftover-rm
Remove leftover debugging artifact in test
2015-02-24 12:47:55 -08:00
Ahmet Alp Balkan
6a9edfdc3b integ-cli: skip TestCliProxyProxyTCPSock on remote daemon
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 12:04:33 -08:00
Ahmet Alp Balkan
e9e993922d Remove leftover debugging artifact in test
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-24 11:44:14 -08:00
Jessica Frazelle
e63a693c6d add tools doc
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)
2015-02-24 11:05:05 -08:00
Michael Crosby
7fed7d7eb4 Move stats api types into api/types package
Move the stats structs from the api/stats package into a new package
api/types that will contain all the api structs for docker's api request
and responses.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-24 10:47:47 -08:00
Michael Crosby
d0bc3537d7 Merge pull request #10982 from msabramo/CONTRIBUTING_tweaks
CONTRIBUTING.md: punctuation fixes
2015-02-24 10:02:58 -08:00
Dan Walsh
4a9fa9650b I am only seeing the values I set
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-02-24 13:01:36 -05:00
Dan Walsh
17abfc3ddc pass --change changes to the import job
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-02-24 13:01:36 -05:00
Dan Walsh
5767548fa7 add docs for commit --change
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-02-24 13:01:36 -05:00
Michael Crosby
3210d13fc8 Return error on invalid --change command
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Docker-DCO-1.1-Signed-off-by: Michael Crosby <crosbymichael@gmail.com> (github: rhatdan)
2015-02-24 13:01:35 -05:00
Daniel, Dao Quang Minh
6d4cd446fe instantiate the builder job in commit integration tests
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: rhatdan)
2015-02-24 13:01:35 -05:00
Daniel, Dao Quang Minh
b30257ccf9 support changes in commit job
In addition to config env, `commit` now will also accepts a `changes` env which
is a string contains new-line separated Dockerfile instructions.
`commit` will evaluate `changes` into `runconfig.Config` and merge it with
`config` env, and then finally commit a new image with the changed config

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: rhatdan)
2015-02-24 13:01:35 -05:00
Dan Walsh
7f091eca70 build_config job: parse dockerfile ast into config
Instead of building the actual image, `build_config` will serialize a subset of
dockerfile ast into *runconfig.Config

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-02-24 13:01:35 -05:00
Daniel, Dao Quang Minh
f8e77dfb3d pass --change changes to the commit job
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: rhatdan)
2015-02-24 13:01:35 -05:00
Abin Shahab
3bd3f7854a Restored removed docker init options
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-02-24 16:59:04 +00:00
Sebastiaan van Stijn
681182ea7a Re-order maintainers
Because they should be ordered alphabetically.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-02-24 17:49:03 +01:00
Marc Abramowitz
301b3ffbbb CONTRIBUTING.md: punctuation fixes
Signed-off-by: Marc Abramowitz <marc@marc-abramowitz.com>
2015-02-24 08:21:49 -08:00
Michal Minar
d96e885314 Fixed bad handling of "container not found" error
Create container job could fail because a container specified with
`--volumes-from` does not exist. This error is not propagated to client
though. Instead it's recognized by higher levels as "image not found".
Client then tries to pull the image and launch the container again.

This patch changes the lower level error message so that it's not
recognized as "image not found" and thus it's propagated to client.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-02-24 15:52:47 +01:00
Lei Jitang
7c7c7f84dc Fix docker commit make a paused container to unpaused. Closes #10932
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-24 03:28:40 -08:00
Sven Dowideit
1d27930faa Merge pull request #10724 from SvenDowideit/takeover-10470
Update best practices for entrypoint.
2015-02-24 15:32:16 +10:00
Sven Dowideit
ad2063ca84 Merge pull request #10923 from bradleywright/patch-1
Fix erroneously wrapped URLs in links
2015-02-24 15:31:40 +10:00
Sven Dowideit
e500c00d7c Merge pull request #10929 from thaJeztah/docs-optimize-images
docs: optimize and consolidate images, remove duplicates
2015-02-24 15:31:00 +10:00
Jessie Frazelle
347a418f35 Merge pull request #10973 from crosbymichael/phil-maintainer
Add Phil Estes as a core maintainer
2015-02-23 19:24:22 -08:00
Michael Crosby
30ede36324 Add Phil Estes as a core maintainer
Phil has been very active across the repository for a few months now.
He has not only triaged issues but also contributed to features and bug
fixes and is a very active participant on the project.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-23 17:07:12 -08:00
Jessie Frazelle
09c4b45712 Merge pull request #10936 from vincentbernat/fix/zsh-completion-update-3
zsh: update zsh completion for docker command
2015-02-23 16:01:59 -08:00
Alexander Morozov
02c8881596 Merge pull request #10933 from ahmetalpbalkan/version-daemon-os-arch
cli: Add server OS/Arch info to 'version' cmd
2015-02-23 15:26:53 -08:00
Jessie Frazelle
fd185eddf6 Merge pull request #10908 from duglin/EnvDollarTest
Add a ENV tests with special chars in the values
2015-02-23 15:25:31 -08:00
Vincent Bernat
33fa197879 zsh: update zsh completion for docker command
zsh completion is updated with the content of
felixr/docker-zsh-completion.

ef4a3fce0437 Update completion for `wait' as per 1.5.0
ace5aa9c1282 Add completion for `stats'
91f112834865 Update completion for `search' as per 1.5.0
a5e4febe4bf6 Update completion for `save' as per 1.5.0
1cdbdb18a384 Add completion for `rename'
2f004bb724b9 Update completion for `pull' as per 1.5.0
773b88e0885b Update completion for `logs' as per 1.5.0
c57e5d5c4551 Update completion for `load' to favor archive files
9af7d12b487e Update completion for `images` as per 1.5.0
0d59e66aff30 update completion for `exec' to complete on commands
46b6c66760d7 Update completion for `events' as per 1.5.0
307e0bdc4c34 Update completion for `commit' as per 1.5.0
c4b331f38cc4 Update completion for `build' as per 1.5.0

Also added myself in the `MAINTAINERS` file.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2015-02-24 00:16:30 +01:00
Jessie Frazelle
ac06d0c46a Merge pull request #10921 from duglin/FixNonverboseBuild
Build w/o verbose hangs w/RUN
2015-02-23 15:15:12 -08:00
Jessie Frazelle
b27bb2f255 Merge pull request #10938 from thaJeztah/update-copyright-year-in-notice
Update copyright year in NOTICE
2015-02-23 15:12:38 -08:00
Jessie Frazelle
8f3ecf8779 Merge pull request #10925 from brahmaroutu/pkgdependency_10922
Removing dependencies from pkg into Docker internal code
2015-02-23 14:49:19 -08:00
Ahmet Alp Balkan
3346c2e4d9 cli: Add server OS/Arch info to 'version' cmd
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-23 14:32:25 -08:00
Jessie Frazelle
f6100a5d9d Merge pull request #10889 from ahmetalpbalkan/win-cli/SameHostDaemon-skips
integration-cli: Skip tests which require daemon/cli to be on the same host
2015-02-23 14:28:06 -08:00
Michael Crosby
66315f48e5 Merge pull request #10948 from kookster/patch-1
Have docker command use $HOME instead of '/Users/mary'
2015-02-23 14:27:42 -08:00
Ahmet Alp Balkan
b686b65c9b integ-cli: Skip tests assuming daemon/cli are on the same host
Some integration-cli tests assume daemon and cli are running
on the same machine and therefore they examine side effects
of executed docker commands on docker host by reading files
or running other sort of commands.

In case of windows/darwin CLI tests these provide little
or no value and should be OK to skip.

List of skipped tests:
- `TestContainerNetworkMode`
- `TestCpVolumePath`
- `TestCreateVolumesCreated`
- `TestBuildContextCleanup`
- `TestBuildContextCleanupFailedBuild`
- `TestLinksEtcHostsContentMatch`
- `TestRmContainerWithRemovedVolume`
- `TestRunModeIpcHost`
- `TestRunModeIpcContainer`
- `TestRunModePidHost`
- `TestRunNetHost`
- `TestRunDeallocatePortOnMissingIptablesRule`
- `TestRunPortInUse`
- `TestRunPortProxy`
- `TestRunMountOrdering`
- `TestRunModeHostname`
- `TestRunDnsDefaultOptions`
- `TestRunDnsOptionsBasedOnHostResolvConf`
- `TestRunResolvconfUpdater`
- `TestRunVolumesNotRecreatedOnStart`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-23 14:08:05 -08:00
Jessie Frazelle
ae9001fbdc Merge pull request #10926 from cpuguy83/10685_check_nil_volume
Check nil volume on mount init
2015-02-23 13:55:38 -08:00
Tianon Gravi
44adbf23b5 Cleanup "autogen/" if we have successful build
This way, we only leave around autogenerated files if the build fails (which is reasonable IMO, since that's when you'd need them for debugging the build failure).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-23 14:12:44 -07:00
Jessie Frazelle
83bf0ac96d Merge pull request #10954 from icecrime/update_release_checklist
Update RELEASE-CHECKLIST.md
2015-02-23 12:20:04 -08:00
Tianon Gravi
3562997296 Merge pull request #10951 from tianon/fix-dynbinary
Fix dynbinary with new autogen code
2015-02-23 12:08:17 -08:00
Tianon Gravi
acda41e7c3 Merge pull request #10887 from lkinley/master
Patch mkimage-yum.sh to work with Amazon Linux (2014.09)
2015-02-23 11:43:12 -08:00
Arnaud Porterie
d1b515dcc5 Update RELEASE-CHECKLIST.md
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-23 11:34:22 -08:00
Doug Davis
ed3bc3b986 Add a ENV tests with special chars in the values
Tests a little bit of escaping quotes too

See https://github.com/docker/docker/pull/10431#issuecomment-75163177

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-23 11:31:38 -08:00
Srini Brahmaroutu
7a9c944b82 Removing dependencies from pkg into Docker internal code
Closes #10922

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-02-23 18:43:10 +00:00
Tianon Gravi
a936ea88da Fix dynbinary with new autogen code
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-23 11:19:51 -07:00
Michael Crosby
e82cf741e3 Merge pull request #10698 from crosbymichael/issue-triage
Add issue triage document
2015-02-23 10:18:04 -08:00
Andrew Kuklewicz
f9bb0afc6c Have docker command use $HOME instead of 'mary'
Signed-off-by: Andrew Kuklewicz <andrew@beginsinwonder.com>
2015-02-23 12:37:11 -05:00
Alexander Morozov
05ba127f06 Merge pull request #10945 from delftswa2014/daemon-rm
Rename Daemon.Destroy to Daemon.Rm to be consistent with CLI command.
2015-02-23 09:22:58 -08:00
Rik Nijessen
ba93f8316c Rename Destroy to Rm to be consistent with CLI.
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
2015-02-23 16:15:56 +01:00
Sebastiaan van Stijn
743f0bcc83 docs: optimize and consolidate images, remove duplicates
This optimizes a number of images and removes a duplicate image.
Also consolidated images in the 'docker-hub' section.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-02-23 12:10:54 +01:00
Abin Shahab
1a26ed09ee Implements stats for lxc driver
Implements stats and fixes stats test.

Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-02-23 10:16:52 +00:00
Sven Dowideit
814916457b tweak the prose a little
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-23 14:44:31 +10:00
Daniel YC Lin
8c19e43dff Update sample systemd for container
1. Docker require to run before redis container run.
2. 'start' command can not accept more options like "run -e xx ..."
3. Remove wrong command 'Author='

Signed-off-by: Daniel YC Lin <dlin.tw@gmail>
2015-02-23 14:44:31 +10:00
Fred Lifton
7d2188f995 Merge pull request #10918 from cpuguy83/10278_fix_create_docs_for_volumes
Remove CLI doc entry related to API-only function
2015-02-22 18:11:18 -08:00
Sven Dowideit
3c9d45e213 a little re-writing
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-23 12:00:50 +10:00
Jessica Frazelle
6009f2eac4 Update best practices for entrypoint.
Despite being wrong we are kinda calling our users dumb, I feel it is a bit
demeaning. As well as just wrong.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)
2015-02-23 12:00:50 +10:00
James Turnbull
bac58e9711 Merge pull request #10927 from hyp3rdino/patch-1
Update mac.md
2015-02-22 20:39:53 -05:00
James Turnbull
74394f03ac Merge pull request #10930 from caryhartline/patch-1
Fix three spelling mistakes
2015-02-22 20:28:42 -05:00
James Turnbull
e8484a3438 Merge pull request #10942 from sdreyesg/patch-1
"docker run hello-world" instead of "docker hello-world"
2015-02-22 20:28:19 -05:00
James Turnbull
c23d0805bb Merge pull request #10941 from dottorblaster/master
New padding-right for the docs' left navigation
2015-02-22 20:27:55 -05:00
sdreyesg
f37351f9e8 Update mac.md
I just tried this guide. I had to use "docker run hello-world" instead of "docker run"

Signed-off-by: Dario Galvis <sdreyesg@gmail.com>
2015-02-22 14:51:32 -08:00
Alessio Biancalana
47a847bca8 correcting a little visual bug
padding right: 10px; for #leftnav li

Signed-off-by: Alessio Biancalana <dottorblaster@gmail.com>
2015-02-22 22:59:41 +01:00
Cary
4c7d41ac18 Fix three spelling mistakes
There are three instances of "boo2docker" that should be changed to "boot2docker".

Signed-off-by: Cary Hartline <varmateo@icloud.com>
2015-02-22 14:47:39 -06:00
Marian Marinov
811132f4b9 docs/man/docker.1.md: spelling mistake fix
Signed-off-by: Marian Marinov <mm@yuhu.biz>
2015-02-22 22:47:22 +02:00
Sebastiaan van Stijn
c28d33ff50 Update copyright year in NOTICE
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-02-22 20:43:51 +01:00
hyp3rdino
29b62053c4 Update mac.md
'docker hello-world' is not a docker command. 'docker run hello-world' is correct.

Signed-off-by: Markus Kortlang <hyp3rdino@googlemail.com>
2015-02-21 19:25:37 +01:00
Brian Goff
7122b6643e Check nil volume on mount init
Fixes #10685 panic in some cases.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-21 07:21:57 -05:00
Alexander Morozov
f207dd5e7c Merge pull request #10439 from estesp/10426-fix-arg-list-too-long
Pass excludes/options to tar unarchiver via environment versus cmd line
2015-02-20 23:48:55 -08:00
Ahmet Alp Balkan
102e061147 integration-cli: add test requirement ExecSupport
Skip tests based on remote daemon's exec support (to exclude
these tests from `make test` ran in LXC case). Makes use of
`test_no_exec` build tag passed by build scripts.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 23:24:30 -08:00
Ahmet Alp Balkan
6bbb456138 readContainerFileWithExec for links tests
Shout out to @estesp for the idea. Some use cases of
`readContainerFile` can be replaced with `docker exec $id cat $file`.
This helper method can eliminate the requirement that
host/cli should be on the same machine.

TestRunMutableNetworkFiles and TestRunResolvconfUpdater still
need to access the docker host filesystem as they modify
the file directly from there assuming cli and daemon are
on the same machine.

This fixes TestLinksUpdateOnRestart and TestLinksHostsFilesInject
for Windows CI.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 23:14:38 -08:00
Nghia Tran
b422d8da8f engine.Tail() to ignore trailing whitespaces.
In its current form, if an error message has two trailing "\n" instead
of one, an empty line is resulted (see engine/job.go for an example of
such usages).

Skipping all trailing whitespaces will give a better error message.

Signed-off-by: Nghia Tran <nghia@google.com>
2015-02-20 19:42:01 -08:00
Jessie Frazelle
b062ef05e5 Merge pull request #10909 from ahmetalpbalkan/run_test-defer
integration-cli: Better test cleanup with defer
2015-02-20 17:28:08 -08:00
Alexander Morozov
4ba1128c18 Merge pull request #10871 from ahmetalpbalkan/win-cli/TestBuildAddBadLinks-fix
integ-cli: Fix TestBuildAddBadLinks for windows
2015-02-20 17:27:36 -08:00
Michael Crosby
1d382f9c2d Merge pull request #10865 from ahmetalpbalkan/win-cli/tar-path
pkg/archive: Canonicalize stored paths
2015-02-20 17:20:51 -08:00
Alexander Morozov
5919f1b16c Merge pull request #10844 from ahmetalpbalkan/win-cli/TestBuildDockerfileOutsideContext-path-improvement
integration-cli: pass platform-compatible paths to os.Symlink
2015-02-20 17:19:37 -08:00
Michael Crosby
828e76a5aa Add issue triage document
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-20 17:19:08 -08:00
Bradley Wright
54ca9aca71 Fix erroneously wrapped URLs in links
Some of the links in this document contained hard-wrapped URL portions, which causes Markdown to insert a literal URL encoded `\n` inside the link, thus breaking them.

Signed-off-by: Bradley Wright <brad@intranation.com>
2015-02-20 23:05:52 +00:00
Ahmet Alp Balkan
70407ce40c Better test cleanup with defer
This fixes a few misuses of `deleteAllContainers()` cleanup
method in integration-cli suite by moving call to the
beginning of the method and guaranteeing their execution
(including panics) with `defer`s.

Also added some forgotten cleanup calls while I'm at it.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 14:04:36 -08:00
Doug Davis
92c353582c Build w/o verbose hangs w/RUN
`docker build -q .` where Dockerfile contains a RUN cmd will hang on the
RUN. It waits for the output stream to close but because of -q we never
attached to the container and end up waiting forever.

The fact that no one noticed this tells me that people may not actually
use -q and if so I wonder if it would make sense to make -q work the may
it does for other commands (like `docker ps`) and make it so it only
shows the container ID at the end.  A -q/quiet option that only hides the
container RUN output apparently isn't really that useful since no one is
using it.  See: https://github.com/docker/docker/issues/4094

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-20 13:38:03 -08:00
Ahmet Alp Balkan
d0dc14e5d6 integ-cli: Fix TestBuildAddBadLinks for windows
TestBuildAddBadLinks used to build a path by
concenating unix-style forward slashes. Fixed that
by providing a windows-equivalent using `runtime.GOOS`.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 13:24:59 -08:00
Jessie Frazelle
f70567e9a9 Merge pull request #10900 from moxiegirl/connection-reset-by-peer-faq
Adding info to faq per customer problem.
2015-02-20 13:20:28 -08:00
Jessie Frazelle
aa057fd3b3 Merge pull request #10838 from moxiegirl/mac-update
Adding in updates for Mac for upcoming events
2015-02-20 13:10:29 -08:00
Ahmet Alp Balkan
4581240e58 integration-cli: pass platform-compatible paths to os.Symlink
Although this doesn't fix the test (os.Symlink is not yet
implemented for Windows), this prevents unix-style paths
from being passed to os.Symlink. Also makes code cleaner
for linux.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 12:25:10 -08:00
Tianon Gravi
f2d2862459 Merge pull request #10833 from fabianorosas/10832-fix-test-unit-without-parallel
Fix test-unit run without parallel
2015-02-20 12:12:46 -08:00
Alexander Morozov
15bf67a998 Merge pull request #10888 from dougm/parallel-load
Avoid parallel layer downloads in load command
2015-02-20 11:01:40 -08:00
Alexander Morozov
4cc8ccb8d2 Merge pull request #10730 from mattyw/fix-10728
api/server: don't print warning if serving on localhost
2015-02-20 10:43:56 -08:00
Jessie Frazelle
695bf3348f Merge pull request #10913 from ahmetalpbalkan/win-cli/UnixSpecific-skip
integ-cli: Skip some unix-specific cli tests
2015-02-20 10:33:28 -08:00
Tibor Vass
c5aca86654 Merge pull request #10914 from kargakis/map-commands
Map Commands instead of using them as a slice
2015-02-20 10:32:04 -08:00
Fabiano Rosas
ab6ae7215e Fix export of BUILDFLAGS in test-unit. Closes #10832
Signed-off-by: Fabiano Rosas <farosas@br.ibm.com>
2015-02-20 16:25:10 -02:00
Tibor Vass
fdfa7ee702 Merge pull request #10625 from duglin/FixHelpHomeSlash
Fix for help when $HOME is /
2015-02-20 10:06:22 -08:00
Michael Crosby
b32564798d Merge pull request #10665 from brahmaroutu/autogen_removeXflag
Removing -X flag option and autogenerating code to create Dockerversion....
2015-02-20 09:53:07 -08:00
Ahmet Alp Balkan
5d615dff10 integ-cli: Typo fix in test_vars_* comments.
Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-20 09:51:10 -08:00
Ahmet Alp Balkan
492a58f05f integ-cli: Skip some unix-specific cli tests
Skipping some of the tests closely tied to running in a
unix environment. Windows does not support chmod/chown
and this causes some tests to fail creating desired
behavior.

- `TestBuildWithInaccessibleFilesInContext`: uses chown/chmod
- `TestBuildDockerfileOutsideContext`: uses os.Symlink, not implemented on
  windows
- `TestCpUnprivilegedUser`: uses chmod, and requires 'unprivilegeduser'
  created by Dockerfile (and thus requires to run inside container)
- `TestBuildChownSingleFile`: uses chown

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 09:51:10 -08:00
Alexander Morozov
b1509e8685 Merge pull request #10911 from ahmetalpbalkan/win-cli/TestVolumesNoCopyData-fix
integ-cli: fix volume test by passing unix path as volume
2015-02-20 09:21:47 -08:00
Brian Goff
4f0429621c Remove CLI doc entry related to API-only function
Closes #10278

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-20 11:51:42 -05:00
Alexander Morozov
b3052b0fca Merge pull request #10916 from chenhanxiao/commands-comment-typo
commands: fix a comment typo
2015-02-20 08:29:21 -08:00
Sami Wagiaalla
11c7c9710a Update resolve.conf in containers on file creation.
NetworkManager updates resolve.conf by replacing the current file
with an updated one. This change enables docker to listen for these
events.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-02-20 11:27:08 -05:00
Chen Hanxiao
0050efcd8f commands: fix a comment typo
s/overide/override

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-20 23:46:29 +08:00
kargakis
6ecf23861e Map Commands instead of using them as a slice
The most obvious use case is when one wants to make sure as fast
as possible that a command is a valid Dockerfile command.

Signed-off-by: kargakis <kargakis@users.noreply.github.com>
2015-02-20 15:56:21 +01:00
Ahmet Alp Balkan
6062838756 integ-cli: fix volume test by passing unix path as volume
This fixes `TestVolumesNoCopyData` for test execution on
windows by passing a unix-style path as volume even though
it's running on windows.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-20 00:58:44 -08:00
Doug Davis
116367eb07 Fix for help when $HOME is /
estesp noticed that when $HOME is / the ~ substitutions messes up
becuase it tries to replace all paths that start with "/" with "~".
This fixes it so that it will only replace it when $HOME isn't "/".

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-19 22:21:17 -08:00
Srini Brahmaroutu
6871b9b16a Removing -X flag option and autogenerated code to create Dockerversion.go functionality
Addresses #9207

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-02-20 05:40:12 +00:00
mattyw
0ae455333b api/server: don't print warning if serving on localhost
Fixes bug #10728

Signed-off-by: mattyw <gh@mattyw.net>
2015-02-20 12:37:17 +08:00
Alexander Morozov
a78ce5c228 Merge pull request #10872 from jfrazelle/ugh-tomlv
fix tomlv because it doesn't read from stdin
2015-02-19 20:31:34 -08:00
Phil Estes
743c9ba1fb Pass excludes/options to tar unarchiver via environment
Fixes #10426

Because of the ability to easily overload the shell max argument list
length once the image count is several hundred, `docker load` will
start to fail because of this as it passes an excludes list of all
images in the graph.  This patch uses an environment variable with the
json marshalled through it to get around the arg length limitation.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-19 17:53:39 -08:00
Mary Anthony
a61766be9f Adding in Sven's suggested check the doc line.
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-02-19 17:29:46 -08:00
Jessie Frazelle
573e2484a5 Merge pull request #10898 from noironetworks/Fixing-docs-for-docker-ps-filter
Added missing documentation for PR #8543
2015-02-19 17:19:09 -08:00
Jessie Frazelle
e22487db37 Merge pull request #10873 from ahmetalpbalkan/win-cli/TestBuildRenamedDockerfile-fix
integration-cli: Fix path problems in TestBuildRenamedDockerfile
2015-02-19 16:40:15 -08:00
Jessie Frazelle
1402937347 Merge pull request #10856 from coolljt0725/fix_expose
Fix docker run --expose with an invalid port does not error out
2015-02-19 16:01:15 -08:00
Tibor Vass
8507c3d70f Merge pull request #10904 from jfrazelle/fix-events-test
fix race in events test
2015-02-19 15:48:05 -08:00
Doug MacEachern
de35ef2ebe Avoid parallel layer downloads in load command
Signed-off-by: Doug MacEachern <dougm@vmware.com>
2015-02-19 15:46:38 -08:00
Jessica Frazelle
27c61c39db fix race in events test
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-02-19 15:32:00 -08:00
Lei Jitang
34b7c10e3e Add a test for expose a invalid port
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-19 15:18:13 -08:00
Jessie Frazelle
934535db9c Merge pull request #10468 from noironetworks/10457-Pause-and-unpause-accept-multi-containers
Allow docker pause and unpause to accept multiple containers
2015-02-19 15:16:05 -08:00
Ahmet Alp Balkan
967d85a28f integ-cli: Fix path problems in TestBuildRenamedDockerfile
`TestBuildRenamedDockerfile` tests hard-code unix-style
path building. Made use of `path/filepath` to make these
tests work on Windows as well.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-19 14:45:26 -08:00
Jessie Frazelle
55566f2f8f Merge pull request #10418 from bobrik/overlay-kernel-checks
Checking EXT4_FS_SECURITY for overlay
2015-02-19 14:29:17 -08:00
Steve Francia
356fe89d24 Merge pull request #10818 from estesp/link-add-aliases 2015-02-19 17:22:53 -05:00
Steve Francia
a0a27e6a58 Merge pull request #10520 from dmcgowan/v2-registry-fallback-logging 2015-02-19 17:20:34 -05:00
Phil Estes
16aa64dc82 Add linked container's name and hostname as aliases to /etc/hosts
Currently when containers are linked the alias name (e.g. from `--link
name:alias`) is added to the parent container's `/etc/hosts` with a
reference to the IP of the linked container.  Some software requires
using the official hostname or node name in operations that need to
match on those values, and it is therefore helpful if the parent
container can refer to the child/link using those same values and still
access the same IP.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-19 14:19:38 -08:00
Steve Francia
ac7bef5e66 Merge pull request #10852 from Snorch/check-docker-port-is-not-empty 2015-02-19 17:18:36 -05:00
André Martins
401e93bbb9 Added missing documentation for PR #8543
Added more examples and functionalities for docker ps documentation

Signed-off-by: André Martins <martins@noironetworks.com>
2015-02-19 22:05:14 +00:00
Jessie Frazelle
7829e7b40f Merge pull request #10555 from duglin/MoreRenamedDockerfileTests
Add more tests around using -f Dockerfile via the CLI
2015-02-19 13:59:35 -08:00
Mary Anthony
a5a0353dbe Adding info to faq per customer problem.
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-02-19 13:42:23 -08:00
Jessica Frazelle
06685a53c1 fix tomlv because it doesn't read from stdin
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-02-19 13:18:20 -08:00
Jessie Frazelle
ff2f1904c9 Merge pull request #10722 from SvenDowideit/takeover-10710
added -extfile to server certificate documentation
2015-02-19 13:17:17 -08:00
Steve Francia
d562f94d47 Merge pull request #10797 from tianon/strict-test-environment 2015-02-19 16:14:05 -05:00
Steve Francia
1875cc2ef4 Merge pull request #10835 from jfrazelle/port-ranges 2015-02-19 16:11:59 -05:00
Steve Francia
47f6001416 Merge pull request #10696 from dmcgowan/remove-nonofficial-trust-check 2015-02-19 16:09:52 -05:00
Jessie Frazelle
72e66136ee Merge pull request #10751 from estesp/10701-update-ipv6-docs
Update IPv6 docs with modern `ip` command use + `sysctl`
2015-02-19 12:59:42 -08:00
Jessie Frazelle
dc37358d8c Merge pull request #10619 from bcicen/add-logpath-to-inspect-container
Add logpath to inspect container
2015-02-19 12:56:45 -08:00
Alexander Morozov
08544a89eb Merge pull request #10819 from jsdir/10815-relative-path-fix
Fixed relative filepath check
2015-02-19 12:54:44 -08:00
Jessie Frazelle
eefe6c2831 Merge pull request #10750 from tianon/cirros-tar
Update cirros.tar.gz handling to be more agnostic of running within the image
2015-02-19 12:32:09 -08:00
Jessie Frazelle
009efd04c1 Merge pull request #10866 from docker/shykes-new-docs-maintainers
Add Steve and Mary as docs maintainers
2015-02-19 11:40:33 -08:00
Jessie Frazelle
d6660ad605 Merge pull request #10881 from shishir-a412ed/cpu-shares-manpage
man page description for `-c/--cpu-shares` flag for `docker run` command.
2015-02-19 11:40:04 -08:00
Jessie Frazelle
6c3f089fc7 Merge pull request #10870 from ahmetalpbalkan/win-cli/TestRunSetMacAddress
integration-cli: remove bash dependency from TestRunSetMacAddress
2015-02-19 11:34:14 -08:00
Jessie Frazelle
e3fa8b36c2 Merge pull request #10886 from ahmetalpbalkan/win-cli/TestMainHelpWidth-fix
Shorten printed Windows paths on docker help command
2015-02-19 11:33:50 -08:00
Jessie Frazelle
5456ad2b42 Merge pull request #10875 from ahmetalpbalkan/win-cli/TestCp
integ-cli: Fix path issues in docker cp tests
2015-02-19 11:33:09 -08:00
Jessie Frazelle
47e9f90be1 Merge pull request #10794 from ahmetalpbalkan/win-cli/TestContainerApi-volume-path-fix
integration-cli: Generate unix-style volume paths for tests
2015-02-19 11:28:55 -08:00
Jessie Frazelle
d125936015 Merge pull request #10882 from LK4D4/fix_possible_panic_on_kill
Fix possible panic on killing container
2015-02-19 11:09:31 -08:00
Jessie Frazelle
a4b04544b7 Merge pull request #10901 from rseymour/patch-1
calcuate -> calculate typo fix
2015-02-19 10:34:05 -08:00
Jessie Frazelle
b9cb004c99 Merge pull request #10883 from md5/bash-completion-rename
Add bash completion for "docker rename"
2015-02-19 10:13:57 -08:00
Rich Seymour
ea8cb16af7 calcuate -> calculate typo fix
Signed-off-by: Rich Seymour <rseymour@gmail.com>
2015-02-19 12:44:38 -05:00
Phil Estes
95668ed128 Update IPv6 docs with modern ip command use + sysctl
Fixes: #10701

Updates the IPv6 documentation and images to reflect the more modern
`ip -6` command set versus `route` and `ifconfig`.  Also removes the
use of the special 2002: address range as that is reserved for 6to4
addressing, as well as use of any public address range and re-works the
switched routing example to use 3 subnets of the documentation IPv6
prefix range.

Also conformed all use of addresses to the same doc range per @MalteJ's
commit.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Signed-off-by: Malte Janduda <mail@janduda.net>
2015-02-19 09:20:50 -08:00
Ahmet Alp Balkan
1c9b37cb96 Shorten printed Windows paths on docker help cmd
This makes use of `%USERPROFILE%` as a substitute for
`~` on Windows and prints shorter strings for default
cert paths etc.

Also removes string escaping/quotes around default
path values printed in `docker help` command as they
are not really necessary and adds double backslashes
(\\) on windows.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-18 23:04:56 -08:00
Ahmet Alp Balkan
8ca37e4760 pkg/homedir: implement GetShortcutString()
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-18 22:56:03 -08:00
Ahmet Alp Balkan
27a73a98b7 Shorten help messages for docker cmd flags
In order to fit printed messages to fit 80 chars,
rewording messages for `-H` and `--tls` flags.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-18 22:52:33 -08:00
Tianon Gravi
c7bec92891 Remove cirros.tar.gz completely
Since `cirros.tar.gz` only existed to test `docker import`'s display and
presence in `docker events`, we can instead just use `docker export`
piped directly to `docker import` to achieve the same goal without
another external dependency besides `busybox` (which we already have).

While I was at it, I updated `TestImportDisplay` to also test that the
imported image actually runs successfully as well (so we're testing the
full import round-trip).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-18 23:46:25 -07:00
Jessie Frazelle
cd9769c55e Merge pull request #10806 from ahmetalpbalkan/win-cli/TestSave-fix
integration-cli: use pipes for save/load tests
2015-02-18 22:42:06 -08:00
Tianon Gravi
ed345fb18e Run tests in stricter environment
Use `env -i` to very explicitly control exactly which environment variables leak into our tests.  This enforces a clean separation of "build environment knobs" versus "test suite knobs".

This also includes a minor tweak to how we handle starting our integration daemon, especially to catch failure to start sooner than failing tests.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-18 23:30:43 -07:00
Fred Lifton
9fe9d070c2 Merge pull request #10878 from jmtd/patch-1
minor grammar suggestion
2015-02-18 16:28:28 -08:00
Lance Kinley
c15970eff9 Patch mkimage-yum.sh to work with Amazon Linux (2014.09)
Signed-off-by: Lance Kinley <lkinley@loyaltymethods.com>
2015-02-18 15:17:15 -08:00
Arnaud Porterie
306bb28569 Merge pull request #10785 from ahmetalpbalkan/win-cli/TestLinks-skip
integration-cli: add const to skip daemon-requiring cli tests
2015-02-18 15:13:05 -08:00
Doug Davis
c42d2625d1 Add more tests around using -f Dockerfile via the CLI
Mainly to make sure we don't treat the -f value as relative to the
root of the build context, but instead it must be relative to the current
dir.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-18 14:06:58 -08:00
Mike Dillon
ded88a3170 Add bash completion for docker rename
Signed-off-by: Mike Dillon <mike@embody.org>
2015-02-18 11:49:05 -08:00
Alexander Morozov
e995670935 Fix possible panic on killing container
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-18 11:27:38 -08:00
Shishir Mahajan
c1deb7f524 man page description for -c/--cpu-shares flag for docker run command
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-02-18 14:01:55 -05:00
Jessie Frazelle
eb0d65933d Merge pull request #10877 from unclejack/bump_go_to_1.4.2
Dockerfile: bump Go to 1.4.2
2015-02-18 08:51:15 -08:00
Jonathan Dowland
b7a1776878 minor grammar suggestion
Signed-off-by: Jonathan Dowland <jdowland@redhat.com>
2015-02-18 16:26:24 +00:00
Bradley Cicenas
06c01b02f5 add logpath to docker inspect.
Signed-off-by: Bradley Cicenas <bradley.cicenas@gmail.com>
2015-02-18 10:19:52 -05:00
unclejack
2f35f60348 Dockerfile: bump Go to 1.4.2
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-02-18 15:07:17 +02:00
Ahmet Alp Balkan
c5b312dcf5 integ-cli: Fix path issues in docker cp tests
Some of the `docker cp` tests were using `path/filepath` to
craft unix paths. This wouldn't work on Windows since filepath
is platform-dependent.

Moved code to `path` as much as possible and hacked away some
`path/filepath` functionality that doesn't exist in `path` pkg.

This fixes the following test cases:
- `TestCpGarbagePath`
- `TestCpRelativePath`
- `TestCpAbsoluteSymlink`
- `TestCpSymlinkComponent`

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-18 02:27:44 -08:00
Ahmet Alp Balkan
c1a54048e2 integration-cli: remove bash dependency from TestRunSetMacAddress
This change enables TestRunSetMacAddress to run on windows
without `bash` dependency. Also `defer`red call of cleanup
method.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-17 23:24:36 -08:00
Jessie Frazelle
2f024bd9e1 Merge pull request #10868 from ahmetalpbalkan/TestImagesFilterWhiteSpaceTrimmingAndLowerCasingWorking
Use `-q` argument in test using `docker images -f`
2015-02-17 23:22:12 -08:00
Ahmet Alp Balkan
e39ea834a9 Use -q param in test using docker images -f
The test case `TestImagesFilterWhiteSpaceTrimmingAndLowerCasingWorking`
fails based on time because it uses full `docker images` output and
value in the `CREATED` column turns from `A minute ago` to `2 minutes ago`
in the middle of execution and output comparison fails.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-17 19:29:17 -08:00
James Turnbull
09b785f3be Merge pull request #10857 from pragmaticfrank/patch-1
fix source command for tab-completion
2015-02-17 20:22:06 -05:00
Ahmet Alp Balkan
b81105eaca integration-cli: use pipes for save/load tests
This removes `bash` dependency from save/load integration tests.
It used to call `/bin/bash -c 'c:\...\docker.exe'` which is not valid.
Also removed usage of tempdirs and temp files for saving/loading
repos. All are now done using in-memory pipes and buffers.

Created `runCommandPipelineWithOutput` helper to replace the
`/bin/bash -c 'a | b | c'` using pipes and returning output from
last command in the pipeline. This makes the code even shorter
and readable.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-17 17:09:09 -08:00
Ahmet Alp Balkan
28842d3f09 pkg/archive: Canonicalize stored paths
Currently pkg/archive stores nested windows files with
backslashes (e.g. `dir\`, `dir\file.txt`) and this causes
tar not being correctly extracted on Linux daemon.

This change assures we canonicalize all paths to unix
paths and add them to tar with that name independent of platform.

Fixes the following test cases for Windows CI:
- TestBuildAddFileWithWhitespace
- TestBuildCopyFileWithWhitespace
- TestBuildAddDirContentToRoot
- TestBuildAddDirContentToExistingDir
- TestBuildCopyDirContentToRoot
- TestBuildCopyDirContentToExistDir
- TestBuildDockerignore
- TestBuildEnvUsage
- TestBuildEnvUsage2

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-17 16:51:04 -08:00
James Turnbull
6c4e1387d1 Merge pull request #10846 from chenhanxiao/pause-unpause-link
docs: add See also for description of pause and unpause
2015-02-17 19:26:56 -05:00
Sven Dowideit
3ba0d2985b Merge pull request #10845 from tianon/uhhhh
Fix "upstream remote" dependence in Makefile
2015-02-18 10:20:30 +10:00
Mary Anthony
112aa1e341 Fixing spacing after period 2015-02-17 16:10:32 -08:00
Mary Anthony
1b36272dc3 Adding in Fred's comments. 2015-02-17 15:59:29 -08:00
Mary Anthony
abc6896984 Tweaking language 2015-02-17 11:02:25 -08:00
Mary Anthony
0581e8652d Updating per Sven's request for localhost definition 2015-02-17 10:55:19 -08:00
Mary Anthony
d03ce18b0b Adding in updates for Mac for birthday.
Signed-off-by: Mary Anthony <mary.anthony@docker.com>
2015-02-17 09:58:58 -08:00
Ferenc Szabo
112829434d fix source command for tab-completion
source /etc/bash_completion.d/docker.io was not working for me, since the file is called docker, not docker.io.

There might be versions with 'io' ending; star is general enough.

Signed-off-by: Ferenc Szabo <pragmaticfrank@gmail.com>
2015-02-17 16:53:18 +01:00
Lei Jitang
57abf4afe9 Fix docker run --expose with an invalid port does not error out
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-17 07:12:02 -08:00
Pavel Tikhomirov
cad770f992 integration-cli: check that docker port command output is not empty
Or else we can violate array range boundaries in:
	out = strings.Split(out, ":")[1]
and get runtime error.

We got this runtime error when run TestRunPortFromDockerRangeInUse
Somehow docker goes silently if it cannot publish port because
of no bridge.

Signed-off-by: Pavel Tikhomirov <ptikhomirov@parallels.com>
2015-02-17 16:01:34 +03:00
Ahmet Alp Balkan
df5334183f integration-cli: generate unix-style volume paths
Some tests in `docker_api_containers_test.go` assume the
docker daemon is running at the same machine as the cli
and uses `ioutil.TempDir` to create temp dirs and use them
in the test.

On windows ioutil.TempDir and os.TempDir would create win-style
paths and pass them to daemon. Instead, I hardcoded `/tmp/` and
generate some random path manually and allow daemon to create
the directory.

Fixes tests:
- TestContainerApiStartVolumeBinds
- TestContainerApiStartDupVolumeBinds
- TestVolumesFromHasPriority

Downside:
- Does not clean the temp dirs generated on the remote daemon
  machine unless delete container deletes them.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-17 01:29:23 -08:00
Solomon Hykes
0d41c6abad Add Steve and Mary as docs maintainers
Signed-off-by: Solomon Hykes <solomon@docker.com>
2015-02-17 09:16:46 +00:00
Ahmet Alp Balkan
bc37c036b5 integration-cli: add mechanism to skip tests
If DOCKER_CLIENTONLY is set for test-integration-cli, we don't set
the 'daemon' build tag. 'isRemoteDaemon' will help us skip such
tests without a need to move them to a separate file and accidentally
lose track of them.

Added `testRequires` function to skip tests based on predefined
conditions evaluated in runtime. This way we can easily extend test
requirements like:

    testRequires(t, Networking, SameHostDaemon, Linux)

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-17 00:43:41 -08:00
Jason Sommer
0826ac1581 Fixed relative filepath check
Signed-off-by: Jason Sommer <jsdirv@gmail.com>
2015-02-16 20:38:52 -06:00
Chen Hanxiao
a69b189fc5 docs: add See Also for description of pause and unpause
make them reference to each other.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-17 10:22:28 +08:00
Tianon Gravi
d7ec4360c1 Fix "upstream remote" dependence in Makefile
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-16 18:11:31 -07:00
Jessie Frazelle
2243e32cbb Merge pull request #10764 from grossws/patch-1
Cleanup: changed ./hack to ./project in README.md
2015-02-16 13:30:02 -08:00
Jessie Frazelle
4965304772 Merge pull request #10834 from albers/completion-fix-run--d
Fix bash completion for docker run -d
2015-02-16 12:01:39 -08:00
Jessie Frazelle
39df8473d6 Merge pull request #10796 from ahmetalpbalkan/win-cli/TestCliProxyDisableProxyUnixSock-fix
integration-cli: use remote daemon env var in TestCliProxyDisableProxyUnixSock
2015-02-16 11:59:46 -08:00
Jessie Frazelle
110ce4f6cd Merge pull request #10804 from ahmetalpbalkan/win-cli/TestRunSlowStdoutConsume-fix
integration-cli: remove bash dependency of TestRunSlowStdoutConsumer
2015-02-16 11:58:55 -08:00
Jessie Frazelle
3ddef31793 Merge pull request #10780 from estesp/test-bogus-link
Fix daemon.Get() error handling with --link setup. Add test.
2015-02-16 11:22:21 -08:00
Jessie Frazelle
9054e4dca3 Merge pull request #10779 from duglin/10771-FixStatsHelp
Fix 'docker stats' help message
2015-02-16 11:18:58 -08:00
Jessie Frazelle
8b58e73da4 Merge pull request #10820 from ahmetalpbalkan/small-nit
Correct username in [Org."Core Maintainers"]
2015-02-16 11:12:22 -08:00
Jessica Frazelle
ba99a73c2f fix naming, add a test for port range on docker ps
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-02-16 11:08:32 -08:00
Michael Crosby
bce2ae655c Merge pull request #10783 from tianon/BINDDIR-yes-two-Ds
Rename BINDDIR to BIND_DIR
2015-02-16 11:00:44 -08:00
Michael Crosby
c2effb259d Merge pull request #10615 from coolljt0725/fix_mount
Fix create volume /etc cover /etc/{hosts,resolv.conf,hostname} Fixes # 10604
2015-02-16 10:53:26 -08:00
Colm Hally
5dfef4fe08 Group published and exposed ports by contiguous ranges
Signed-off-by: Colm Hally <colmhally@gmail.com>
2015-02-16 10:52:23 -08:00
Michael Crosby
73665ff5f2 Merge pull request #10633 from hqhq/hq_fix_memoryswap
fix the problem that memory-swap=-1 is not working for docker command
2015-02-16 10:49:01 -08:00
Michael Crosby
9ea20f260c Merge pull request #10571 from jfrazelle/8689-remove-all-aliases
Removes the feature to pull all image aliases.
2015-02-16 10:29:20 -08:00
Harald Albers
01bd90c4ad Fix bash completion for docker run -d
Signed-off-by: Harald Albers <github@albersweb.de>
2015-02-16 19:23:29 +01:00
Malte Janduda
a9a19bd911 add IPv6 NDP Proxying documentation
Signed-off-by: Malte Janduda <mail@janduda.net>
2015-02-16 19:20:00 +01:00
Ahmet Alp Balkan
ae8f1fa712 integration-cli: remove bash dependency of TestRunSlowStdoutConsumer
This makes this test case run on msys bash on windows or
cmd.exe.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-16 10:18:27 -08:00
Ahmet Alp Balkan
029ca9829d integration-cli: use remote daemon in proxy test
TestCliProxyDisableProxyUnixSock runs `docker info` by
clearing env however if the daemon is set up to run in a
different machine (e.g. Windows CI case) it does not make
use of DOCKER_TEST_HOST and tries to connect unix sock.

This fix injects DOCKER_HOST back to the test.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-16 10:14:54 -08:00
Ahmet Alp Balkan
0ae1ef3b12 Correct username in org."Core Maintainers"
My OCD has managed to catch this.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-16 10:13:12 -08:00
Michael Crosby
c6110bd48f Merge pull request #10829 from duglin/10828-UpdateCLIHelp
Use newer help out for 'docker' and 'docker run'
2015-02-16 10:13:00 -08:00
Jessie Frazelle
7e9dd94376 Merge pull request #10793 from ahmetalpbalkan/win-cli/TestExportContainerAndImportImage-fix
integration-cli: use cmd.Stdin instead of cat/tee for TestExportContainerAndImportImage
2015-02-16 10:11:47 -08:00
Jessie Frazelle
546f481840 Merge pull request #10795 from ahmetalpbalkan/integration-cli/makeRandomString
integration-cli: Seed rand in makeRandomString
2015-02-16 10:08:20 -08:00
Arnaud Porterie
9ee8d41ab2 Merge pull request #10800 from ahmetalpbalkan/TestRunEnv-fix
integration-cli: Preserve DOCKER_TEST_HOST in env-clearing tests
2015-02-16 09:23:42 -08:00
Arnaud Porterie
38ca779dd6 Merge pull request #10747 from ahmetalpbalkan/win-cli/TestContainersAttachWS-fix
TestGetContainersAttachWebsocket: use DOCKER_TEST_HOST if specified
2015-02-16 09:19:54 -08:00
Doug Davis
effa5e2c18 Use newer help out for 'docker' and 'docker run'
Closes #10828

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-16 08:46:07 -08:00
James Turnbull
924b7154ba Merge pull request #10801 from cyrilf/patch-1
Documentation - smallest typo correction ever
2015-02-15 20:38:45 -05:00
Sven Dowideit
d15f8feaa8 Add some information about the docker build return code
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-16 10:02:56 +10:00
Doug Davis
028968f1a2 Merge pull request #10808 from chenhanxiao/man-Dockerfile-typo
docs: fix a typo in Dockerfile.5.md
2015-02-15 07:48:29 -05:00
Chen Hanxiao
bfba622f86 docs: fix a typo in Dockerfile.5.md
s/Exececutable/Executable

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-15 11:06:18 +08:00
Tibor Vass
c33ac6067c Merge pull request #10799 from ahmetalpbalkan/win-cli/TestRmiForceWithExistingContainers-fix
integration-cli: fix test to use busybox outside container
2015-02-14 15:47:55 -05:00
Cyril F
582c360d57 Smallest typo correction ever
Signed-off-by: Cyril Francesconi <cyrilf7x@gmail.com>
2015-02-14 17:51:28 +01:00
James Turnbull
9456a25414 Merge pull request #10757 from thaJeztah/docs-enhance-volume-lifecycle-description
Docs: Improve description on volume removal
2015-02-14 11:08:28 -05:00
Sebastiaan van Stijn
00f2fd1dd5 Docs: Improve description on volume removal
A comment in https://github.com/docker/docker/issues/6354#issuecomment-74160215
brought to light that the "Managing Data in containers" section contained an
incorrect (or confusing) line;

  "Volumes persist until no containers use them"

Which implies that volumes are automatically removed if they are no longer
referenced by a container.

This pull-request attempts to add some information explaining that volumes are
never automatically removed by Docker and adds some extra hints on working
with data volumes.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-02-14 17:04:06 +01:00
Ahmet Alp Balkan
4f377fbe9f docker_cli_run_test: Preserve DOCKER_TEST_HOST in env-clearing tests
For Windows, we run integration-cli with DOCKER_TEST_HOST env var b/c
daemon is on some remote machine. This keeps the DOCKER_HOST set by
bash scripts in the env.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-14 03:26:56 -08:00
Ahmet Alp Balkan
57d34241fd integration-cli: fix test to use busybox outside container
Fixes TestRmiForceWithExistingContainers test to make it use
`busybox` image rather than /docker-busybox hardcoded path
and rebuilding image.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-14 03:00:38 -08:00
Ahmet Alp Balkan
5dbaea1ca9 integration-cli: remove timeout dependency on TestEventsUntag
TestEventsUntag requires a `timeout` command which does not
exist on OS X or Windows (in fact, windows has a totally different
timeout program and this test was accidentally using it).

- Created runCommandWithOutputForDuration.
  This entirely replaces runDockerCommandWithTimeout and
  removes dependency to `timeout` command.
- Made runDockerCommandWithTimeout reuse runDockerCommandForDuration.

TestEventsUntag works now on Windows.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-14 02:17:42 -08:00
Ahmet Alp Balkan
00cd214afe integration-cli: seed rand in makeRandomString
Current uses of `makeRandomString` is to create really
long strings. In #10794, I used them to create nearly-unique
unix paths for the daemon. Although collions are harmless and
don't fail the tests, this prevents the same strings from being
created consistently in every run by seeding rand.Random.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-13 23:26:08 -08:00
Ahmet Alp Balkan
48d8757700 integration-cli: use cmd.Stdin instead of cat/tee for TestExportContainerAndImportImage
os.Exec("bash", "-c", dockerBinary) ends up making a call like
bash -c c:\...\docker.exe on windows msys shell, which does not work.

This test makes use of exec.Command.Stdin to pass image back to
docker import.

- Upside: fixes the test on windows
- Downside: cat/tee compatibility is no longer tested in this test case

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-13 22:12:06 -08:00
Fred Lifton
99ca215c65 Merge pull request #10752 from psftw/tweak-docs-readme
Clean up explanation of doc branches.
2015-02-13 17:20:59 -08:00
Tianon Gravi
987050a52b Rename BINDDIR to BIND_DIR
It turns out the back-to-back `D`s here were tripping people up because visually, it looks like a typo.  This renames the variable to `BIND_DIR`, but allows `BINDDIR` to continue working for backwards-compatibility.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-13 15:50:42 -07:00
Doug Davis
b55346b327 Fix 'docker stats' help message
Closes #10771

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-13 12:45:50 -08:00
Fred Lifton
ee95aa1b81 Merge pull request #10674 from cpuguy83/cleanup_Dockerfile_manpage
Cleans up docs/man/Dockerfile.5.md
2015-02-13 12:42:19 -08:00
Phil Estes
6217f2944f Fix daemon.Get error handling with --link setup. Add test.
Fixes newly introduced error flow from daemon.Get() in the link setup
code.  Also added more detail to daemon.Get() comments for clarity.
Added test to test the bogus container link codepath.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-13 15:14:38 -05:00
Jessie Frazelle
8b010d9f10 Merge pull request #10715 from icecrime/keyserver_install_dependency
Use gpg from our server if keyserver is down
2015-02-13 11:29:39 -08:00
Jessie Frazelle
4f24b77826 Merge pull request #10762 from coolljt0725/fix_check_config
Fix check-config.sh usage
2015-02-13 10:36:00 -08:00
Jessie Frazelle
070e1f238b Merge pull request #10763 from moul/patch-2
mkimage-alpine.sh: Allow to change ARCH from the environment
2015-02-13 10:35:35 -08:00
Alexander Morozov
7d65473b80 Merge pull request #10767 from cpuguy83/fix_racey_exec_cgroup_test
Fix race detected in TestExecCgroup
2015-02-13 09:54:06 -08:00
Brian Goff
14131b65c4 Cleans up docs/man/Dockerfile.5.md
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-13 12:47:58 -05:00
Brian Goff
8f5156e584 Fix race detected in TestExecCgroup
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-13 12:18:46 -05:00
Arnaud Porterie
f058e9c43c Use gpg keyserver pool
Make the install script independent from the ubuntu keyserver by using
the sks-keyservers pool instead.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-13 09:13:29 -08:00
grossws
8017cb0d3b [trivial] changed ./hack to ./project in README.md
Signed-off-by: Konstantin Gribov <grossws@gmail.com>
2015-02-13 18:11:16 +03:00
Manfred Touron
75f1c440dd mkimage-alpine.sh: Allow to change ARCH from the environment
Signed-off-by: Manfred Touron <m@42.am>
2015-02-13 13:57:04 +01:00
Lei Jitang
82fda400b8 Fix check-config.sh usage
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-13 19:52:11 +08:00
Andrew C. Bodine
0fadc9bd90 adds notify user of login credential persistence for registry
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2015-02-12 23:45:50 -08:00
Fred Lifton
aa073ac05e Merge pull request #10748 from icecrime/10739_update_docs
Update docs for HTTP_PROXY
2015-02-12 17:18:49 -08:00
Tibor Vass
2b5dfb3b01 Merge pull request #10755 from ahmetalpbalkan/win-cli/TestBuildAddTarXzGz-fix
TestBuildAddTarXz(Gz): call xz with '-k' due to bug
2015-02-12 19:25:43 -05:00
Ahmet Alp Balkan
2f53820ce4 TestBuildAddTarXz: xz with '-k' due to msys bug
TestBuildAddTarXz/TestBuildAddTarXzGz make exec calls like
'cd %SOME_TEMP_DIR%; xz test.gz' but this fails when called
from integration-cli tests (doesn't fail from msys or cmd shell).

It fails with error: "xz: test.tar: Cannot remove: Permission denied."
Proposing workaround of using the `xz --keep` argument since keeping
test.tar is harmless and it's already in os.TempDir().

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-12 15:42:27 -08:00
Tianon Gravi
65623e22aa Merge pull request #10716 from ahmetalpbalkan/win-cli/fix-emptyfs-path
Change emptyfs path in integration-cli tests
2015-02-12 15:29:48 -08:00
Ahmet Alp Balkan
ac6cb41d52 docker_api_attach_test: fix WS test to use DOCKER_TEST_HOST if specified
TestGetContainersAttachWebsocket is currently broken on Windows CI tests
b/c it has hardcoded unix://var/run/docker.sock.  This change makes use
of @icecrime's code in docker_utils and generalizes it with sockConn()
to provide a net.Conn by making use of DOCKER_TEST_HOST. Also fixes
the test.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-12 15:11:19 -08:00
Ahmet Alp Balkan
e1be475c5b Change emptyfs path in integration-cli tests
This fixes the build break in Jenkins Windows CI tests and
fixes TestInspectImage for Windows CLI.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-12 15:02:18 -08:00
Doug Davis
802802b781 Merge pull request #10727 from ahmetalpbalkan/win-cli/integration-cli-compile-fix
Create builder/command, cut libcontainer dependency on integration-cli
2015-02-12 17:10:16 -05:00
Peter Salvatore
74b050bd0c Clean up explanation of doc branches.
Signed-off-by: Peter Salvatore <peter@psftw.com>
2015-02-12 17:02:56 -05:00
Arnaud Porterie
7a7c00ca08 Update docs for HTTP_PROXY
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-12 11:40:56 -08:00
Arnaud Porterie
d8f60a6cf7 Merge pull request #10739 from cpuguy83/fix_do_not_proxy_unix_sock
Do not use HTTP_PROXY for unix sock
2015-02-12 11:33:46 -08:00
Michael Crosby
3eb1939b69 Merge pull request #10694 from dmcgowan/remove-push-by-id
Remove push by ID
2015-02-12 11:25:38 -08:00
Brian Goff
f6e697d2ac Do not use HTTP_PROXY for unix sock
Makes sure the CLI does not use HTTP_PROXY when connecting to unix
socket.
Also adds some tests to make sure this functionality works as expected.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-12 11:38:52 -05:00
Ahmet Alp Balkan
72a070c5da builder/parser: Make use of builder/command
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-11 23:54:41 -08:00
Ahmet Alp Balkan
ccde3a1f73 Create builder/command, cut libcontainer dependency on integration-cli
d1e9d07c introduces a dependency to libcontainer and other daemon
related packages through builder package. The only thing test needs
is set of the Dockerfile commands. Extracting them to a separate
package.

This was causing CI tests to not to compile on non-Linux platforms.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-02-11 21:44:31 -08:00
Sven Dowideit
d79e597f30 Tweak the text a little
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-12 12:39:41 +10:00
Sven Dowideit
49d1ab0eb2 update the test code to enable testing the extra info
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-12 12:39:41 +10:00
Greg Fausak
df8d807102 added -extfile to server certificate documentation for support of
subjectAltName=IP:x.x.x.x
this allows for connecting to the docker server from docker client
using the dns name OR using the IP address (lots of docker stuff
prefers IP addresses)

Signed-off-by: Greg Fausak <greg@tacodata.com>
2015-02-12 12:39:41 +10:00
Lei Jitang
f3713010dd Add tests for create /etc volume
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-12 10:39:07 +08:00
Lei Jitang
fa228d8cbc Fix create volume /etc cover /etc/{hosts,resolv.conf,hostname}
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-02-12 08:46:53 +08:00
Jessie Frazelle
f4749acad4 Merge pull request #10686 from LK4D4/bump_docs
Bump api version to 1.18
2015-02-11 11:01:28 -08:00
Tibor Vass
df7a04f9a6 Merge pull request #10670 from tianon/revert-10290-sorry-windows-norelease4u
Revert "Remove windows from the list of supported platforms"
2015-02-11 13:54:34 -05:00
Jessie Frazelle
3e039e8748 Merge pull request #10596 from rhvgoyal/manifest-close-archive
manifest: Close archive once done to umount the device backing the layer
2015-02-11 09:05:26 -08:00
Vivek Goyal
064ff42d6d docker-call-close-archive-in-push-v2-image
pushV2Image() calls TarLayer() which returns an archive. One needs to
Close() the archive once done otherwise it will leave mounted devices
if devicemapper graph driver is being used.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-02-11 11:30:46 -05:00
Vivek Goyal
41bfa87b6c manifest: Close archive once done using it
manifest code calls TarLayer() and gets archive. This archive needs to
be closed once caller is done using it to release the resrouces held
by archive. For the devicemapper graphdriver, archive keeps a device
mounted (device which is backing the layer). If archive.Close() is not
called, that device remains mounted and later deletion of device fails
leading to various other issues.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-02-11 11:30:45 -05:00
James Turnbull
9939dbe58b Merge pull request #10658 from duglin/ReferenceSpecs
Add Image/Libcontainer spec refs to README
2015-02-11 06:42:41 -05:00
Sven Dowideit
54b59c2b2f Merge pull request #10632 from chenhanxiao/update-TESTFLAGS-docs
docs: emphasis TESTFLAGS and add some descriptions
2015-02-11 12:36:43 +10: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
Derek McGowan
8d1a0086c1 Update the trust graph only when pulling an official image
The trust graph currently pulls the keys needed to verify official images. For non-official images this graph check is useless. To avoid hitting the key statement url when pulling from private v2 registries, restrict the check to official image pulls.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-02-10 16:08:57 -08:00
Derek McGowan
db2d875b5e Remove push by ID
Pushing by image ID is not allowed in the Docker CLI and not supported by the registry. An unnamed image also cannot be pushed to a private registry, since no endpoint is specified and it will default to the hub. The hub also does not support this use case, therefore removing the code path is the best solution.

The ability to push a layer without a name is unsupported by the v2 registry.


Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-02-10 15:46:42 -08:00
Michael Crosby
19019722d9 Merge pull request #10687 from icecrime/bump_master_v1.5.0
Bump to version v1.5.0-dev
2015-02-10 14:10:45 -08:00
Jessie Frazelle
84fc81e353 Merge pull request #10689 from duglin/ScratchImage
Show err msg on empty 'scratch' Dockerfile
2015-02-10 13:54:43 -08:00
Doug Davis
1654dfdf14 Show err msg on empty 'scratch' Dockerfile
If you have a Dockefile with just:
   FROM scratch

An error is generated but its never shown to the CLI. This PR fixes that.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-10 11:43:45 -08:00
Arnaud Porterie
66ab357edf Bump to version v1.5.0
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-10 10:52:36 -08:00
Alexander Morozov
d92b4232f7 Bump api version to 1.18
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-10 10:48:54 -08:00
Vincent Batts
f4dc496d36 Merge pull request #10474 from petervo/10473-availble-space
Add available space to devicemapper status output
2015-02-10 16:32:51 +01:00
Chen Hanxiao
d83b6918a7 docs: emphasis TESTFLAGS and add some descriptions
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-10 15:34:33 +08:00
Alexander Morozov
d14751bf30 Merge pull request #10671 from tiborvass/remove-fail-word-from-tests
Remove word "fail" from tests
2015-02-09 20:53:15 -08:00
Michael Crosby
7cc76a7fda Merge pull request #10561 from duglin/SupportNoArgCmds
Add support for no-arg commands in Dockerfile
2015-02-09 18:08:14 -08:00
Jessie Frazelle
9944f8b954 Merge pull request #10598 from lsm5/core-file-size
no limit on core size
2015-02-09 17:31:40 -08:00
Sven Dowideit
4284715c79 Merge pull request #10652 from SvenDowideit/update-9456
update kernel reqs doc; recommend updates on RHEL
2015-02-10 11:02:42 +10:00
Sven Dowideit
32c6179f47 updates from review
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-10 11:02:05 +10:00
unclejack
b4089114ef update kernel reqs doc; recommend updates on RHEL
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-02-10 11:02:05 +10:00
Sven Dowideit
76baa351c0 Merge pull request #10608 from SvenDowideit/wrap-doc-headings-in-sidebar
Simplfy the sidebar html and css, and then allow the text to wrap
2015-02-10 10:03:37 +10:00
Sven Dowideit
6257505dbc remove the text-indent and increase the font size
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-10 09:50:02 +10:00
Sven Dowideit
c237f9f201 Simplfy the sidebar html and css, and then allow the text to wrap
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-10 09:50:02 +10:00
Tibor Vass
aadb6289cc Remove word "fail" from tests
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-02-09 18:01:52 -05:00
Peter Volpe
6816d27591 Detail available space behavior on loop devices
Signed-off-by: Peter Volpe <petervo@redhat.com>
2015-02-09 14:51:48 -08:00
Tibor Vass
d21ecf94fe Merge pull request #10366 from tiborvass/new-pr-workflow
New pull request review workflow
2015-02-09 17:33:37 -05:00
Tianon Gravi
4bc4587f05 Revert "Remove windows from the list of supported platforms"
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-09 15:22:22 -07:00
Tibor Vass
765c89791b Merge pull request #10659 from estesp/fix-dup-bind-mounts-testing
Clean up dup. volume test and add API test for the same
2015-02-09 16:04:26 -05:00
Jessie Frazelle
4c1da911a9 Merge pull request #10660 from tianon/static_build-tag
Update project/make/dynbinary to unset the static_build tag
2015-02-09 13:02:57 -08:00
Tianon Gravi
6da5b88bed Merge pull request #10277 from mleone896/rhinit_dead_pid_file
Fixing stale pidfile issue when docker dies abruptly
2015-02-09 12:19:23 -08:00
Lokesh Mandvekar
ae9cdbbde7 no limit on core size
set LimitCORE=infinity to ensure complete core creation,
allows extraction of as much information as possible.

Thanks to Ulrich Obergfell <uobergfe@redhat.com>
and Jeremy Eder <jeder@redhat.com>

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2015-02-09 19:04:50 +00:00
Mike Leone
05d04843e6 Fixing stale pidfile issue when docker dies abruptly
Signed-off-by: Mike Leone <mleone896@gmail.com>

fixing indent

Signed-off-by: Mike Leone <mleone896@gmail.com>
2015-02-09 14:01:12 -05:00
Alexander Morozov
62ce5de1c1 Merge pull request #10657 from estesp/10655-add-host-err-msg
Add more helpful error message for --add-host
2015-02-09 10:47:04 -08:00
Phil Estes
1ce9fa1c60 Add more helpful error message for -add-host
Fixes: #10655

As noted in the issue, bad format was being returned even if the format
was appropriate, but the IP was invalid.  This adds a better error
message for when the IP address fails validation.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-09 12:45:50 -05:00
Phil Estes
35d4825838 Clean up dup. volume test and add API test for the same
Handles missed comments in PR#10622 and adds an API test to validate
error returned properly for duplicate bind mounts for the same
container target path.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-09 12:33:58 -05:00
Tianon Gravi
918b06f53c Merge pull request #10530 from unclejack/install_sh_ssl_certs
project/install.sh: install ca-certificates
2015-02-09 09:01:02 -08:00
Tianon Gravi
4b681c401c Merge pull request #10443 from jbiel/patch-1
mkimage-arch.sh - don't run docker in interactive mode
2015-02-09 08:45:20 -08:00
Tianon Gravi
10a28da8fd Update project/make/dynbinary to unset the static_build tag
This allows us to use build tags in the code directly to include/exclude code based on our binary's "staticness".

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-02-09 09:30:09 -07:00
Doug Davis
5c7a947b3c Add Image/Libcontainer spec refs to README
Right now its really hard for a newbie to find our Image specification
so I'm adding a link to it (and libcontainer's) to the main README.
I'm also trying to figure out how to add a link to it from the main docs
too but that's proving harder than I expected. I'll be working with Sven on
a subsequent PR to make that happen, but it might not happen until after 1.5
is out.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-09 06:09:51 -08:00
James Turnbull
a98355561d Merge pull request #10651 from HammerOfThor/master
docs: fix a typo in registry_mirror.md
2015-02-09 05:05:57 -05:00
Vincent Batts
67a4f1db10 Merge pull request #10440 from rhvgoyal/skip-dot-prefix-files
devicemapper: Skip the files with prefix "." during device map construct...
2015-02-09 10:26:27 +01:00
Sven Dowideit
c28ea14bbb Merge pull request #10624 from stevekochscience/master
Add link to user guide to end of 14.04 section
2015-02-09 14:05:33 +10:00
Qiang Huang
aee28e0e87 fix the problem that memory-swap=-1 is not working for docker command
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-02-09 10:36:49 +08:00
Zhang Wei
40486d9709 docs: fix a typo in registry_mirror.md
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-02-09 10:04:55 +08:00
Sven Dowideit
a1eb2bebb8 Merge pull request #10635 from chenhanxiao/docs-Dockerfile-typo
docs: fix a typo in Dockerfile.5.md
2015-02-09 09:50:18 +10:00
Jessie Frazelle
c61e97c728 Merge pull request #10529 from waitingkuo/patch-2
Update certificates.md
2015-02-08 12:46:22 -08:00
Jessie Frazelle
04b0bf4c27 Merge pull request #10453 from aidanhs/aphs-move-daemon-flags
Move daemon-only flags into the daemon config struct
2015-02-08 12:40:19 -08:00
Wei-Ting Kuo
2f69da2a5e Update certificates.md
`openssl req -new -x509 -text -key client.key -out client.cert` creates a self-sign certificate but not a certificate request.

Signed-off-by: Wei-Ting Kuo <waitingkuo0527@gmail.com>
2015-02-09 04:36:00 +08:00
Doug Davis
d1e9d07c1b Get list of Dockerfile cmds from builder so we can be smarted in our tests
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-08 08:09:02 -08:00
Aidan Hobson Sayers
06ea5fe979 Move daemon-only flags into the daemon config struct
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2015-02-08 12:56:18 +00:00
Doug Davis
e4f02abb51 Add support for no-arg commands in Dockerfile
We're hoping to add some new commands that don't have any args so this
PR will enable that by removing all of the hard-coded checks that require
commands to have at least one arg.  It also adds some checks to each
command so we're consistent in the error message we get.  Added a test
for this too.

We actually had this check in at least 3 different places (twice in the
parser and once in most cmds), this removes 2 of them (the parser ones).

Had to remove/modify some testcases because its now legal to have certain
commands w/o args - e.g. RUN. This was actually inconsistent because
we used to allow "RUN []" but not "RUN" even though they would generate
(almost) the same net result.  Now we're consistent.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-08 03:36:49 -08:00
Alexander Morozov
f208201375 Merge pull request #10607 from chenhanxiao/enable-upper-proto
nat: enable upper case proto
2015-02-07 16:56:35 -08:00
Chen Hanxiao
0552f1a0ca docker_cli_build_test: add testcase of EXPOSE 5678/UDP
test whether we could use upper case proto in EXPOSE

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-08 07:04:22 +08:00
Tibor Vass
7b7c8f587b Merge pull request #10623 from jfrazelle/update-fish
Update docker.fish
2015-02-07 12:37:21 -05:00
Tibor Vass
1da2a53a24 Merge pull request #10533 from noironetworks/Fixes-one-failing-test
Fixed one test that was causing error
2015-02-07 12:12:03 -05:00
André Martins
ab4bc988bc Fixed one small typo of docker_cli_build_test.go
Signed-off-by: André Martins <martins@noironetworks.com>
2015-02-07 15:37:58 +00:00
Chen Hanxiao
c4340de04f docs: fix a typo in Dockerfile.5.md
s/Mutliple/Multiple

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-07 17:09:20 +08:00
Tibor Vass
30cd215b86 Minor nits
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-02-06 22:39:31 -05:00
Arnaud Porterie
c03d6f57b6 Merge pull request #10594 from dmcgowan/v2-registry-tarsum-errors
Update verification message logic
2015-02-06 17:01:34 -08:00
Tibor Vass
b0ed2da441 Merge pull request #10112 from cpuguy83/4393_fix_volume_where_file_exists
Error out if file in container at volume path
2015-02-06 19:39:48 -05:00
Jessie Frazelle
81f74caee8 Merge pull request #10320 from shishir-a412ed/cleanup_cmd_tag
cleanup of docker tag command code
2015-02-06 16:34:48 -08:00
André Martins
0ce42dcc96 Fixes #10457-Pause-and-unpause-accept-multi-containers
Applied multi parameters to pause and unpause.
Created a new test file dedicated for pause commands.
Created a new utility function to get a slice of paused containers.
Updated documentation

Signed-off-by: André Martins <martins@noironetworks.com>
2015-02-07 00:28:49 +00:00
Tibor Vass
414a37f90a Merge pull request #10534 from unclejack/aufs_enable_dio
daemon/graphdriver/aufs: enable direct io
2015-02-06 18:26:09 -05:00
Michael Crosby
3807bd9777 Merge pull request #10548 from SvenDowideit/add-webhook-image-list
The Hub build webhooks now list the images that have been built
2015-02-06 15:15:16 -08:00
Michael Crosby
dfa1a84937 Merge pull request #10578 from SvenDowideit/copy-edit-10516-fedora-install
Copy edit 10516 fedora install
2015-02-06 15:14:31 -08:00
Jessie Frazelle
e706be77a4 Merge pull request #10546 from SvenDowideit/update-boolean-flags-help
Documentation on boolean flags is wrong #10517
2015-02-06 15:12:11 -08:00
Coenraad Loubser
2471134ae3 Update docker.fish
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)

Signed-off-by: Coenraad Loubser <coenraad@wish.org.za>
2015-02-06 15:07:42 -08:00
Jessie Frazelle
271a073a04 Merge pull request #10622 from estesp/10618-err-ondup-bind-vols
Don't allow duplicate `-v` specifications for the same target
2015-02-06 15:03:56 -08:00
Brian Goff
c73e3bf4dc Error out if file in container at volume path
Fixes #4393

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-06 18:00:00 -05:00
Michael Crosby
eb79acd7a0 Merge pull request #10421 from noironetworks/10388-Specifying_confliting_options
Specifying -a and -d to docker run should throw an error
2015-02-06 14:58:08 -08:00
Jessie Frazelle
76bf543fea Merge pull request #10556 from estesp/ipv6-extra-hosts
Allow IPv6 addresses in ExtraHosts option settings
2015-02-06 14:53:54 -08:00
Jessie Frazelle
c2f82bba0a Merge pull request #10558 from gierschv/doc-remote-url
Documents build API "remote" parameter
2015-02-06 14:51:51 -08:00
Alexander Morozov
e4d711f3f0 Merge pull request #10308 from cpuguy83/add_volume_unit_tests
Adds unit tests for volumes
2015-02-06 14:51:11 -08:00
Steve Koch
823cb12810 Add link to user guide to end of 14.04 section
Adding instructions to exit the test shell and a link to the user guide (as is done in the following sections for 12.04 and 13.04/10

Signed-off-by: Steven Koch <sjkoch@unm.edu>
2015-02-06 15:50:51 -07:00
Michael Crosby
7d4bbc2ed8 Merge pull request #10273 from kojiromike/patch-1
Distinguish ENV from setting environment inline
2015-02-06 14:42:02 -08:00
Michael Crosby
e345fe53ba Merge pull request #10573 from LK4D4/return_attach_to_builder
Change verbose builder out back to attach
2015-02-06 14:37:09 -08:00
Michael Crosby
e4a49ae188 Merge pull request #10424 from LK4D4/fix_non_tailed_log_format
Fix logs, so now, old and followed logs has same format without []
2015-02-06 14:35:45 -08:00
Michael Crosby
9d140fe693 Merge pull request #10105 from LK4D4/remove_tons_of_names
Use graphdb.Walk with depth=1 in /containers
2015-02-06 14:33:26 -08:00
Alexander Morozov
b6dc430d99 Merge pull request #10153 from acbodine/api_websocket_test
Adds test for api attach via websocket
2015-02-06 14:29:54 -08:00
Michael Crosby
ffc499dbab Merge pull request #10215 from taohu/remove-assumption-first-ip-is-bridge-ip
Remove the assumption that the first IP is the bridge IP
2015-02-06 14:15:46 -08:00
Alexander Morozov
6d65fa1faa Merge pull request #10208 from mota/fix-env-writerto
Fix env.WriteTo count return
2015-02-06 14:14:16 -08:00
Alexander Morozov
6efecb7b41 Merge pull request #10186 from rhatdan/selinux-build
Turn on Security opts including labeling for docker build
2015-02-06 14:11:21 -08:00
Alexander Morozov
0f8f04a774 Fix example about ps and linked containers
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-06 14:05:08 -08:00
Alexander Morozov
2a3225eb82 Test for links names in ps --no-trunc
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-06 14:05:08 -08:00
Alexander Morozov
10c3d9f80f Use graphdb.Walk with depth=1 in /containers
I don't think that it was very useful feature in current implementation,
but when you have a lot of links - your daemon became unusable because
on first call of /containers global graphdb lock will be acquired and it
can take a lot of time: 30m for 15 containers linked to each other.

Links names can be seen with `--no-trunc`, but I think it's useless :)

Fixes #9967

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-06 14:04:21 -08:00
Michael Crosby
34c804a139 Merge pull request #9705 from acbodine/9311-truncindex-error-duplicate-id-on-ambiguous-id
Closes #9311 Handles container id/name collisions against daemon functionalities according to #8069
2015-02-06 14:01:28 -08:00
Phil Estes
d1f33d12d4 Don't allow duplicate -v specifications for the same target
Addresses: #10618

Given that the user has no notification that they tried to bind mount
different directories on the same target in the container, this errors
out in that case, without changing the current code allowing for
--volumes-from to trump -v/VOLUME specifications.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-06 17:00:53 -05:00
Tibor Vass
a982432c16 Merge pull request #10601 from LK4D4/fix_tag_name_in_ps
Show right tag for container in ps
2015-02-06 16:59:49 -05:00
Tibor Vass
2e947ae407 Merge pull request #10605 from glasnt/readme_format
Format `awsconfig` sample config correctly
2015-02-06 16:55:58 -05:00
Tibor Vass
9c63178e86 Merge pull request #10611 from unclejack/systemd_doc_storage_path
docs/articles/systemd: correct --storage-driver
2015-02-06 16:52:28 -05:00
Tibor Vass
02e50999f5 Merge pull request #10612 from vbatts/vbatts-archive_sort
pkg/archive: sort files
2015-02-06 16:50:53 -05:00
Alexander Morozov
77815c5492 Merge pull request #10300 from hqhq/hq_add_args_for_checkconfig
add args support for check-config.sh
2015-02-06 13:49:09 -08:00
Michael Crosby
d1f18786ac Merge pull request #10263 from hqhq/hq_check_memoryswap
add check for memoryswap
2015-02-06 13:43:23 -08:00
Tibor Vass
9491cec224 Merge pull request #10602 from ahmetalpbalkan/dev/ahmetb-homedir-fix
Extract $HOME usages into utils.GetHomeDir() (reopen #10358)
2015-02-06 16:27:59 -05:00
Tibor Vass
82191cc3f3 Merge pull request #10120 from duglin/TrimSpaces
Remove leading/trailing spaces in builder/parser
2015-02-06 16:25:37 -05:00
Tibor Vass
4f18fc0bd2 Merge pull request #10572 from duglin/DynamicHelpTest
Make checking of help text smarter
2015-02-06 16:18:49 -05:00
Doug Davis
969ba5c7ed Make checking of help text smarter
As I was reworking https://github.com/docker/docker/pull/9402 I realized
that the new testcase I just added that verified all help text is within
80 characters really should be smarter and ask "docker help" for the list
of commands to check instead of having a hard-coded list.  This way
it will catch "docker execwait" automagically once #9402 is merged.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-06 13:02:58 -08:00
Ahmet Alp Balkan
f9ae2d4fd4 Export $HOME lookup to pkg/homedir
Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-06 11:42:45 -08:00
Alexander Morozov
e45deceb46 Show right tag for container in ps
Fixes #10599

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-06 11:32:01 -08:00
Vincent Batts
899a2dda09 pkg/archive: test that confirms hardlink ordering
This test was written against
master(abdfb21e3a) as a failing test, but
works with this patch set.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-02-06 18:14:38 +01:00
Vincent Batts
32d6d49539 pkg/archive: sort files
sort changes found and exported.

Sorting the files before appending them to the tar archive
would mean a dependable ordering for types like hardlinks.

Also, combine sort logic used

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-02-06 18:13:57 +01:00
Doug Davis
3859c48531 Remove leading/trailing spaces in builder/parser
Per Erikh's suggestion at:
https://github.com/docker/docker/pull/9989#issuecomment-69832009
this PR will trim spaces in the parser to ensure that the user gets the same
results irrespetive of leading/trailing spaces.

Per @tiborvass's suggestion I added a test to make sure spaces in quotes
are not touched.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-06 08:52:18 -08:00
Sven Dowideit
1e6e68361c Documentation on boolean flags is wrong #10517
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-06 19:52:01 +10:00
Sven Dowideit
eb814e4e70 Do some major rearranging of the fedora/centos/rhel installation docs
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-06 19:48:19 +10:00
Lokesh Mandvekar
66839cf3a6 update fedora docs to reflect latest rpm changes
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2015-02-06 19:48:19 +10:00
Sven Dowideit
6081a3ca90 Merge pull request #10523 from SvenDowideit/hide-more-old-docker-api-docs
The reference menu is too big to list more than the latest API docs, so ...
2015-02-06 19:26:01 +10:00
unclejack
0b2f734462 docs/articles/systemd: correct --storage-driver
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-02-06 10:52:09 +02:00
Chen Hanxiao
2706426434 nat: enable upper case proto
We only accepted lower case proto: tcp, udp.
This patch will enable us to use upper case
of proto such as: EXPOSE 1234/TCP

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-06 14:07:17 +08:00
Katie McLaughlin
df39336213 Format awsconfig sample config correctly
Reflow change in commit 195f3a3f removed newlines in the config format.

This change reverts the sample config to the original formatting, which
matches the actual config format of a `awsconfig` file.

Signed-off-by: Katie McLaughlin <katie@glasnt.com>
2015-02-06 13:45:10 +11:00
Fred Lifton
68b0ed54cb Merge pull request #10574 from SvenDowideit/docker-stats-limited-to-libcontainer
For now, docker stats appears to be libcontainer only
2015-02-05 17:52:36 -08:00
Derek McGowan
6088df20c3 Update verification message logic
Only show the verification message if all the tarsum checks pass and the image manifest is verified.
No longer return an error when a tarsum verification fails, just reset the verification flag.
Tarsum verification is less meaningful without a verified manifest and therefore it should not cause an error.
Updated the verified image test to pull an image which expected to have a verified manifest and contents.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-02-05 17:46:55 -08:00
Ahmet Alp Balkan
6ffb77afd4 Extract $HOME usages into utils.GetHomeDir()
Refactored getHomeDir in docker/docker to GetHomeDir in utils
pkg. Currently covers all use cases on the client-side.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2015-02-05 16:13:51 -08:00
James Turnbull
eda9c14cb9 Merge pull request #10560 from MihaiB/docs-typo
docs: fix typo
2015-02-06 00:42:45 +01:00
Jessie Frazelle
1c8beeb07a Merge pull request #10552 from albers/bash-completion
Complete signals in bash completion for docker kill
2015-02-05 15:35:03 -08:00
Abin Shahab
ea0fd0e8e5 Added /dev paths to layer comparison
Lxc images have /dev (devices). This creates a list with the /dev paths in the test.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-02-05 20:36:30 +00:00
Ian Babrou
a6c6d8bb91 Checking EXT4_FS_SECURITY and EXT4_FS_POSIX_ACL for overlay
Signed-off-by: Ian Babrou <ibobrik@gmail.com>
2015-02-05 17:41:13 +03:00
Dan Walsh
8a8dcf1930 Turn on Security opts including labeling for docker build
Currently docker build is not passing HostConfig to daemon.Create.
this patch creates the default HostConfig and passes it to daemon.Create.
This will cause the SELinux labeling to turn on for docker build.  Basically
it causes a SecurtyOpt field to be created.  In the future this might also
allow us to use seccomp and UserNamespace with docker build.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-02-05 12:33:22 +01:00
Harald Albers
532513153f Bash completion for docker kill
Signed-off-by: Harald Albers <github@albersweb.de>
2015-02-05 09:42:33 +01:00
James Turnbull
abdfb21e3a Merge pull request #10521 from SvenDowideit/docs-not-ready-yet
remove swarm, machine and compose from the 1.5.0 release docs
2015-02-05 03:42:14 +01:00
Fred Lifton
e13a0de7aa Merge pull request #10575 from SvenDowideit/elide-dhe-docs
The DHE documentation will not be published with 1.5.0
2015-02-04 18:16:42 -08:00
Fred Lifton
6dd2364dc2 Merge pull request #10576 from SvenDowideit/devicemapper-spelling-fix
Fix a small spelling error in the dm.blkdiscard docs
2015-02-04 17:42:31 -08:00
Fred Lifton
e19f2c0e52 Merge pull request #10506 from SvenDowideit/v1.5.0-release-notes
Add an initial list of new features in Docker Engine 1.5.0
2015-02-04 17:22:11 -08:00
Qiang Huang
0c0f0d5ab4 update docs for memory and memoryswap
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-02-05 09:12:56 +08:00
Qiang Huang
72f356be6a add check for memoryswap when create
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-02-05 09:05:27 +08:00
Tibor Vass
1578f21067 Clarify docs review role
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-02-04 19:58:31 -05:00
Sven Dowideit
fcb975cfd1 Fix a small spelling error in the dm.blkdiscard docs
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-05 10:57:33 +10:00
Sven Dowideit
16a15ea581 Add an initial list of new features in Docker Engine 1.5.0
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-05 10:37:15 +10:00
Sven Dowideit
a7a9ce2635 remove swarm, machine and compose from the 1.5.0 release docs
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-05 10:30:57 +10:00
Sven Dowideit
9867dfa617 The DHE documentation will not be published with 1.5.0
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-05 10:26:53 +10:00
Sven Dowideit
1cc774b4fa Merge pull request #10508 from SvenDowideit/ctrl-backslash-used-to-generate-a-stacktrace
Remove docker attach generates a stacktrace on ctrl-\ docs, as i can't trigger it
2015-02-05 10:21:00 +10:00
Sven Dowideit
2507e0b64f For now, docker stats appears to be libcontainer only
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-05 10:12:05 +10:00
Alexander Morozov
fd1bdf2120 Merge pull request #10566 from jfrazelle/fix-overlay-unit-tests-for-btrfs
Fix for running unit tests on a 3.18 kernel with btrfs.
2015-02-04 15:41:06 -08:00
Alexander Morozov
1095d5e5e4 Change verbose builder out back to attach
This is sort of "revert" of #8415. There is some problems with using
logs:
* Non-live progressbars
* Races when you can try to get logs before it was written(there was
  occasional errors in tests)

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-04 15:37:14 -08:00
Jessica Frazelle
72a9000fcf Removes the feature to pull all image aliases.
It didn't work on v2 anyways. And an image with a lot of aliases was slow to
fetch.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
2015-02-04 15:06:34 -08:00
Tibor Vass
7cbd2d08c0 A few fixes
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-02-04 17:14:15 -05:00
Alexander Morozov
7cc9858223 Merge pull request #10565 from jfrazelle/fix-range
Fix compilation on Go 1.3.3
2015-02-04 14:07:05 -08:00
Jessica Frazelle
c809fc552b Fix for running unit tests on a 3.18 kernel with btrfs.
Was failing on overlay before and comparing the wrong error.

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-02-04 13:51:44 -08:00
Tibor Vass
14452bcfc2 New pull request workflow
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-02-04 16:43:09 -05:00
Jessica Frazelle
4855612aae Fix compilation on Go 1.3.3
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
2015-02-04 13:35:20 -08:00
Jessie Frazelle
5a5726c5e4 Merge pull request #10526 from allingeek/runconfig-user-detail
CLEANUP: Amend run help for --user to include GID
2015-02-04 13:23:55 -08:00
Derek McGowan
c8a06069bc Reduce logging when official v2 registry is unavailable
On pull treat an unavailable v2 registry as a non-error fallback.
On push only show v2 error message in debug mode.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-02-04 13:23:13 -08:00
Mihai Borobocea
48ee443eca docs: fix typo
There are 2 not 3 RUN instructions in the userguide's Dockerfile.

Signed-off-by: Mihai Borobocea <MihaiBorobocea@gmail.com>
2015-02-04 23:15:18 +02:00
Jeff Nickoloff
46d4e491c8 Amend run help for --user to include GUID
The -u/--user flag optionaly takes a group/gui. This change documents this behavior and specifies the complete format of the value.

Signed-off-by: Jeff Nickoloff <jeff@allingeek.com>

Added a missed semi-colon for consistency with other messages.

Signed-off-by: Jeff Nickoloff <jeff@allingeek.com>
2015-02-04 21:27:02 +01:00
Jessie Frazelle
a271eaeba2 Merge pull request #10547 from duglin/Issue10214
Pretty the help text
2015-02-04 11:31:18 -08:00
Fred Lifton
8a91926cd9 Merge pull request #10522 from SvenDowideit/fix-swarm-links
use the same paths as in the swarm repo, so that their links magically w...
2015-02-04 10:19:19 -08:00
Fred Lifton
a1ce6c7d44 Merge pull request #10542 from SvenDowideit/ets-spelling-in-userguide
Spelling mistake in dockerlinks
2015-02-04 10:17:52 -08:00
Arnaud Porterie
23196cdebb Merge pull request #10539 from dmcgowan/v2-registry-revert-push
Revert push to v2 official registry
2015-02-04 10:01:26 -08:00
Derek McGowan
88fdcfef02 Limit push and pull to v2 official registry
No longer push to the official v2 registry when it is available. This allows pulling images from the v2 registry without defaulting push. Only pull official images from the v2 official registry.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-02-04 09:21:36 -08:00
Vincent Giersch
3cb78bfa76 Documents build API "remote" parameter
Introduced in Docker v0.4.5 / Remove API v1.1 (#848), the remote
parameter of the API method POST /build allows to specify a buildable
remote URL (HTTPS, HTTP or Git).

Signed-off-by: Vincent Giersch <vincent.giersch@ovh.net>
2015-02-04 17:07:56 +01:00
Doug Davis
2203b37733 Pretty the help text
This modifies the "docker help" text so that it is no wider than 80 chars
and each description fits on one line. This will also try to use ~ when
possible

Added a test to make sure we don't go over 80 chars again.
Added a test to make sure we use ~

Applied rules/tests to all docker commands - not just main help text

Closes #10214

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-04 07:59:16 -08:00
Brian Goff
132d0028ba Adds unit tests for volumes
Cleans up some dead code

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-02-04 10:53:31 -05:00
Phil Estes
fdfa205786 Allow IPv6 addresses in ExtraHosts option settings
Since the separator for extra host settings (for /etc/hosts in a
container) is a ":", the code that handles extra hosts needed to only
split on the first ":" to preserve IPv6 addresses which are passed via
the command line settings as well as stored in the JSON container
config.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-02-04 10:20:28 -05:00
Sven Dowideit
3166c4df83 The Hub build webhooks now list the images that have been built
And fix some spelling - repo isn't really a word :)

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-04 14:17:56 +10:00
Alexander Morozov
bdbdbcc945 Merge pull request #10544 from chenhanxiao/comment-typo
fix comments typos
2015-02-03 20:09:05 -08:00
Chen Hanxiao
ef3192f161 fix comments typos
s/propogated/propagated

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-04 10:47:37 +08:00
Sven Dowideit
ea6db8af18 Spelling mistake in dockerlinks
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-04 12:12:46 +10:00
Fred Lifton
165ea5c158 Merge pull request #10507 from jbruni/patch-1
Remove File List
2015-02-03 17:33:15 -08:00
Michael Crosby
31c6419e58 Merge pull request #10538 from vieux/update_MAINTAINERS
update MAINTAINERS file
2015-02-03 17:12:05 -08:00
Tibor Vass
944f76d444 Merge pull request #10484 from thaJeztah/fix-contributing-link
Fix broken link to project/MAINTAINERS.md
2015-02-03 19:20:55 -05:00
Victor Vieux
2e9c498e34 add crosbymichael and Github -> GitHub
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-02-03 23:04:37 +00:00
Arnaud Porterie
c98007f9d2 Merge pull request #10477 from liusdu/liusdu_typo
delete duplicated word in registry/session.go
2015-02-03 14:38:47 -08:00
Jessie Frazelle
0018afebb8 Merge pull request #10480 from yihangho/docstypo
Fix a tiny typo.
2015-02-03 14:37:35 -08:00
Jessie Frazelle
71368c520e Merge pull request #10483 from Thell/master
Update dockerfile_best-practices.md
2015-02-03 14:36:24 -08:00
Victor Vieux
8475795f76 update MAINTAINERS file
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-02-03 19:50:46 +00:00
Doug Davis
989ca9b357 Merge pull request #10524 from icecrime/10513_carry_failed_tests
Ensure Dockerfile in context
2015-02-03 12:05:43 -05:00
unclejack
b71108da87 Merge pull request #10519 from jfrazelle/burn-in-a-fire-drone
Remove drone.
2015-02-03 18:40:16 +02:00
unclejack
d18f5c3808 daemon/graphdriver/aufs: enable direct io
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-02-03 18:30:37 +02:00
unclejack
196a7216a3 project/install.sh: install ca-certificates
This ensures that ca-certificates are installed and that they get
updated in case they were already installed.

Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-02-03 17:55:14 +02:00
Arnaud Porterie
22e2254c74 Fix client-side validation of Dockerfile path
Arguments to `filepath.Rel` were reversed, making all builder tests to
fail.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-02 23:42:18 -08:00
Tibor Vass
73d5baf585 builder: prevent Dockerfile to leave build context
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-02-02 23:40:24 -08:00
Doug Davis
198ff76de5 Add an API test for docker build -f Dockerfile
I noticed that while we have tests to make sure that people don't
specify a Dockerfile (via -f) that's outside of the build context
when using the docker cli, we don't check on the server side to make
sure that API users have the same check done. This would be a security
risk.

While in there I had to add a new util func for the tests to allow us to
send content to the server that isn't json encoded - in this case a tarball

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-02-02 23:40:20 -08:00
Alexander Morozov
01b46c21aa Merge pull request #10512 from crosbymichael/stats-prepopulate
Print zeros for initial stats collection on stopped container
2015-02-02 21:49:03 -08:00
Sven Dowideit
072fbf9271 The reference menu is too big to list more than the latest API docs, so the others can be hidden - they're still linked from the API summary
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-03 14:04:08 +10:00
Sven Dowideit
1da2abb596 use the same paths as in the swarm repo, so that their links magically work
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-03 13:55:08 +10:00
Sven Dowideit
e58fdaae05 Docker attach documentation didn't make sense to me
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-02-03 11:53:14 +10:00
Tibor Vass
662dffee4f Merge pull request #10518 from LK4D4/fix_vet_errors
Fix some go vet errors
2015-02-02 20:49:19 -05:00
James Turnbull
895f9a679b Merge pull request #10509 from chenhanxiao/cli-events-since
docs: change events --since to fit RFC3339Nano
2015-02-03 01:03:40 +01:00
Jessica Frazelle
4904f1f31f Remove drone.
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)
2015-02-02 15:19:20 -08:00
Michael Crosby
ab4f9495ba Print zeros for initial stats collection on stopped container
When calling stats on stopped container's print out zeros for all of the
values to populate the initial table.  This signals to the user that the
operations completed and will not block.

Closes #10504

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-02-02 15:01:13 -08:00
Alexander Morozov
4ee05a4d3e Fix some go vet errors
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-02-02 14:53:20 -08:00
Michael Crosby
382f187b1a Merge pull request #10455 from ashahab-altiscale/9875-lxc-symlink
Fixes symlink, container size, and kmsg tests
2015-02-02 13:13:27 -08:00
Michael Crosby
7b80e34273 Merge pull request #10495 from jjyr/patch-1
fix 'the project directory' link
2015-02-02 13:10:57 -08:00
Michael A. Smith
9f6e7e9aed Distinguish ENV from setting environment inline
It's ambiguous to say that `ENV` is _functionally equivalent to prefixing the command with `<key>=<value>`_. `ENV` sets the environment for all future commands, but `RUN` can take chained commands like `RUN foo=bar bash -c 'echo $foo' && bash -c 'echo $foo $bar'`. Users with a solid understanding of `exec` may grok this without confusion, but less experienced users may need this distinction.

Signed-off-by: Michael A. Smith <msmith3@ebay.com>

Improve Environment Handling Descriptions

- Link `ENV` and `Environment Replacement`
- Improve side-effects of `ENV` text
- Rearrange avoiding side effects text

Signed-off-by: Michael A. Smith <msmith3@ebay.com>
2015-02-02 14:55:25 -05:00
Chen Hanxiao
d619b5594b docs: change events --since to fit RFC3339Nano
PR6931 changed time format to RFC3339Nano.
But the example in cli.md does not changed.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-02 22:39:03 +08:00
André Martins
af90fe6a63 Fixes #10388
The cmd.Lookup should be "-attach" and not "attach", as seen in
docker/docker/runconfig/parse.go

Signed-off-by: André Martins <martins@noironetworks.com>
2015-02-02 12:07:52 +00:00
J Bruni
aceb735dba Remove File List
This list is outdated. It could be updated instead of removed... but why should it be maintained? I do not see a reason.

Signed-off-by: João Bruni <contato@jbruni.com.br>
2015-02-02 09:47:19 -02:00
James Turnbull
0d5a1cbaae Merge pull request #10502 from chenhanxiao/docker-build-man
docs: fix another typo in docker-build man page
2015-02-02 08:53:16 +01:00
Chen Hanxiao
f0c9818eba docs: fix another typo in docker-build man page
s/arbtrary/arbitrary

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-02 10:39:28 +08:00
James Turnbull
9273040a20 Merge pull request #10478 from bcicen/fix-readme-project-url
fix project url in readme to point to the correct location
2015-02-02 00:38:40 +01:00
James Turnbull
74475325bc Merge pull request #10464 from johnktims/patch-1
Fix documentation typo
2015-02-02 00:12:45 +01:00
jjy
dd0bebde02 fix 'the project directory' link
The old link jump to 404

Signed-off-by: Jiang Jinyang <jjyruby@gmail.com>
2015-02-01 17:38:20 +08:00
Arnaud Porterie
f8331f700b Merge pull request #10472 from jlhawn/handle_mux_route_url_bug
Handle gorilla/mux route url bug
2015-01-31 19:52:51 -08:00
Tibor Vass
08b2f5b941 Merge pull request #10471 from jlhawn/token_auth_header
Fix token basic auth header issue
2015-01-31 19:51:50 -05:00
Josh Hawn
8bfdad9a0d Fix token basic auth header issue
When requesting a token, the basic auth header is always being set even
if there is no username value. This patch corrects this and does not set
the basic auth header if the username is empty.

Also fixes an issue where pulling all tags from a v2 registry succeeds
when the image does not actually exist on the registry.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-31 15:12:34 -08:00
Jessie Frazelle
01864d3281 Merge pull request #10489 from erikh/remove_ipv6_log
Remove "OMG IPV6" log message
2015-01-31 13:28:56 -08:00
Erik Hollensbe
8d7683af86 Remove "OMG IPV6" log message
Signed-off-by: Erik Hollensbe <erik+github@hollensbe.org>
2015-01-31 13:21:06 -08:00
Josh Hawn
843f3045bd Handle gorilla/mux route url bug
When getting the URL from a v2 registry url builder, it does not
honor the scheme from the endpoint object and will cause an https
endpoint to return urls starting with http.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-31 12:54:57 -08:00
Tibor Vass
fcdfc8ccc8 Merge pull request #10487 from icecrime/racy_test_registry
Fix race in test registry setup
2015-01-31 15:47:09 -05:00
Arnaud Porterie
de8ea06d7d Fix race in test registry setup
Wait for the local registry-v2 test instance to become available to
avoid random tests failures.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-31 11:31:41 -08:00
Sebastiaan van Stijn
e22793fb46 Fix broken link to project/MAINTAINERS.md
The link to project/MAINTAINERS.md was broken, in
addition, /MAINTAINERS containers more relevant
information on the LGTM process and contains info
about maintainers of all subsystems.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-31 18:06:20 +01:00
Thell 'Bo' Fowler
cb3be586d6 Update dockerfile_best-practices.md
Signed-off-by: Thell Fowler <Thell@tbfowler.name>
2015-01-31 11:02:09 -06:00
Yihang Ho
50c3ffd009 Fix a tiny typo.
'saving', not 'saveing'

Signed-off-by: Yihang Ho <hoyihang5@gmail.com>
2015-02-01 00:37:27 +08:00
Bradley Cicenas
267b56bd33 fix project url in readme to point to the correct location,
https://github.com/docker/docker/tree/master/project

Signed-off-by: Bradley Cicenas <bradley.cicenas@gmail.com>
2015-01-31 10:18:50 -05:00
Liu Hua
a131eb55d4 delete duplicated word in registry/session.go
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-01-31 20:15:59 +08:00
Peter Volpe
726f89d77a Add available space to devicemapper status output
Signed-off-by: Peter Volpe <petervo@redhat.com>
2015-01-30 22:36:04 -08:00
Michael Crosby
18d8fe1249 Merge pull request #10417 from jfrazelle/a-few-nit-picks
Added tianon's info and changed a typo.
2015-01-30 17:32:12 -08:00
Fred Lifton
dfbb3e322b Merge pull request #10461 from estesp/fix-tls-docs
Add missing `$HOST` in a couple places in HTTPS/TLS setup docs
2015-01-30 17:25:29 -08:00
Arnaud Porterie
bb4d24de06 Merge pull request #10469 from dmcgowan/v2-registry-push-fallback
Add push fallback to v1 for the official registry
2015-01-30 16:43:23 -08:00
Alexander Morozov
b8d65183c3 Merge pull request #10465 from jfrazelle/tomlv
Validate toml
2015-01-30 16:27:07 -08:00
Tibor Vass
ee0b0464c6 Merge pull request #10394 from dmcgowan/v2-manifest-save-tarsum
V2 manifest save tarsum
2015-01-30 18:22:50 -05:00
Jessica Frazelle
d245a8a706 Validate toml
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <princess@docker.com> (github: jfrazelle)

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <hugs@docker.com> (github: jfrazelle)
2015-01-30 15:22:11 -08:00
Alexander Morozov
d8ad7c0edc Merge pull request #10456 from dmcgowan/revert-client-signature
Revert client signature
2015-01-30 14:54:27 -08:00
Derek McGowan
7d62943178 Add push fallback to v1 for the official registry
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-30 14:37:44 -08:00
Derek McGowan
403d981d70 Revert client signature
Supports multiple tag push with daemon signature

Fixes #10444

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-30 14:20:32 -08:00
Michael Crosby
1dc1b93451 Merge pull request #10460 from estesp/10387-setup-tcp-keepalive
Setup TCP keep-alive on hijacked HTTP(S) client <--> daemon sessions
2015-01-30 11:31:31 -08:00
Michael Crosby
87fd6375f1 Merge pull request #9943 from gdi2290/update-authors
Update AUTHORS file and .mailmap
2015-01-30 09:59:31 -08:00
John Tims
2f5919966a Fix documentation typo
Signed-off-by: John Tims <john.k.tims@gmail.com>
2015-01-30 12:44:42 -05:00
Josh Hawn
3414307306 Remove Checksum field from image.Image struct
The checksum is now being stored in a separate file beside the image
JSON file.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-30 09:37:50 -08:00
Tibor Vass
3b0326fc81 Merge pull request #10441 from brahmaroutu/enable_ibm_power_z
Adding IBM Power and Z as valid platforms to the docker
2015-01-30 11:48:41 -05:00
Phil Estes
6a1da678de Add missing $HOST in a couple places in HTTPS/TLS setup docs
Fix typos in setup docs where tcp://:2376 is used without the $HOST
parameter.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2015-01-30 11:20:50 -05:00
Srini Brahmaroutu
7d7a002e51 Removing the check on Architecture to build and run Docker on IBM Power and Z platforms
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-01-30 16:16:17 +00:00
Phil Estes
f73a6b3845 Setup TCP keep-alive on hijacked HTTP(S) client <--> daemon sessions
Fixes #10387

Without TCP keep-alive set on socket connections to the daemon, any
long-running container with std{out,err,in} attached that doesn't
read/write for a minute or longer will end in ECONNTIMEDOUT (depending
on network settings/OS defaults, etc.), leaving the docker client side
believing it is still waiting on data with no actual underlying socket
connection.

This patch turns on TCP keep-alive for the underlying TCP connection
for both TLS and standard HTTP hijacked daemon connections from the
docker client, with a keep-alive timeout of 30 seconds.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2015-01-30 10:50:27 -05:00
Abin Shahab
29ac29a436 Fixes symlink, container size, and kmsg tests
Changes symlink, container size and kmsg tests to account for lxc driver.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-30 09:30:42 +00:00
James Turnbull
fb55c0ecc6 Merge pull request #10448 from jfrazelle/why-the-hell-are-we-sudoing-everything
Some small updates to the dev env docs.
2015-01-30 08:47:40 +01:00
Derek McGowan
e9f6f1a930 Store tar checksum in separate file
Fixes #10432

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-29 21:28:20 -08:00
Michael Crosby
144ae9b0c7 Merge pull request #10449 from LK4D4/fix_race_monitor
Remove explicit setting of ExitCode
2015-01-29 16:07:28 -08:00
Jessica Frazelle
80b843b731 Some small updates to the dev env docs.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-29 16:01:05 -08:00
Jessie Frazelle
d748ec31d5 Merge pull request #10446 from dmcgowan/defer-key-file-creation
Defer creation of trust key file until needed
2015-01-29 15:23:35 -08:00
Alexandr Morozov
f750f17451 Update events format in man page
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2015-01-29 15:18:25 -08:00
Michael Crosby
7b65de8771 Merge pull request #10445 from jlhawn/no_checksum_on_install
No longer compute checksum when installing images.
2015-01-29 15:13:29 -08:00
Alexander Morozov
e7f6433109 Remove explicit setting of ExitCode
That will be set in defer anyway. Also there was race between setting
ExitCode and inspect.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-29 14:50:42 -08:00
Josh Hawn
e636df8d96 No longer compute checksum when installing images.
While checksums are verified when a layer is pulled from v2 registries,
there are known issues where the checksum may change when the layer diff
is computed again. To avoid these issues, the checksum should no longer
be computed and stored until after it has been extracted to the docker
storage driver. The checksums are instead computed lazily before they
are pushed to a v2 registry.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-29 13:52:59 -08:00
Derek McGowan
0eed1f4d8d Defer creation of trust key file until needed
Fixes #10442

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-29 13:46:12 -08:00
Alexander Morozov
8dbaed1d96 Merge pull request #10430 from duglin/AddBuilderFolks
Add builder folks to the top-level maintainers file
2015-01-29 13:32:56 -08:00
Jared Biel
4ff56bbddf mkimage-arch.sh - don't run docker in interactive mode
Don't run docker in interactive mode in the archlinux container build script. Recent versions of Docker error out with "cannot enable tty mode on non tty input" when being run non-interactively (such as in a cron job, Jenkins build, etc.)

Signed-off-by: Jared Biel <jared.biel@bolderthinking.com>
2015-01-29 19:49:28 +00:00
Fred Lifton
c12fb48a8a Merge pull request #10435 from SvenDowideit/add-dhe-placeholder-docs
DHE documentation placeholder and Navbar changes
2015-01-29 10:23:57 -08:00
Vivek Goyal
080a6f1e4b devicemapper: Skip the files with prefix "." during device map construction
Any file which starts with "." is not a valid metadata file. Skip it
during device map construction.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2015-01-29 13:19:18 -05:00
Fred Lifton
5b9b5aff06 Merge pull request #10293 from SvenDowideit/test-9952
comment out the docker and curl lines we'll run later
2015-01-29 10:18:53 -08:00
Fred Lifton
9e10a888a3 Merge pull request #10428 from mehulkar/patch-1
Improve explanation of port mapping from containers
2015-01-29 10:07:24 -08:00
Mehul Kar
f1bc02e91f Improve explanation of port mapping from containers
Signed-off-by: Mehul Kar <mehul.kar@gmail.com>
2015-01-29 09:09:44 -08:00
James Turnbull
ba8e1673ad Merge pull request #10351 from duglin/FixDocsWorkdir
Fix docs so WORKDIR mentions it works for COPY and ADD too
2015-01-29 09:52:01 -05:00
Sven Dowideit
0ce3a49d64 DHE documentation placeholder and Navbar changes
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-01-29 20:50:43 +10:00
Alexander Morozov
d400ac756c Merge pull request #10433 from guoxiuyan/Fix_typo
Fix a minor typo
2015-01-28 20:57:35 -08:00
Doug Davis
761a020f9d Add builder folks to the top-level maintainers file
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-28 18:32:38 -08:00
Tibor Vass
fb9363eb2a Merge pull request #10368 from jfrazelle/lingering-exec-test
Move one last exec test :)
2015-01-28 21:21:05 -05:00
guoxiuyan
07d190a61c Fix a minor typo
Signed-off-by: Guo Xiuyan <guoxiuyan@huawei.com>
2015-01-29 10:15:56 +08:00
Alexander Morozov
e16bcc3928 Fix logs, so now, old and followed logs has same format without []
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-28 17:57:10 -08:00
James Turnbull
c9b03c6095 Merge pull request #10142 from thaJeztah/docs-use-example-image
Replace "base" with "debian" in API documentation
2015-01-28 20:40:02 -05:00
Derek McGowan
c1e3f61961 Add distribution maintainers to maintainers files
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-28 16:30:00 -08:00
Sebastiaan van Stijn
c0969ed3d8 Replace "base" with "ubuntu" in documentation
The API documentation uses the "base" image in various
places. The "base" image is deprecated and it is no longer
possible to download this image.

This changes the API documentation to use "ubuntu" in stead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-28 22:54:10 +01:00
Michael Crosby
b505db5e3c Merge pull request #10420 from tianon/ubuntu-version
Update .deb version numbers to be more sane
2015-01-28 13:50:12 -08:00
Tianon Gravi
0fab79f203 Update .deb version numbers to be more sane
Example output:
```console
root@906b21a861fb:/go/src/github.com/docker/docker# ./hack/make.sh binary ubuntu
bundles/1.4.1-dev already exists. Removing.

---> Making bundle: binary (in bundles/1.4.1-dev/binary)
Created binary: /go/src/github.com/docker/docker/bundles/1.4.1-dev/binary/docker-1.4.1-dev

---> Making bundle: ubuntu (in bundles/1.4.1-dev/ubuntu)
Created package {:path=>"lxc-docker-1.4.1-dev_1.4.1~dev~git20150128.182847.0.17e840a_amd64.deb"}
Created package {:path=>"lxc-docker_1.4.1~dev~git20150128.182847.0.17e840a_amd64.deb"}

```

As noted in a comment in the code here, this sums up the reasoning for this change: (which is how APT and reprepro compare versions)
```console
$ dpkg --compare-versions 1.5.0 gt 1.5.0~rc1 && echo true || echo false
true
$ dpkg --compare-versions 1.5.0~rc1 gt 1.5.0~git20150128.112847.17e840a && echo true || echo false
true
$ dpkg --compare-versions 1.5.0~git20150128.112847.17e840a gt 1.5.0~dev~git20150128.112847.17e840a && echo true || echo false
true
```

ie, `1.5.0` > `1.5.0~rc1` > `1.5.0~git20150128.112847.17e840a` > `1.5.0~dev~git20150128.112847.17e840a`

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-28 14:26:40 -07:00
Tibor Vass
70fbd45a5c Merge pull request #10123 from duglin/Issue10097
Build CMD/ENTRYPOINT cache strings properly
2015-01-28 14:43:16 -05:00
Michael Crosby
17e840a47a Merge pull request #10416 from icecrime/update_fish_completion
Update fish completion for 1.5.0
2015-01-28 10:28:47 -08:00
Arnaud Porterie
45ef269498 Merge pull request #10406 from estesp/fixup-ipv6-bridge-creation
Fix bridge initialization for IPv6 if IPv4-only docker0 exists
2015-01-28 10:17:45 -08:00
Jessica Frazelle
ef957f4351 Added tianon's info and changed a typo.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-28 09:54:48 -08:00
Jessie Frazelle
13b6461570 Merge pull request #10398 from LK4D4/export_daemon_vars
Export DOCKER_GRAPHDRIVER and DOCKER_EXECDRIVER in integration-cli
2015-01-28 09:44:39 -08:00
Arnaud Porterie
9cea20ffc5 Update fish completion for 1.5.0
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-28 08:52:06 -08:00
Arnaud Porterie
2cb82c11cf Merge pull request #10372 from dmcgowan/v2-registry-buffer-push
Buffer tar file on v2 push
2015-01-28 08:47:21 -08:00
Arnaud Porterie
f23c136a95 Merge pull request #10357 from jfrazelle/bash-completion-stats
Add completion for stats.
2015-01-28 08:29:06 -08:00
Tibor Vass
c575cc697e Merge pull request #10403 from stevvooe/v2-status-code-narrow
Open up v2 http status code checks for put and head checks
2015-01-28 09:38:45 -05:00
Solomon Hykes
c1f3fe70df Merge pull request #9137 from shykes/contribution-docs
Improve project organization
2015-01-28 01:19:29 -08:00
Phil Estes
0c8d17b5c1 Fix bridge initialization for IPv6 if IPv4-only docker0 exists
This fixes the daemon's failure to start when setting --ipv6=true for
the first time without deleting `docker0` bridge from a prior use with
only IPv4 addressing.

The addition of the IPv6 bridge address is factored out into a separate
initialization routine which is called even if the bridge exists but no
IPv6 addresses are found.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-27 23:54:26 -05:00
James Turnbull
8d49ebd338 Merge pull request #10408 from estesp/fix-ipv6-docs
Fix incorrect IPv6 addresses/subnet notations in docs
2015-01-27 23:24:52 -05:00
Phil Estes
5945de43b0 Fix incorrect IPv6 addresses/subnet notations in docs
Fixes a few typos in IPv6 addresses. Will make it easier for users who
actually try and copy/paste or use the example addresses directly.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-27 22:45:43 -05:00
Alexander Morozov
8893dee098 Merge pull request #10404 from liusdu/liu-dev
fix a minor typo in daemon/container.go
2015-01-27 18:26:40 -08:00
Derek McGowan
629815b424 Buffer tar file on v2 push
fixes #10312
fixes #10306

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-27 18:11:05 -08:00
Stephen J Day
86aea582b6 Open up v2 http status code checks for put and head checks
Under certain cases, such as when putting a manifest or check for the existence
of a layer, the status code checks in session_v2.go were too narrow for their
purpose. In the case of putting a manifest, the handler only cares that an
error is not returned. Whether it is a 304 or 202 does not matter, as long as
the server reports success. Having the client only accept specific http codes
inhibits future protocol evolution.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-27 18:09:53 -08:00
Sven Dowideit
de52a1998d Merge pull request #10374 from SvenDowideit/add-ip-range-for-webhooks
tell users they can what IP range Hub webhooks can come from so they can...
2015-01-28 11:55:09 +10:00
Liu Hua
71f8b09543 fix a minor typo in daemon/container.go
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
2015-01-28 09:54:40 +08:00
James Turnbull
196cdf1450 Merge pull request #10399 from SvenDowideit/add-registry-mirror-doc
Add the registry mirror document to the menu
2015-01-27 20:29:25 -05:00
Sven Dowideit
1d04cc513a Add the registry mirror document to the menu
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-28 10:47:11 +10:00
Michael Crosby
b3402f34b2 Merge pull request #10322 from dmcgowan/v2-manifest-tarsum-cache
V2 manifest tarsum cache
2015-01-27 16:40:49 -08:00
Alexander Morozov
667dc58c39 Export DOCKER_GRAPHDRIVER and DOCKER_EXECDRIVER in integration-cli
This needed for our "small" testing daemon using same config as "big"
testing daemon.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-27 16:40:11 -08:00
James Turnbull
3ac5596fe0 Merge pull request #10369 from mcfiredrill/etc-host-typo
fix /etc/host typo in remote API docs
2015-01-27 18:35:16 -05:00
James Turnbull
b2b284b5cd Merge pull request #10373 from chenhanxiao/docker-build-typo
docs: fix a typo in docker-build man page
2015-01-27 18:25:55 -05:00
Alexander Morozov
e54d162941 Merge pull request #10371 from jlhawn/fix_build_output_10364
Fix premature close of build output on pull
2015-01-27 15:09:17 -08:00
Alexander Morozov
8f7cf87fd9 Merge pull request #10383 from cpuguy83/update_m2dman
Update go-md2man
2015-01-27 13:59:58 -08:00
Tibor Vass
bb4025c4e2 Merge pull request #10230 from tianon/emptyfs
Update emptyfs support to work properly if scratch is already an image
2015-01-27 15:01:42 -05:00
Jessie Frazelle
b9650ad40b Merge pull request #10249 from jlhawn/distribution_version_header_10247
Split API Version header when checking for v2
2015-01-27 11:48:42 -08:00
Michael Crosby
c81fb7fa4a Merge pull request #10197 from vbatts/vbatts-dm_cookie_support
devicemapper: API for cookie support
2015-01-27 11:44:03 -08:00
Michael Crosby
e04cc93a2c Merge pull request #10113 from imreFitos/master
docs: remove NAT rule when removing bridge
2015-01-27 11:22:53 -08:00
Michael Crosby
83bec40e86 Merge pull request #10370 from ashahab-altiscale/9875-apparmor-regression
Fixes apparmor regression
2015-01-27 10:46:22 -08:00
Derek McGowan
ab589b442d Use layer checksum if calculated during manifest creation
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-27 10:21:35 -08:00
Josh Hawn
e662775ffb Fix premature close of build output on pull
The build job will sometimes trigger a pull job when the base image
does not exist. Now that engine jobs properly close their output by default
the pull job would also close the build job's stdout in a cascading close
upon completion of the pull.

This patch corrects this by wrapping the `pull` job's stdout with a
nopCloseWriter which will not close the stdout of the `build` job.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-27 10:07:01 -08:00
Brian Goff
79e8ca04f5 Update go-md2man
Update fixes some rendering issues, including improperly escaping '$' in
blocks, and actual parsing of blockcode.

`ID=$(sudo docker run -d fedora /usr/bin/top -b)` was being converted to
`ID=do docker run -d fedora/usr/bin/top -b)`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-27 09:33:42 -05:00
Sven Dowideit
6774be62d6 tell users they can what IP range Hub webhooks can come from so they can filter
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2015-01-27 14:58:29 +10:00
Chen Hanxiao
dcfa881a7b docs: fix a typo in docker-build man page
s/Dockefile/Dockerfile

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-01-27 11:19:02 +08:00
Jessie Frazelle
acb8e08296 Merge pull request #10362 from LK4D4/update_libcontainer
Update libcontainer to 2d3b5af7486f1a4e80a5ed91859d309b4eebf80c
2015-01-26 17:18:00 -08:00
Jessica Frazelle
6a2c6e971d Move one last exec test :)
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-26 17:17:08 -08:00
Doug Davis
f709da192c Fix docs so WORKDIR mentions it works for COPY and ADD too
The docs around COPY/ADD already mentioned that it will do a relative
copy/add based on WORKDIR, so that part is already ok.  Just needed to
tweak the WORKDIR section since w/o mentioning COPY/ADD it can be misleading.

Noticed by @phemmer

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-26 17:13:44 -08:00
Tony Miller
87d2adf070 fix /etc/host typo in remote API docs
Signed-off-by: Tony Miller <mcfiredrill@gmail.com>
2015-01-27 10:12:54 +09:00
Sven Dowideit
a79d363d2d Merge pull request #10344 from SvenDowideit/pr_out_change_to_load_the_json_gz_file
Change to load the json.gz file
2015-01-27 11:12:07 +10:00
James Turnbull
c48f61cb7a Merge pull request #10343 from unclejack/shrink_sprites-small_360
docs: shrink sprites-small_360.png
2015-01-26 19:28:40 -05:00
Sven Dowideit
f3fef31277 Merge pull request #10272 from mcfiredrill/document-extrahosts-remote-api
document the ExtraHosts parameter for /containers/create for the remote ...
2015-01-27 10:25:00 +10:00
Sven Dowideit
60089ace48 as we're not using the search suggestion feature only load the search_content when we have a search ?q= param
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2015-01-27 09:57:45 +10:00
Sven Dowideit
64f67af2b2 set the content-type for the search_content.json.gz
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2015-01-27 09:57:44 +10:00
Sven Dowideit
a78130467a Change to load the json.gz file
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2015-01-27 09:57:44 +10:00
unclejack
1e41d57bd4 docs: compress search_content.json for release
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>

Docker-DCO-1.1-Signed-off-by: unclejack <unclejacksons@gmail.com> (github: SvenDowideit)
2015-01-27 09:57:43 +10:00
Michael Crosby
70ea474de9 Merge pull request #10361 from dmcgowan/v2-registry-errors
Better error messaging and logging for v2 registry requests
2015-01-26 15:38:22 -08:00
Michael Crosby
3466baafc1 Merge pull request #10261 from cpuguy83/fix_volume_err_on_symlink_eval
Do not return err on symlink eval
2015-01-26 15:12:46 -08:00
Michael Crosby
e15300b251 Merge pull request #10360 from dmcgowan/keyfile-error-message
Add file path to errors loading the key file
2015-01-26 14:44:07 -08:00
Arnaud Porterie
bfa0dc47da Merge pull request #10305 from jlhawn/use_tarsum_v1
Always store images with tarsum.v1 checksum added
2015-01-26 14:42:07 -08:00
Derek McGowan
d277714614 Better error messaging and logging for v2 registry requests
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-26 14:00:51 -08:00
Alexander Morozov
fd2d45d7d4 Update libcontainer to 2d3b5af7486f1a4e80a5ed91859d309b4eebf80c
This revision is from docker_1.5 branch, because we don't want to
introduce user namespace in docker 1.5, but fix for --pid=host is
needed.

Fixes #10303

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-26 14:00:44 -08:00
Michael Crosby
db6ecffc69 Merge pull request #10327 from dmcgowan/progress-reader-fix
Revert progressreader to not defer close
2015-01-26 13:07:12 -08:00
Michael Crosby
1c9e16f00f Merge pull request #10359 from crosbymichael/stats-json
Remove omitempty json tags from stucts
2015-01-26 13:06:47 -08:00
Derek McGowan
a90e91b500 Add file path to errors loading the key file
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-26 12:58:45 -08:00
Brian Goff
b54305ae23 Do not return err on symlink eval
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-26 15:22:32 -05:00
Michael Crosby
949f2ca8cb Merge pull request #10323 from dmcgowan/path-v-filepath-fix
Use filepath instead of path
2015-01-26 11:56:14 -08:00
Arnaud Porterie
74014e4a92 Merge pull request #10335 from euank/EmptyLayerConfig
Allow empty layer configs in manifests
2015-01-26 11:53:36 -08:00
Michael Crosby
ed8e89c54d Merge pull request #10309 from cpuguy83/fix_bind_vol_partially_removed
Fix bind-mounts only partially removed
2015-01-26 11:53:08 -08:00
Jessie Frazelle
8b031eb892 Merge pull request #10331 from DiuDiugirl/master
Fix a minor typo
2015-01-26 11:52:18 -08:00
Michael Crosby
364c64cf1a Merge pull request #10295 from ashahab-altiscale/9875-lxc-exit-code
Adds ipc namespace capability to lxc, and fixes tests.
2015-01-26 11:21:48 -08:00
Jessica Frazelle
b3dfe1a63a Add completion for stats.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-26 11:19:29 -08:00
Michael Crosby
44f4c95c0e Remove omitempty json tags from stucts
When unmarshaling the json response from the API in languages to a
dynamic object having the omitempty field tag on types such as float64
case the key to be omitted on 0.0 values.  Various langages will
interpret this as a null when 0.0 is the actual value.

This patch removes the omitempty tags on fields that are not structs
where they can be safely omited.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-26 11:16:29 -08:00
Michael Crosby
a3c5223b2a Merge pull request #10194 from jfrazelle/lxc-test-fixes
ignore exec tests when passing DOCKER_EXECDRIVER lxc
2015-01-26 11:07:52 -08:00
Brian Goff
b4283209d5 Fix bind-mounts only partially removed
When calling delete on a bind-mount volume, the config file was bing
removed, but it was not actually being removed from the volume index.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-26 12:38:20 -05:00
Arnaud Porterie
94e169b44f Merge pull request #10290 from tianon/sorry-windows-norelease4u
Remove windows from the list of supported platforms
2015-01-26 08:44:08 -08:00
Shishir Mahajan
573cd092a5 cleanup of docker tag command code
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-01-26 09:15:32 -05:00
James Turnbull
283597ad37 Merge pull request #10333 from jlhawn/image_json_schema_reword
Updated image spec docs to clarify image JSON
2015-01-26 07:49:44 -05:00
unclejack
6bbf19dfbe docs: shrink sprites-small_360.png
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-01-26 08:11:20 +02:00
unclejack
8d5774e60b Merge pull request #10330 from unclejack/remove_autodetect_log
pkg/archive: remove tar autodetection log line
2015-01-26 07:25:22 +02:00
Solomon Hykes
77f840fb8b Proposal for an improved project structure.
Note: this deprecates the fine-grained, high-overlap cascading MAINTAINERS files,
and replaces them with a single top-level file, using a new structure:

* More coarse grained subsystems with dedicated teams of maintainers
* Core maintainers with a better-defined role and a wider scope (if it's
not in a subsystem, it's up to the core maintainers to figure it out)
* Architects
* Operators

This is work in progress, the goal is to start a conversation

Signed-off-by: Solomon Hykes <solomon@docker.com>
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-25 20:00:59 +00:00
Jessie Frazelle
b1f2fdeee2 Merge pull request #10219 from albers/bash-completion
Bash completion for the daemon flags
2015-01-25 10:25:22 -08:00
Euan
d477d42dd3 Allow empty layer configs in manifests
Before the V2 registry changes, images with no config could be pushed.
This change fixes a regression that made those images not able to be
pushed to a registry.

Signed-off-by: Euan Kemp <euank@euank.com>
2015-01-24 14:27:37 -08:00
Josh Hawn
71763636f2 Updated image spec docs to clarify image JSON
The title `Image JSON Schema` was used as a header in the section
which describes the layout and fields of the image metadata JSON
file. It was pointed out that `JSON Schema` is its own term for
describing JSON in a machine-and-human-readable format, while the
word "Schema" in this context was used more generically to say that
the section is meant to be an example and outline of the Image JSON.

http://spacetelescope.github.io/understanding-json-schema/

This section now has the title `Image JSON Description` in order
to not cause this confusion.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-24 10:21:11 -08:00
DiuDiugirl
471006c02f Fix a minor typo
Docker inspect can also be used on images, this patch fixed the
minor typo in file docker/flags.go and docs/man/docker.1.md

Signed-off-by:  DiuDiugirl <sophia.wang@pku.edu.cn>
2015-01-24 15:08:33 +08:00
unclejack
990a3e30fa Merge pull request #10315 from jfrazelle/overlay-zfs
Blacklist zfs with overlay
2015-01-24 09:04:37 +02:00
unclejack
a5cc1c556d pkg/archive: remove tar autodetection log line
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-01-24 08:43:03 +02:00
Derek McGowan
0091c490dd Revert progressreader to not defer close
When progress reader closes it overwrites the progress line with the full progress bar, replaces the completed message.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-23 17:24:05 -08:00
Jessica Frazelle
43d1c20101 Move links exec test & exec dir test.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 16:20:46 -08:00
Jessica Frazelle
547c959576 Update project/make.sh to use execdriver buildtag if passed.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 16:18:39 -08:00
Jessica Frazelle
ecdbc1a0af Add build flag to exec test.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 16:18:39 -08:00
Jessica Frazelle
957cbdbf30 Move InspectExecID test to exec.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 16:18:39 -08:00
Alexander Morozov
30293e3fd0 Merge pull request #10321 from titanous/fix-err
Fix missing err assignment in bridge creation
2015-01-23 15:07:23 -08:00
Jonathan Rudenberg
d5c78a4c07 Fix missing err assignment in bridge creation
Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
2015-01-23 14:48:28 -08:00
Derek McGowan
2cd5b7dae8 Use filepath instead of path
Currently loading the trust key uses path instead of filepath. This creates problems on some operating systems such as Windows.

Fixes #10319

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-23 14:44:30 -08:00
Jessica Frazelle
ec953b0e7b Blacklist zfs with overlay
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 14:00:15 -08:00
Michael Crosby
62c50abf13 Merge pull request #10311 from jfrazelle/quiet-logs-registry
Make debugs logs less verbose for registry
2015-01-23 13:56:31 -08:00
Jessica Frazelle
c49cd3d2a5 Make debugs logs suck less.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-23 13:20:29 -08:00
Josh Hawn
ba3bad66f9 Always store images with tarsum.v1 checksum added
Updates `image.StoreImage()` to always ensure that images
that are installed in Docker have a tarsum.v1 checksum.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-23 11:30:27 -08:00
Tony Miller
54c10fe81d document the ExtraHosts parameter for /containers/create for the remote API
I think this was added from version 1.15.

Signed-off-by: Tony Miller <mcfiredrill@gmail.com>
2015-01-23 23:52:04 +09:00
Alexander Morozov
99bffdf10e Merge pull request #10183 from miminar/safe-stop-kill
Stop and Kill commands made robust
2015-01-23 06:32:51 -08:00
Michal Minar
310337dc89 Stop and Kill commands made robust
If stop/kill command hits a short window between process' exit and
container's cleanup, it will no longer fail with 'no such process'
error.

Resolves #10182

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-01-23 10:26:13 +01:00
Qiang Huang
aac6090f2d add args support for check-config.sh
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-01-23 16:36:55 +08:00
James Turnbull
d3a6a53fa5 Merge pull request #10292 from SvenDowideit/pr_out_update_using_supervisord_md
Update using_supervisord.md
2015-01-23 00:09:25 -05:00
Sven Dowideit
992beb2a96 Merge pull request #9952 from flowlo/doc-https
doc: Improve article on HTTPS
2015-01-23 12:34:57 +10:00
Sven Dowideit
eaf1b88212 comment out the docker and curl lines we'll run later
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-23 12:31:39 +10:00
Sven Dowideit
fa79e18c20 Merge pull request #10260 from acbodine/docs_api_attach_websocket
Adds docs for /containers/(id)/attach/ws api endpoint
2015-01-23 10:51:11 +10:00
GennadySpb
99dc224d85 Update using_supervisord.md
Fix factual error

change made by: GennadySpb <lipenkov@gmail.com>

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2015-01-23 10:43:57 +10:00
Jessie Frazelle
54ddb9b41d Merge pull request #10288 from tiborvass/fix-test-attach
integration-cli: wait for container before sending ^D
2015-01-22 15:07:46 -08:00
Tianon Gravi
47769994e5 Remove windows from the list of supported platforms
Since it can still be tested natively without this, this won't cause any harm while we fix the tests to actually work on Windows.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-22 15:42:17 -07:00
Tibor Vass
a124bfaef3 integration-cli: wait for container before sending ^D
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-01-22 17:28:35 -05:00
Arnaud Porterie
5a6f84ce08 Merge pull request #10282 from tiborvass/fix-test-restart-policy-always
integration-cli: Fix race in restart loop
2015-01-22 13:17:23 -08:00
Lorenz Leutgeb
a51554988e Fix inconsistent formatting
Colon was bold, but regular at other occurences.

Blame cf27b310c4

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-22 21:46:01 +01:00
Lorenz Leutgeb
048b20e58a doc: Minor semantical/editorial fixes in HTTPS article
"read-only" vs. "only readable by you"

Refer to:
https://github.com/docker/docker/pull/9952#discussion_r22690266

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-22 21:37:39 +01:00
Lorenz Leutgeb
6ca2875e58 doc: Editorial changes as suggested by @fredlf
Refer to:
 * https://github.com/docker/docker/pull/9952#discussion_r22686652
 * https://github.com/docker/docker/pull/9952#discussion_r22686804

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-22 21:37:39 +01:00
Lorenz Leutgeb
02a793c6a1 doc: Improve article on HTTPS
* Adjust header to match _page_title
 * Add instructions on deletion of CSRs and setting permissions
 * Simplify some path expressions and commands
 * Consqeuently use ~ instead of ${HOME}
 * Precise formulation ('key' vs. 'public key')
 * Fix wrong indentation of output of `openssl req`
 * Use dash ('--') instead of minus ('-')

Remark on permissions:

It's not a problem to `chmod 0400` the private keys, because the
Docker daemon runs as root (can read the file anyway) and the Docker
client runs as user.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-22 21:37:39 +01:00
Arnaud Porterie
10ab6dcb4f Merge pull request #10234 from dmcgowan/libtrust-key-fix
Fix daemon key file location
2015-01-22 11:54:03 -08:00
Derek McGowan
d55e977cf5 Fix nits and defers
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-22 11:22:31 -08:00
Jessie Frazelle
211513156d Merge pull request #10259 from jfrazelle/wording-of-image-verification
Change the wording of image verification warning.
2015-01-22 11:14:28 -08:00
Tibor Vass
752a0d6f34 integration-cli: Fix race in restart loop
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-01-22 14:06:24 -05:00
Derek McGowan
42612ff6db Add key migration integration test
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-22 10:51:04 -08:00
Derek McGowan
a34a7930b5 Add TODO lines for windows
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-22 10:29:15 -08:00
Jessie Frazelle
c77c67cf87 Merge pull request #10266 from bobrik/no-extra-assertion
Not doing extra assertion for io.Closer
2015-01-22 10:25:23 -08:00
Arnaud Porterie
ef33efc9b9 Merge pull request #10244 from dmcgowan/registry-panic-fix
Fix write after close on http response
2015-01-22 10:23:11 -08:00
Alexander Morozov
4aa60a902a Merge pull request #10250 from crosbymichael/stats-test
Improve robustness of /stats api test
2015-01-22 09:09:03 -08:00
Ian Babrou
4d10b32380 Not doing extra assertion for io.Closer
Signed-off-by: Ian Babrou <ibobrik@gmail.com>
2015-01-22 10:36:20 +03:00
Abin Shahab
9c744cb454 Fixes apparmor regression
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-22 07:06:46 +00:00
Andrew C. Bodine
51060ee07a Adds docs for /containers/(id)/attach/ws api endpoint
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2015-01-21 18:37:08 -08:00
Andrew C. Bodine
9e37a04665 Adds test for api attach via websocket
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2015-01-21 18:35:51 -08:00
Jessica Frazelle
c97d8b1233 Change the wording of image verification warning.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-21 18:07:10 -08:00
Michael Crosby
3c77e7d634 Merge pull request #10257 from vieux/lol
bump API version
2015-01-21 17:51:27 -08:00
Victor Vieux
9c7689a10e bump API version
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-22 01:15:34 +00:00
Andrew C. Bodine
d25a65375c Closes #9311 Handles container id/name collisions against daemon functionalities according to #8069
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2015-01-21 17:11:31 -08:00
Jessie Frazelle
fcc4abc870 Merge pull request #10225 from vbatts/vbatts-init_mount_namespaces
daemon mount namespaces
2015-01-21 16:55:15 -08:00
Derek McGowan
007ef161b4 Add key migration to daemon
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-21 16:55:05 -08:00
Derek McGowan
06af013f8b Fix daemon key file location
Fixes #10233

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-21 16:28:19 -08:00
Arnaud Porterie
e13559a6d6 Merge pull request #10235 from jfrazelle/tech-preview-warning
Warn about tech preview of image verification.
2015-01-21 16:24:00 -08:00
Jessica Frazelle
614e09a8c7 Add test for pull verified
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-21 16:25:01 -08:00
Jessica Frazelle
1820003078 Warn about tech preview of checksums.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-21 16:25:01 -08:00
Jessie Frazelle
0f5eba68fb Merge pull request #10251 from crosbymichael/stats-zero
Zero out stats values in the cli
2015-01-21 16:16:55 -08:00
Michael Crosby
4d7707e183 Improve robustness of /stats api test
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-21 16:00:15 -08:00
Michael Crosby
bbc38497b6 Zero out stats values in the cli
Based on some feedback, when you have a container via the cli that you
are monitoring for stats, if you stop the container it will stay in the
display but report the last datapoint that was received.

This PR changes the display to zero out the values for containers where
an update has not been received within a specified duration, i.e. 2
seconds.  This signals the user that the container has stopped as it
reports cpu and memory usage of 0.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-21 15:33:53 -08:00
Stephen J Day
4e4a5b2532 Ensure that progress reader is closed after usage
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-21 15:14:01 -08:00
Derek McGowan
12d83e727d Fix write after close on http response
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-21 15:14:01 -08:00
Jessie Frazelle
f1bc0376b8 Merge pull request #10254 from LK4D4/fix_etchosts_rewriting
Fix etchosts rewriting
2015-01-21 15:08:45 -08:00
Josh Hawn
58c142bcfa Split API Version header when checking for v2
Since the Docker-Distribution-API-Version header value may contain multiple
space delimited versions as well as many instances of the header key, the
header value is now split on whitespace characters to iterate over all versions
that may be listed in one instance of the header.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-21 15:08:32 -08:00
Alexander Morozov
606c71d424 Test for updating linked hosts on restart
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-21 14:34:40 -08:00
Alexander Morozov
c2a25058e8 Update links aliases, not name on restart
Fixes #8721

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-21 14:34:27 -08:00
Michael Crosby
edaf23b7a7 Merge pull request #10145 from duglin/Issue10141
Docker run -e FOO should erase FOO if FOO isn't set in client env
2015-01-21 14:16:51 -08:00
Michael Crosby
b8fe989b9b Merge pull request #10187 from jfrazelle/update-skip-graphtest
update graphtest
2015-01-21 14:09:16 -08:00
Michael Crosby
12dd9af951 Merge pull request #10243 from cpuguy83/10242_fix_stat_on_err
Fix call to nil stat
2015-01-21 13:55:39 -08:00
Jessie Frazelle
649ad2d56e Merge pull request #10246 from crosbymichael/stats-edits
Update to docker stats documentation post review
2015-01-21 13:14:22 -08:00
Michael Crosby
db9b1e3654 Update to docker stats documentation
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-21 11:44:23 -08:00
Brian Goff
811b138f7e Fix call to nil stat
Fixes #10242

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-21 14:25:35 -05:00
Jessie Frazelle
f3aed2a297 Merge pull request #10231 from estesp/move-iptables-check
Move iptables check out of runtime init() to separate function
2015-01-21 10:46:40 -08:00
Alexander Morozov
fd6bd80909 Merge pull request #10196 from bobrik/unused-compression-arg
Removed unused compression arg in Graph.TempLayerArchive()
2015-01-21 09:27:32 -08:00
Alexander Morozov
f72bcd3362 Merge pull request #10200 from cpuguy83/fix_racey_TestAttachAfterDetach
Fix racey TestAttachAfterDetach
2015-01-21 09:20:24 -08:00
Arnaud Porterie
d8a1cbe8d2 Merge pull request #9984 from crosbymichael/metrics
Docker stats live container resource metrics
2015-01-21 09:17:51 -08:00
Michael Crosby
4b173199fd Exit cli when all containers when no more containers to monitor
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-21 08:55:23 -08:00
Brian Goff
6ef8057700 Fix racey TestAttachAfterDetach
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-21 10:08:37 -05:00
Harald Albers
4bb113f24e Add bash completions for daemon flags, simplify with extglob
Implementing the deamon flags the traditional way introduced even more
redundancy than usual because the same list of options with flags
had to be added twice.

This can be avoided by using variables in the case statements when
using the extglob shell option.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-01-21 09:15:30 +01:00
Tibor Vass
9de604ad68 Merge pull request #10227 from jlhawn/v1_v2_login_patch
Resolve ambiguity on registry v2 ping
2015-01-21 02:10:32 -05:00
Abin Shahab
3ca5af6b1a Adds ipc namespace capability to lxc, and fixes tests.
This fixes various tests by checking for non zero exit code, accounting for lxc-specific base-diffs, and by removing lxc specific environment vars.
It also adds the --share-ipc option to lxc-start for shared ipc namespaces.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-21 06:08:00 +00:00
Michael Crosby
217a2bd1b6 Remove publisher if no one is listening
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:47 -08:00
Michael Crosby
76141a0077 Add documentation for stats feature
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:47 -08:00
Michael Crosby
2f46b7601a Add pubsub package to handle robust publisher
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:46 -08:00
Michael Crosby
2d4fc1de05 Refactor usage calc for CPU and system usage
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:46 -08:00
Alexander Morozov
cc658804c0 Refactor cli for stats
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-20 20:21:46 -08:00
Michael Crosby
4f174aa792 Evict stopped containers
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:46 -08:00
Michael Crosby
2640a10bca Implement client side display for stats
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:46 -08:00
Michael Crosby
65f58e2a74 Implement container stats collection in daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-20 20:21:46 -08:00
Tianon Gravi
681f4d84ae Update Dockerfile to use Godeps for distribution
Update our "registry" install to use the included Godeps libraries so that it
doesn't require anything from our current source (hence moving it up for
better caching too)

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-20 19:52:08 -08:00
Josh Hawn
f46923be8e Resolve ambiguity on registry v2 ping
v2 ping now checks for a Docker-Distribution-API-Version
header that identifies the endpoint as "registry/2.0"

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-20 19:52:08 -08:00
Phil Estes
5e8285b081 Move iptables check out of runtime init() to separate function
Due to the iptables package being `init`ed at start of the docker
runtime, this means the iptables --wait command listing all rules
is run, no matter if the command is simply "docker -h".  It makes
more sense to both locate the iptables command and check for the
wait flag support at the time iptables is actually used, as it
may not be used at all if certain network support is off/configured
differently.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-20 21:04:22 -05:00
Michael Crosby
5f5e02d22c Merge pull request #10122 from dqminh/execin-wait-cgroup
ExecIn process should wait for the parent signal before forking
2015-01-20 18:02:14 -08:00
Michael Crosby
cac17f990b Merge pull request #10205 from ashahab-altiscale/9875-non-privileged-proc-sys
use lxc.auto.mount to ensure proc and sys are readonly
2015-01-20 17:54:56 -08:00
Fred Lifton
620b58068f Merge pull request #10173 from SvenDowideit/release-1.5-combined-documentation
An initial quick import of documentation from Compose, Machine and Swarm
2015-01-20 17:08:55 -08:00
Pierre Wacrenier
0cd30cf399 Fix env.WriteTo count return
Some calls like json.Encoder.Encode mask the number of bytes written to
an io.Writer. The solution provides a wrapper io.Writer around the
actual io.Writer that allows multiple calls to Write to be considered as
one and allow access to this count.

Signed-off-by: Pierre Wacrenier <pierre.wacrenier@gmail.com>
2015-01-21 01:14:23 +01:00
Vincent Batts
9b2afa04f8 Merge pull request #10222 from vbatts/vbatts-dm_flag_and_output
dm flag and output
2015-01-20 18:45:43 -05:00
Michael Crosby
cc66fa3543 Merge pull request #10147 from cpuguy83/9629_volumes-from_unregistered-container
fix Bind-mounts not properly registering after daemon restart
2015-01-20 15:37:55 -08:00
Tianon Gravi
51b5dc185b Update emptyfs support to work properly if scratch is already an image
Also, this decouples the emptyfs script from the busybox one -- they're now functionally separate thanks to the scratch no-op change. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-20 16:26:04 -07:00
James Turnbull
a276706719 Merge pull request #10206 from jfrazelle/add-docs-memory-swap
Add docs for `--memory-swap`.
2015-01-20 18:20:13 -05:00
Vincent Batts
6bb6586458 contrib/sysvinit-redhat: unshare mount namespace
unshare the mount namespace of the docker daemon to avoid other pids
outside the daemon holding mount references of docker containers.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-20 16:00:41 -05:00
Brian Goff
e744b0dcba Fix volume ref restore process
Fixes #9629 #9768

A couple of issues:

1) Volume config is not restored if we couldn't find it with the graph
driver, but bind-mounts would never be found by the graph driver since
they aren't in that dir

2) container volumes were only being restored if they were found in the
volumes repo, but volumes created by old daemons wouldn't be in the
repo until the container is at least started.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-20 15:54:56 -05:00
Jessie Frazelle
9305020d9f Merge pull request #10223 from tianon/go1.3-TestBuildWithTabs
Update TestBuildWithTabs to allow for the "\t"-equivalent "\u0009" (for Go 1.3 support)
2015-01-20 11:37:43 -08:00
Vincent Batts
eb76cb2301 contrib/systemd: mount namespace and subtree flags
This systemd.exec setting will construct a new mount namespace for the
docker daemon, and use slave shared-subtree mounts so that volume mounts
propogate correctly into containers.

By having an unshared mount namespace for the daemon it ensures that
mount references are not held by other pids outside of the docker
daemon. Frequently this can be seen in EBUSY or "device or resource
busy" errors.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-20 14:22:04 -05:00
Vincent Batts
092d52281d Merge pull request #9970 from shishir-a412ed/docker_load_issue
Implementation of docker load command, load the tar ball directly into /var/lib/docker/graph
2015-01-20 14:15:41 -05:00
Tianon Gravi
142369456d Update TestBuildWithTabs to allow for the "\t"-equivalent "\u0009" (for Go 1.3 support)
This is literally the only failing test on Go 1.3.3: 🎉
```
--- FAIL: TestBuildWithTabs (0.43 seconds)
	docker_cli_build_test.go:4307: Missing tabs.
		Got:["/bin/sh","-c","echo\u0009one\u0009\u0009two"]
		Exp:["/bin/sh","-c","echo\tone\t\ttwo"]
```

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-20 12:11:59 -07:00
Vincent Batts
fa7af79885 Merge pull request #10193 from vbatts/vbatts-dm_logging
devmapper: initialize log levels
2015-01-20 14:06:01 -05:00
Daniel, Dao Quang Minh
9462dbb242 test that execin cgroups match container cgroups
Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com>
2015-01-20 13:51:15 -05:00
Vincent Batts
0c8be9da37 devmapper: initialize log levels
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-20 13:31:19 -05:00
Vincent Batts
a687e8d86b devicemapper: define device-mapper log levels
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-20 13:31:12 -05:00
Alexander Morozov
e9d3e237e5 Merge pull request #10005 from estesp/fix-localhost-nameserver-cleanup
Clean up localhost resolv logic and add IPv6 support to regexp
2015-01-20 10:30:06 -08:00
Hu Tao
8ec6c692db Remove the assumption that the fist IP is the bridge IP
The assumption is not true if user specifies an IP address other than
the first IP, in that case the first IP address is never allocated to
any container.

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
2015-01-21 02:13:58 +08:00
Alexander Morozov
b2fe1b3dd9 Merge pull request #10155 from tianon/netgo-take-three
Let's try fixing "netgo" again
2015-01-20 09:45:42 -08:00
Vincent Batts
06da161aee Merge pull request #10204 from vbatts/vbatts-dm_info_docs
devmapper: some explination of `docker info`
2015-01-20 09:41:25 -05:00
Tianon Gravi
2feb2d07b6 Merge pull request #10189 from crosbymichael/update-libcontainer-jan16
Update to libcontainer eb74393a3d2daeafbef4f5f27c0
2015-01-19 19:33:40 -07:00
Fred Lifton
e6a70a6f81 Merge pull request #10135 from coolljt0725/update_link_docs
Update the docs for --link accept container id
2015-01-19 18:12:50 -08:00
Vincent Batts
cb81ed34a5 devicemapper: API for checking cookie support
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 20:35:20 -05:00
Michael Crosby
7b48488c56 Merge pull request #10190 from ashahab-altiscale/9875-lxc-run-links
LXC needs stdin for container to remain up
2015-01-19 17:13:37 -08:00
Michael Crosby
1efc940e6f Merge pull request #10124 from duglin/Issue10034
Add the list of possible values for --log-level to help text
2015-01-19 17:09:18 -08:00
Michael Crosby
f49fb25375 Merge pull request #10061 from brahmaroutu/env_ports_9900
Env Variables created for each of the ports in addition to env variables...
2015-01-19 16:56:47 -08:00
Phil Estes
93d51e5e97 Clean up localhost resolv logic and add IPv6 support to regexp
Addresses #5811

This cleans up an error in the logic which removes localhost resolvers
from the host resolv.conf at container creation start time. Specifically
when the determination is made if any nameservers are left after
removing localhost resolvers, it was using a string match on the word
"nameserver", which could have been anywhere (including commented out)
leading to incorrect situations where no nameservers were left but the
default ones were not added.

This also adds some complexity to the regular expressions for finding
nameservers in general, as well as matching on localhost resolvers due
to the recent addition of IPv6 support.  Because of IPv6 support now
available in the Docker daemon, the resolvconf code is now aware of
IPv6 enable/disable state and uses that for both filter/cleaning of
nameservers as well as adding default Google DNS (IPv4 only vs. IPv4
and IPv6 if IPv6 enabled).  For all these changes, tests have been
added/strengthened to test these additional capabilities.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-19 19:35:55 -05:00
Jessica Frazelle
7bb4b56cf9 Add docs for --memory-swap.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-19 16:17:58 -08:00
Sven Dowideit
04d1b93fce Merge pull request #10170 from thaJeztah/docs-note-environment-vars
Document that ENV vars are not automatically updated
2015-01-20 10:04:25 +10:00
Sven Dowideit
e08858a80d Merge pull request #10175 from fossilet/patch-1
Add usage of port mapping for Boot2docker.
2015-01-20 10:03:32 +10:00
James Turnbull
826e0beade Merge pull request #10192 from icecrime/9951_client_proxy_doc
Add documentation for HTTP proxies
2015-01-19 18:55:25 -05:00
Tibor Vass
50ff27caa1 Merge pull request #9826 from icecrime/8318_whitespace_add_copy
Support whitespace in paths for ADD and COPY
2015-01-19 18:37:53 -05:00
Vincent Batts
a09a665d99 devmapper: some explination of docker info
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-01-19 17:37:08 -05:00
Vincent Batts
4cfe9df0a9 devicemapper: debug output specifics
moar information for the information gods

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 17:21:10 -05:00
Vincent Batts
dbb642b7fb devicemapper: define the fallback flag
DM_UDEV_DISABLE_LIBRARY_FALLBACK is disabled by most applications today
when using device-mapper, and ensuring that device-mapper is in sync
with udev. This flag instructs devicemapper to not fallback to creating
the device nodes itself. In the case of udev sync not being supported,
devicemapper will attempt to create the devices in a timely manner,
regardless of udev.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 17:06:53 -05:00
unclejack
2d61a62378 Merge pull request #10195 from vbatts/vbatts-dm_udev_sync
device-mapper udev sync
2015-01-20 00:06:29 +02:00
Jessie Frazelle
9b4cd01b21 Merge pull request #9730 from cpuguy83/9709_fix_volumes_from_missing_container
Fix volumes-from re-applying on each start
2015-01-19 14:00:53 -08:00
Vincent Batts
d2593546f9 devmapper: udev sync in docker info
now:

```
[...]
Storage Driver: devicemapper
 Pool Name: docker-253:2-5767172-pool
 [...]
 Udev Sync Supported: true
[...]
```

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 16:28:02 -05:00
Arnaud Porterie
cb9db04fd7 Merge pull request #10128 from vieux/filters_image
Server-side restriction of allowed image filters
2015-01-19 13:24:03 -08:00
Vincent Batts
022e1232f8 devmapper: udev sync on init
when initializing the devmapper driver, attempt to sync udev and device
mapper. If udev sync is not supported, print a warning. Eventually we'll
likely bail here to avoid unpredictable behavior for users.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 15:57:25 -05:00
Ian Babrou
b682d7cde6 removed unused compression arg in Graph.TempLayerArchive()
Signed-off-by: Ian Babrou <ibobrik@gmail.com>
2015-01-19 23:38:51 +03:00
Vincent Batts
9c3380039e devicemapper: dm_udev_get_sync_support
expose an api to call dm_udev_get_sync_support/dm_udev_set_sync_support

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-19 15:15:51 -05:00
Shishir Mahajan
315260203c Implementation of docker load command: Untarr the incoming tar stream directly into /var/lib/docker/tmp without creating the tar ball
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2015-01-19 15:09:02 -05:00
Tianon Gravi
232d59baeb Let's try fixing "netgo" again
Since "go test" doesn't seem to support "-installsuffix" as quite the same perfect solution that "go build" is happy to let it be, let's just switch those crappy old "integration/" tests to use our separate static dockerinit binary so we don't have to worry about compiling the entire test harness statically. 👍

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-19 12:48:25 -07:00
Arnaud Porterie
3a1dbef823 Add documentation for HTTP proxies
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-19 11:23:31 -08:00
Michael Crosby
4c38045be1 Merge pull request #9968 from HuKeping/master
log: Add restart policy name to the inspect information of container
2015-01-19 11:08:32 -08:00
Jessie Frazelle
8b95ad230e Merge pull request #9784 from dmcgowan/v2-registry
Client Support for Docker Registry HTTP API V2
2015-01-19 10:46:38 -08:00
Michael Crosby
979a4cdacd Merge pull request #10152 from ashahab-altiscale/9875-cap-add-all
SEND CAPABILITY IDS TO LXC
2015-01-19 10:46:22 -08:00
Michael Crosby
6b04d9342c Update to libcontainer eb74393a3d2daeafbef4f5f27c0
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-19 10:37:31 -08:00
Jessica Frazelle
f0d79c021d Update graphtest so when overlay is tried over a non-supported backing
filesystem it will skip.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-19 10:28:57 -08:00
Doug Davis
9ab73260f8 Docker run -e FOO should erase FOO if FOO isn't set in client env
See #10141 for more info, but the main point of this is to make sure
that if you do "docker run -e FOO ..." that FOO from the current env
is passed into the container.  This means that if there's a value, its
set.  But it also means that if FOO isn't set then it should be unset in
the container too - even if it has to remove it from the env.  So,
   unset HOSTNAME
   docker run -e HOSTNAME busybox env
should _NOT_ show HOSTNAME in the list at all

Closes #10141

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-19 08:00:32 -08:00
James Turnbull
27602f2a21 Merge pull request #10138 from ShockwaveNN/patch-1
fix link to introducion on 'Working with Docker Images' page
2015-01-19 10:53:15 -05:00
James Turnbull
6286c0711f Merge pull request #10167 from bgazzera/master
There was a missing command to re-run the web container.
2015-01-19 10:50:08 -05:00
James Turnbull
505e0ca80f Merge pull request #10179 from viirya/trivial_typo
Fix typo in document
2015-01-19 10:48:32 -05:00
Liang-Chi Hsieh
1b4a926377 Fix typo.
Signed-off-by: Liang-Chi Hsieh <viirya@gmail.com>
2015-01-19 18:02:23 +08:00
Yongzhi Pan
9dc2d0b8a3 Add usage of port mapping for Boot2docker.
Signed-off-by: Yongzhi Pan <panyongzhi@gmail.com>
2015-01-19 16:44:13 +08:00
Sven Dowideit
1b2032c82e An initial quick import of documentation from Compose, Machine and Swarm
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-19 14:23:39 +10:00
Lei Jitang
750373875e Update the docs for --link accept container id
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-01-19 09:57:44 +08:00
Sebastiaan van Stijn
3fb06dc104 Document that ENV vars are not automatically updated
Unlike the entries in `/etc/hosts`, environment-variables for linked
containers are not automatically updated if the linked container is
restarted.

This adds a note to the documentation in;
https://docs.docker.com/userguide/dockerlinks/#environment-variables
and
https://docs.docker.com/reference/run/#env-environment-variables

To make users aware that this is the case and recommends them to use
the `/etc/hosts` entries in stead.

I added this change because users were expecting environment variables
to be updated automatically as well (https://github.com/docker/docker/issues/10164).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-19 00:23:57 +01:00
Bruno Gazzera
44cde56333 There was a missing command to re-run the web container.
Signed-off-by: Bruno Gazzera <bgazzera@paginar.com>
2015-01-18 12:17:49 -03:00
Abin Shahab
d821c63e0d use lxc.auto.mount to ensure proc and sys are readonly
Set lxc.auto.mount = proc:mixed in unprivilged mode. This ensures that lxc mounts sys and proc/sysrq-trigger as readonly.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-18 09:27:16 +00:00
Abin Shahab
79f17dcf74 LXC needs stdin for container to remain up
To run shell(and not exit), lxc needs STDIN. Without STDIN open, it will exit 0.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-18 04:07:20 +00:00
Jessie Frazelle
467b7c8213 Merge pull request #10143 from cpuguy83/10129_marshal-indent_dockercfg
Make .dockercfg with json.MarshallIndent
2015-01-17 14:18:45 -08:00
imre Fitos
73baa673c7 fix typo 'setup/set up'
Signed-off-by: imre Fitos <imre.fitos+github@gmail.com>
2015-01-17 11:21:25 -05:00
Brian Goff
a738df0354 Fix volumes-from re-applying on each start
Fixes #9709
In cases where the volumes-from container is removed and the consuming
container is restarted, docker was trying to re-apply volumes from that
now missing container, which is uneccessary since the volumes are
already applied.

Also cleaned up the volumes-from parsing function, which was doing way more than
it should have been.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-17 07:14:25 -05:00
Brian Goff
b8f7526fc6 Make .dockercfg with json.MarshallIndent
Fixes #10129
Makes the .dockercfg more human parsable.

Also cleaned up the (technically) racey login test.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-17 07:05:56 -05:00
Jessie Frazelle
4245952f79 Merge pull request #10154 from tianon/fix-x-usage
Fix "-X" 6l usage ("define string data")
2015-01-16 20:55:16 -08:00
Tianon Gravi
da01690a0a Fix "-X" 6l usage ("define string data")
It turns out "-X" is only for strings! :)

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-16 21:46:01 -07:00
Abin Shahab
bff3509e43 SEND CAPABILITY IDS TO LXC
Sending capability ids instead of capability names ot LXC for --cap-add and --cap-drop.
Also fixed tests.

Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2015-01-17 04:01:52 +00:00
Jessie Frazelle
78b7a484db Merge pull request #10148 from thaJeztah/fix-deprecation-typo
Fix typo in deprecation message.
2015-01-16 15:16:54 -08:00
Sebastiaan van Stijn
bf14bacac3 Fix typo in deprecation message.
Because the doc maintainers don't like Cockney.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-16 23:36:50 +01:00
Jessie Frazelle
00d19150bb Merge pull request #9941 from SvenDowideit/build-pull-option-docs
Add build --pull and evenets --filter flags to the docs for 1.4
2015-01-16 13:49:56 -08:00
Victor Vieux
c6309229a0 move test to the daemon
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 21:49:46 +00:00
Jessie Frazelle
eaf3c6f1ac Merge pull request #10125 from estesp/9960-add-backingfs-info
Add backing filesystem info to `docker info` command where applicable
2015-01-16 13:41:37 -08:00
Phil Estes
48b1dd0084 Add backing filesystem info to docker info command where applicable
Fixes #9960

This adds the output of a "Backing Filesystem:" entry to `docker info`
to overlay, aufs, and devicemapper graphdrivers. The default list
includes a fairly complete list of common filesystem names from
linux/include/uapi/linux/magic.h, but if the backing filesystem is not
recognized, the code will simply show "<unknown>"

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2015-01-16 14:43:43 -05:00
Derek McGowan
f29aacbc48 Fix failing integration tests
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-16 11:34:45 -08:00
unclejack
6a6a89a806 Merge pull request #10134 from unclejack/bump_go_to_1.4.1
bump go to 1.4.1
2015-01-16 19:35:47 +02:00
James Turnbull
30468cdbae Merge pull request #10127 from fredlf/known-issues
Adds new section for Known Issues to Release Notes.
2015-01-16 09:45:34 -05:00
Pavel Lobashov
43b9736842 fix link to introducion on 'Working with Docker Images' page
Old link go to Table of content page, but by context it should go to 'understaning-docker' pag

Signed-off-by: Pavel Lobashov <shockwavenn@gmail.com>
2015-01-16 14:16:10 +03:00
HuKeping
c3ed49dcdb restart: add test for recording restart policy name
Add test for recording restart policy name on
- restart=no
- restart=always
- restart=on-failure

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-01-16 17:58:26 +08:00
unclejack
933f957e77 bump go to 1.4.1
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2015-01-16 09:45:37 +02:00
gdi2290
6df0fdf91b Update AUTHORS file and .mailmap
added `LC_ALL=C.UTF-8` due to osx
http://www.inmotionhosting.com/support/website/ssh/speed-up-grep-searche
s-with-lc-all

Signed-off-by: Patrick Stapleton <github@gdi2290.com>
2015-01-15 19:56:41 -08:00
imre Fitos
457f212373 start docker before checking for updated NAT rule
Signed-off-by: imre Fitos <imre.fitos+github@gmail.com>
2015-01-15 21:32:38 -05:00
Fred Lifton
22437eb960 Merge pull request #9937 from SvenDowideit/add-https-test
Add a containerised test for the https cert doc
2015-01-15 17:53:40 -08:00
Victor Vieux
0e9acf7684 don't restrict filters in docker images
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 01:09:01 +00:00
Fred Lifton
f6777c7a40 Adds new section for Known Issues to Release Notes.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2015-01-15 16:09:48 -08:00
Sven Dowideit
9725433988 Merge pull request #10104 from thaJeztah/docs-add-note-to-cli-export
Docs: Add note that export doesn't include volume data.
2015-01-16 12:15:46 +13:00
James Turnbull
25a8602cba Merge pull request #9840 from nhsiehgit/searchapidocs
updated search api docs to include pagination changes
2015-01-15 17:40:04 -05:00
Derek McGowan
dd914f91d7 Add token cache
Token cache prevents the need to get a new token for every registry interaction.
Since the tokens are short lived, the cache expires after only a minute.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
f11f3f6203 Remove session backup
The v2 session code will no longer update the indexEndpoint value, therefore it is not necessary to save and restore the value for use with v1.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
9c6f8e1439 Cleanup v2 session to require endpoint
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
750b41ced4 Refactor push and pull to move code out of cmd function
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Arnaud Porterie
92d5eafe03 Test pulling image with aliases
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-15 14:05:06 -08:00
Arnaud Porterie
dbec2317e5 Add some push test coverage
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-15 14:05:06 -08:00
Alexander Morozov
f138f7bd50 Tests for push to registry v2
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-15 14:05:06 -08:00
Alexander Morozov
2fc2862a73 RegistryV2 datastructure for tests
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-15 14:05:06 -08:00
Alexander Morozov
ef96c28754 Install registry V2 in image
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-15 14:05:06 -08:00
Derek McGowan
9a38aa0279 Fix integration test failures
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
1a9cdb1394 Fix list tags
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
8ceb9d20d6 Update push to sign with the daemon's key when no manifest is given
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Derek McGowan
25945a40c4 Refactor from feedback
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:06 -08:00
Josh Hawn
213e3d1166 Add Tarsum Calculation during v2 Pull operation
While the v2 pull operation is writing the body of the layer blob to disk
it now computes the tarsum checksum of the archive before extracting it to
the backend storage driver. If the checksum does not match that from the
image manifest an error is raised.

Also adds more debug logging to the pull operation and fixes existing test
cases which were failing. Adds a reverse lookup constructor to the tarsum
package so that you can get a tarsum object using a checksum label.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-15 14:05:05 -08:00
Derek McGowan
7eeda3f14d Fix tests
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2015-01-15 14:05:05 -08:00
Stephen J Day
1b43144ad8 Correctly check and propagate errors in v2 session
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-15 14:05:05 -08:00
Derek McGowan
d094eb6f7f Get token on each request
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2015-01-15 14:05:05 -08:00
Derek McGowan
7d61255f57 Allow private V2 registry endpoints
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2015-01-15 14:05:05 -08:00
Derek McGowan
0336b0cdaa Update push and pull to registry 2.1 specification
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2015-01-15 14:05:05 -08:00
Stephen J Day
dbb4b03bfc Remove dependencies on registry packages
Because docker core cannot vendor non-master Go dependencies, we need to remove
dependencies on registry package. The definition of digest.Digest has been
changed to a string and the regular expressions have been ported from
docker-registry/common library.

We'll likely change this be dependent on the registry in the future when the
API stabilizies and use of the master branch becomes the norm.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-15 14:05:05 -08:00
Stephen J Day
a0f92a26d9 Registry V2 HTTP route and error code definitions
This package, ported from next-generation docker regsitry, includes route and
error definitions. These facilitate compliant V2 client implementation. The
portions of the HTTP API that are included in this package are considered to be
locked down and should only be changed through a careful change proposal.
Descriptor definitions package layout may change without affecting API behavior
until the exported Go API is ready to be locked down.

When the new registry stabilizes and becomes the master branch, this package
can be vendored from the registry.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-15 14:05:05 -08:00
Josh Hawn
e23362597d Update token response handling
Registry authorization token is now taken from the response body rather than
the repsonse header.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-15 14:05:05 -08:00
Derek McGowan
e9b590d85e Update push to use mount blob endpoint
Using mount blob prevents repushing images which have already been uploaded

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:05 -08:00
Derek McGowan
3e4fd00544 Use tarsum dev version to fix mtime issue
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:05 -08:00
Derek McGowan
bcc0a343bb Update manifest format for push
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:05 -08:00
Derek McGowan
188b56c836 Push flow
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:05:05 -08:00
Derek McGowan
ac8d964b28 Add trust key creation on client
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-01-15 14:04:14 -08:00
Josh Hawn
41e20cecb9 Adds support for v2 registry login
summary of changes:

registry/auth.go
  - More logging around the login functions
  - split Login() out to handle different code paths for v1 (unchanged logic)
    and v2 (does not currently do account creation)
  - handling for either basic or token based login attempts
registry/authchallenge.go
  - New File
  - credit to Brian Bland <brian.bland@docker.com> (github: BrianBland)
  - handles parsing of WWW-Authenticate response headers
registry/endpoint.go
  - EVEN MOAR LOGGING
  - Many edits throught to make the coad less dense. Sparse code is more
    readable code.
  - slit Ping() out to handle different code paths for v1 (unchanged logic)
    and v2.
  - Updated Endpoint struct type to include an entry for authorization
    challenges discovered during ping of a v2 registry.
  - If registry endpoint version is unknown, v2 code path is first attempted,
    then fallback to v1 upon failure.
registry/service.go
  - STILL MOAR LOGGING
  - simplified the logic around starting the 'auth' job.
registry/session.go
  - updated use of a registry.Endpoint struct field.
registry/token.go
  - New File
  - Handles getting token from the parameters of a token auth challenge.
  - Modified from function written by Brian Bland (see above credit).
registry/types.go
  - Removed 'DefaultAPIVersion' in lieu of 'APIVersionUnknown = 0'`

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-15 14:04:14 -08:00
Doug Davis
88905793ad Build CMD/ENTRYPOINT cache strings properly
Make sure that as we build the CMD/ENTRYPOINT cache strings that we don't
treat ["echo","hi"] and ["echo hi"] as the same thing due to the fact that
we're just doing a strcat on the array.

Closes #10097

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-15 12:49:30 -08:00
Doug Davis
ed13110e88 Add the list of possible values for --log-level to help text
Closes #10034

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-15 12:20:41 -08:00
Srini Brahmaroutu
611a23aa7f Env Variables created for each of the ports in addition to env variables for port ranges, regression from #1834
Closes #9900
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-01-15 19:16:31 +00:00
Michael Crosby
3837c08022 Merge pull request #10109 from ankushagarwal/imagespec-typo
Fix typos in image spec v1
2015-01-15 08:58:29 -08:00
Nathan Hsieh
c252d5f3f4 changed format of cli note
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2015-01-15 08:39:16 -08:00
Sebastiaan van Stijn
67588d0ec4 Docs: Add note that export doesn't include volume data.
The documentation on `docker export` doesn't mention that
data in volumes is not included in the export.

This adds a note that volumes are not part of the export
and refers to the "Backup, restore, or migrate data volumes"
to give the user some pointers.

Relates to https://github.com/docker/docker/issues/10095

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-15 16:54:45 +01:00
HuKeping
2082ff82b5 log: Add restart policy name to the inspect information of container
Under the restart policy "--restart=no", there is no record about it
in the information from docker inspect.

To keep it consistent around the three(maybe more in the future) restart
policies and distinguish with no restart policy specified cases, it's
worth to record it even though it is the default restart policy which
will not restart the container.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-01-15 22:40:31 +08:00
Ankush Agarwal
82bfb3852e Typo creating -> created
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-01-14 23:02:17 -08:00
imre Fitos
d10d0e568e docs: remove NAT rule when removing bridge
Signed-off-by: imre Fitos <imre.fitos+github@gmail.com>
2015-01-14 23:06:13 -05:00
Jessie Frazelle
ae493e721e Merge pull request #10110 from jfrazelle/fix-vfs-issue
ignore vfs from graphdriver warning
2015-01-14 19:54:17 -08:00
Sven Dowideit
18a2c77435 Add build --pull and evenets --filter flags to the docs for 1.4
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-01-15 15:20:48 +13:00
Nathan Hsieh
92ef40a826 added note to man & cli docs on search limit
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2015-01-14 18:03:09 -08:00
Jessica Frazelle
f88066fd43 ignore vfs from warning
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-14 17:28:50 -08:00
Ankush Agarwal
034466d356 Typo image -> container
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2015-01-14 17:18:11 -08:00
Jessie Frazelle
640e0fc578 Merge pull request #9881 from tianon/json-array-of-strings
Adjust builder to validate that JSON in Dockerfiles are arrays of strings and nothing else to match how we describe them to people (and what all our existing tests already assumed)
2015-01-14 17:13:51 -08:00
Jessie Frazelle
eaecf741f0 Merge pull request #10108 from tiborvass/carry-9989
[Carry] Fix a panic where RUN [] would be supplied
2015-01-14 17:12:59 -08:00
Michael Crosby
c126a2303f Merge pull request #10106 from icecrime/win_integration_tests
Fix some Windows integration tests
2015-01-14 17:04:49 -08:00
Victor Vieux
27f69b0777 Merge pull request #10107 from jfrazelle/9328-fix-try-start-paused-container
Error should show when trying to start a paused container.
2015-01-14 17:02:23 -08:00
Tibor Vass
3183af8b19 builder: use len() > 0 instead of != nil
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-01-14 16:55:56 -08:00
Erik Hollensbe
39343b8618 Fix a panic where RUN [] would be supplied.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2015-01-14 16:55:56 -08:00
Jessica Frazelle
02246d2d9f Error should show when trying to start a paused container.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-14 16:49:08 -08:00
Arnaud Porterie
e1ef33449f Take DOCKER_TEST_HOST into account
Tests no longer make the assumption that the daemon can be accessed
through unix:///var/run/docker.sock.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-14 16:14:27 -08:00
Alexander Morozov
95c0f07966 Merge pull request #10093 from crosbymichael/readonly-containers
Add --read-only for read only container rootfs
2015-01-14 15:56:51 -08:00
Michael Crosby
409407091a Add --readonly for read only container rootfs
Add a --readonly flag to allow the container's root filesystem to be
mounted as readonly.  This can be used in combination with volumes to
force a container's process to only write to locations that will be
persisted.  This is useful in many cases where the admin controls where
they would like developers to write files and error on any other
locations.

Closes #7923
Closes #8752

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-14 15:41:31 -08:00
Michael Crosby
3118ccc6bc Merge pull request #10101 from LK4D4/fix_vet_errors
Fix vet errors
2015-01-14 15:18:20 -08:00
Michael Crosby
73bf350d3d Merge pull request #10102 from jfrazelle/windows-fix
Add build constraint for windows
2015-01-14 15:15:46 -08:00
Jessica Frazelle
798215af24 Add build constraint.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-14 14:40:07 -08:00
Alexander Morozov
a75b02fe72 Fix format calls as suggested by vet
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-14 14:12:03 -08:00
Alexander Morozov
bb96e53b0f Fix vet error about passing Mutex by value
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-14 14:03:00 -08:00
Alexander Morozov
5ce60217f1 Calming vet about type aliases from other package
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-14 14:01:36 -08:00
Victor Vieux
f67c6d313b Merge pull request #10082 from jfrazelle/10081-fix-renaming
Renaming a container with an invalid name should fail
2015-01-14 13:12:36 -08:00
Jessica Frazelle
a92281637f Renaming a container with an invalid name should fail
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-14 12:54:23 -08:00
Michael Crosby
37b69408f8 Merge pull request #10056 from coolljt0725/add_link_accept_ID
Add --link accept container ID
2015-01-14 12:50:10 -08:00
Michael Crosby
71ab2efbfa Merge pull request #9836 from SvenDowideit/transcluded-no-sudo-note
Add a note that remote and Boot2Docker users should not type sudo
2015-01-14 12:44:53 -08:00
Jessie Frazelle
95fea08f7a Merge pull request #10072 from LK4D4/fix_mutable_net_files
Rewrite TestRunMutableNetworkFiles to avoid races
2015-01-14 11:48:46 -08:00
Tibor Vass
7d80fd6ca6 Merge pull request #10092 from docker/revert-10087-proper-netgo-thanks-rsc
Revert new netgo
2015-01-14 10:15:14 -08:00
Jessie Frazelle
e7cfb1c28b Revert "Add proper "netgo" compiling, thanks to rsc ♥"
Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jfrazelle@users.noreply.github.com> (github: jfrazelle)
2015-01-14 09:55:35 -08:00
Jessie Frazelle
5136b11514 Merge pull request #10075 from LK4D4/test_for_maxcount
Test for restarting count
2015-01-14 09:17:02 -08:00
Jessie Frazelle
355415d823 Merge pull request #10086 from tianon/properly-fix-daemon-kill-on-failure
Properly fix "daemon kill" on test failure
2015-01-14 09:13:32 -08:00
Jessie Frazelle
c05e7c4135 Merge pull request #10087 from tianon/proper-netgo-thanks-rsc
Add proper "netgo" compiling, thanks to rsc ♥
2015-01-14 09:09:18 -08:00
Lei Jitang
2292167b02 Add tests for --link
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-01-14 15:25:58 +08:00
Tianon Gravi
b5aba426d4 Add proper "netgo" compiling, thanks to rsc ♥
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-13 21:35:21 -07:00
Alexander Morozov
79d30364c9 Test for restarting count
This test is for #10058
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-13 20:28:44 -08:00
Tianon Gravi
c18fdc3704 Properly fix "daemon kill" on test failure
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-13 21:12:07 -07:00
Sven Dowideit
d5df948829 Add a note that remote and Boot2Docker users should not type sudo
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-13 21:40:14 -05:00
Jessie Frazelle
c9dab702be Merge pull request #10076 from MalteJ/ipv6-docs
IPv6 docs: The ARP cache is called NDP neighbor cache in IPv6
2015-01-13 17:05:28 -08:00
Michael Crosby
e90df7c8d2 Merge pull request #10077 from crosbymichael/parallel-image-check
Parallel image lookup
2015-01-13 17:02:49 -08:00
Michael Crosby
47e3da848f Merge pull request #10080 from crosbymichael/pid-ns
Add --pid flag for staying in the host's pid namespace
2015-01-13 17:00:18 -08:00
Michael Crosby
8ac075b846 Merge pull request #10036 from HuKeping/docs-next
docs: update docker inspect part of docs
2015-01-13 16:43:42 -08:00
Michael Crosby
23b48fbe14 Merge pull request #10079 from tonistiigi/fix-attach-stdin
Fix attach stream closing issues
2015-01-13 16:40:42 -08:00
Michael Crosby
15e8f3fdd3 Add test for --pid=host
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-13 16:39:08 -08:00
Dan Walsh
23feaaa240 Allow the container to share the PID namespace with the host
We want to be able to use container without the PID namespace.  We basically
want containers that can manage the host os, which I call Super Privileged
Containers.  We eventually would like to get to the point where the only
namespace we use is the MNT namespace to bring the Apps userspace with it.

By eliminating the PID namespace we can get better communication between the
host and the clients and potentially tools like strace and gdb become easier
to use.  We also see tools like libvirtd running within a container telling
systemd to place a VM in a particular cgroup, we need to have communications of the PID.

I don't see us needing to share PID namespaces between containers, since this
is really what docker exec does.

So currently I see us just needing docker run --pid=host

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-01-13 16:35:17 -08:00
Tonis Tiigi
28cf8fddd4 Fix attach stream closing issues
Fixes: #9860
Fixes: detach and attach tty mode

We never actually need to close container `stdin` after `stdout/stderr` finishes. We only need to close the `stdin` goroutine. In some cases this also means closing `stdin` but that is already controlled by the goroutine itself.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-01-14 02:03:25 +02:00
Jessie Frazelle
0eefae8e0d Merge pull request #10068 from jfrazelle/api-bump-rename
Add reference to rename endpoint in correct version & add to new
2015-01-13 15:58:36 -08:00
Michael Crosby
476cf1b906 Use channels and set workers to make image lookup safe
This refactors the starting work by the prior commits to make this safe
for access.  A maximum of 5 worker go routines are started to lookup
images on the endpoint.  Another go routine consumes the images that are
required to be pushed into a map for quick lookups.  The map is required
because the pushing of the image json and layer have to be done in the
correct order or the registry will explode in fire.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-13 15:52:44 -08:00
Ian Calvert
3328658929 Replace custom waiting code with a WaitGroup
Signed-off-by: Ian Calvert <ianjcalvert@gmail.com>
2015-01-13 15:32:47 -08:00
Ian Calvert
90c5ff4f06 Run the remote image presence checks in parallel
Signed-off-by: Ian Calvert <ianjcalvert@gmail.com>
2015-01-13 15:32:47 -08:00
Jessica Frazelle
ee78e3f284 Add reference to rename endpoint in correct version & add to new
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-13 15:22:04 -08:00
Malte Janduda
c03e15c9da IPv6 docs: The ARP cache is called NDP neighbor cache in IPv6
Signed-off-by: Malte Janduda <mail@janduda.net>
2015-01-14 00:20:17 +01:00
unclejack
044d979f4e Merge pull request #10003 from vbatts/vbatts-dm_loop_file_info
devmapper: show device and loop file , if used
2015-01-14 01:15:09 +02:00
Victor Vieux
ff40126389 Merge pull request #10070 from thaJeztah/change-back-error-message
Mention "or rename" again in error-message.
2015-01-13 14:56:15 -08:00
Victor Vieux
d8e6e32222 Merge pull request #10073 from tonistiigi/fix-unix-integration-cli
Fix filenames for unix only integration-cli tests
2015-01-13 14:55:31 -08:00
Victor Vieux
3943b381ef Merge pull request #10071 from mota/cleanup-router
Remove error return type from createRouter and ServeRequest
2015-01-13 14:46:36 -08:00
Tonis Tiigi
f9876dade2 Fix filenames for unix only integration-cli tests
Test suffix comes after the platform/arch.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-01-14 00:31:25 +02:00
Alexander Morozov
492b18ac08 Rewrite TestRunMutableNetworkFiles to avoid races
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-01-13 14:14:36 -08:00
Pierre Wacrenier
02923d43e2 Remove error return type from createRouter and ServeRequest
Signed-off-by: Pierre Wacrenier <pierre.wacrenier@gmail.com>
2015-01-13 22:43:31 +01:00
Alexander Morozov
5862422a49 Merge pull request #10058 from HuKeping/work
restart: Fix the compare of restart policy
2015-01-13 13:38:52 -08:00
Sebastiaan van Stijn
78820a63d6 Mention "or rename" again in error-message.
The "or rename" part was removed from the error-message,
because renaming wasn't possible at the time.

Now that https://github.com/docker/docker/pull/8570 is merged,
renaming existing containers is possible.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-13 21:57:48 +01:00
Michael Crosby
0db6bb3cbf Merge pull request #10069 from tianon/docker-py-commit
Switch docker-py clone to use an explicit commit for natural cache-busting
2015-01-13 11:43:28 -08:00
Tianon Gravi
3c01c971cd Switch docker-py clone to use an explicit commit for natural cache-busting
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-13 12:34:55 -07:00
Arnaud Porterie
cf455017e0 Support whitespaces in ADD and COPY continued
Add tests and documentation for this new feature.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-13 11:34:15 -08:00
Alexander Morozov
99a15ec8bd Merge pull request #9973 from duglin/Issue9880
Make sure that ADD/COPY still populate the cache even if they don't use it
2015-01-13 11:17:34 -08:00
Victor Vieux
eaeaf0d8e3 Merge pull request #10064 from hqhq/hq_fix_flag_comments
correct the flag comments
2015-01-13 11:06:24 -08:00
Jessie Frazelle
ab86f591c3 Merge pull request #9951 from andersjanmyr/add-proxy-from-environment-to-client
Add ProxyFromEnvironment enables client via proxy.
2015-01-13 10:53:00 -08:00
Jessie Frazelle
21cf4b4c4c Merge pull request #9764 from ztombol/fix-reduce-arch-rootfs-size
Revisiting mkimage-arch.sh
2015-01-13 10:39:45 -08:00
Jessie Frazelle
b9e42d66e7 Merge pull request #8570 from brahmaroutu/rename_container_3036
Rename a existing container
2015-01-13 10:37:29 -08:00
Alexander Morozov
9621e59909 Merge pull request #10013 from icecrime/9979_oom_exit_code
Fix error code when exiting on OOM
2015-01-13 10:33:21 -08:00
Zoltan Tombol
18c0b41564 Delete man pages of installed packages in mkimage-arch.sh
Docker-DCO-1.1-Signed-off-by: Zoltan Tombol <zoltan.tombol@gmail.com> (github: ztombol)
2015-01-13 18:10:50 +01:00
Zoltan Tombol
9f59b057be Revise list of installed packages in mkimage-arch.sh
Docker-DCO-1.1-Signed-off-by: Zoltan Tombol <zoltan.tombol@gmail.com> (github: ztombol)
2015-01-13 18:10:50 +01:00
Jessie Frazelle
6e5c5d33dd Merge pull request #10008 from rhatdan/help
Fix docker run/create not printing error messages
2015-01-13 06:48:33 -08:00
Dan Walsh
12a7e78b12 Fix docker run/exec/create not printing error messages
If an error message happens while parsing docker run or docker exec, the message
is not being printed out.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-01-13 09:23:13 -05:00
Qiang Huang
00bd7b4c41 correct the flag comments
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-01-13 15:40:24 +08:00
Arnaud Porterie
9a9339d9a2 Test case for error code when exiting on OOM
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-12 23:16:28 -08:00
HuKeping
e721ed9b53 restart: Fix the compare of restart policy
Since the failure count of container will increase by 1 every time it
exits successfully, the compare in function shouldRestart() will stop
container to restart by the last time.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-01-13 13:05:30 +08:00
Michael Crosby
9f2c486144 Merge pull request #10055 from icecrime/upgrade_libcontainer
Upgrade libcontainer to 1d3b2589d734dc94a1719a3af4
2015-01-12 20:44:25 -08:00
Tianon Gravi
5d59fdcd38 Merge pull request #10057 from tianon/fix-tgz
Fix tgz for Windows binaries
2015-01-12 20:28:04 -07:00
Srini Brahmaroutu
21a809d9ae rename a existing container
Closes #3036

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-01-13 03:27:17 +00:00
Tianon Gravi
71b03d8aeb Fix tgz for Windows binaries
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-12 19:56:53 -07:00
Arnaud Porterie
009041cdfd Upgrade libcontainer to 1d3b2589d734dc94a1719a3af4
Correct exit code when dying on a signal (fixes #9979).

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-12 18:12:59 -08:00
Lei Jitang
400d92871c Add --link accept container ID
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-01-13 09:38:12 +08:00
Jessie Frazelle
9b0072a7e6 Merge pull request #10029 from soulshake/add-cecilia-payne-gaposchkin
Add Cecilia Payne-Gaposchkin to names generator.
2015-01-12 17:31:19 -08:00
AJ Bowen
41178adb7e Add Cecilia Payne-Gaposchkin to the names generator.
Signed-off-by: AJ Bowen <aj@gandi.net>
2015-01-12 16:24:15 -08:00
Jessie Frazelle
0da9540eda Merge pull request #10054 from shin-/docker-py-bump-0.7.1
Bumped docker-py version to latest release
2015-01-12 15:27:44 -08:00
Alexander Morozov
6ef475bada Merge pull request #10053 from vieux/update_copyrights
update copyrights to 2015
2015-01-12 15:07:59 -08:00
Joffrey F
3873b19c31 Bumped docker-py version to latest release
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-01-12 15:01:09 -08:00
Victor Vieux
b70632ec53 fix issue with goimport
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-12 22:52:19 +00:00
Victor Vieux
e5869b2b0b update copyrights to 2015
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-12 22:47:36 +00:00
Michael Crosby
43a75f5b93 Merge pull request #9962 from andi5/fix-doc-cmdline-port
Fix order of pause and port in command line documentation.
2015-01-12 13:22:51 -08:00
Michael Crosby
4e0f656d74 Merge pull request #10051 from thaJeztah/fix-error-message
Fix typo in error-message.
2015-01-12 13:12:10 -08:00
Michael Crosby
9215c3901e Merge pull request #10019 from jfrazelle/9954-text-plain-content-type
Use "text/plain" content-type
2015-01-12 12:50:35 -08:00
Sebastiaan van Stijn
5f699a465d Fix typo in error-message.
This fixes a small typo in the errormessage for memory-swap.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-01-12 21:48:44 +01:00
Vincent Batts
3ec6959240 Merge pull request #9985 from jfrazelle/fix-exited-filter-should-not-show-running
`docker ps --filter exited=status` should not show running containers
2015-01-12 15:09:22 -05:00
Michael Crosby
a52c3a74f8 Merge pull request #9953 from evverx/patch-1
Update Ubuntu image tag to 14.04
2015-01-12 12:07:12 -08:00
Vincent Batts
e90e754682 Merge pull request #9987 from jfrazelle/fix-filter-status-exited-not-require-all
`docker ps --filter status=exited should not require passing -a`
2015-01-12 15:05:58 -05:00
Michael Crosby
16fe2ac6b2 Merge pull request #9988 from nponeccop/patch-1
FsMagic should avoid sign extension on i686
2015-01-12 12:02:09 -08:00
Michael Crosby
ed47284f0d Merge pull request #9992 from iKevinY/readme-italics
Add missing italics to list items in README
2015-01-12 11:50:04 -08:00
Jessica Frazelle
cd5902fc7b Fix range for go 1.3
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-12 11:49:52 -08:00
Michael Crosby
862a124db4 Merge pull request #10014 from tianon/fix-msys
Fix a few minor issues with building/running inside msysGit
2015-01-12 11:44:43 -08:00
Alexander Morozov
83ab6237ac Merge pull request #10047 from vbatts/vbatts-graphdriver_driver_put_with_error
graphdriver: change (*Driver).Put signature
2015-01-12 11:42:11 -08:00
Jessie Frazelle
d17e4175b6 Merge pull request #10009 from jfrazelle/add-master-docs-to-readme
Add link to master docs.
2015-01-12 11:31:11 -08:00
Vincent Batts
1c57555285 Merge pull request #10048 from vbatts/vbatts-dm_no_newline
devmapper: remove newline string
2015-01-12 14:26:19 -05:00
Jessie Frazelle
1a73946e95 Merge pull request #10049 from crosbymichael/update-libcontainer-jan12
Update libcontainer to 6460fd79667466d2d9ec03f77f3
2015-01-12 11:15:12 -08:00
Michael Crosby
582a79f00a Update lxc with libcontainer SetupUser change
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-12 10:43:33 -08:00
Jessie Frazelle
0192b6c539 Merge pull request #9560 from jlhawn/image_spec
Adds Docker Image v1 Spec Documention
2015-01-12 10:41:44 -08:00
Vincent Batts
2b51d1a167 devmapper: remove newline string
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-12 13:40:42 -05:00
Michael Crosby
115d8bac60 Update libcontainer to 6460fd79667466d2d9ec03f77f3
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-12 10:38:15 -08:00
Josh Hawn
79910625f0 Adds Docker Image v1 Spec Documention
Many iterations have gone into documenting a v1 specification of Docker's Image
format.

v1 Image spec: clarify parent field

- metalivedev pointed out that the description was ambiguous, so I've removed
  mention that it was randomly generated. It IS the ID of the parent image.

Updated v1 image specificatino documentation

- More complete details and deprication notifications for each field
  in the JSON metadata of an image.
- Details on the format for packaging combined Image JSON + Filesystem
  Changeset archives for all layers of an image.

Clarify description of an image "Layer" in v1 spec

Updated intro of image v1 spec

Updated image v1 spec after more review

- Removed description of "Image" from the terminology section. The entire
  document is meant to serve this purpose.
- Updated the definition of "Image Filesystem Changeset".
- Clarified the level of randomness needed for generating image IDs.
- Updated the description of "Image Checksum".
- Added term descriptions for "Repository" and "Tag"
- Removed extraneous/implementation-specific fields from the Image JSON
  example file and field descriptions:
  - removed "container_config" and "docker_version" fields.
  - Added missing "author" field example and description.
- Removed extraneous/implementation-specific fields from the "config" struct
  example and description:
  - removed "Hostname", "Domainname", "Cpuset", "AttachStdin", "AttachStdout",
    "AttachStderr", "PortSpecs", "Tty", "OpenStdin", "StdinOnce", "Image",
    "NetworkDisabled", and "OnBuild".
- Updated example Image JSON config with better example values for "Env",
  "Cmd", "Volumes", "WorkingDir", "Entrypoint", "CpuShares", "Memory",
  "MemorySwap", and "User".
- Added notices that any fields not specified are to be considered as
  implementation specific and should be ignored my implementations which
  are unable to interpret them.
- Updated example of creating layer filesystem changesets to use less formal
  language.
- Listed more details in the section regarding extraction of a bundle of image
  layers into the root filesystem of a container.
- Updated the closing mention of Docker as an evolving implementation.

More updates to the v1 image spec

- Added line wrapping after 80 columns per line to adhere to documentation
  style guides, as pointed out by @jamtur01

- Removed references to any specific docker commands, updated a few descriptions
  or drop repeated statements, as pointed out by @cpuguy83

Cleanup image v1 spec draft after fredlf comments

Address comments by mmdriley on v1 image spec

Improve description of image v1 spec 'config.User`

- Improves description of image v1 specification for the 'User' runtime
  parameter after recomendations by tianon.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-01-12 10:37:46 -08:00
Vincent Batts
00fd63e558 graphdriver: change (*Driver).Put signature
There are a couple of drivers that swallow errors that may occur in
their Put() implementation.

This changes the signature of (*Driver).Put for all the drivers implemented.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-01-12 13:34:35 -05:00
Doug Davis
cb4ea2c778 Merge pull request #9990 from hqhq/fix_minor_type
registry: fix minor typo
2015-01-12 13:32:16 -05:00
Jessie Frazelle
1781fed730 Merge pull request #10006 from jfrazelle/docs-release-fixes
Update docs release script so we can have autodeploys
2015-01-12 10:03:33 -08:00
Jessica Frazelle
a6a748b9a0 Update docs release script so we can have autodeploys
to docs.master.dockerproject.com.

- Make the invaidation profile the bucket variable, not hard coded.
- Add no cache variable for settings cache to "no-cache"

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-12 09:56:43 -08:00
Jessie Frazelle
966c8b00c7 Merge pull request #10028 from soulshake/add-laura-poitras
Add Laura Poitras to the names generator.
2015-01-12 09:52:31 -08:00
soulshake
883d141535 Add Laura Poitras to the names generator.
http://www.wired.com/2014/10/laura-poitras-crypto-tools-made-snowden-film-possible/

Signed-off-by: AJ Bowen <aj@gandi.net>
2015-01-12 09:35:12 -08:00
HuKeping
8d414fd434 docs: update docker inspect part of docs
The docker inspect part of docs is quit different with what it
really be.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-01-12 13:20:27 +08:00
Alexander Morozov
de9783980b Merge pull request #10018 from estesp/resolvconf-updater-bugfix
Properly handle containers which pre-date the resolv.conf update feature
2015-01-10 20:24:29 -08:00
Tibor Vass
5a56361c1e Merge pull request #10020 from jfrazelle/add-aaron-swartz
Add Aaron Swartz to the names generator.
2015-01-10 10:28:23 -05:00
Jessica Frazelle
5b8c8b1819 Add Aaron Swartz to the names generator.
https://en.wikiquote.org/wiki/Aaron_Swartz

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-09 22:25:53 -08:00
Phil Estes
30eff2720a Properly handle containers which pre-date the resolv.conf update feature
This fixes the container start issue for containers which were started
on a daemon prior to the resolv.conf updater PR. The update code will
now safely ignore these containers (given they don't have a sha256 hash
to compare against) and will not attempt to update the resolv.conf
through their lifetime.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-10 00:48:41 -05:00
Jean-Paul Calderone
807f486f87 Change some instances of this mistake in the documentation as well.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@linux.com> (github: jfrazelle)
2015-01-09 20:31:38 -08:00
Jean-Paul Calderone
f29ee87051 Use the official mime type that exists instead of an imaginary one that does not.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@linux.com> (github: jfrazelle)
2015-01-09 20:24:54 -08:00
Tianon Gravi
91b5634dee Merge pull request #10017 from jfrazelle/apparmor_lxc
Add apparmor package to Dockerfile
2015-01-09 19:44:01 -07:00
Jessica Frazelle
cdc14c7cbf Add apparmor
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-09 18:22:19 -08:00
Tianon Gravi
d43f0b9fc5 Fix a few minor issues with building/running inside msysGit
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-09 17:28:40 -07:00
Michael Crosby
8ba4484084 Merge pull request #10010 from tianon/fix-lol
Fix silly little syntax mistake
2015-01-09 14:53:00 -08:00
Tianon Gravi
6292354dc3 Fix silly little syntax mistake
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-09 15:03:11 -07:00
Jessica Frazelle
4374d3bc81 Add link to master docs.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-09 13:53:03 -08:00
Alexander Morozov
fac1213ecb Merge pull request #9996 from tianon/gofmt
Add "gofmt" from Go 1.3.3
2015-01-09 13:14:02 -08:00
Alexander Morozov
b79c31ce97 Merge pull request #9995 from tianon/versions
Refactor Dockerfile version number usage
2015-01-09 13:06:47 -08:00
Tianon Gravi
b20363c4c0 Add "gofmt" from Go 1.3.3
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-09 09:54:58 -07:00
Tianon Gravi
2677f1add4 Refactor Dockerfile version number usage
This refactors version number usage for several of our "download/install this exact version" bits so we have an easier time replacing the version numbers in Jenkins.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-09 09:53:39 -07:00
Vincent Batts
09c033ff87 devmapper: show device and loop file , if used
Presenly the "Data file:" shows either the loopback _file_ or the block device.
With this, the "Data file:" will always show the device, and if it is a
loopback, then there will additionally be a "Data loop file:".
(Same for "Metadata file:")

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-01-09 11:20:07 -05:00
James Turnbull
ef2d6dda0f Merge pull request #9948 from tangicolin/improve-doc-networking
Improve networking documentation with default mac address range
2015-01-09 07:44:49 -05:00
James Turnbull
90149b11db Merge pull request #9964 from duglin/MoveBuildDocs
Move docs on the build API out of 'misc' and under 'Images' section
2015-01-09 07:17:53 -05:00
James Turnbull
2675f1a153 Merge pull request #9974 from lasote/master
Added c++ client library for REST API
2015-01-09 07:16:38 -05:00
James Turnbull
cd4d3b8d36 Merge pull request #9963 from duglin/FixDocV1.17
Make API docs v1.17 visible
2015-01-09 07:15:47 -05:00
Jessie Frazelle
a83e904611 Merge pull request #9991 from littleidea/delete_redundant_macaddress
remove redundant 'Get' for MacAddress
2015-01-08 18:38:44 -08:00
Kevin Yap
21fcca7fdc Add missing italics to list items in README
Signed-off-by: Kevin Yap <me@kevinyap.ca>
2015-01-08 18:10:59 -08:00
Andrew Clay Shafer
fa8560e385 remove redundant 'Get' for MacAddress
remove second redundant call to set MacAddress from env

Signed-off-by: Andrew Clay Shafer <andrewcshafer@gmail.com>
2015-01-08 21:09:23 -05:00
Jessie Frazelle
645a752f17 Merge pull request #9947 from jfrazelle/lxc-version
Install lxc from source.
2015-01-08 17:37:52 -08:00
Qiang Huang
7724260224 registry: fix minor type
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-01-09 09:06:27 +08:00
nponeccop
c754555b87 FsMagic should avoid sign extension on i686
`uint64(buf.Type)` on i686 is ffffffff9123683e on i686 due to sign extension, so it cannot be compared with `FsMagic(0x9123683E)`

Signed-off-by: Andrii Melnykov <andy.melnikov@gmail.com>
2015-01-09 02:44:04 +02:00
Doug Davis
32cde64c04 Merge pull request #9980 from erikh/parser-with-no-command
Fix a parser error where an empty RUN statement would cause a panic
2015-01-08 19:34:06 -05:00
Jessica Frazelle
81f84023be docker ps --filter exited=status should not show running containers
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-08 16:23:54 -08:00
Alexander Morozov
3fbf723e81 Merge pull request #8947 from MalteJ/ipv6-daemon
Adding IPv6 network support to docker daemon
2015-01-08 15:49:20 -08:00
Jessica Frazelle
2639e073b1 docker ps --filter status=exited should not require passing -a
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-08 15:37:07 -08:00
Malte Janduda
813ff7f19d Adding IPv6 network support to docker
Signed-off-by: Malte Janduda <mail@janduda.net>
2015-01-09 00:13:09 +01:00
Andreas Köhler
3807d96d37 Fix order of pause and port in command line documentation.
Signed-off-by: Andreas Köhler <andi5.py@gmx.net>
2015-01-08 23:21:54 +01:00
Fred Lifton
273472a5c2 Merge pull request #9918 from SvenDowideit/state-centos-kernel-restrictions-clearly
Centos project does not support custom kernels
2015-01-08 14:19:24 -08:00
Tibor Vass
6870bde584 Merge pull request #8456 from lindenlab/cleanup-repository-info
Cleanup: Replace ResolveRepositoryName with RepositoryInfo{}
2015-01-08 17:19:03 -05:00
Alexander Morozov
92af1f0145 Merge pull request #9648 from estesp/9202-update-resolvconf
Update container resolv.conf when host network changes /etc/resolv.conf
2015-01-08 14:06:55 -08:00
Don Kjer
33b931e718 Adding workaround to suppress gofmt issues with api/client/utils.go
Signed-off-by: Don Kjer <don.kjer@gmail.com>
2015-01-08 21:16:43 +00:00
Don Kjer
6f0068f273 Moving NewIndexInfo, NewRepositoryInfo and associated helpers into config.go
Signed-off-by: Don Kjer <don.kjer@gmail.com>
2015-01-08 20:15:00 +00:00
Don Kjer
568f86eb18 Deprecating ResolveRepositoryName
Passing RepositoryInfo to ResolveAuthConfig, pullRepository, and pushRepository

Moving --registry-mirror configuration to registry config

Created resolve_repository job

Repo names with 'index.docker.io' or 'docker.io' are now synonymous with omitting an index name.

Adding test for RepositoryInfo

Adding tests for opts.StringSetOpts and registry.ValidateMirror

Fixing search term use of repoInfo

Adding integration tests for registry mirror configuration

Normalizing LookupImage image name to match LocalName parsing rules

Normalizing repository LocalName to avoid multiple references to an official image

Removing errorOut use in tests

Removing TODO comment

gofmt changes

golint comments cleanup.  renaming RegistryOptions => registry.Options, and RegistryServiceConfig => registry.ServiceConfig

Splitting out builtins.Registry and registry.NewService calls

Stray whitespace cleanup

Moving integration tests for Mirrors and InsecureRegistries into TestNewIndexInfo unit test

Factoring out ValidateRepositoryName from NewRepositoryInfo

Removing unused IndexServerURL

Allowing json marshaling of ServiceConfig.  Exposing ServiceConfig in /info

Switching to CamelCase for json marshaling

PR cleanup; removing 'Is' prefix from boolean members.  Removing unneeded json tags.

Removing non-cleanup related fix for 'localhost:[port]' in splitReposName

Merge fixes for gh9735

Fixing integration test

Reapplying #9754

Adding comment on config.IndexConfigs use from isSecureIndex

Remove unused error return value from isSecureIndex

Signed-off-by: Don Kjer <don.kjer@gmail.com>

Adding back comment in isSecureIndex

Signed-off-by: Don Kjer <don.kjer@gmail.com>
2015-01-08 20:14:58 +00:00
Jessica Frazelle
17373ca54b Update the LXC version to 1.0.7 in PACKAGERS.md
Signed-off-by: Jessica Frazelle <jess@docker.com>

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-08 11:37:53 -08:00
Jessica Frazelle
e3b3719f16 Install lxc from source.
Haters gunna hate, cache bust. But this fixes a bunch of tests.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-08 11:37:48 -08:00
Erik Hollensbe
09e3467452 Fix a parser error where an empty RUN statement would cause a panic
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2015-01-08 11:30:08 -08:00
Phil Estes
63a7ccdd23 Update container resolv.conf when host network changes /etc/resolv.conf
Only modifies non-running containers resolv.conf bind mount, and only if
the container has an unmodified resolv.conf compared to its contents at
container start time (so we don't overwrite manual/automated changes
within the container runtime). For containers which are running when
the host resolv.conf changes, the update will only be applied to the
container version of resolv.conf when the container is "bounced" down
and back up (e.g. stop/start or restart)

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-08 14:15:13 -05:00
Michael Crosby
8916e2582b Merge pull request #9978 from crosbymichael/update-libcontainer-jan8
Update libcontainer to be02944484da197166020d6b3f0
2015-01-08 10:59:15 -08:00
Fred Lifton
b168ef274a Merge pull request #9898 from SvenDowideit/document-https-proxy-daemon-setup
Add @ArikaChen's tip for using HTTPS proxy to pull
2015-01-08 10:40:02 -08:00
Michael Crosby
16dbd84f63 Update libcontainer to be02944484da197166020d6b3f0
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-08 10:29:24 -08:00
Jessie Frazelle
c438900827 Merge pull request #9975 from MalteJ/dont-allocate-bridgeip
Remove BridgeIP from ipallocation pool
2015-01-08 10:27:17 -08:00
Luis Martínez de Bartolomé Izquierdo
e54d8c47e4 Add c++ client library
Signed-off-by: Luis Martínez de Bartolomé Izquierdo <lmartinez@biicode.com>
Signed-off-by: Luis Martínez de Bartolomé Izquierdo <lasote@gmail.com>
2015-01-08 16:24:52 +01:00
Malte Janduda
f4551b8a48 Remove BridgeIP from ipallocation pool
Closes #9938

Signed-off-by: Malte Janduda <mail@janduda.net>
2015-01-08 16:21:09 +01:00
Doug Davis
6f20b957b0 Make sure that ADD/COPY still populate the cache even if they don't use it
Closes #9880

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-08 06:56:30 -08:00
Tangi COLIN
b69580615f Rewritten as the requested SvenDowideit
Signed-off-by: Tangi COLIN <tangicolin@gmail.com>
2015-01-08 09:33:08 +01:00
Anders Janmyr
43d45e601f Add ProxyFromEnvironment enables client via proxy.
Signed-off-by: Anders Janmyr <anders@janmyr.com>
2015-01-08 08:12:31 +01:00
Doug Davis
b7cb29137b Move docs on the build API out of 'misc' and under 'Images' section
It seems odd to have such an important API hidden under 'misc'.
While in there I noticed that during the "-f Dockerfile" PR I changed
the query param from f to dockerfile and missed this one spot in the docs.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-07 20:27:09 -08:00
Doug Davis
7275cd4bbc Make API docs v1.17 visible
w/o this one-liner the v1.17 docs didn't appear in the Reference dropdown
and I would get a 404 when I tried to access
.../reference/api/docker_remote_api_v1.17/

Not sure if there are other spots that need to be fixed but this seemed to
fix it for me.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-07 20:14:45 -08:00
Michael Crosby
11e47996dc Merge pull request #9957 from crosbymichael/envars
Specify ENV variables are also used for CMD.
2015-01-07 10:38:30 -08:00
Jan Koprowski
66387aee59 Specify ENV variables are also used for CMD.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-07 10:07:44 -08:00
Evgeny Vereshchagin
736558b6ae Update Ubuntu image tag to 14.04
`apt-get update` for non-supported 12.10 doesn't work.
Building failed with
```
INFO[0011] The command [/bin/sh -c apt-get update && apt-get install -y redis-server] returned a non-zero code: 100
```

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2015-01-07 18:12:02 +03:00
tangicolin
d9ec04e18d Improve networking documentation with default mac address range
since we can control it with --mac-address.

Signed-off-by: Tangi COLIN <tangicolin@gmail.com>
2015-01-07 11:01:32 +01:00
Sven Dowideit
cf27b310c4 Add a containerised test for the https cert doc
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-07 16:19:47 +10:00
Sven Dowideit
e23d07a110 Centos project does not support custom kernels - see #9696
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-06 23:30:03 -05:00
Sven Dowideit
f65b781d21 Merge pull request #9933 from cpuguy83/fix_api_docs_for_info
doc: Update API docs to reflect correct values for /info
2015-01-07 14:26:28 +10:00
Jessie Frazelle
91509bfb66 Merge pull request #9936 from icecrime/noecho_start_attached
Fix cli echoing container ID on start -a|-i
2015-01-06 19:07:40 -08:00
Arnaud Porterie
eeefa2dc8c Fix cli echoing container ID on start -a|-i
The cli now doesn't echo the container ID when started using either -a
or -i. Also fixes `TestStartAttachCorrectExitCode` which incorrectly
called start with the result of wait rather than the container ID.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-01-06 17:58:30 -08:00
Michael Crosby
a67e7382b8 Merge pull request #9707 from duglin/RenameDockerfile
Allow for Dockerfile to be named something else.
2015-01-06 17:25:20 -08:00
Doug Davis
eb3ea3b43c Allow for Dockerfile to be named something else.
Add a check to make sure Dockerfile is in the build context
Add docs and a testcase
Make -f relative to current dir, not build context

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-06 16:33:26 -08:00
Sven Dowideit
2f588c69f2 Merge pull request #9896 from flowlo/doc-https
doc: Improve article on HTTPS
2015-01-07 10:21:07 +10:00
Brian Goff
cc3bf34c78 Update API docs to reflect correct values for /info
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-06 15:35:45 -08:00
Alexander Morozov
1aba2810a2 Merge pull request #9928 from jfrazelle/cleanup-var
Cleanup unnecessary var.
2015-01-06 15:03:30 -08:00
Michael Crosby
6d780139c4 Merge pull request #8748 from duglin/Issue8330
Have .dockerignore support Dockerfile/.dockerignore
2015-01-06 13:47:42 -08:00
Michael Crosby
f51ee9fe8d Merge pull request #9829 from ashahab-altiscale/9812-lxc-custom-ip
LXC TEMPLATE ALLOWS IPV4 OVERRIDE
2015-01-06 13:25:09 -08:00
Michael Crosby
9d1caf4272 Merge pull request #9834 from jfrazelle/9820-overlay-btrfs
Add error when running overlay over btrfs.
2015-01-06 13:16:17 -08:00
Jessica Frazelle
83ef40cbe9 Cleanup unnecessary var.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-06 11:35:49 -08:00
Jessica Frazelle
32f1025b22 Add error when running overlay over btrfs.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-06 11:22:45 -08:00
Doug Davis
6d801a3caa Have .dockerignore support Dockerfile/.dockerignore
If .dockerignore mentions either then the client will send them to the
daemon but the daemon will erase them after the Dockerfile has been parsed
to simulate them never being sent in the first place.

an events test kept failing for me so I tried to fix that too

Closes #8330

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-06 10:57:48 -08:00
Jessie Frazelle
84dc197b08 Merge pull request #8941 from agonzalezro/log-duplicates
Log when truncindex.Get returns >1 container
2015-01-06 10:41:19 -08:00
Jessie Frazelle
fa8b0769f6 Merge pull request #9883 from tianon/irc-administration
Add initial new IRC administration cheat sheet of sorts
2015-01-06 10:29:49 -08:00
Alexander Morozov
a33f7a07d1 Merge pull request #9858 from jfrazelle/exec-buildtag
The comment for build in exec had a typo
2015-01-06 10:26:21 -08:00
Alexander Morozov
748b7459b3 Merge pull request #9603 from hqhq/hq_add_memory_swap
add support to set MemorySwap
2015-01-06 10:09:21 -08:00
Jessica Frazelle
f339d3bceb Add plus to build
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-06 10:07:13 -08:00
Jessie Frazelle
01412d336d Merge pull request #9511 from cpuguy83/refactor_attach
Refactor daemon.attach()
2015-01-06 09:57:49 -08:00
Jessie Frazelle
2389c29556 Merge pull request #9927 from LK4D4/carry_of_9925
Fixed minor typo
2015-01-06 09:54:03 -08:00
Christian Stefanescu
32ac770f75 Fixed minor typo
Signed-off-by: Christian Stefanescu <st.chris@gmail.com>
2015-01-06 09:52:21 -08:00
Jessie Frazelle
0bc2222b39 Merge pull request #9920 from SvenDowideit/publish-all-maps-to-random-ports
Explicitly mention that '-P' maps to random ports
2015-01-06 09:39:50 -08:00
Alexander Morozov
1257c3817d Merge pull request #9919 from HuKeping/work
restart: Fix an error about arguments missing
2015-01-06 09:16:12 -08:00
Tibor Vass
60027853aa Merge pull request #9085 from miminar/refactor-help
Display help output on stdout #8980
2015-01-06 12:05:49 -05:00
Michal Minar
1db927113f Amended TestExecParseError test
Usage string isn't printed anymore. User is adviced to see help instead
- according to coreutils standard.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-01-06 16:48:10 +01:00
Michal Minar
8a785792cd Exit with non-zero code on first argument parsing error
Ignoring return value of ParseFlags leads to exit code 0 if bad
arguments are supplied. This patch makes sure that subcommands exit
with non-zero code in such a case.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-01-06 13:46:38 +01:00
Michal Minar
08f0f1ee1d Fixed error reporting
Removed redundant print line and fixed handling of command-less docker
invocation.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-01-06 13:44:27 +01:00
Michal Minar
1d09fc22ca Handle bad options better
* Do not log bad options error message twice, e.g.:

    $ docker run --pouet
    flag provided but not defined: --pouet
    See 'docker run --help'.
    2014/11/05 21:41:23 flag provided but not defined: --pouet

  With this patch just the first two lines will be produced.

* Print 'docker' just once when run without a command, e.g.:

    $ docker --hel
    flag provided but not defined: --hel
    See 'docker docker --help'.

Signed-off-by: Michal Minar <miminar@redhat.com>
2015-01-06 13:44:27 +01:00
Tibor Vass
41be2f73c7 refactor redundant code around calls to cmd.Parse
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2015-01-06 13:41:16 +01:00
Dan Walsh
4dc962d09a Remove TestUsage, since Usage will no longer be shown on failure to parse
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-01-06 13:40:14 +01:00
Dan Walsh
a2b529ead2 --help option and help command should print to stdout not stderr
--help and help are successful commands so output should not go to error.

    QE teams have requested this change, also users doing docker help | less
    or docker run --help | less would expect this to work.

    Usage statement should only be printed when the user asks for it.
    Errors should print error message and then suggest the docker COMMAND --help
    command to see usage information.

    The current behaviour causes the user to have to search for the error message
    and sometimes scrolls right off the screen.  For example a error on a
    "docker run" command is very difficult to diagnose.

    Finally erros should always exit with a non 0 exit code, if the user
    makes a CLI error.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-01-06 13:40:14 +01:00
Sven Dowideit
7b2331061e Explicitly mention that '-P' maps to random ports
as noted in https://github.com/boot2docker/boot2docker/issues/690

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2015-01-06 17:01:10 +10:00
Sven Dowideit
d1e5078f31 Add @ArikaChen's tip for using HTTPS proxy to pull
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2015-01-06 15:37:07 +10:00
Sven Dowideit
1510a324db Merge pull request #9855 from ewindisch/sec-doc
Improve security doc
2015-01-06 15:35:30 +10:00
Sven Dowideit
ceedaceb5c Merge pull request #9884 from flowlo/patch-1
doc: Standardise JSON examples
2015-01-06 15:32:04 +10:00
HuKeping
af053ccf6b restart: Fix an error about arguments missing
Function shouldRestart() checks the restart policy and records the
debug info and there should be two arguments in the log.Debugf().

Prior to the this patch, the logs were something like this:
- client: $ docker run --restart=on-failure:3 ubuntu /bin/sh -c 'exit 1'
- daemon: INFO[0168] ...
	  DEBU[0168] stopping restart of container %!s(int=3) because maximum
	  failure could of %!d(MISSING) has been reached
	  INFO[0086] ...

Btw, fix a spelling error in the same file:
- cotnainer -> container

----------------------------------------

Signed-off-by: Hu Keping <hukeping@huawei.com>
2015-01-06 12:25:39 +08:00
Brian Goff
e6c9343457 Use waitgroup instead of iterating errors chan
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-05 18:01:13 -08:00
Michael Crosby
d7b6f18688 Merge pull request #9907 from duglin/dug4Builder
Modify MAINTAINERS per erikh's suggestion
2015-01-05 17:38:58 -08:00
Michael Crosby
f0d7616c27 Merge pull request #9914 from jfrazelle/drone-py
Add docker-py tests to drone.
2015-01-05 17:37:25 -08:00
Michael Crosby
61f873792b Merge pull request #9830 from pnasrat/release-include-announce-list
Update release checklist to include announce mail.
2015-01-05 16:46:28 -08:00
Michael Crosby
4235e2796b Merge pull request #9721 from SvenDowideit/add-cloudfront-invalidation-to-docs
Add docs Cloudfront cache invalidation
2015-01-05 16:25:20 -08:00
Michael Crosby
ef1dee700c Merge pull request #8961 from mmdriley/allow-hyphens-in-namespaces
Allow hyphens in namespaces.
2015-01-05 16:23:36 -08:00
Brian Goff
21e44d7a21 Refactor daemon.attach()
Also makes streamConfig Pipe methods not return error, since there was
no error for them to be able to return anyway.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-05 15:56:48 -08:00
Michael Crosby
fcc4ba5ec8 Merge pull request #9910 from crosbymichael/update-readme-fred
Minor copy edits and updates to README
2015-01-05 15:46:58 -08:00
Jessica Frazelle
a1bfe3aa42 Add docker-py tests to drone.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-05 15:00:32 -08:00
Alexander Morozov
25f8c26640 Merge pull request #9097 from brahmaroutu/publish_ports_8899
add ability to publish range of ports
2015-01-05 14:05:47 -08:00
Tianon Gravi
05c2d2db9a Adjust builder to validate that JSON in Dockerfiles are arrays of strings and nothing else to match how we describe them to people (and what all our existing tests already assumed)
This also adds more tests to help verify this, including unicode and nonprintable characters (hence the earlier commit switching to strconv.Quote).

As a bonus, this fixes a subtle bug where [] was turned into [""] and then turned back into [] (and thus [""] was impossible to actually round-trip correctly in a Dockerfile).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-05 14:31:05 -07:00
Jessie Frazelle
e404113afc Merge pull request #9908 from crosbymichael/warning-graphdriver
Add warning log when high priority graphdriver used before
2015-01-05 12:06:28 -08:00
Alexander Morozov
356b035c4b Merge pull request #9909 from carmi/master
Update syntax/vim README with Vundle instructions
2015-01-05 11:31:43 -08:00
Jessie Frazelle
579b6e3269 Merge pull request #9899 from gdi2290/patch-1
Update License year to range 2013-2015
2015-01-05 11:31:12 -08:00
Alexander Morozov
1d4d8bc0c0 Merge pull request #9911 from jfrazelle/change-test-to-dockerproject.com
Change url of robots.txt test to dockerproject.com
2015-01-05 11:30:53 -08:00
Jessica Frazelle
367e66e972 Change url of robots.txt test to dockerproject.com
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2015-01-05 11:13:37 -08:00
Evan Carmi
8d1485bd3f Update syntax/vim README with Vundle instructions
Signed-off-by: Evan Carmi <evan@ecarmi.org>
2015-01-05 11:08:22 -08:00
Matthew Riley
6c126d443b Allow hyphens in namespaces.
Signed-off-by: Matthew Riley <mattdr@google.com>
2015-01-05 11:06:16 -08:00
Fred Lifton
5ad41ce01a Revises link to point to Fig
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-05 11:03:25 -08:00
Fred Lifton
99a5da5ada Minor copy edits and updates to README. Added CTA for keeping the projects list current.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2015-01-05 11:03:17 -08:00
Michael Crosby
3011aa4e99 Remove error return from check graph driver func
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-01-05 10:34:49 -08:00
Doug Davis
04ee071692 Modify MAINTAINERS per erikh's suggestion
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-01-05 10:28:36 -08:00
Vincent Batts
53253ee1fb Merge pull request #9886 from crquan/patch-1
need to call syscall.Unmount with MNT_DETACH
2015-01-05 13:17:11 -05:00
James Turnbull
0787878e64 Merge pull request #9877 from fredlf/readme-fig-link
Corrects link to point to Fig
2015-01-05 07:04:47 -05:00
Lorenz Leutgeb
975f5b0c28 doc: Broaden JSON standardisation by patching
This is:

    git format-patch -1 --stdout HEAD \
    | patch -p1 docs/sources/reference/api/docker_remote_api_v1.*.md

Applying the changes I initially made on the docs for v1.15 to all
other versions led to acceptable results.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-05 11:45:10 +01:00
PatrickJS
e3c5e0ceb0 Update License year to range 2013-2015
Copyright notices must reflect the current year. This commit updates the listed year to 2015 with a starting year of 2013 from
a27b4b8cb8

Docker-DCO-1.1-Signed-off-by: Patrick Stapleton <github@gdi2290.com> (github: gdi2290)
2015-01-04 16:59:34 -08:00
Lorenz Leutgeb
26187bd851 doc: Fix curl invocation
Using --insecure is (you guessed it) *insecure* as the server side
certificate is not being validated. To offer the same degree of
security as invocations of the docker client in "Secure by default"
with cURL, the trusted CA certificate must be supplied.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-05 01:24:33 +01:00
Lorenz Leutgeb
131c62d766 doc: Let OpenSSL handle serial file
With -CAcreateserial the serial file will be automatically created
and initialized if it is missing.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-04 21:49:16 +01:00
Lorenz Leutgeb
a3d5f874c1 doc: Spice up generated CA
Use AES (the successor of DES) to encrypt private key. Further
reading:

 * http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf
 * https://ssllabs.com/downloads/SSL_TLS_Deployment_Best_Practices.pdf
   "3DES provides about 112 bits of security. This is below the
    recommended minimum of 128 bits, but it's still strong enough. A
    bigger practical problem is that 3DES is much slower than the
    alternatives. Thus, we don't recommend it for performance reasons,
    but it can be kept at the end of the cipher list for
    interoperability with very old clients."

 * http://csrc.nist.gov/publications/nistpubs/800-67-Rev1/SP-800-67-Rev1.pdf

Use SHA256 for our CA. This avoids accidental use of SHA1 or MD5 which
could be default values.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-04 21:45:06 +01:00
Lorenz Leutgeb
f957f258d7 doc: Do not encrypt private keys
Do not encrypt private keys in the first place, if the encryption
is stripped anyway.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-04 21:05:54 +01:00
Derek
9bbed5ab4c change to lazy Unmount
syscall.Unmount failed sometimes when user interrupted exporting,
for example a Ctrl-C, or pipe to commands which closed the pipe early,
like "docker export <container_name> | file -"; this syscall.Unmount
could sometimes return EBUSY and didn't actually umount the filesystem;
which would cause a following export command fail to mount;
change to lazy Unmount with MNT_DETACH can fix the problem, this is
the same behavior as in Shutdown;

```text
time="2015-01-03T21:27:26Z" level=error msg="Warning: error unmounting device
34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e: device or resource busy"
```

```
$ docker export thirsty_ardinghelli | file -
/dev/stdin: POSIX tar archive
time="2015-01-03T21:58:17Z" level=fatal msg="write /dev/stdout: broken pipe"
$ docker export thirsty_ardinghelli
time="2015-01-03T21:54:33Z" level=fatal msg="Error: thirsty_ardinghelli: Error getting container
34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e from driver devicemapper:
Error mounting '/dev/mapper/docker-253:0-3148372-34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e'
on '/var/lib/docker/devicemapper/mnt/34a3e77cdbca17ceffd0636aee0415bb412996adb12360bfe2585ce30467fa8e': device or resource busy"
```

Signed-off-by: Derek Che <drc@yahoo-inc.com>
2015-01-04 00:10:48 +00:00
Alexander Morozov
7eb5262d1b Merge pull request #9020 from daehyeok/log_exec
Add exec event log
2015-01-03 10:40:00 -08:00
Lorenz Leutgeb
e583cc1eb4 doc: Try to standardise JSON examples
Fixed:
 * Invalid JSON
 * Inconsistent spacing at colon

Expression for binary data streams (line 468 vs. 1474) remain inconsistent.
Could fix that too, if you like.

Signed-off-by: Lorenz Leutgeb <lorenz.leutgeb@gmail.com>
2015-01-03 18:20:59 +01:00
Daehyeok Mun
fc7f055096 Add list of events in remote API docs
Add exec create and exec start to list of events in remote API docs

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2015-01-03 20:40:25 +09:00
Daehyeok.Mun
e3d813f37f Add exec event create/start log
added exec event log follwing issue #8662 proposal.
logging events for exec create and start API

Signed-off-by: daehyeok mun <daehyeok@daehyeokui-MacBook-Air.local>
2015-01-03 20:38:25 +09:00
Tianon Gravi
0c21905a3d Add initial new IRC administration cheat sheet of sorts
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-02 23:42:45 -07:00
Tianon Gravi
f6cb1ea85a Simplify builder TestTestData slightly by using ioutil.ReadFile instead of os.Open+ioutil.ReadAll
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-02 22:38:52 -07:00
Tianon Gravi
1edf16e977 Simplify builder ast.Dump by using strconv.Quote instead of a custom QuoteString function (the only change to existing files is literal tabs becoming \t, but future files may use nonprintable characters and the like now)
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-01-02 22:36:58 -07:00
Nathan Hsieh
1aac999f70 updated docs with information regarding search pagination
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2015-01-02 16:21:51 -08:00
Srini Brahmaroutu
2338a9cf5a add ability to publish range of ports
Closes #8899
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-01-02 23:21:26 +00:00
Nathan Hsieh
686585f33a updated search api docs to include pagination changes
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2015-01-02 13:01:28 -08:00
Fred Lifton
4669d98bff Corrects link to point to Fig.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2015-01-02 11:18:26 -08:00
Tianon Gravi
b2ab733c99 Merge pull request #9863 from albers/bash-completion
Add options to bash completion and sort options
2015-01-01 09:49:29 -07:00
daehyeok mun
3c03827e73 Add warnning log when other graphdrvier(storage driver) used before
added warnning log when other graphdrvier(storage driver) used before for feature request #8270

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2015-01-02 00:01:26 +09:00
Harald Albers
70161b4d45 Sort options in bash completion alphabetically
This introduces a sort order for options:

Arrange options sorted alphabetically by long name with the short
options immediately following their corresponding long form.

Signed-off-by: Harald Albers <github@albersweb.de>
2015-01-01 11:21:42 +01:00
Harald Albers
50eb14244d Add missing options to bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2015-01-01 11:21:42 +01:00
Fred Lifton
d7f72188ff Merge pull request #9848 from SvenDowideit/add-restart-policy-delay-docs
Document that there is a delay before the --restart policy restart, and ...
2014-12-31 12:13:21 -08:00
Fred Lifton
529011cf41 Merge pull request #9859 from NateEag/patch-1
Grammar fix and style tweak in docs/sources/faq.md
2014-12-31 11:58:49 -08:00
Fred Lifton
880aeab00d Merge pull request #9491 from SvenDowideit/note-that-volumes-in-b2d-are-special
Add a note to point out to new users that B2D bind-mounts are special-ish
2014-12-31 11:15:01 -08:00
James Turnbull
31471ea2fb Merge pull request #9519 from SvenDowideit/1.4-volume-initialization-in-docker-create
Talk up the 1.4 change to initialise volumes at  time
2014-12-31 11:59:14 -05:00
Nate Eagleson
4e679f218c Grammar fix and style tweak in docs/sources/faq.md
Just a few things I thought could be improved in the FAQ.

Signed-off-by: Nate Eagleson <nate@nateeag.com>
2014-12-30 21:36:16 -05:00
Eric Windisch
e704dd31e7 Improve security doc
Moves some information around, expanding information on
user namespaces, pull/load security, cap add/drop.

Also includes various grammar improvements and edits.

Signed-off-by: Eric Windisch <eric@windisch.us>
2014-12-30 17:32:25 -05:00
Jessie Frazelle
a444643f97 Merge pull request #9843 from jfrazelle/add-jenkins
Add Jenkins Build Status
2014-12-30 09:32:32 -08:00
Jessie Frazelle
ed7a1fc8f2 Merge pull request #9822 from tianon/01autoremove-kernels
Remove /etc/apt/apt.conf.d/01autoremove-kernels in mkimage/debootstrap
2014-12-30 09:32:04 -08:00
Sven Dowideit
e52988528d Add a note to point out to new users that B2D bind-mounts are special-ish
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-30 13:37:31 +10:00
Sven Dowideit
1d4a138670 Talk up the 1.4 change to initialise volumes at time
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-30 13:08:53 +10:00
Sven Dowideit
cfaffd1ad2 Add docs Cloudfront cache invalidation
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-30 12:58:56 +10:00
Sven Dowideit
35873e747d Document that there is a delay before the --restart policy restart, and that its double the last one
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-30 12:36:04 +10:00
Alexander Morozov
12fef2d8df Merge pull request #9800 from vieux/execIDs_inspect
Add ExecIDs to docker inspect
2014-12-29 15:32:33 -08:00
Victor Vieux
c0bb1c77ee add test
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-29 23:00:17 +00:00
Jessie Frazelle
d47020d18a Merge pull request #9827 from LK4D4/test_for_removing_cgroups
Test for issue #9699
2014-12-29 13:46:29 -08:00
Jessie Frazelle
b4d09da715 Merge pull request #9847 from LK4D4/fix_net_host_test
Fix net host test
2014-12-29 13:28:15 -08:00
Jessica Frazelle
7b0519d1ec Add Jenkins Build Status
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-29 13:15:51 -08:00
Alexander Morozov
e98c08a88f Rewrite TestRunNetHost to compare namespaces
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-29 13:10:30 -08:00
Alexander Morozov
74ee405a27 Fix done messages and error message for ipc tests
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-29 13:10:16 -08:00
Tianon Gravi
9404e95c08 Merge pull request #9842 from jfrazelle/make-whitespace-fixes
Fix tabs in project/make.sh
2014-12-29 12:34:38 -08:00
Fred Lifton
b1f6205383 Merge pull request #9565 from duglin/DocPtrs
Make README point to other critical docker projects
2014-12-29 11:17:34 -08:00
Jessica Frazelle
d27248007f Fix tabs in project/make.sh
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-29 11:02:12 -08:00
Jessie Frazelle
7156fb2442 Merge pull request #9796 from LK4D4/fix_test_daemon
More graceful stop for testing daemon
2014-12-29 10:01:32 -08:00
Jessie Frazelle
43886decfe Merge pull request #9809 from LK4D4/fix_host_networking
Update libcontainer to 0f397d4e145fb4053792d42b3424dd2143fb23ad
2014-12-29 09:55:46 -08:00
James Turnbull
311d6276ad Merge pull request #9819 from huslage/remove-equal
Remove -t="" and -m="".
2014-12-29 01:56:15 -05:00
Paul Nasrat
a1add90d89 Update release checklist to include announce mail.
Releases should be announced on the announce list as well as -dev.

Signed-off-by: Paul Nasrat <pnasrat@gmail.com>
2014-12-27 10:59:16 -05:00
Alexandr Morozov
732c94a502 Test for host networking
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-26 21:04:27 -08:00
Alexandr Morozov
c98ae1f88f Update libcontainer to 0f397d4e145fb4053792d42b3424dd2143fb23ad
This fixes wrong behavior of mutating methods of Namespaces object

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-26 21:03:48 -08:00
Alexandr Morozov
eda92e8834 Test for issue #9699
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-26 20:11:27 -08:00
James Turnbull
8722b6db4b Merge pull request #9246 from estesp/add-oom-event
Proposal: Add "OOM killed" event based on OOM state information
2014-12-26 22:54:02 -05:00
Jessie Frazelle
b49d3dd588 Merge pull request #9779 from jfrazelle/9771-non-local-mac-address-test
Add test for non local mac address.
2014-12-26 19:33:44 -07:00
Alexander Morozov
819b715b8d Merge pull request #9792 from jfrazelle/9770-parse-exec-usage
Return usage on parseExec error.
2014-12-26 17:45:55 -08:00
Seongyeol Lim
abfb713887 Add support file name with whitespace for ADD and COPY command
Closes #8318

Signed-off-by: Seongyeol Lim <seongyeol37@gmail.com>
2014-12-26 16:28:03 -08:00
Alexander Morozov
bba3c14e2e Merge pull request #9825 from tianon/long-form-names
Switch names-generator arrays to be long-form
2014-12-26 16:13:48 -08:00
Jessie Frazelle
b97c763249 Merge pull request #9823 from tianon/CONFIG_POSIX_MQUEUE
Add CONFIG_POSIX_MQUEUE to check-config.sh
2014-12-26 16:54:14 -07:00
Tianon Gravi
587286bbaa Add descriptions for bell, lumiere, morse, nobel, ptolemy, and wright
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-26 16:53:40 -07:00
Tianon Gravi
ed21031353 Switch names-generator arrays to be long-form
This way, we can embed the link/description lines directly in the array itself, conflicts between PRs to this section are minimized, new PRs are easier to review, and it's a lot easier to notice when people are missing a link/description (like the few that currently are).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-26 16:44:47 -07:00
Tianon Gravi
8803174e4f Add CONFIG_POSIX_MQUEUE to check-config.sh
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-26 14:59:25 -07:00
Tianon Gravi
d30d12c102 Remove /etc/apt/apt.conf.d/01autoremove-kernels in mkimage/debootstrap
This file is one APT creates to make sure we don't "autoremove" our currently in-use kernel, which doesn't really apply to debootstraps/Docker images that don't even have kernels installed.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-26 14:51:53 -07:00
Jessica Frazelle
98d5720594 Add test for non local mac address.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-26 10:22:14 -08:00
Alexander Morozov
b98c352e4f Merge pull request #9813 from nurkiewicz/banach
Stefan Banach in names-generator
2014-12-26 09:37:16 -08:00
Alexander Morozov
979d2f316a Merge pull request #9816 from ankushagarwal/names-generator-comment-correction
Fix names-generator comment about name generation
2014-12-26 09:35:16 -08:00
Aaron Huslage
8d7ee36970 Remove -t="" and -m="". Make -t and -m options consistent with help text and other documentation.
Docker-DCO-1.1-Signed-off-by: Aaron Huslage <huslage@gmail.com> (github: huslage)
2014-12-26 12:31:01 -05:00
Ankush Agarwal
6df1eff85e Fix names-generator comment about name generation
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
2014-12-25 22:54:38 -08:00
Tomasz Nurkiewicz
6e96dcec3c Stefan Banach in names-generator
Signed-off-by: Tomasz Nurkiewicz <nurkiewicz@gmail.com>
2014-12-26 00:06:56 +01:00
Abin Shahab
f91650376a LXC TEMPLATE ALLOWS IPV4 OVERRIDE
This fixes the issue where an lxc.conf override of lxc.network.ipv4 was not being honored.

Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2014-12-25 20:06:59 +00:00
Jessie Frazelle
4a81661f5e Merge pull request #9804 from tianon/dockerfile-tweaks
Adjust Dockerfile style to be more consistent
2014-12-24 16:23:20 -08:00
Tianon Gravi
179e9deb1a Adjust Dockerfile style to be more consistent
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-24 00:26:19 -07:00
Tianon Gravi
4baa240065 Merge pull request #9802 from icecrime/9284_tianon_ocd
Fix indentation
2014-12-23 22:42:38 -08:00
Arnaud Porterie
6c7204393b Fix indentation
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-23 22:01:04 -08:00
Victor Vieux
bbb92e1436 add docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-24 00:12:35 +00:00
Michael Crosby
305c898cd7 Merge pull request #9795 from LK4D4/update_libcontainer
Update libcontainer to 1597c68f7b941fd97881155d7f077852e2914e7b
2014-12-23 15:41:26 -08:00
Phil Estes
44cab4a4ff Add "OOM killed" event based on OOM state information
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-12-23 18:22:31 -05:00
Tianon Gravi
edbf1ed680 Add github.com/go-fsnotify/fsnotify
Docker-DCO-1.1-Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2014-12-23 18:17:39 -05:00
Victor Vieux
4b43a6df7a add ExecIDs in inspect
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-23 22:03:20 +00:00
Alexander Morozov
8dc86c0e36 More graceful stop for testing daemon
Fixes problem with TestDaemonAllocatesListeningPort

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-23 13:15:19 -08:00
Jessica Frazelle
7fdbd90f88 Return usage on parseExec error.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-23 12:49:45 -08:00
Alexander Morozov
50905a6d6c Update libcontainer to 1597c68f7b941fd97881155d7f077852e2914e7b
This commit contains changes for docker:
* user.GetGroupFile to user.GetGroupPath docker/libcontainer#301
* Add systemd support for OOM docker/libcontainer#307
* Support for custom namespaces docker/libcontainer#279, docker/libcontainer#312
* Fixes #9699 docker/libcontainer#308

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-23 12:10:03 -08:00
Victor Vieux
8412e3c226 Merge pull request #9791 from proppy/break
api/server: commenting proppy from maintainer
2014-12-23 11:05:33 -08:00
Johan Euphrosine
4fd2a9156c api/server: commenting proppy from maintainer
Signed-off-by: Johan Euphrosine <proppy@google.com>
2014-12-23 11:01:27 -08:00
Jessie Frazelle
ed49db8984 Merge pull request #9754 from tiborvass/remove-insecure-registry-all-ports
registry: remove accidentally added --insecure-registry feature
2014-12-23 10:40:10 -08:00
Alexander Morozov
1e2d0d17d9 Merge pull request #9583 from brahmaroutu/remove_container_9569
Error should be 409 as the container is different state to remove
2014-12-23 10:09:58 -08:00
Tianon Gravi
084bf8a864 Merge pull request #9756 from tianon/clarify-btrfs-version-dep
Clarify preferred btrfs-progs dependency and fix some minor inconsistencies
2014-12-23 09:25:55 -08:00
Alexander Morozov
043e33c2c1 Merge pull request #9757 from lindenlab/9712-validTagName-errormessage
Fixing ValidateTagName error message #9712
2014-12-22 21:17:03 -08:00
Jessie Frazelle
034ba8b88f Merge pull request #9765 from thaJeztah/improve-error-message-3036
Improve error message for conflicting container name.
2014-12-22 18:02:48 -08:00
Sven Dowideit
7a3efc9aa5 Merge pull request #9783 from SvenDowideit/pr_out_debian_wheezy_backports_kernel_updated_to_3_16
Debian Wheezy backports kernel updated to 3.16
2014-12-23 11:19:26 +10:00
panticz
973c3c768b Debian Wheezy backports kernel updated to 3.16
Replaces #9723

fix by: panticz <mail@konczalski.de> (github: panticz)
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-23 11:14:14 +10:00
Sven Dowideit
197281f585 Merge pull request #9740 from SvenDowideit/pr_out_fixes_as_requested
Login with PUTTY instead of using the CMD
2014-12-23 11:11:53 +10:00
Sven Dowideit
db165f7d2c fixes as requested
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-12-23 11:06:45 +10:00
Krasimir Georgiev
948f33263e Changing the windows installation doc to include instructions how to login
using putty instead of CMD

Signed-off-by: Krasimir Georgiev <support@vip-consult.co.uk>

Docker-DCO-1.1-Signed-off-by: Krasimir Georgiev <support@vip-consult.co.uk> (github: SvenDowideit)
2014-12-23 11:06:44 +10:00
Sven Dowideit
dda2b19439 Merge pull request #9782 from SvenDowideit/pr_out_update_debian_version_to_7_7
Update Debian version to 7.7
2014-12-23 11:02:50 +10:00
panticz
491ff81a0b Update Debian version to 7.7
Replaces #9724

fix by: panticz <mail@konczalski.de> (github: panticz)
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-23 10:53:36 +10:00
Jessie Frazelle
9f6feaa3c3 Merge pull request #9781 from mota/deadfunc-vfs-driver
Cleanup: Remove unused function from vfs storage driver
2014-12-22 16:17:53 -08:00
Pierre Wacrenier
c1e04fbb15 Remove unused function from vfs storage driver
Signed-off-by: Pierre Wacrenier <pierre.wacrenier@gmail.com>
2014-12-23 00:36:20 +01:00
Jessie Frazelle
d09421a74f Merge pull request #9615 from unclejack/bump_go_to_1.4
bump Go to 1.4
2014-12-22 15:07:57 -08:00
Alexander Morozov
04117e4021 Merge pull request #7003 from porjo/6034-fowardChain
Move per-container forward rules to DOCKER chain
2014-12-22 14:40:42 -08:00
Jessie Frazelle
b1cf41d952 Merge pull request #9750 from icecrime/9652_revert_doc
Revert doc changes from #9652
2014-12-22 12:43:51 -08:00
Jessie Frazelle
4d0fcb64d2 Merge pull request #9284 from icecrime/client_only_integration_tests
Enable test-integration-cli for Windows platform
2014-12-22 12:32:48 -08:00
Alexander Morozov
67e34350b7 Merge pull request #9742 from yadutaf/master
Start new API v1.17 docs
2014-12-22 11:31:08 -08:00
unknown
aa9c9569c2 Improve error message for conflicting container name.
This changes the error message that is returned by the daemon when
a container-name already exists.

The old message suggests that containers can be renamed, which is
currently not possible.

To prevent confusion, the part "(or rename)" is removed from
the error-message.

Message before this change;

    FATA[0000] Error response from daemon: Conflict, The name foobar is already assigned to 728ac36fb0ab. You have to delete (or rename) that container to be able to assign foobar to a container again.

Message after this change;

    FATA[0000] Error response from daemon: Conflict. The name 'foobar' is already in use by container 728ac36fb0ab. You have to delete that container to be able to reuse that name.

Relates to: https://github.com/docker/docker/issues/3036

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2014-12-22 09:59:08 +01:00
Jean-Tiare Le Bigot
800a8e896e start new API v1.17 docs
Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>
2014-12-22 09:01:33 +01:00
Alexander Morozov
a31c14cadc Fix TestBuildWithTabs for go 1.4
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-21 13:49:45 +02:00
Alexander Morozov
6ac802ecd8 Reinstall standard library with netgo
Fixes #9449

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-21 13:49:45 +02:00
unclejack
62e8a93c34 bump Go to 1.4
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-21 13:49:45 +02:00
Ian Bishop
38a595aec5 Tidy driver.go/LinkContainers
Docker-DCO-1.1-Signed-off-by: Ian Bishop <ianbishop@pace7.com> (github: porjo)
2014-12-21 13:42:02 +10:00
Ian Bishop
137ceae913 Update networking.md with new iptables behaviour
Docker-DCO-1.1-Signed-off-by: Ian Bishop <ianbishop@pace7.com> (github: porjo)
2014-12-21 12:57:32 +10:00
Ian Bishop
0da92633b4 Create tests for pkg/iptables
Docker-DCO-1.1-Signed-off-by: Ian Bishop <ianbishop@pace7.com> (github: porjo)
2014-12-21 12:57:32 +10:00
Porjo
2865373894 Create DOCKER forward chain on driver init
Docker-DCO-1.1-Signed-off-by: Ian Bishop <ianbishop@pace7.com> (github: porjo)
2014-12-21 12:57:32 +10:00
Porjo
cc89b30d35 Move per-container forward rules to DOCKER chain
Docker-DCO-1.1-Signed-off-by: Ian Bishop <ianbishop@pace7.com> (github: porjo)
2014-12-21 12:57:32 +10:00
Arnaud Porterie
f3ed42286e Enable test-integration-cli for Windows platform
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-20 16:40:40 -08:00
Don Kjer
b74ccf2a1b Fixing ValidateTagName error message
Signed-off-by: Don Kjer <don.kjer@gmail.com>
2014-12-19 22:48:31 +00:00
Tianon Gravi
585202650c Clarify preferred btrfs-progs dependency and fix some minor inconsistencies
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-19 15:36:22 -07:00
Doug Davis
cd9ad8d584 Make README point to other critical docker++ projects
People might find it hard to find the newer/related Docker projects,
especially when they're just github issues.  So, while I would have
preferred to have this at http://github.com/docker, I couldn't find
a doc to edit to make that happen, so this is the next best spot.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-12-19 14:19:35 -08:00
Tibor Vass
9a50dd5f37 registry: remove accidentally added --insecure-registry feature
If `--insecure-registry mydomain.com` was specified, it would match a registry at mydomain.com on any port.
This was accidentally added in #9735 and is now being reverted.

Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-19 16:46:29 -05:00
Alexander Morozov
0874f9ab77 Merge pull request #9741 from tianon/test-docker-py
Add docker-py integration tests aginst the docker daemon
2014-12-19 11:57:35 -08:00
Tibor Vass
b88d9699ff Merge pull request #9735 from tiborvass/fix-issecure-for-http-proxies
Handle unresolvable domain names in isSecure to allow HTTP proxies to work as expected
2014-12-19 14:53:48 -05:00
Srini Brahmaroutu
6599aa3368 Error should be 409 as the container is different state to remove
Closes #9569

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-12-19 19:00:28 +00:00
Tianon Gravi
100267de81 Tweak test-docker-py feature
- move docker/docker-py clone to the Dockerfile
- put "integration test daemon startup" code in a separate file for both scripts to source
- add new test-docker-py Makefile target
- include "python-websocket" package in Dockerfile for running the tests

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2014-12-19 10:47:01 -07:00
Tibor Vass
13250569f6 Merge pull request #9751 from unclejack/revert_9233
Fix pkg/units compilation of size_test
2014-12-19 11:56:23 -05:00
unclejack
e59aad9cd3 pkg/units: fix size_test.go compilation
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-19 18:38:12 +02:00
Arnaud Porterie
edb75b486e Revert doc changes from #9652
Because the patch is not in 1.4, the v1.16 docs shouldn't have been
updated. Docs were promoted to v1.17 by #9742.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-19 08:13:33 -08:00
Tibor Vass
f7a449f92b Merge pull request #9746 from unclejack/graphdb_fix
pkg/graphdb: use transactions for transactions
2014-12-19 11:11:59 -05:00
unclejack
e9f37a0118 pkg/graphdb: use transactions for transactions
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-19 13:57:21 +02:00
Michael Crosby
2acb856dff Merge pull request #9233 from inatatsu/fix-pkg-units-size-for-gccgo
Fix to avoid a compile error due to float to int truncation with GCCGO
2014-12-18 18:33:01 -08:00
Michael Crosby
d6d2ff4df7 Merge pull request #9738 from jfrazelle/da-fuk-merge
Repeated word typo.
2014-12-18 18:30:04 -08:00
James Turnbull
3e3749fe4b Merge pull request #9657 from moxiegirl/9655
Clarify Mac OS X experience. Signed-off by: Mary Anthony (moxieandmore@g...
2014-12-18 21:29:02 -05:00
Jessica Frazelle
29ed8a2289 I don't know how this happened, repeated word typo.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-18 18:09:41 -08:00
Tibor Vass
ff4bfcc0e9 registry: handle unresolvable domain names in isSecure
to allow HTTP proxies to work as expected.

Fixes #9708

Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-18 19:16:55 -05:00
Tibor Vass
a70d7aaf28 registry: add tests for unresolvable domain names in isSecure
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-18 19:16:55 -05:00
Tibor Vass
610842f906 Merge pull request #8827 from jlhawn/build_implied_from_scratch
Make `FROM scratch` a special cased 'no-base' spec
2014-12-18 18:21:16 -05:00
Josh Hawn
8936789919 Make FROM scratch a special cased 'no-base' spec
There has been a lot of discussion (issues 4242 and 5262) about making
`FROM scratch` either a special case or making `FROM` optional, implying
starting from an empty file system.

This patch makes the build command `FROM scratch` special cased from now on
and if used does not pull/set the the initial layer of the build to the ancient
image ID (511136ea..) but instead marks the build as having no base image. The
next command in the dockerfile will create an image with a parent image ID of "".
This means every image ever can now use one fewer layer!

This also makes the image name `scratch` a reserved name by the TagStore. You
will not be able to tag an image with this name from now on. If any users
currently have an image tagged as `scratch`, they will still be able to use that
image, but will not be able to tag a new image with that name.

Goodbye '511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158',
it was nice knowing you.

Fixes #4242

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-18 14:03:38 -08:00
Vincent Batts
502a1a4e1a Merge pull request #9733 from unclejack/disable_tarsum_logging
pkg/tarsum: delete the logging code
2014-12-18 16:54:59 -05:00
unclejack
e7c0587d54 pkg/tarsum: delete the logging code
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-18 23:38:26 +02:00
Tianon Gravi
1531bf48aa Merge pull request #9688 from dqminh/fix-make-tgz
make.sh tgz should handle windows binary
2014-12-18 13:16:32 -08:00
Michael Crosby
e850568bf6 Merge pull request #9720 from jlhawn/apply_diff_optimize
Refactor to optimize storage driver ApplyDiff()
2014-12-18 11:58:47 -08:00
Mary Anthony
801fd1af25 Argghhh...I need to automate that signoff. Fixing lack of signoff
Signed-off-by: Mary Anthony <moxieandmore@gmail.com>
2014-12-18 09:10:08 -08:00
Alexander Morozov
364720b5e7 Merge pull request #9635 from duglin/Issue3936
Allow for relative paths on ADD/COPY
2014-12-18 06:58:50 -08:00
Doug Davis
f21f9f856e Allow for relative paths on ADD/COPY
Moved Tianon's PR from: https://github.com/docker/docker/pull/7870
on top of the latest code

Closes: #3936

Signed-off-by: Andrew Page <admwiggin@gmail.com>
Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-12-18 05:13:04 -08:00
Josh Hawn
35a22c9e12 Refactor to optimize storage driver ApplyDiff()
To avoid an expensive call to archive.ChangesDirs() which walks two directory
trees and compares every entry, archive.ApplyLayer() has been extended to
also return the size of the layer changes.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-17 21:54:23 -08:00
Michael Crosby
21bba5d93a Merge pull request #9181 from icecrime/allocate_daemon_ports
Allocate daemon listening ports
2014-12-17 18:01:20 -08:00
Fred Lifton
f2b89166cf Merge pull request #9683 from SvenDowideit/docker-exec-error-when-paused
Update the documentation for #9356 fix
2014-12-17 17:04:25 -08:00
Fred Lifton
5df189a1b0 Merge pull request #9682 from SvenDowideit/scottstamp-stale-links-pr-carry
Scottstamp stale links pr carry
2014-12-17 16:03:55 -08:00
Michael Crosby
f1562ac658 Merge pull request #9715 from brahmaroutu/gccgo_power1
Fix to avoid a compile error due to float to int truncation with GCCGO
2014-12-17 16:02:27 -08:00
Sven Dowideit
1f9b6fedca Merge pull request #9717 from SvenDowideit/redirect-opensuse-to-suse
redirect openSUSE docs to SUSE doc
2014-12-18 09:28:57 +10:00
Sven Dowideit
de2a91970d redirect openSUSE docs to SUSE doc
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-12-18 09:05:27 +10:00
Srini Brahmaroutu
c16e41245e Fix to avoid a compile error due to float to int truncation with GCCGO
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-12-17 22:44:55 +00:00
Jessie Frazelle
27b07bc39e Merge pull request #9711 from rhatdan/man
docker-run man page has screwed up indenting on --net option
2014-12-17 14:14:47 -08:00
Michael Crosby
5d6eca6642 Add docker-py integration tests aginst the docker daemon
This clones and run the integration tests for docker-py master as part
of the integration tests created on master.  docker-py hits the api
directly and should be a good way to identify regressions in the api.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-17 13:48:45 -08:00
Alexander Morozov
c7f19c15d9 Merge pull request #9713 from unclejack/bump_vendored_kr_pty
kr/pty: vendor upstream 05017fcccf
2014-12-17 13:48:16 -08:00
unclejack
2524c0c555 kr/pty: vendor upstream 05017fcccf
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-17 23:23:24 +02:00
Dan Walsh
bc1507dfce docker-run man page has screwed up indenting on --net option
This patch fixes the indenting.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-12-17 13:06:13 -05:00
Sven Dowideit
f0f4e42375 Merge pull request #9703 from fredlf/1.4.1-docs-update
Additions for 1.4.1 release
2014-12-17 21:13:04 +10:00
Daniel, Dao Quang Minh
ed7aa47dea add binary extension to docker binary in tgz
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-12-16 22:55:29 -05:00
Fred Lifton
6afe5bf9ed Additions for 1.4.1 release
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-12-16 17:40:02 -08:00
Jessie Frazelle
4988cde7b9 Merge pull request #9701 from crosbymichael/registry-lookup-image
Change LookupRemoteImage to return error
2014-12-16 17:00:59 -08:00
Jessie Frazelle
d06f496e4a Merge pull request #9083 from SvenDowideit/pr_out_remove_small_patch_exception_checking_in_hack_make_validate_dco
Remove small patch exception checking in hack/make/validate-dco
2014-12-16 16:25:17 -08:00
Daehyeok Mun
8123c1e9fe Chnage LookupRemoteImage to return error
This commit is patch for following comment
// TODO: This method should return the errors instead of masking them and returning false

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-16 16:23:19 -08:00
Alexander Morozov
f538e4be6b Merge pull request #9652 from yadutaf/master
Set HTTP upgrade headers when hijacking connection
2014-12-16 16:21:29 -08:00
Sven Dowideit
56e3f49d19 Give maintainers the power to add contributor's DCO to a commit message, or to use their own if its a trvial change
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-12-17 10:02:36 +10:00
Tianon Gravi
3d8f40b35b Remove small patch exception checking in hack/make/validate-dco
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-12-17 10:02:36 +10:00
Michael Crosby
af72f2128e Remove DCO small patch exception
As we move forward on automating our pull request review process and
tooling these exceptions hurt more than they help.  For consistency we
should not allow small patch exceptions for anything.  The source of
truth going forward for DCO and builds are the official drone status on
each pull request.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-17 10:02:36 +10:00
Jean-Tiare Le Bigot
afb06a3ce2 Update connection hijacking documentation with HTTP Upgrade Headers
Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>
2014-12-17 00:22:06 +01:00
Jessie Frazelle
ad8096a1c2 Merge pull request #9287 from drothlis/fix-upstart-race-condition
upstart: Don't emit "started" event until docker.sock is available
2014-12-16 14:15:01 -08:00
Michael Crosby
e927ab0ee7 Merge pull request #9695 from crosbymichael/merge_release_v1.4.1
Merge release v1.4.1
2014-12-16 13:44:01 -08:00
David Röthlisberger
f42c0a53a3 upstart: Don't emit "started" event until docker.sock is available
Fixes #6647: Other upstart jobs that depend on docker by specifying
"start on started docker" would often start before the docker daemon was
ready, so they'd fail with "Cannot connect to the Docker daemon" or
"dial unix /var/run/docker.sock: no such file or directory".

This is because "docker -d" doesn't daemonize, it runs in the
foreground, so upstart can't know when the daemon is ready to receive
incoming connections. (Traditionally, a daemon will create all necessary
sockets and then fork to signal that it's ready; according to @tianon
this "isn't possible in Go"[1]. See also [2].)

Presumably this isn't a problem with systemd init with its socket
activation. The SysV init scripts may or may not suffer from this
problem but I have no motivation to fix them.

This commit adds a "post-start" stanza to the upstart configuration
that waits for the socket to be available. Upstart won't emit the
"started" event until the "post-start" script completes.[3]

Note that the system administrator might have specified a different path
for the socket, or a tcp socket instead, by customising
/etc/default/docker. In that case we don't try to figure out what the
new socket is, but at least we don't wait in vain for
/var/run/docker.sock to appear.

If the main script (`docker -d`) fails to start, the `initctl status
$UPSTART_JOB | grep -q "stop/"` line ensures that we don't loop forever.
I stole this idea from Steve Langasek.[4]

If for some reason we *still* end up in an infinite loop --I guess
`docker -d` must have hung-- then at least we'll be able to see the
"Waiting for /var/run/docker.sock" debug output in
/var/log/upstart/docker.log.

I considered using inotifywait instead of sleep, but it isn't worth
the complexity & the extra dependency.

[1] https://github.com/docker/docker/issues/6647#issuecomment-47001613
[2] https://code.google.com/p/go/issues/detail?id=227
[3] http://upstart.ubuntu.com/cookbook/#post-start
[4] https://lists.ubuntu.com/archives/upstart-devel/2013-April/002492.html

Signed-off-by: David Röthlisberger <david@rothlis.net>
2014-12-16 21:25:01 +00:00
Michael Crosby
171cf3d4d3 Change version to 1.4.1-dev 2014-12-16 12:26:01 -08:00
Michael Crosby
32c3823fd8 Merge pull request #9679 from crosbymichael/bump_v1.4.1
Bump to version v1.4.1
2014-12-16 12:24:15 -08:00
Alexander Morozov
323c3c1381 Merge pull request #9675 from JacobEdelman/patch-1
Fixed two misspellings
2014-12-16 12:06:23 -08:00
Michael Crosby
17cacf3326 Merge pull request #9643 from LK4D4/fix_vet_errors
Fix vet errors
2014-12-16 12:04:15 -08:00
Michael Crosby
eea9f0e781 Merge pull request #9610 from duglin/Issue9602
Wrap strings that could look like ints in quotes
2014-12-16 12:02:26 -08:00
Tianon Gravi
03aea37f01 Merge pull request #9671 from albers/refactor-create-and-run
Refactor completion for docker run and docker create
2014-12-16 11:28:52 -08:00
Fred Lifton
d79bc04e7b Merge pull request #9601 from dchen1107/master
Using container-vm image alias instead of specific name with version.
2014-12-16 11:01:15 -08:00
Michael Crosby
c6a70bc78a Merge pull request #8845 from vbatts/vbatts-issue_template
CONTRIBUTING: provide a template for new issues
2014-12-16 10:41:43 -08:00
Mary Anthony
078ac9ca45 Updating per PR comment
Signed-off-by: Mary Anthony <moxieandmore@gmail.com>
2014-12-16 10:16:20 -08:00
Mary Anthony
46748f1302 Updating per PR comments
Signed-off-by: Mary Anthony <moxieandmore@gmail.com>
2014-12-16 10:14:03 -08:00
Arnaud Porterie
a76f7c6ec3 Merge pull request #9122 from dqminh/debug-huge-expose
Expose a large number of ports should not slow down builder
2014-12-16 10:03:31 -08:00
Daniel, Dao Quang Minh
17f8e3dee2 make.sh tgz should handle windows binary
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-12-16 05:05:18 -05:00
James Turnbull
92d24e3b7c Merge pull request #9651 from kdomanski/filter_docs
Document container list filtering in API docs
2014-12-16 01:38:49 -05:00
Sven Dowideit
c9ca5c4dd3 Update the documentation for #9356 fix
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-12-16 15:25:15 +10:00
Sven Dowideit
fbb9223b1a add Scott's link checker script, and fix what it finds
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-12-16 14:46:25 +10:00
Scott Stamp
4e7fb6b1f0 Update debian.md
Fixed anchor links for Jessie/Wheezy (broken on docs.docker.com)

Update debian.md

Signed-off-by: Scott Stamp <scott@hypermine.com>
2014-12-16 12:49:53 +10:00
Michael Crosby
5bc2ff8a36 Bump to version 1.4.1
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-15 15:57:00 -08:00
Brian Goff
a83dadbeaf Fix volumes-from/bind-mounts passed in on start
Fixes #9628
Slightly reverts #8683, HostConfig on start is _not_ deprecated.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-12-15 15:54:06 -08:00
Michael Crosby
eac27ad46d Add test to enforce volume build content
This tests ensures that the content from a dir within a build is carried
over even if VOLUME for that dir is specified in the Dockerfile.  This
test ensures this long standing functionality.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-15 15:53:55 -08:00
Michael Crosby
24d03b8dde Merge pull request #9631 from cpuguy83/9628_fix_volumes_hostconfig_on_start
Fix volumes-from/bind-mounts passed in on start
2014-12-15 15:51:57 -08:00
Jacob Edelman
97f07bb61c Fixed two misspellings.
Fixed two misspellings of the word "beginning".

Signed-off-by: JacobEdelman <edelman.jd@gmail.com>
2014-12-15 18:15:07 -05:00
Michael Crosby
b84bfb43cd Merge pull request #9638 from crosbymichael/build-volumes-retain-contents
Add test to enforce volume build content
2014-12-15 14:54:38 -08:00
Brian Goff
d44c9f9147 Fix volumes-from/bind-mounts passed in on start
Fixes #9628
Slightly reverts #8683, HostConfig on start is _not_ deprecated.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-12-15 16:51:15 -05:00
Jessie Frazelle
03142fd5d2 Merge pull request #9674 from LK4D4/log_done
Fix missing logDone for TestRunMutableNetworkFiles
2014-12-15 13:48:04 -08:00
Alexander Morozov
03bdacbb4e Fix missing logDone for TestRunMutableNetworkFiles
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-15 13:44:22 -08:00
Harald Albers
46b104bd39 Refactor completion for docker run and docker create
_docker_run and _docker_create had only one differing line.

This refactoring features:

- direct completion for both commands to the same function
- factor out the common arguments, sort & format them nicely
- compute the argument for _docker_pos_first_nonflag.

Signed-off-by: Harald Albers <github@albersweb.de>
2014-12-15 21:08:49 +01:00
Jean-Tiare Le Bigot
c230f70413 Set HTTP upgrade header only when requested by client
Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>
2014-12-15 21:05:59 +01:00
Jessie Frazelle
e6a68a1c87 Merge pull request #9613 from pwaller/push-err-confusion-fix
Improve message when pushing a non-existent image
2014-12-15 09:54:34 -08:00
Alexander Morozov
1bdf579928 Merge pull request #9642 from jfrazelle/windows
Add windows back.
2014-12-15 08:36:36 -08:00
Tibor Vass
5e888abf7a Merge pull request #9666 from LK4D4/cleanup_tests
Remove TestRunExitOnStdinClose
2014-12-15 11:24:40 -05:00
Alexander Morozov
c533d2cb9b Merge pull request #9668 from viirya/fix_error_type
Fix incorrect error type
2014-12-15 08:18:34 -08:00
Jessie Frazelle
f58a79e591 Merge pull request #9630 from ztombol/9642-fix-mkimage-arch
Fix #9462
2014-12-15 08:13:11 -08:00
Kamil Domanski
51da97628a Add available filters for containers, images and events to API docs.
Signed-off-by: Kamil Domański <kamil@domanski.co> (github: kdomanski)
2014-12-15 16:51:29 +01:00
Kamil Domanski
37bdb05615 Add container list filtering to API docs.
Signed-off-by: Kamil Domański <kamil@domanski.co> (github: kdomanski)
2014-12-15 16:50:56 +01:00
unclejack
7da0f2ee19 Merge pull request #9660 from LK4D4/remove_bad_test
Remove TestRunErrorBindNonExistingSource
2014-12-15 17:20:17 +02:00
Doug Davis
d942c59b69 Wrap strings that could look like ints in quotes
When we use the engine/env object we can run into a situation where
a string is passed in as the value but later on when we json serialize
the name/value pairs, because the string is made up of just numbers
it appears as an integer and not a string - meaning no quotes.  This
can cause parsing issues for clients.

I tried to find all spots where we call env.Set() and the type of the
name being set might end up having a value that could look like an int
(like author). In those cases I switched it to use env.SetJson() instead
because that will wrap it in quotes.

One interesting thing to note about the testcase that I modified is that
the escaped quotes should have been there all along and we were incorrectly
letting it thru. If you look at the metadata stored for that resource you
can see the quotes were escaped and we lost them during the serialization
steps because of the env.Set() stuff.  The use of env is probably not the
best way to do all of this.

Closes: #9602

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-12-15 05:10:49 -08:00
James Turnbull
24a8182928 Merge pull request #9633 from estesp/docs-ubuntu-install
DOCS: Update Ubuntu install instructions regarding dated Ubuntu docker.io
2014-12-15 04:52:27 -05:00
Liang-Chi Hsieh
bc4edbbe71 Fix incorrect error type.
Signed-off-by: Liang-Chi Hsieh <viirya@gmail.com>
2014-12-15 17:29:28 +08:00
Sven Dowideit
e4b2f802ae Merge pull request #9556 from nealmcb/9555-https-no-sudo
Fixes #9555: sudo not needed with cert authn
2014-12-15 15:08:03 +11:00
Alexandr Morozov
4d7359f63d Remove TestRunExitOnStdinClose
Because this is already tested by TestRunExitOnStdinClose in
integration-cli/docker_cli_run_test.go

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-14 18:09:41 -08:00
Alexandr Morozov
70a2b64ef2 Remove TestRunErrorBindNonExistingSource
This test tests nothing because of error in cmd, where "echo 'should
fail'" passed as binary. Also this test directly contradicts
documentation and current daemon behavior.

Fixes #7826

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-13 21:45:02 -08:00
Mary Anthony
228404860c Clarify Mac OS X experience.
Signed-off-by: Mary Anthony <moxieandmore@gmail.com>
2014-12-13 20:17:17 -08:00
Fred Lifton
86c2cdf782 Merge pull request #9647 from fredlf/release-notes-edits
Fixed errors in release notes
2014-12-13 17:34:23 -08:00
Álex González
be27d97118 Log when truncindex.Get returns >1 container
When the user is not using the full has to retrieve a container it's
possible that we find conflicts with the ids of other containers.

At the moment it's just failing saying that it can not find a container,
but it doesn't say why. Adding a small log saying that duplicates where
found is going to help the user.

Closes #8098

Signed-off-by: Alex Gonzalez <agonzalezro@gmail.com>
2014-12-13 17:43:05 +00:00
Jean-Tiare Le Bigot
9256578f62 Set HTTP upgrade headers when hijacking connection
Signed-off-by: Jean-Tiare Le Bigot <jt@yadutaf.fr>
2014-12-13 14:24:51 +01:00
Fred Lifton
afc262cc3a Fixed errors in release notes
Fixed a missing link and a few small formatting issues. Also deleted 1.3 notes as originally intended.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-12-12 17:18:21 -08:00
Jessie Frazelle
8ca28a35c7 Merge pull request #9639 from jfrazelle/advertise-master-builds
Add master builds url to readme.
2014-12-12 16:44:52 -08:00
Jessica Frazelle
1b104ce7c3 Add master builds url to readme.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-12 16:26:44 -08:00
Jessica Frazelle
54229fad93 Add windows back.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-12 13:44:41 -08:00
Tianon Gravi
d727e3bea6 Merge pull request #9551 from barnybug/9550-fish-completions
Update fish shell completions.
2014-12-12 12:55:00 -08:00
Fred Lifton
506a8c24d7 Merge pull request #9636 from fredlf/add-user-invites
Adds User Invites to Hub Docs
2014-12-12 11:37:05 -08:00
Jessie Frazelle
b66abaa291 Merge pull request #9625 from LK4D4/fix_race_in_sec_opts
Fix race condition between parseSecurityOpt and container.Mount
2014-12-12 11:34:59 -08:00
Michael Crosby
4099f098bd Merge pull request #9637 from tianon/minor-nuke-fixes
Fix a bashism and some minor bugs in nuke-graph-directory.sh
2014-12-12 11:31:17 -08:00
Dawn Chen
0b3caf1f78 Using container-vm image alias instead of specific name with version.
Signed-off-by: Dawn Chen <dawnchen@google.com>
2014-12-12 11:28:54 -08:00
Michael Crosby
e76168c003 Merge pull request #9626 from jfrazelle/update-release
Updates to release checklist.
2014-12-12 11:18:12 -08:00
Michael Crosby
4856ec0754 Add test to enforce volume build content
This tests ensures that the content from a dir within a build is carried
over even if VOLUME for that dir is specified in the Dockerfile.  This
test ensures this long standing functionality.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-12 11:15:31 -08:00
Alexander Morozov
c7ff6bf691 Fix vet errors about json tags for unexported fields
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-12 11:01:46 -08:00
Alexander Morozov
a7ae7fed73 Fix vet errors about formatting directives
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-12 10:58:56 -08:00
Tianon Gravi
6b340e391c Fix a bashism and some minor bugs in nuke-graph-directory.sh
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-12-12 11:51:12 -07:00
Alexander Morozov
2540765ddc Fix vet errors in aufs.go about Lock by value
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-12 10:46:09 -08:00
Alexander Morozov
e7d086c2be Fix vet errors about unkeyed fields
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-12 10:44:59 -08:00
Fred Lifton
bf05f78d70 Adds User Invites to Hub Docs
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-12-12 10:34:15 -08:00
Alexander Morozov
d7d981bf3a Merge pull request #9621 from rgreinho/issue/9469
Report number of times that docker has auto-restarted a container
2014-12-12 10:13:37 -08:00
Rémy Greinhofer
8f8d24cb1c Report number of times that docker has auto-restarted a container
Fixes #9469.

Signed-off-by: Rémy Greinhofer <remy.greinhofer@livelovely.com>
2014-12-12 09:40:11 -08:00
Tibor Vass
a9ecd2116b Merge pull request #9627 from jfrazelle/release-notes
Include Fred's release notes for 1.4.0.
2014-12-12 12:29:09 -05:00
Phil Estes
bb25f54a99 Update Ubuntu install instructions regarding dated Ubuntu docker.io
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-12-12 11:57:23 -05:00
Jessica Frazelle
a65396b079 Include fred's release notes for 1.4.0.
He is unfortunately out of power and internet because of storms :(

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 19:00:34 -08:00
Jessica Frazelle
473a443d84 Updates to release checklist.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 18:47:47 -08:00
Jessie Frazelle
c60e60a184 Merge pull request #9606 from LK4D4/fix_race_in_test
Fix race in TestDaemonRestartWithVolumesRefs
2014-12-11 18:27:38 -08:00
Alexander Morozov
a07835d876 Merge pull request #9624 from icecrime/silence_loginwithouttty_test
Suppress output of TestLoginWithoutTTY
2014-12-11 18:26:58 -08:00
Zoltan Tombol
d04debddd9 Fix #9462
Docker-DCO-1.1-Signed-off-by: Zoltan Tombol <zoltan.tombol@gmail.com> (github: ztombol)
2014-12-12 03:25:14 +01:00
Michael Crosby
14a82de6fa Merge pull request #9599 from LK4D4/no_release_non_own
Don't try release network in non-private modes
2014-12-11 18:25:00 -08:00
Tibor Vass
5a26b89751 Merge pull request #9623 from jfrazelle/merge_release_v1.4.0
Merge release v1.4.0
2014-12-11 21:24:28 -05:00
Arnaud Porterie
1cab340c10 Suppress output of TestLoginWithoutTTY
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-11 18:05:07 -08:00
Alexandr Morozov
862952c8d4 Fix race condition between parseSecurityOpt and container.Mount
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-11 17:22:59 -08:00
Jessica Frazelle
fd831b4c5e Fix conflicts.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 17:14:53 -08:00
Jessica Frazelle
c509835475 Change version to 1.4.0-dev
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 17:00:43 -08:00
Jessie Frazelle
0e4e200071 Merge pull request #9345 from jfrazelle/bump_v1.4.0
Bump version to 1.4.0
2014-12-11 16:31:29 -08:00
Jessica Frazelle
4595d4fb03 Bump version to v1.4.0
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 15:00:44 -08:00
Jessica Frazelle
debf60b466 Merge branch master into bump_v1.4.0
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-11 15:00:03 -08:00
Jessie Frazelle
ce1393cb55 Merge pull request #9616 from cyphar/9608-builder-fix-incomplete-chown-walk-addcontext
builder: internals: fix incomplete chown walk when fixing permissions
2014-12-11 13:54:08 -08:00
Michael Crosby
4d318db749 Merge pull request #9620 from tiborvass/merge_release_v1.3.3
Merge release v1.3.3
2014-12-11 13:53:32 -08:00
Tibor Vass
9f48be69e5 Change version to 1.3.3-dev
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:35:22 -05:00
unclejack
5b851982da Bump version to v1.3.3
Conflicts:
	VERSION

Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:33:20 -05:00
Tibor Vass
fdabd6b14e docs: Add release notes
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:29:28 -05:00
unclejack
bff1d9dbce validate image ID properly & before load
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>

Conflicts:
	graph/load.go
2014-12-11 16:29:27 -05:00
Arnaud Porterie
af2021955c Add integration test for xz path issue
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>

Conflicts:
	integration-cli/docker_cli_build_test.go
2014-12-11 16:29:15 -05:00
Michael Crosby
001ac15b54 Decompress archive before streaming the unpack in a chroot
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	pkg/archive/archive.go
	pkg/chrootarchive/archive.go

Conflicts:
	pkg/archive/archive.go
2014-12-11 16:29:13 -05:00
Michael Crosby
7862f831fe Update chroot apply layer to handle decompression outside chroot
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	pkg/archive/diff.go
	pkg/chrootarchive/archive.go

Conflicts:
	pkg/archive/diff.go
	pkg/chrootarchive/diff.go
2014-12-11 16:28:24 -05:00
Cristian Staretu
e4ba82d50e Add build tests covering extraction in chroot
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-11 16:26:52 -05:00
unclejack
a57eee2229 integ-cli: add test for links in volumes
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-11 16:26:52 -05:00
unclejack
7496cbbccc integ-cli: add build test for absolute symlink
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-12-11 16:26:52 -05:00
Tibor Vass
0e71a48d4e Add another symlink breakout test
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	integration-cli/docker_cli_build_test.go
2014-12-11 16:26:51 -05:00
Tibor Vass
5f0f0c228d symlink: add more tests
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:26:01 -05:00
Tibor Vass
ff4d05ed73 symlink: cleanup names and break big test into multiple smaller ones
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:26:01 -05:00
Tibor Vass
b7f352b0fb Refactor of symlink tests to remove testdata dir
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-12-11 16:26:01 -05:00
Tianon Gravi
fa3ec89515 Simplify FollowSymlinkInScope based on Go 1.3.3's EvalSymlinks
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-12-11 16:26:01 -05:00
Tibor Vass
be8f9a2313 Merge pull request #9617 from tiborvass/bump_v1.3.3
Bump v1.3.3
2014-12-11 15:31:43 -05:00
Aleksa Sarai
916cba9c58 builder: internals: fix incomplete chown walk when fixing permissions
This patch fixes the permission fixing code used by addContext, which
would not be responsible for Lchown-ing top-level directories added to a
destination that didn't exist prior to untar-ing the context.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-12-12 06:07:16 +11:00
Vincent Batts
74bbb93571 Merge pull request #9258 from rhvgoyal/transaction-id-improvements
devmapper fix usage of pool transaction id
2014-12-11 12:58:18 -05:00
Peter Waller
3a08bbc4d2 Improve message when pushing a non-existent image
I was confused earlier when I did:

```
docker push localhost.localdomain:1234/foo
```

Because docker told me:

```
No such id: localhost.localdomain:1234/foo
```

I actually had buried in my mind the solution to this, but the error
message
confused me because I had recently had some fun trying to get the
registry
working and therefore thought it was telling me that I didn't have an
account
on the registry.

This pull request makes it unambiguous that the error is that the
specified
image is unknown.

/cc @cpuguy83

Docker-DCO-1.1-Signed-off-by: Peter Waller <p@pwaller.net> (github: pwaller)
2014-12-11 17:57:23 +00:00
Vincent Batts
6700580bbc Merge pull request #9604 from crosbymichael/registry-fruit-loops
Prevent infinite loop with var overshadowing
2014-12-11 10:36:47 -05:00
Alexandr Morozov
0d70ad1c72 Fix race in TestDaemonRestartWithVolumesRefs
Sometimes rm begins before process death, but Kill called already after
it, so we get error - no such process.

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-10 20:55:51 -08:00
Michael Crosby
9a7a1e5be0 Refactor put image function's redirect loop
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-10 18:11:27 -08:00
Michael Crosby
3b4de1070f Prevent loop with var overshadowing
Incase of a 3xx redirect the var was being overshowed and ever changed
causing an infinite loop.

Fixes #9480

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-10 17:43:21 -08:00
Qiang Huang
1a9b640e0d add support to set MemorySwap
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2014-12-10 16:53:43 -08:00
James Turnbull
eba451b659 Merge pull request #9566 from jfrazelle/btrfs-overlayfs
add note to docs about overlay + btrfs unsupported
2014-12-11 09:32:10 +11:00
Jessica Frazelle
340ea25ac1 add note to docs about overlay + btrfs
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-10 14:29:41 -08:00
Alexandr Morozov
b3ade99a78 Don't try release network in non-private modes
Fixes #9594

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-10 11:59:32 -08:00
Alexander Morozov
5ca4ba9ed0 Merge pull request #9597 from icecrime/9467-chown_regression
Fix permissions on ADD/COPY
2014-12-10 11:47:33 -08:00
Arnaud Porterie
cfc24769a2 Fix permissions on ADD/COPY
Fix a regression introduced in PR#9467 when a single file was added or
copied.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-10 11:09:03 -08:00
Michael Crosby
b905f88ee5 Merge pull request #9582 from Mic92/tls_interactive_exec
Fix interactive TLS postContainersAttach
2014-12-10 10:37:50 -08:00
Michael Crosby
428c263a6c Merge pull request #9099 from vbatts/vbatts-tarsum_spec
pkg/tarsum: specification on TarSum checksum algorithm
2014-12-10 10:24:48 -08:00
Jörg Thalheim
a25168d28d Fix interactive TLS postContainersAttach
related to 266a1044de

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2014-12-10 08:57:38 +01:00
Jessie Frazelle
3076115e2c Merge pull request #9588 from LK4D4/remove_stderr_from_build
Use Set for stderr "logs" job in builder
2014-12-09 19:48:29 -08:00
Alexandr Morozov
a62cbdeb47 Use Set for stderr "logs" job in builder
Because engine implicitly adds his stder to job stderr

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-12-09 19:08:24 -08:00
Michael Crosby
fb810d18bd Merge pull request #9318 from shishir-a412ed/doc-cpu-share
Enhanced description for 'docker run' command, -c/--cpu-shares flag
2014-12-09 17:21:09 -08:00
Alexander Morozov
fa7e01794f Merge pull request #9537 from icecrime/9476-tty_stdin_redirect
Forbid client piping to tty enabled container
2014-12-09 15:17:44 -08:00
Arnaud Porterie
67e3ddb75f Forbid client piping to tty enabled container
Forbid `docker run -t` with a redirected stdin (such as `echo test |
docker run -ti busybox cat`). Forbid `docker exec -t` with a redirected
stdin. Forbid `docker attach` with a redirect stdin toward a tty enabled
container.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-09 14:30:49 -08:00
Brian Goff
243a640d3e Add test for exec tty stdin close
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-12-09 14:30:49 -08:00
Alexander Morozov
2687287289 Merge pull request #9575 from brahmaroutu/lxcconf_9501
User should get error message on wrong config
2014-12-09 14:10:38 -08:00
Srini Brahmaroutu
8dcbd6ab63 User should get error message on wrong config
closes #9501

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-12-09 21:52:07 +00:00
Michael Crosby
bb24f99d74 Merge pull request #9356 from cc272309126/fix-exec-paused-container
Fix the issue that when docker exec a paused container, it will always
2014-12-09 11:01:44 -08:00
Michael Crosby
64ebffe7b6 Merge pull request #9467 from icecrime/9401-restrict_add_chown_scope
Reduce permissions changes scope after ADD/COPY
2014-12-09 10:40:23 -08:00
Michael Crosby
86efd1a102 Merge pull request #9447 from ashahab-altiscale/7687-lxc-cap-add-cap-drop
LXC CAP ADD CAP DROP IN TEMPLATE
2014-12-09 10:35:52 -08:00
Tianon Gravi
ca2ebaeafe Merge pull request #9581 from vbatts/vbatts-fix_gh9138
contrib: fix the docker-device-tool
2014-12-09 09:30:37 -08:00
shishir-a412ed
2597bffe9a Added description for 'docker run' command, -c/--cpu-shares flag
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2014-12-09 09:55:56 -05:00
James Turnbull
c587a3faf6 Merge pull request #9558 from philips/fixup-typo-in-systemd-article
docs: docker.service not services
2014-12-09 23:10:17 +11:00
James Turnbull
74b29e8b45 Merge pull request #9559 from philips/use-dropins-in-systemd-article
docs: use systemd drop-ins instead of copying
2014-12-09 23:09:52 +11:00
unclejack
f568b282fe Merge pull request #9573 from crosbymichael/flush-stdin
Flush stdin from within chroot archive
2014-12-09 01:54:01 +02:00
Fred Lifton
03d1622ab8 Merge pull request #9522 from SvenDowideit/add-some-cap-add-examples
Add some cap add examples
2014-12-08 15:50:25 -08:00
Michael Crosby
d1535131d2 Flush stdin from within chroot archive
This makes sure that we don't buffer in memory and that we also flush
stdin from diff as well as untar.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-08 15:41:07 -08:00
Tibor Vass
c9285a08b1 Merge pull request #9539 from flynn/chroot-untar-empty-archive-slow
Fix chroot untar for zero padded archive from slow reader
2014-12-08 17:59:21 -05:00
Alexander Morozov
0d94196999 Merge pull request #9567 from jfrazelle/8333-net-link-error
Throw error when container links to --net host container
2014-12-08 14:36:44 -08:00
Jessica Frazelle
6743be44ca Running a container that links to a container with --net host
should throw an error.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-08 11:33:18 -08:00
Jessie Frazelle
58ce0146e1 Merge pull request #9512 from duglin/Issue9404
Make 'docker build' send non-err output to stdout
2014-12-08 11:08:13 -08:00
Arnaud Porterie
12252e39a0 Merge pull request #9489 from crosbymichael/info-root
Return docker's root dir in docker -D info
2014-12-08 09:05:00 -08:00
Brandon Philips
2d51d71561 docs: use systemd drop-ins instead of copying
Copying the entire docker service file isn't necessary to add an
environment variable, instead use a drop-in configuration file. The nice
side-effect is that the user gets any vendor updates to the
docker.service file.

Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
2014-12-07 18:45:50 -08:00
Brandon Philips
e0792e7ece docs: remove a trailing whitespace
Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
2014-12-07 18:45:43 -08:00
Brandon Philips
1ae7be716e docs: docker.service not services
Minor but important typo in the new systemd guide introduced in #9347.

Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
2014-12-07 18:35:37 -08:00
Neal McBurnett
ee1ba25218 Fixes #9555: sudo not needed with cert authn
Signed-off-by: Neal McBurnett <neal@mcburnett.org>
2014-12-07 14:31:35 -07:00
Barnaby Gray
4f6cdb12ab Update fish shell completions.
Fixes #9550

Signed-off-by: Barnaby Gray <barnaby@pickle.me.uk>
2014-12-07 12:40:29 +00:00
Jessie Frazelle
53d5299a40 Merge pull request #9497 from icecrime/86580-tls_interactive_exec
Fix interactive exec over TLS
2014-12-06 13:12:06 -08:00
Arnaud Porterie
f91a79e071 Merge pull request #9543 from ErikDubbelboer/racefix
Removed race condition
2014-12-06 09:08:36 -08:00
Erik Dubbelboer
46b1194d99 Removed race condition
If two interrupts were fired really quickly interruptCount could have been incremented twice before the LoadUint32 making cleanup not being called at all.

Signed-off-by: Erik Dubbelboer <erik@dubbelboer.com>
2014-12-06 22:52:19 +08:00
Lewis Marshall
c128c134d7 Fix chroot untar for zero padded archive from slow reader
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2014-12-06 02:44:31 +00:00
Abin Shahab
fdf7457683 LXC CAP ADD CAP DROP IN TEMPLATE
Added cap-drop and cap-add in lxc template
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2014-12-05 23:08:22 +00:00
Alexander Morozov
984b072a37 Merge pull request #9479 from jlhawn/tarsum_test_fix
Correct TarSum benchmarks: 9kTar and 9kTarGzip
2014-12-05 14:47:54 -08:00
Michael Crosby
654da4e151 Return docker's root dir in docker -D info
This adds the docker daemon's root directory to docker info when running
in debug mode.  This allows the user to view the root directory where
docker is writing and storing state.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-05 12:13:25 -08:00
Jessie Frazelle
52a52909a8 Merge pull request #9488 from crosbymichael/update-libcontainer-dec3
Update libcontainer to 53eca435e63db58b06cf796d3a9
2014-12-05 12:05:06 -08:00
Michael Crosby
2525a04594 Merge pull request #9493 from SvenDowideit/note-lxc-conf-pitfall
Note that using -lxc-conf to change things Docker manages has pitfalls
2014-12-05 11:16:19 -08:00
Michael Crosby
8bfe4d906e Merge pull request #9528 from SvenDowideit/add-license-to-docs
Add Apache license and link to the docs
2014-12-05 11:15:47 -08:00
Sven Dowideit
522e631096 I was talking to someone whom i listen to, and she noted that our docs don't mention the license
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-12-05 21:06:11 +10:00
Sven Dowideit
5f2000944b Add a fuse example, combining both SYS_ADMIN and --device
inspired by #9448 and #9487

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-05 16:42:48 +10:00
Sven Dowideit
48a596a804 add --cap-add=NET_ADMIN to make a new network device
inspired by #9452

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-05 16:30:54 +10:00
Sven Dowideit
8dfcbf62ed Merge pull request #9272 from SvenDowideit/pr_out_try_out_a_different_phrase_for_icc
Try out a different phrase for --icc
2014-12-05 16:22:51 +10:00
James Turnbull
a10b0cd23f Merge pull request #9504 from davidmat/patch-1
Update Amazon EC2 Docker installation instructions
2014-12-04 21:57:45 -08:00
James Turnbull
ebf89cf219 Merge pull request #9507 from jsternberg/docker-build-docs-formatting-fix
Fixing docs formatting for the forcerm flag on docker build
2014-12-04 21:54:14 -08:00
Fred Lifton
84dc2c83cb Merge pull request #9464 from SvenDowideit/sven_tries_webhooks
Add some extra details to webhook docs
2014-12-04 19:44:26 -08:00
James Turnbull
0bd51836c8 Merge pull request #9516 from SvenDowideit/tweak-sidebar-css-for-more-spacing
this v spacing irritated me while i was reading
2014-12-04 19:26:08 -08:00
Sven Dowideit
b266ad9c60 Show image of the Build trigger screen, and add a little search engine fodder for it.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-12-05 13:05:38 +10:00
Sven Dowideit
b4b899264e Add some extra details to webhook docs
Update the webhook JSON payloads to real ones,
and show there is a difference between an automated build webhook payload and a normal repo payload

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)

Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-12-05 12:13:22 +10:00
Sven Dowideit
11a75ec97f this v spacing irritated me while i was reading
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-12-05 12:01:13 +10:00
Arnaud Porterie
f3cedce360 Reduce permissions changes scope after ADD/COPY
Permissions after an ADD or COPY build instructions are now restricted
to the scope of files potentially modified by the operation rather than
the entire impacted tree.

Fixes #9401.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-04 17:16:22 -08:00
Sven Dowideit
8e59bda173 Merge pull request #9388 from SvenDowideit/update-docs-from-cli
Auto-update documentation from the output of the cli.
2014-12-05 11:11:28 +10:00
Sven Dowideit
e01baa6be7 Auto-update documentation from the output of the cli.
I've re-jigged the run man page so that each option's text begins with the
cli's help text for that flag, and then ay subsequent lines in the man page
are carried forward.

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-12-05 10:43:38 +10:00
Michael Crosby
6e7a210db6 Merge pull request #9510 from crosbymichael/chrootarchive
Use consistent ApplyLayer in overlayfs
2014-12-04 14:21:26 -08:00
Doug Davis
5c91bb93a7 Make 'docker build' send non-err output to stdout
Right now 'docker build' will send:
   Sending build context to Docker daemon
to stderr, instead of stdout.  This PR fixes that.

I looked in the rest of api/client/commands.go for other cases
that might do this and only one jumped out at me:
  https://github.com/docker/docker/blob/master/api/client/commands.go#L2202
but I think if I changed that to go to stdout then it'll mess people up
who are expecting just the container ID to be printed to the screen and
there is no --quiet type of flag we can check.

Closes #9404

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-12-04 14:06:40 -08:00
Michael Crosby
f47d6b9b9d Use consistent ApplyLayer in overlayfs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-04 12:03:44 -08:00
David Mat
da667581cf Update Amazon EC2 Docker installation instructions
The installation guide for EC2 is outdated, as the current version of Amazon Linux (2014.09) is now Docker ready. No need to go through the manual route anymore. The official AMI has Docker packages in the repository now (this was the 'pre-release' option in the outdated instructions).

Docker-DCO-1.1-Signed-off-by: David Mat <david@davidmat.com> (github: davidmat)
2014-12-04 21:02:29 +01:00
Jessie Frazelle
bfde3f2cd1 Merge pull request #9494 from jfrazelle/cleanup
Cleanup unnecessary abstractions in integration-cli
2014-12-04 11:29:21 -08:00
cc272309126
1bb02117db Fix the issue when docker exec a paused container, it will always hang.
Add the test case of this issue.

Docker-DCO-1.1-Signed-off-by: Chen Chao <cc272309126@gmail.com> (github: cc272309126)
2014-12-05 03:10:44 +08:00
Jonathan A. Sternberg
eb7d646a44 Fixing docs formatting for the forcerm flag on docker build
Signed-off-by: Jonathan A. Sternberg <jonathansternberg@gmail.com>
2014-12-04 12:35:31 -05:00
James Turnbull
603fe40661 Merge pull request #9495 from SvenDowideit/aws-cli-exclude-still-broken
Something changed, broke the docs release script, and it seems that --ex...
2014-12-04 03:14:34 -05:00
Arnaud Porterie
266a1044de Fix interactive exec over TLS
The code no longer assumes a net.TCPConn underlying the HTTP connection
in order to close attached streams.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-03 23:43:03 -08:00
Josh Hawn
385917e22c Correctly close generated benchmark archives
Another update to TarSum tests, this patch fixes an issue where
the benchmarks were generating archives incorrectly by not closing
the tarWriter.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-03 22:26:06 -08:00
Sven Dowideit
6d560e197c Something changed, broke the docs release script, and it seems that --exclude still doesn't work, so I'm removing it
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-12-04 16:10:55 +10:00
Jessica Frazelle
6fd818f3ef Fix output format where no variable specified in mount pkg
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 19:02:51 -08:00
Jessica Frazelle
4ee3a318a1 Run 'go vet' on integration-cli.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 18:45:51 -08:00
Jessica Frazelle
fa753e67ae Remove unnessary abstraction deepEqual
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 17:52:06 -08:00
Sven Dowideit
b91d330088 Note that using -lxc-conf to change things Docker manages has pitfalls
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-12-04 11:49:06 +10:00
Jessica Frazelle
02a021119f Remove unnecessary abstraction nLines
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 17:47:28 -08:00
Jessica Frazelle
7ba9a18ade cleanup: remove startCommand function, only used once, and
unecessary abstraction.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 17:43:26 -08:00
Jessica Frazelle
7c7026bd22 Be consistent about libtrust import path.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 17:36:14 -08:00
James Turnbull
e15ffa45a6 Merge pull request #9486 from ClusterHQ/9484-fromSrc-api-docs
Document fromSrc more clearly
2014-12-03 20:31:44 -05:00
Jessie Frazelle
8520fd55b6 Merge pull request #9451 from erikh/fix-sqlite
graphdb: initialize the database semi-idempotently on every connection, not just new installs.
2014-12-03 17:17:20 -08:00
Michael Crosby
e2a4b730ca Merge pull request #9490 from jfrazelle/fix-test-cmd-eff
Fix tests with old cmd function.
2014-12-03 16:29:31 -08:00
Jessica Frazelle
e201d5bcd4 Fix tests with old cmd function.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-12-03 15:53:19 -08:00
Jessie Frazelle
67fda33197 Merge pull request #9089 from cpuguy83/8942_create_volumes_on_create
Initialize volumes when container is created
2014-12-03 15:42:09 -08:00
Michael Crosby
269b37503e Update libcontainer to 53eca435e63db58b06cf796d3a9
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-03 14:53:11 -08:00
Jean-Paul Calderone
0888c1880f Update the most recent released version of the docs as well.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
2014-12-03 17:14:08 -05:00
Jean-Paul Calderone
826f809d09 Talk about URL support and the real meaning of - in the latest fromSrc API documentation.
Signed-off-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
2014-12-03 17:13:48 -05:00
Alexander Morozov
c8ccfcb930 Merge pull request #9482 from ncdc/TempArchive-close-bug
Fix invalid argument error on push
2014-12-03 14:13:15 -08:00
Andy Goldstein
48ec176cd5 Fix invalid argument error on push
With 32ba6ab from #9261, TempArchive now closes the underlying file and
cleans it up as soon as the file's contents have been read. When pushing
an image, PushImageLayerRegistry attempts to call Close() on the layer,
which is a TempArchive that has already been closed. In this situation,
Close() returns an "invalid argument" error.

Add a Close method to TempArchive that does a no-op if the underlying
file has already been closed.

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2014-12-03 16:12:24 -05:00
Michael Crosby
5d49d2bb7a Merge pull request #9426 from lhuard1A/overlay_rename
Rename overlayfs to overlay
2014-12-03 10:57:42 -08:00
Josh Hawn
92fd49f7ca Correct TarSum benchmarks: 9kTar and 9kTarGzip
These two cases did not actually read the same content with each iteration
of the benchmark. After the first read, the buffer was consumed. This patch
corrects this by using a bytes.Reader and seeking to the beginning of the
buffer at the beginning of each iteration.

Unfortunately, this benchmark was not actually as fast as we believed. But
the new results do bring its results closer to those of the other benchmarks.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-03 10:44:05 -08:00
Vivek Goyal
17b75a21a6 devmapper: Use transactions during device deletion
Use transaction logic during device deletion and do rollback if transaction
is not complete. Following is the sequence of events.

- Open transaction and save to metafile
- Delete device from pool
- Delete device metadata file from disk
- Close Transaction

If docker crashes without closing transaction then rollback will take
place upon next docker start.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
c115c4aa45 devmapper: Use transaction mechanism during device or snap device creation
Finally this patch uses the notion of transaction for device or snapshot
device creation. 

Following is sequence of event.

- Open a trasaction and save details in a file.
- Create a new device/snapshot device
- If a new device id is used, refresh transaction with new device id details.
- Create device metadata file
- Close transaction.

If docker crashes anywhere in between without closing transaction, then
upon next start, docker will figure out that there was a pending transaction
and it will roll back transaction. That is it will do following.

- Delete Device from pool
- Delete device metadata file
- Remove transaction file to mark no transaction is pending.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
e28a419e11 devmapper: Find a free device Id to use for device creation
Finally, we seem to have all the bits to keep track of all used device
Ids and find a free device Id to use when creating a  new device. Start
using it.

Ideally we should completely move away from retry logic when pool returns
-EEXISTS. For now I have retained that logic and I simply output a warning.
When things are stable, we should be able to get rid of it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
14d0dd855e devmapper: Open code createDevice() and createSnapDevice()
Open code createDevice() and createSnapDevice() and move all the logic
in the caller.

This is a sheer code reorganization so that all device Id allocation
logic is in one function. That way in case of erros, one can easily
cleanup and mark device Id free again. (Later patches benefit from
it).

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
a44c23fe66 devmapper: Provide a helper function getNextDeviceId()
Right now we are accessing devices.NextDeviceId directly and also 
incrementing it at various places.

Instead provide a helper function which is responsile for
incrementing NextDeviceId and return next deviceId. 

This is just code structuring. This will help later once we
convert this function to find a free device Id and it goes
through a bitmap of used/free device Ids.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
39dc7829de devmapper: Construct initial device Id map from device meta files
When docker starts, build a used/free Device Id map from the per
device meta files we already have. These meta files have the data
which device Ids are in use. Parse these files and mark device as
used in the map.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
4d39e056aa devmapper: Keep track of used device Ids in a bitmap
Currently devicemapper backend does not keep track of used device Ids in
the pool. It tries a device Id and if that device Id exists in pool, it
tries with a different Id and keeps on doing this in a loop till it succeeds.

This worked fine so far but now we are moving to transaction based
device creation and deletion. We will keep deviceId information in 
transaction which will be rolled back if docker crashed before transaction
was complete.

If we store a deviceId in transaction and later figure out it already
existed in pool and docker crashed, then we will rollback and remove
that existing device Id from pool (which we should not have).

That means, we should know free device Id in pool in advance before
we put that device Id in transaction.

Hence this patch creates a bitmap (one bit each for a deviceId), and
sets the bit if device Id is used otherwise resets it. This patch
is just preparing the ground right now. Actual usage will follow
in later patches.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
359a38b26a devmapper: Use a common delete function for all device deletion operation
Right now setupBaseImage() uses deleteDevice() to delete uninitialized
base image while rest of the code uses DeleteDevice(). Change it and
use a common function everywhere for the sake of uniformity.

I can't see what harm can be done by doing little extra locking done
by DeleteDevice().

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
f078bcd8e5 devmapper: Rename NewTransactionId to OpenTransactionId
Very soon we will have the notion of an open transaction and keep its
details in a metafile.

When a new transaction is opened, we allocate a new transaction Id, 
do the device creation/deletion and then we will close the transaction.

I thought that OpenTransactionId better represents the semantics of
transaction Id associated with an open transaction instead of NewtransactionId.

This patch just does the renaming. No functionality change.

I have also introduced a structure "Transaction" which will keep all
the details associated with a transaction. Later patches will add more
fields in this structure.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
7b0a1b814b devmapper: Allocate new transaction Id using current transaction Id
Currently new transaction Id is created using allocateTransactionId()
function. This function takes NewTransactionId and bumps up by one 
to create NewTransactionId.

I think ideally we should be bumping up devices.TransactionId by 1
to come up with NewTransactionId. Because idea is that devices.TransactionId
contains the current pool transaction Id and to come up with a new
transaction Id bump it up by one.

Current code is not wrong as we are keeping NewTransactionId and
TransactionId in sync. But it will be more direct if we look at
devices.TransactionId to come up with NewTransactionId. That way
we don't have to even initialize NewTransactionId during startup
as first time somebody wants to do a transaction, it will be
allocated fresh.

So simplify the code a bit. No functionality change.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
6d347aeb69 devmapper: Remove unnecessary condition check in updatePoolTransactionId()
Currently updatePoolTransactionId() checks if NewTransactionId and
TransactionId are not same only then update the transaction Id in pool. This
check is redundant. Currently we call updatePoolTransactionId() only from
two places and both of these first allocate a new transaction Id.

Also updatePoolTransactionId() should only be called after allocating
new transaction Id otherwise it does not make any sense.

Remove the redundant check and reduce confusion.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
ad9118c696 devmapper: Create new helper function for device and snap creation
Create two new helper functions for device and snap device creation. These
functions will not only create the device and also register the device.

Again, makes the code structure better and keeps all transaction logic
contained to functions instead of spilling over into functions like
setupBaseImage or AddDevice().

Just the code reorganization. No functionality change.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
442247927b devmapper: Provide a function unregisterDevice()
Currently registerDevice() adds a device to in-memory table, saves metadata
and also updates the pool transaction ID.

Now move transaciton Id update out of registerDevice() and provide a new
function unregisterDevice() which does the reverse of registerDevice().
This will simplify some code down the line and make it more structured.

This is just code reorganization and should not change functionality.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
7b2b15d3e9 devmapper: Use device id as specified by caller
Currently devicemapper CreateDevice and CreateSnapDevice keep on retrying
device creation till a suitable device id is found. 

With new transaction mechanism we need to store device id in transaction
before it has been created.

So change the logic in such a way that caller decides the devices Id to
use. If that device Id is not available, caller bumps up the device Id
and retries.

That way caller can update transaciton too when it tries a new Id. Transaction
related patches will come later in the series.
  
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
5be77901cd devmapper: Do not add back device into hash map if meta file removal failed
When we are deleting a device, we also delete associated metadata file. If
that file removal fails, we are adding back the device in in-memory
table. I really can't see what's the point. When next lookup takes place
it will be automatically loaded if need be. Remove that code.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
824a87f7ef devmapper: Move pool id query and migration of old data in separate function
Right now initMetaData() first queries the pool for current transaciton Id
and then it migrates the old metafile.

Move pool transaction Id query and file migration in separate functions
for better code reuse and organization.

Given we have removed device transaction Id dependency from saveMetaData(),
we don't have to query pool transaction Id before migrating files.
 
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
0db6cc85ed devmapper: Remove transaction Id update from saveMetaData()
Right now saveMetaData() is kind of little overloaded function. It is
supposed to save file metadata to disk. But in addition if user has
bumped up NewTransactionId before calling saveMetaData(), then it will
also update the transaction ID in pool.

Keep saveMetaData() simple and let it just save the file. Any update
of pool transaction ID is done inline in the code which needs it.

Also create an helper function updatePoolTransactionId() to update pool
transaction Id.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
004d8b9b33 devmapper: Remove unnecessary call to allocateTransactionId() during device removal
Remove call to allocateTransactionId() during device removal. This seems to
be unnecessary and it is not clear what this call is doing.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
b721d6d8d0 devmapper: Do not check for transaction id during device metadata loading
Again, just because device transaction id is greater than pool transaction
id, it does not guarantee that device is in the pool. So do not check
of this during loading of device metadata.

Docker needs to deal with it. And device activation will fail when we try
to activate a device for whom metafile is present but there is no device
in the pool.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Vivek Goyal
bb00453e58 devmapper: Do not check for pool transaction id during old metadata migration
Current code is associating a transaction id with each device and if pool
transaction id is greater that value, then current code assumes that device
is there in pool.

Transaction id of pool is a mechanism so that during device creation and
removal one can define a transaction and during startup figure out if
transaction was complete or not. I think we are using transaction id 
throughout the code little inappropriately.

For example, if a device is being deleted, it is possible that we deleted
the device from pool but before we could delete metafile docker crashed.
When docker comes back it will think that device is in the pool (due to
device transaction id being less than pool transaction id) but device
is not in the pool.

Similary, it could happen that some data in the pool is corrupted and
during pool repair some devices are lost (without docker knowing about
it). In that case tool pool transaction id will be higher than device
transaction id and there are no guaratees that device is actually in
the pool.

So move away from this model where we think that a device is in pool if pool
transaction id is greater than device transaction Id. Per device
transaction Id just says that after device creation this should be pool's
transaction Id and nothing more.

Transaction id is per pool property (as opposed to per device property) and
will be used internally to figure out if last transaction was complete or
not and recover from failure during docker startup.  

If for some reason metafile is present but device is not in pool, then 
device activation will fail later.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-12-03 13:06:43 -05:00
Lénaïc Huard
2352f00e4f Remove the last references to overlayfs
This only renames docker internal structures.
It has no impact on the end-user.

Signed-off-by: Lénaïc Huard <lhuard@amadeus.com>
2014-12-03 14:06:19 +01:00
Lénaïc Huard
d680ca5c96 Rename the overlay storage driver
so that docker is started with `docker -d -s overlay` instead of `docker -d -s overlayfs`

Signed-off-by: Lénaïc Huard <lhuard@amadeus.com>
2014-12-03 13:57:23 +01:00
Sven Dowideit
070a519a9b fixes as per feedback
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-12-03 12:46:23 +10:00
Sven Dowideit
94d67d5d5b Try out a different phrase for --icc
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-12-03 12:46:23 +10:00
Sven Dowideit
a74c12177f 80-char limit
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-12-03 12:46:16 +10:00
Michal Minar
a2aa78f6ec Doc: described storage-driver options in cli reference
Documented --storage-opt=[] option in cli reference page. Content taken
from:

  daemon/graphdriver/devmapper/README.md

Signed-off-by: Michal Minar <miminar@redhat.com>

Docker-DCO-1.1-Signed-off-by: Michal Minar <miminar@redhat.com> (github: SvenDowideit)
2014-12-03 12:46:16 +10:00
Michal Minar
aa00ad47e2 Man: describe storage options
Documented --storage-opt=[] option in man page. Content taken from:

  daemon/graphdriver/devmapper/README.md

Signed-off-by: Michal Minar <miminar@redhat.com>

Docker-DCO-1.1-Signed-off-by: Michal Minar <miminar@redhat.com> (github: SvenDowideit)
2014-12-03 12:46:16 +10:00
Michal Minar
a61a4a3188 Man: describe --icc option better
Current description is misleading. It make an impression the --icc=false
prevents containers to talk with each other.

Signed-off-by: Michal Minar <miminar@redhat.com>

Docker-DCO-1.1-Signed-off-by: Michal Minar <miminar@redhat.com> (github: SvenDowideit)
2014-12-03 12:46:16 +10:00
Sven Dowideit
70c4b4eded Merge pull request #9429 from sindhus/patch-1
Fix dead link in oracle.md
2014-12-03 12:38:17 +10:00
Fred Lifton
315520b845 Merge pull request #9430 from sindhus/patch-3
Fix dead link cli.md
2014-12-02 16:06:48 -08:00
Michael Crosby
bc7ef42716 Merge pull request #9463 from jlhawn/tarsum_test_fix
Fix TarSum iteration test
2014-12-02 15:55:07 -08:00
Josh Hawn
8d9e25dbdd Fix TarSum iteration test
I noticed that 3 of the tarsum test cases had expected a tarsum with
a sha256 hash of
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
As I've been working with sha256 quite a bit lately, it struck me that
this is the initial digest value for sha256, which means that no data
was processed. However, these tests *do* process data. It turns out that
there was a bug in the test handling code which did not wait for tarsum
to end completely. This patch corrects these test cases.

I'm unaware of anywhere else in the code base where this would be an issue,
though we definitily need to look out in the future to ensure we are
completing tarsum reads (waiting for EOF).

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-12-02 15:28:13 -08:00
James Turnbull
1e81a69618 Merge pull request #9460 from shin-/docs_webhooks2
Webhooks documentation: additional improvements
2014-12-02 17:42:26 -05:00
James Turnbull
6a98ce2fc0 Merge pull request #9273 from programmerq/dockerimages_hub
refer to the registry instead of the hub
2014-12-02 17:15:04 -05:00
Joffrey F
bcef353557 Webhooks documentation: second pass addressing @fredlf's comments
Signed-off-by: Joffrey F <joffrey@docker.com>
2014-12-02 13:49:17 -08:00
Jessie Frazelle
906c7211e6 Merge pull request #9457 from icecrime/engine_logf
Remove unused Engine.Logf method
2014-12-02 12:17:11 -08:00
Arnaud Porterie
59da197de8 Remove unused Engine.Logf
The `Engine.Logf` method was unused and confusing.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-02 10:47:57 -08:00
Alexander Morozov
50445e4d0c Merge pull request #9435 from cpuguy83/9414_fix_exec_api_error_no_cmd
Check for no `Cmd` on exec create endpoint
2014-12-02 10:28:44 -08:00
Michael Crosby
e40bbf3b9a Merge pull request #9441 from LK4D4/retry_any_error_on_portmap
Try other port on any error from Map
2014-12-02 09:51:50 -08:00
Jeff Anderson
46437d1a60 Update dockerimages.md
remove 'public registry'

Signed-off-by: Jeff Anderson <jeff@docker.com>
2014-12-02 10:48:39 -07:00
Michael Crosby
5ec3a038a0 Merge pull request #9442 from icecrime/8658-tls_attach_hangs
Fix client-side HTTP hijacking over TLS
2014-12-02 09:47:29 -08:00
Erik Hollensbe
fb06e1c6eb graphdb: initialize the database semi-idempotently on every connection.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-12-02 03:02:25 -08:00
Lénaïc Huard
c57317893a Rename overlayfs to overlay
Since Linux 3.18-rc6, overlayfs has been renamed overlay.

This change was introduced by the following commit in linux.git:
ef94b1864d1ed5be54376404bb23d22ed0481feb ovl: rename filesystem type to "overlay"

Signed-off-by: Lénaïc Huard <lhuard@amadeus.com>
2014-12-02 10:02:59 +01:00
Arnaud Porterie
e98e56bb1e Fix client-side HTTP hijacking over TLS
Properly CloseWrite() the client socket once done with stdin when using
TLS connection (this used to rely on an erroneous type assertion).

Fixes #8658.
Fixes #8642.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Signed-off-by: Michael Crosby <crosby.michael@gmail.com>
2014-12-01 18:13:52 -08:00
Sven Dowideit
b487d2f2ff Merge pull request #9330 from TomasTomecek/master
docs: man docker-images: inconsistent naming
2014-12-02 11:42:29 +10:00
James Turnbull
b241571102 Merge pull request #9431 from sindhus/patch-4
Fix dead link build.md
2014-12-01 20:29:48 -05:00
Victor Vieux
65e75998af Merge pull request #9425 from HuKeping/master
inspect: format the output of docker inspect
2014-12-01 16:51:47 -08:00
Alexandr Morozov
a00a1a1fca Try other port on any error from Map
Sometimes other programs can bind on ports from our range, so we just
skip this ports on allocation.

Fixes #9293
Probably fixes #8714

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2014-12-01 16:26:30 -08:00
Brian Goff
c8a3d31332 Check for no Cmd on exec create endpoint
Fixes #9414

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-12-01 17:54:15 -05:00
Jessie Frazelle
bdaf562b4c Merge pull request #9438 from crosbymichael/label-std-mounts
Label std mounts
2014-12-01 14:37:42 -08:00
Michael Crosby
92c840c87d Merge pull request #9439 from blakery/master
Cleanup: remove obsolete workaround
2014-12-01 13:14:47 -08:00
Michael Crosby
305e9cd2fa Label standard mounts within loop
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-12-01 14:54:14 -05:00
Michael Crosby
42522d29c7 Merge pull request #9407 from hqhq/hq_fix_comments
flag: fix the comments
2014-12-01 11:27:06 -08:00
Michael Crosby
2df1365819 Merge pull request #9424 from irachex/pprof_block
Attach goroutine blocking profiler
2014-12-01 11:13:05 -08:00
unclejack
8ddb42fbfd Merge pull request #9378 from LK4D4/change_breakout_detection
Change symlink breakout detection logic in archive package
2014-12-01 19:23:18 +02:00
Blake Geno
9200fdd197 remove obsolete workaround
Signed-off-by: Blake Geno <blakegeno@gmail.com>
2014-12-01 11:44:13 -05:00
Sindhu S
7754ef1f06 Fix dead link build.md 2014-12-01 19:35:58 +05:30
Sindhu S
b1dc0db56a Fix dead link cli.md 2014-12-01 19:28:02 +05:30
Sindhu S
ffda2035e5 Fix dead link in oracle.md 2014-12-01 19:07:04 +05:30
Huayi Zhang
51172493ab Attach goroutine blocking profiler
/debug/pprof/block is 404 currently

Signed-off-by: Huayi Zhang <irachex@gmail.com>
2014-12-01 16:46:59 +08:00
HuKeping
921346be48 inspect: format the output of docker inspect
Prior to this patch, one would get the output of docker inspect xxx
as below:

user@server:/mnt$ docker inspect ubuntu
[{
    "Architecture": "amd64",

    ...

    "VirtualSize": 199257566
}
]user@server:/mnt$

The last ']' was on the same line with the prompt, i wonder if it is
really what we want it be, it is a little weird, so i add a '\n' to it.

Signed-off-by: Hu Keping <hukeping@huawei.com>
2014-12-01 16:28:08 +08:00
James Turnbull
653be15f17 Merge pull request #9421 from nealmcb/9418-registry_api-source-link
Fixes #9418 Docker Registry now open source
2014-12-01 01:11:49 -05:00
Neal McBurnett
4bf72613fe Fixes #9418 Docker Registry now open source
Signed-off-by: Neal McBurnett <neal@mcburnett.org>
2014-11-30 21:12:57 -07:00
Sven Dowideit
595cd5279e Merge pull request #9194 from flavio/update_installation_docs
Update installation docs
2014-12-01 13:18:12 +10:00
Sven Dowideit
3fce883a95 Merge pull request #9322 from javawizard/patch-1
Correct inaccuracy in docker pull documentation
2014-12-01 12:53:33 +10:00
Flavio Castelli
47d8ec0a42 Cover openSUSE and SUSE Linux Enterprise on the same page
Updated the documentation to cover the installation of Docker on
openSUSE and on SUSE Linux Enterprise.

Docker-DCO-1.1-Signed-off-by: Flavio Castelli <fcastelli@suse.com> (github: flavio)
2014-12-01 01:23:38 +01:00
Alexander Boyd
eb8e84c48a Correct inaccuracy in docker pull documentation
Signed-off-by: Alexander Boyd <alex@opengroove.org>
2014-11-29 23:36:19 -07:00
Qiang Huang
9cc73c62e6 flag: fix the comments
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2014-11-30 01:58:16 +08:00
James Turnbull
353ff40181 Merge pull request #9332 from jacobat/patch-1
Update documentation for EXPOSE
2014-11-29 09:27:49 -05:00
Jacob Atzen
8432224f0e Update documentation for EXPOSE
The documentation for EXPOSE seems to indicate, that EXPOSE is only relevant in
the context of links, which is not the case.

Signed-off-by: Jacob Atzen <jatzen@gmail.com>
2014-11-29 15:18:18 +01:00
James Turnbull
0675d7bbba Merge pull request #9335 from jamtur01/typo
Removed extraneous )
2014-11-29 02:14:10 -05:00
James Turnbull
5336f44630 Merge pull request #9396 from a-ba/fix-docs-update
fixed regression in docs-update.py
2014-11-29 02:12:54 -05:00
James Turnbull
9aad1a7d10 Merge pull request #9321 from shin-/docs_webhooks2
Expanded documentation for Webhooks 2.0
2014-11-29 02:11:38 -05:00
Jessie Frazelle
19844140d3 Merge pull request #9400 from emilymaier/9389-fix
Fixes race condition in test. Closes #9389.
2014-11-28 21:02:52 -07:00
Fred Lifton
2c97cc3995 Merge pull request #9227 from SvenDowideit/add-client-ip-to-hosts
Add an example of how to add your client IP to the container hosts file
2014-11-28 17:44:11 -08:00
Fred Lifton
11069f257f Merge pull request #9337 from shishir-a412ed/deprecated-images-t-v
Removing description for 'docker images' -t and -v flags, since they are deprecated.
2014-11-28 17:35:36 -08:00
Fred Lifton
6a4d4fb2f5 Merge pull request #9347 from SvenDowideit/extract-systemd-docs
Extract the systemd docs from various places and add a little more
2014-11-28 17:12:00 -08:00
Emily Maier
9c5e61c24c Fixes race condition in test. Closes #9389.
Signed-off-by: Emily Maier <emily@emilymaier.net>
2014-11-28 13:48:50 -05:00
Alexandr Morozov
be5bfbe221 Change path breakout detection logic in archive package
Fixes #9375

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-28 09:44:47 -08:00
Anthony Baire
9f8c14026c fixed regression in docs-update.py
17500eb renamed 'help' as 'help_string', but there was a miss


Signed-off-by: Anthony Baire <Anthony.Baire@irisa.fr>
2014-11-28 13:36:27 +01:00
Tomas Tomecek
095027944f docs: man docker-images: inconsistent naming
Synopsis is mentioning "NAME" while description is describing "REPOSITORY".

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2014-11-28 08:57:07 +01:00
James Turnbull
4083fa2620 Merge pull request #9285 from therealprologic/update-crux-docs
Updated installation docs for CRUX as a Docker Host.
2014-11-27 02:36:05 -05:00
Sven Dowideit
54050083d1 Add an example of how to add your client IP to the container hosts file
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-11-27 16:36:55 +10:00
James Turnbull
07e9ea86ca Merge pull request #9329 from acbodine/9296-dockervolume-doc-mount-behaviour-fix
Closes #9296 adds a more detailed note about the mount behavior with -v ...
2014-11-27 00:22:19 -05:00
James Turnbull
d3707a9411 Merge pull request #9359 from bfirsh/update-note-format-in-docs-style-guide
Update format of notes in docs style guide
2014-11-26 22:39:31 -05:00
James Turnbull
9e56c614a1 Merge pull request #9368 from msteinert/builder-md-typo
Fix a small typo
2014-11-26 22:39:19 -05:00
Sven Dowideit
ff327f9d57 Merge pull request #9282 from SvenDowideit/explain-VIRTUAL-SIZE
Explain what the VIRTUAL SIZE means
2014-11-27 12:19:09 +10:00
Sven Dowideit
498f208ade Explain what the VIRTUAL SIZE means
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-11-27 12:06:40 +10:00
Fred Lifton
ec07bb48fc Merge pull request #9275 from jfriedly/userguide-typos
Fix typos in the user guide main page
2014-11-26 17:03:59 -08:00
Sven Dowideit
d53b586ff1 Extract the systemd docs from various places and add a little more
Signed-off-by: Sven Dowideit <SvenDowideit@docker.com>
2014-11-27 10:17:46 +10:00
Alexander Morozov
9974fce28a Merge pull request #9366 from yoheiueda/increase-memory-limit
Increase memory limit in integration-cli test cases
2014-11-26 12:09:39 -08:00
Jessie Frazelle
6d171c5340 Merge pull request #9367 from jfrazelle/no-windows-for-you-yet
Windows should not be in "official release" yet
2014-11-26 11:59:21 -08:00
Jessica Frazelle
750dc335a9 Windows should not be officially released.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-26 11:50:07 -08:00
Vincent Batts
b47ff77b5c Merge pull request #9006 from snitm/thin-pool-improvements
Thin pool improvements
2014-11-26 14:44:09 -05:00
Michael Steinert
8b881df9b1 Fix a small typo
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
2014-11-26 13:09:44 -06:00
Yohei Ueda
64fd3e89c7 Increase memory limit in test cases
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-27 03:22:16 +09:00
Ben Firshman
12bc51603b Update format of notes in docs style guide
It seems like all of the notes in the docs are this format.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-11-26 15:15:10 +00:00
Michael Crosby
75b47467aa Merge pull request #9346 from jfrazelle/fix-events-test
fix tests where cmd function does not exist
2014-11-25 18:53:08 -08:00
Jessica Frazelle
8635b0248a fix where cmd function dne
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-25 18:34:08 -08:00
Jessie Frazelle
00c2a8f323 Merge pull request #9208 from duglin/Issue8703
Add support for docker exec to return cmd exitStatus
2014-11-25 18:03:51 -08:00
Jessie Frazelle
9160e01cef Merge pull request #8893 from vieux/filter_events
Events filtering (daemon side)
2014-11-25 17:52:27 -08:00
Doug Davis
90928eb114 Add support for docker exec to return cmd exitStatus
Note - only support the non-detached mode of exec right now.
Another PR will add -d support.

Closes #8703

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-25 17:49:25 -08:00
Michael Crosby
6a0177ed2e Merge pull request #8767 from erikh/update_parents_hosts_part2
Links test cleanup
2014-11-25 17:17:35 -08:00
Vincent Batts
79064a2820 Merge pull request #9279 from yoheiueda/termios-via-cgo
Use termios via CGO
2014-11-25 20:04:26 -05:00
Erik Hollensbe
68bc8de111 Test for updating hosts files via links.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-11-25 16:48:36 -08:00
Erik Hollensbe
20575d20ba Break some routines out of the mutable files test for future use
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-11-25 16:46:09 -08:00
Michael Crosby
1eb5e5d25f Merge pull request #9030 from cpuguy83/cleanup_host_parser
Cleanup ParseHost
2014-11-25 16:15:48 -08:00
Victor Vieux
f0f0e316aa fix tests
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-26 00:00:56 +00:00
Brian Goff
bd4fe9b986 Cleanup ParseHost
Current implementation is comingling things that ought not be together.
There are _some_ similarities between parsing for the different proto
types, but they are more different than alike, making the code extremely
difficult to reason about.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-25 18:55:40 -05:00
unclejack
1dadc51adc Merge pull request #9342 from unclejack/add_tarsum_maintainers
pkg/tarsum: add maintainers & add missing s
2014-11-26 01:45:51 +02:00
unclejack
3db5ea1617 pkg/tarsum: add maintainers & add missing s
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-11-26 00:44:16 +02:00
Michael Crosby
93be7c0e52 Merge pull request #9262 from rhatdan/debug
Allow developers to build docker with debuginfo included
2014-11-25 14:21:00 -08:00
Joffrey F
c83cd5c7ac Expanded documentation for Webhooks 2.0 (chains and callbacks information)
Signed-off-by: Joffrey Fuhrer <joffrey@gmail.com>
2014-11-25 22:22:04 +01:00
Dan Walsh
61b2766e75 Label content created for containers with the private label
Currently this content gets a system label and is not writable based on
SELinux controls.  This patch will set the labels to the correct label.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-11-25 14:12:26 -05:00
Shishir Mahajan
b4b9624447 Removing description for 'docker images' -t and -v flags, since they are deprecated
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>
2014-11-25 14:11:13 -05:00
Dan Walsh
61586414ca Merge branch 'master' of github.com:docker/docker into debug
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-11-25 14:09:19 -05:00
Jessie Frazelle
7ebcdad030 Merge pull request #9238 from albers/bash-completion
Add missing options to bash completion for the run and create commands
2014-11-25 09:27:31 -08:00
James Turnbull
ec8c53228a Removed extraneous )
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-11-25 10:38:16 -05:00
Yohei Ueda
dfcf05a5d0 Use termios via CGO only on Linux
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-25 20:49:01 +09:00
Tatsushi Inagaki
82a5cd0d37 Fix to avoid a compilation error of size_test.go with GCCGO due to float to int truncation
Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>
2014-11-25 18:12:22 +09:00
Harald Albers
eac9f2e5c4 Minor bash completion cleanup
The -n and --networking options were removed because they are
unsupported. 
Bash completion should not reveal the existence of otherwise
undocumented unsupported options.

Signed-off-by: Harald Albers <github@albersweb.de>
2014-11-25 08:53:13 +01:00
Harald Albers
2e863e8a38 Add missing options to bash completion for the run and create commands
Signed-off-by: Harald Albers <github@albersweb.de>
2014-11-25 08:53:12 +01:00
Tatsushi Inagaki
36560a76d7 Revert "Fix to avoid a compile error due to float to int truncation with GCCGO"
This reverts commit 967a42f116.

Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>

Roll back the change to fix the parameter of HumanSize from int64 to float64
2014-11-25 16:48:09 +09:00
Andrew C. Bodine
efb8e8a345 Closes #9296 adds a more detailed note about the mount behavior with -v flag
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2014-11-24 23:41:49 -08:00
Vincent Batts
7f84174109 tarsum: updates for jamtur01 comments
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-24 23:18:48 -05:00
Vincent Batts
3d6e63e0c4 pkg/tarsum: review cleanup
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-24 23:18:48 -05:00
Vincent Batts
3e08fb5ad2 pkg/tarsum: review amendments
(separate commit to preserve github conversation)

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-24 23:18:48 -05:00
Vincent Batts
f30fee69b1 pkg/tarsum: specification on TarSum checksum
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-24 23:18:47 -05:00
Jessie Frazelle
27127437a6 Merge pull request #9224 from tianon/custom-debootstrap
Allow for custom debootstrap wrappers like qemu-debootstrap in contrib/mkimage/debootstrap
2014-11-24 18:11:59 -08:00
Mike Snitzer
b9f1b0a751 devmapper: cleanup some extraneous branching in setupBaseImage()
Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-11-24 20:06:41 -05:00
Tibor Vass
498985a039 Merge pull request #9325 from unclejack/add_1.3.2_relnotes
docs: Add 1.3.2 release notes
2014-11-24 20:06:34 -05:00
Tibor Vass
4dd3368b51 docs: Add 1.3.2 release notes
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-25 03:02:27 +02:00
Tibor Vass
e6ec703df3 Merge pull request #9323 from unclejack/merge_release_v1.3.2
Merge release v1.3.2 to master
2014-11-24 19:26:36 -05:00
Jessie Frazelle
2ad98b0cfa Merge pull request #9324 from crosbymichael/git-urls
Move IsGIT and IsURL to urlutil package
2014-11-24 16:07:42 -08:00
Tibor Vass
b21e1d4a00 Add v1.3.2 changelog & bump version to 1.3.2-dev
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-11-25 02:07:01 +02:00
unclejack
2ec2237909 graph/load: add build tags to fix make cross
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-11-25 02:06:45 +02:00
Michael Crosby
5794b5373e Update code for use of urlutil pkg
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-24 18:47:42 -05:00
Michael Crosby
fc66a22df6 Merge pull request #9173 from vbatts/vbatts-dm_clarify_TaskCreate
pkg/devicemapper: clarify TaskCreate and createTask
2014-11-24 15:45:54 -08:00
Victor Vieux
4996d46a36 Merge pull request #9289 from duglin/mflagSetTest
Add missing unit testcase for new IsSet() func in mflag
2014-11-24 15:26:25 -08:00
Michael Crosby
feca1b1780 Move git and url checks into pkg
This moves the IsGIT and IsURL functions out of the generic `utils`
package and into their own `urlutil` pkg.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-24 18:10:37 -05:00
Tibor Vass
f6d9780229 archive: do not call FollowSymlinkInScope in createTarFile
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-25 01:03:41 +02:00
unclejack
330171e1d9 pkg/chrootarchive: provide TMPDIR for ApplyLayer
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-25 01:03:41 +02:00
Tibor Vass
31d1d73303 archive: prevent breakout in ApplyLayer
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-25 01:03:41 +02:00
Tibor Vass
1852cc3841 archive: prevent breakout in Untar
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-25 01:03:41 +02:00
Tibor Vass
221617dbcd archive: add breakout tests
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	pkg/archive/archive.go
		fixed conflict which git couldn't fix with the added BreakoutError

Conflicts:
	pkg/archive/archive_test.go
		fixed conflict in imports
2014-11-25 01:03:41 +02:00
unclejack
209deff963 don't call reexec.Init from chrootarchive
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)

Conflicts:
	daemon/graphdriver/aufs/aufs_test.go
		fixed conflict caused by imports
2014-11-25 01:03:40 +02:00
Tibor Vass
9c01bc249d pkg/chrootarchive: pass TarOptions via CLI arg
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	graph/load.go
		fixed conflict in imports
2014-11-25 01:03:40 +02:00
unclejack
1cb17f03d0 add pkg/chrootarchive and use it on the daemon
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)

Conflicts:
	builder/internals.go
	daemon/graphdriver/aufs/aufs.go
	daemon/volumes.go
		fixed conflicts in imports
2014-11-25 01:03:40 +02:00
Michael Crosby
fa1484d12c Add AppArmorProfile to container inspect json
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-25 01:03:40 +02:00
Michael Crosby
294843ef23 Move security opts to HostConfig
These settings need to be in the HostConfig so that they are not
committed to an image and cannot introduce a security issue.

We can safely move this field from the Config to the HostConfig
without any regressions because these settings are consumed at container
created and used to populate fields on the Container struct.  Because of
this, existing settings will be honored for containers already created
on a daemon with custom security settings and prevent values being
consumed via an Image.

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

Conflicts:
	daemon/create.go
		changing config to hostConfig was required to fix the
		 build
2014-11-25 01:02:30 +02:00
Michael Crosby
df7c22dd23 Merge pull request #9162 from aidanhs/patch-1
Allow git@ urls for more than just github
2014-11-24 14:51:52 -08:00
unclejack
faab87cc36 pkg/symlink: avoid following out of scope
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-25 00:27:05 +02:00
Jessie Frazelle
39284be960 Merge pull request #9263 from cpuguy83/docs_cleanup_exec_api
Cleanup exec API docs and available params
2014-11-24 13:35:45 -08:00
Aidan Hobson Sayers
c7e4cc4a53 Allow git@ prefixes for any hosted git service
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
2014-11-24 20:49:54 +00:00
Tianon Gravi
748fe7a0fa Merge pull request #9291 from vincentbernat/fix/zsh-completion-update-2
zsh: correctly parse available subcommands (completion)
2014-11-24 13:36:58 -07:00
Michael Crosby
b4757445ae Merge pull request #9301 from krivenok/master
Fixed typo in documentation.
2014-11-24 12:27:56 -08:00
Michael Crosby
5e19ecf25c Merge pull request #9281 from unclejack/build_pull_flag
build: add pull flag to force image pulling
2014-11-24 12:10:45 -08:00
Jessie Frazelle
fefaf6a73d Merge pull request #9290 from vaijab/registry-address
registry: fix ServerAddress setting
2014-11-24 12:02:12 -08:00
Jessie Frazelle
66266a0ed9 Merge pull request #9312 from daehyeok/deprecated_cmd
remove deprecated cmd function in integration-cli
2014-11-24 11:58:13 -08:00
Michael Crosby
cbc401ccfa Merge pull request #9303 from rmetzler/patch-1
Empty Line should fix Markdown unordered list
2014-11-24 11:55:21 -08:00
Vincent Batts
e07daa58d9 contrib: fix the docker-device-tool
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-11-24 13:49:09 -05:00
Vaidas Jablonskis
d96832cbd2 registry: fix ServerAddress setting
This ensures that ServerAddress is set, while previously it was getting
set after configFile.Configs.

Signed-off-by: Vaidas Jablonskis <jablonskis@gmail.com>
2014-11-24 18:26:41 +00:00
Dmitry V. Krivenok
5deedef42c Made wording a bit more generic. 2014-11-24 21:22:54 +03:00
Daehyeok Mun
7fbbd515b1 remove deprecated cmd function in integration-cli
Remove deprecated cmd function in integration-cli
and change cmd to dockerCmd in all test files

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2014-11-25 00:32:38 +09:00
Richard Metzler
91a8b916b0 Empty Line should fix Markdown unordered list
Without the line break the list would render as one single paragraph.
2014-11-23 23:57:43 +01:00
Dmitry V. Krivenok
745e3f77a1 Fixed typo in documentation. 2014-11-23 22:59:35 +03:00
Vincent Bernat
34fe2a3725 zsh: correctly parse available subcommands
A lot of flags have been added on the output of `docker help`. Use a
more robust method to extract the list of available subcommands by
spotting the `Command:` line and the next blank line.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2014-11-23 00:45:14 +01:00
Doug Davis
88afbc4d94 Add missing unit testcase for new IsSet() func in mflag
Forgot to add this when I did PR #9259

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-22 05:37:36 -08:00
James Mills
30979ad5a0 Updated installation docs for CRUX as a Docker Host.
Docker-DCO-1.1-Signed-off-by: James Mills <prologic@shortcircuit.net.au> (github: therealprologic)
2014-11-22 17:18:11 +10:00
Jessie Frazelle
c59b308b6b Merge pull request #9223 from vbatts/vbatts-overlay_notfound
overlayfs: more helpful output when not supported
2014-11-21 19:58:01 -08:00
Mike Snitzer
553b50bd37 devmapper: remove unnecessary else branch in getPoolName()
Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-11-21 21:36:23 -05:00
Brian Goff
d4ba00bd42 Cleanup exec API docs and available params
Adds pertitent information about what is expected in the json payload
and comments out unsupported (exec) features in runConfig.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-21 21:11:07 -05:00
Jessie Frazelle
d7626e97b6 Merge pull request #9188 from somaopensource/8777-fix
Fix for #8777 (continuing PR #9061)
2014-11-21 17:57:56 -08:00
Vincent Batts
acdf766069 pkg/devicemapper: clarify TaskCreate and createTask
* Rename and expose createTask() to TaskCreateNamed()
* add comments

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-21 20:54:50 -05:00
Michael Crosby
fb1540199e Merge pull request #9183 from vbatts/dm_udevwait
devmapper: Call UdevWait() even in failure path
2014-11-21 17:28:37 -08:00
Vincent Batts
104d27a07b Merge pull request #9267 from crosbymichael/devmapper-mknod
Mknod more loopbacks for devmapper
2014-11-21 20:23:43 -05:00
Michael Crosby
e820365b67 Merge pull request #9086 from vbatts/vbatts-tarsum_more_tests
pkg/tarsum: adding more tests
2014-11-21 17:12:55 -08:00
Michael Crosby
496db275d5 Merge pull request #9185 from djmaze/patch-1
Fix link to MAINTAINERS.md in CONTRIBUTING.md
2014-11-21 16:40:27 -08:00
Michael Crosby
f8509e7940 Mknod more loopbacks for devmapper
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-21 16:20:35 -08:00
Martin Honermeyer
20218f3971 Fix link to MAINTAINERS.md in CONTRIBUTING.md
Signed-off-by: Martin Honermeyer <maze@strahlungsfrei.de>
2014-11-22 01:18:40 +01:00
unclejack
07b7bdb4fc Merge pull request #9270 from jfrazelle/8919-tag-output
Output image with tag name when image is not found
2014-11-22 01:56:31 +02:00
Michael Crosby
c78bf8d86a Merge pull request #9265 from vieux/daemon_labels
add daemon labels (displayed in docker info)
2014-11-21 15:14:27 -08:00
Tibor Vass
17ba356e9a Merge pull request #9158 from tianon/minor-makefile-preamble-reorg
Add some minor reorganization to the Makefile preamble
2014-11-21 18:02:11 -05:00
Tianon Gravi
82f33d86a7 Add some minor reorganization to the Makefile preamble
The gist here is a reemphasizing of the explicitly "user mutable" bits by putting them first (and hopefully improving readability a little bit in the process).

Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-11-21 15:49:09 -07:00
Sven Dowideit
44159f38d2 Merge pull request #9209 from SvenDowideit/shared-disk-space-images
If an image has more than one repo name or tag, it'll be listed more tha...
2014-11-21 14:07:45 -08:00
Vincent Batts
a43ee077dc Merge pull request #9149 from swagiaal/fix-configureBridge-comment
Remove reference to 'ifaceName' from configureBridge comment.
2014-11-21 16:37:28 -05:00
Vincent Batts
a5277764ae Merge pull request #9009 from a-ba/fix-export-repo
fix missing layers when exporting a full repository
2014-11-21 15:44:27 -05:00
Victor Vieux
62a7d75512 key=values -> key=value
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-21 19:15:22 +00:00
unclejack
054e57a622 build: add pull flag to force image pulling
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
2014-11-21 19:59:44 +02:00
Alexander Morozov
0f2de5158f Merge pull request #9261 from unclejack/fix_test_tmp_cleanup
fix cleanup of /tmp in tests
2014-11-21 08:48:04 -08:00
Arnaud Porterie
ce8ebaf0e0 Merge pull request #9225 from icecrime/win_make_binary
Adapt project/make.sh for Windows builds
2014-11-21 08:37:19 -08:00
unclejack
4180579313 graphdriver/aufs: fix tmp cleanup in tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-21 18:31:45 +02:00
Yohei Ueda
244af451e9 Use termios via CGO
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-21 22:12:03 +09:00
Joel Friedly
2d2b3535ca Fix typos in the user guide main page
Signed-off-by: Joel Friedly <joelfriedly@gmail.com>
2014-11-21 03:17:00 +00:00
Alexander Morozov
e3f3259e00 Merge pull request #9271 from jfrazelle/iptables-errors
Typed errors for iptables chain raw command output. YAYYYYYY.
2014-11-20 19:03:38 -08:00
Jessica Frazelle
f6c7194539 Apply same typed iptables errors to network driver.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-20 18:07:15 -08:00
Jessica Frazelle
6cc75574b3 Typed errors for iptables chain raw command output. YAYYYYYY.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-20 18:07:11 -08:00
Michael Crosby
532e502e9c Merge pull request #9259 from duglin/Issue9221
Make --tlsverify enable tls regardless of value specified
2014-11-20 17:41:31 -08:00
Michael Crosby
5d67a3faea Merge pull request #9248 from vbatts/vbatts-fix_gh9241
pkg/tarsum: actually init the TarSum struct
2014-11-20 17:15:15 -08:00
Jeff Anderson
7b20c1fd18 refer to the registry instead of the hub
Signed-off-by: Jeff Anderson <jeff@docker.com>
2014-11-20 16:54:46 -08:00
unclejack
5cde77d003 Merge pull request #9269 from crosbymichael/update-libcontainer-nov20
Update libcontainer to 84c1636580a356db88b079d118b94abe6a1a0acd
2014-11-21 02:50:04 +02:00
Doug Davis
ae9bd580af Make --tlsverify enable tls regardless of value specified
I also needed to add a mflag.IsSet() function that allows you to check
to see if a certain flag was actually specified on the cmd line.

Per #9221 - also tweaked the docs to fix a typo.

Closes #9221

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-20 16:09:06 -08:00
Fred Lifton
29f4ea2cd5 Merge pull request #9220 from SvenDowideit/add-apache-foreground-eg
Add an example that shows starting apache in the foreground
2014-11-20 16:02:38 -08:00
Michael Crosby
c1a40d9279 Merge pull request #9228 from SvenDowideit/update-tlsverify-doc
tlsverify flag has no dash
2014-11-20 15:19:31 -08:00
Jessica Frazelle
e527be1f14 Fix tag output where image is not found.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-20 15:09:09 -08:00
Lei Jitang
7a7890950d Fix create container output messages.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Jessica Frazelle <jess@docker.com>
2014-11-20 15:03:27 -08:00
Michael Crosby
56c3753631 Revert "Support hairpin NAT"
This reverts commit 95a400e6e1.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-20 14:22:32 -08:00
Sven Dowideit
8d3b13bd7a Add an example that shows starting apache in the foreground
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-20 14:21:05 -08:00
Michael Crosby
4acdb7ddc7 Merge pull request #9260 from LK4D4/increase_proxy_timeout
Increase timeout for userland proxy starting
2014-11-20 14:20:31 -08:00
Michael Crosby
f42176434a Update libcontainer to 84c1636580a356db88b079d118b
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-20 14:19:24 -08:00
Michael Crosby
9a917e732c Merge pull request #9174 from dqminh/docker-exec-env
Set correct env variables for `docker exec` commands
2014-11-20 13:31:51 -08:00
Michael Crosby
58b6f31a7a Merge pull request #8251 from duglin/Issue2333
Add support for ENV of the form: ENV name=value ...
2014-11-20 13:12:24 -08:00
Victor Vieux
284cbda9ce docs nits
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 19:54:03 +00:00
Victor Vieux
7ff3b81054 events filtering
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 19:46:48 +00:00
Victor Vieux
2fe36baa0a add daemon labels
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 19:23:58 +00:00
Tibor Vass
998b591a71 Merge pull request #9201 from vieux/add_hostname_docker_info
Add hostname and ID docker info
2014-11-20 13:11:16 -05:00
Daniel, Dao Quang Minh
2bceaae423 test case for preserving env in exec session
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-20 13:05:37 -05:00
Dan Walsh
bce9ed0e4c Allow developers to build docker with debuginfo included
If you execute

DEBUG=-g hack/make.sh dynbinary

Docker will be build with the debug info making it easier to use
cgdb or lightide to debug.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-11-20 12:59:50 -05:00
Doug Davis
1314e1586f Add support for ENV of the form: ENV name=value ...
still supports the old form: ENV name value

Also, fixed an issue with the parser where it would ignore lines
at the end of the Dockerfile that ended with \

Closes #2333

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-20 09:54:28 -08:00
Victor Vieux
8ef36dcfe7 update docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 17:40:08 +00:00
Victor Vieux
227f4bbdb3 Hostname -> Name
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 17:40:08 +00:00
Victor Vieux
6e92dfdfd8 Update libtrust version
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-20 17:39:54 +00:00
unclejack
db7fded17f integ-cli: fix cleanup in build tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-20 19:38:41 +02:00
unclejack
98307c8fae integ-cli: fix cleanup in test which mounts tmpfs
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-20 19:37:46 +02:00
unclejack
4508bd94b0 pkg/symlink: fix cleanup for tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-20 19:36:54 +02:00
unclejack
32ba6ab83c pkg/archive: fix TempArchive cleanup w/ one read
This fixes the removal of TempArchives which can read with only one
read. Such archives weren't getting removed because EOF wasn't being
triggered.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-20 19:34:35 +02:00
unclejack
769b79866a pkg/system: fix cleanup in tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-20 19:33:15 +02:00
Alexandr Morozov
72c55e8215 Increase timeout for userland proxy starting
Fixes #8883

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-20 09:02:42 -08:00
Arnaud Porterie
7c225333f2 Allocate daemon listening ports
Mark the daemon listening ports as allocated in the portallocator in
order to prevent containers from exposing this port themselves.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-11-19 23:34:27 -08:00
Oh Jinkyun
4deac03c65 Fix for #8777
Now filter name is trimmed and lowercased before evaluation for case
insensitive and whitespace trimemd check.

Signed-off-by: Oh Jinkyun <tintypemolly@gmail.com>
2014-11-20 13:36:46 +09:00
Michael Crosby
739d917d70 Merge pull request #9226 from crosbymichael/container-net-test
Add test for --net container:<id>
2014-11-19 17:57:45 -08:00
Michael Crosby
d4ca9e5cce Merge pull request #9211 from mtesselH/login
Fixed a bug - no panic anymore when logining in without TTY
2014-11-19 17:52:35 -08:00
Michael Crosby
71209f7579 Add test for --net container:<id>
This adds an integration test for checking that the network namespace
fds are the same when a container joins another container's network
namespace.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-19 17:43:04 -08:00
Michael Crosby
adc344dfde Merge pull request #9180 from chenchun/master
Clean config path of bind mount volume
2014-11-19 17:41:46 -08:00
Vincent Batts
cb57c38848 overlayfs: add --storage-driver doc
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-19 19:36:05 -05:00
Sven Dowideit
3e5cb0c84f Merge pull request #9191 from duglin/Issue8775
Be clearer in docs about COPY/ADD dirs
2014-11-19 15:26:20 -08:00
Jessie Frazelle
eb3bbde6d1 Merge pull request #9251 from tonistiigi/use-format-logging-functions
Fix misuses of format based logging functions
2014-11-19 15:25:42 -08:00
Sven Dowideit
c7e6ad8e98 Merge pull request #9144 from miminar/sigproxy_tty
Corrected description of --sig-proxy
2014-11-19 14:52:01 -08:00
Alexander Morozov
bca63b4f48 Merge pull request #9249 from tonistiigi/integration-cli-cleanup
Make sure integration-cli tests clean up
2014-11-19 14:27:13 -08:00
Tonis Tiigi
6705477673 Fix misuses of format based logging functions
Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-11-19 23:59:02 +02:00
Tonis Tiigi
bbb245defe Fix deleteImages() helper for multiple names
Pass every image name as separate argument.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-11-19 23:42:16 +02:00
Arnaud Porterie
ce86d5ae68 Adapt project/make.sh for Windows builds
Fixes:
- link -H windows is not compatible with -linkmode external
- under Cygwin go does not play well with cygdrive type paths

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-11-19 13:41:57 -08:00
Tonis Tiigi
da3d3b97eb Make sure integration-cli test clean up
Common patterns:
- Multiple images were built with same name but only one cleanup.
- Containers were deleted after images.
- Images not removed after retagging.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-11-19 23:41:46 +02:00
Josh Hawn
e257863a9a Add unit test for tarSum.Sum() with no data
Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-11-19 15:55:21 -05:00
Vincent Batts
6a74f071af pkg/tarsum: actually init the TarSum struct
closes #9241

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-19 15:46:03 -05:00
Vincent Batts
ea5a2c1fd7 issue report script
Add a script that will facilitate standard issue reports.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-11-19 12:32:45 -05:00
Michal Minar
1cd12efb5d Updated sig-proxy text also in zsh completion script
Signed-off-by: Michal Minar <miminar@redhat.com>
2014-11-19 09:09:42 +01:00
Tatsushi Inagaki
967a42f116 Fix to avoid a compile error due to float to int truncation with GCCGO
Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>
2014-11-19 15:06:49 +09:00
Vincent Batts
6c11d07759 CONTRIBUTING: provide a template for new issues
_maybe_ we could even automate this to populate and complain in some
situations.

I see https://github.com/isaacs/github/issues/99 that is old and needs
some love from @github ...

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-19 00:29:04 -05:00
Vincent Batts
3287ca1e45 overlayfs: more helpful output when not supported
based on https://github.com/docker/docker/pull/7619#discussion_r20385086

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-11-18 22:53:04 -05:00
Sven Dowideit
c8926bb579 Merge pull request #9203 from somaopensource/fix_link
fix link to PACKAGERS.md
2014-11-18 18:23:33 -08:00
Chun Chen
f4acfeebda Clean config path of bind mount volume
Signed-off-by: Chun Chen <chenchun.feed@gmail.com>
2014-11-19 10:13:10 +08:00
Sven Dowideit
57b6993c2c If an image has more than one repo name or tag, it'll be listed more than once
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-18 18:06:22 -08:00
Sven Dowideit
a0fb8eca30 tlsverify flag has no dash
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-18 17:42:33 -08:00
James Turnbull
af54dc215f Merge pull request #9219 from acbodine/cleanup-remote-api-docs-start
Cleanup: fixes start response status code typo in examples
2014-11-18 20:25:36 -05:00
Michael Crosby
1bac8f5322 Merge pull request #9039 from ashahab-altiscale/8617-lxc-volume
Have lxc create mount points if they don't exist
2014-11-18 17:24:16 -08:00
Victor Vieux
f676891192 Merge pull request #8905 from 13W/x-registry-auth
allow to use x-registry-auth header with enabled cors
2014-11-18 17:21:22 -08:00
Michael Crosby
0722c9b536 Merge pull request #9187 from icecrime/update_authors_file
Update AUTHORS file
2014-11-18 16:31:07 -08:00
Tianon Gravi
e393ca672e Merge pull request #9218 from tianon/check-overlayfs
Add CONFIG_OVERLAYFS_FS to check-config.sh
2014-11-18 16:56:56 -07:00
Michael Crosby
ca4be114e9 Merge pull request #9216 from jfrazelle/typo-steam
Fix steam where it should be stream.
2014-11-18 15:29:33 -08:00
Jessie Frazelle
9854b0aa40 Merge pull request #8150 from dqminh/pull-output-non-terminal
Pull: print some data instead of newlines when output is not a terminal
2014-11-18 16:20:42 -07:00
Tianon Gravi
33e0de15d7 Allow for custom debootstrap wrappers like qemu-debootstrap in contrib/mkimage/debootstrap
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-11-18 15:13:35 -07:00
Andrew C. Bodine
f9cdad3272 Cleanup: fixes start response status code typo in examples
Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
2014-11-18 11:32:51 -08:00
Tianon Gravi
54a6e6d122 Add CONFIG_OVERLAYFS_FS to check-config.sh
Also, added some slight adjustment to the AUFS_FS output/note to make it more clear what it applies to.

Example output:
```console
$ ./contrib/check-config.sh
info: reading kernel config from /proc/config.gz ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_MACVLAN: enabled
- CONFIG_VETH: enabled
- CONFIG_BRIDGE: enabled
- CONFIG_NF_NAT_IPV4: enabled
- CONFIG_IP_NF_FILTER: enabled
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled
- CONFIG_NF_NAT: enabled
- CONFIG_NF_NAT_NEEDED: enabled

Optional Features:
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_RESOURCE_COUNTERS: enabled
- CONFIG_CGROUP_PERF: missing
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
      (note that some kernels include AUFS patches but not the AUFS_FS flag)
    - CONFIG_EXT4_FS_POSIX_ACL: enabled
    - CONFIG_EXT4_FS_SECURITY: enabled
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled
    - CONFIG_DM_THIN_PROVISIONING: enabled
    - CONFIG_EXT4_FS: enabled
    - CONFIG_EXT4_FS_POSIX_ACL: enabled
    - CONFIG_EXT4_FS_SECURITY: enabled
  - "overlayfs":
    - CONFIG_OVERLAYFS_FS: missing
```

Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-11-18 12:20:49 -07:00
Jessica Frazelle
7fe8d0aeeb Fix steam where it should be stream.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-18 10:49:01 -08:00
Doug Davis
b4346c4810 Be clearer in docs about COPY/ADD dirs
COPY/ADD just copies the contents of dirs, not dirs themselves.
This PR tries to clear that up in the docs.

Closes #8775

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-18 04:33:53 -08:00
James Turnbull
660eadae3d Merge pull request #9189 from satnam6502/docfix
Consistently use sudo docker
2014-11-18 01:17:48 -05:00
James Turnbull
4fff1505eb Merge pull request #9193 from somaopensource/docs_misspelling
Fix misspelling
2014-11-18 01:16:27 -05:00
Marianna
e6fd57b90b Fixed a bug - no panic anymore when logining in without TTY
Fixes #8956

Signed-off-by: Marianna <mtesselh@gmail.com>
2014-11-17 19:41:27 -08:00
Michael Crosby
379c0da464 Merge pull request #8937 from vbatts/vbatts-mount_optional_fields
pkg/mount: include optional field
2014-11-17 18:25:00 -08:00
Michael Crosby
17dfa126ba Merge pull request #9204 from jfrazelle/9056-rmi
Fix for rmi throws error "no such id".
2014-11-17 18:08:52 -08:00
Sven Dowideit
e2d08bd5ea Merge pull request #8749 from brahmaroutu/resize_uponstart_8728_2
Fix the documentation and integration test for container resize
2014-11-17 17:24:58 -08:00
Satnam Singh
b273c447e0 Consistently use sudo docker
Signed-off-by: Satnam Singh <satnam@raintown.org>
2014-11-17 17:14:39 -08:00
Jessica Frazelle
ac40e7cbb3 Fix for rmi -f when error "no such id". (9056)
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-17 17:04:10 -08:00
Jessie Frazelle
882db5f885 Merge pull request #8993 from SvenDowideit/make-ps-size-docs-clearer
makes the -s --size option documentation clearer #8950
2014-11-17 17:42:27 -07:00
Jessie Frazelle
3527d5b817 Merge pull request #9205 from crosbymichael/update-libcontainer-nov17
Update libcontainer to 28cb5f9dfd6f3352c610a4f1502
2014-11-17 16:49:35 -07:00
Jessica Frazelle
a0605107d7 Add test for bug (9056) where rmi -f fails with "no such id".
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-17 15:12:55 -08:00
Vincent Batts
83d7db3e50 pkg/mount: testing mountinfo fields
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-17 16:17:06 -05:00
Michael Crosby
975fa5487c Update libcontainer to 28cb5f9dfd6f3352c610a4f1502
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-17 12:16:37 -08:00
Daehyeok Mun
a3068a109c fix link to PACKAGERS.md
fix link from /hack/PACKAGERS.md to /project/PACKAGERS.md

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2014-11-18 05:03:00 +09:00
Jessie Frazelle
ecaba0eb4a Merge pull request #9197 from somaopensource/remove_obsolete_comment
Remove obsolete comments
2014-11-17 12:53:23 -07:00
Victor Vieux
8545155c41 add docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-17 19:26:43 +00:00
Victor Vieux
9a85f60c75 add ID and Hostname in docker info
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-17 19:23:41 +00:00
Srini Brahmaroutu
91fb9b2f5a Fix the documentation and integration test for container resize
Closes #8728

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-11-17 18:38:08 +00:00
Daehyeok Mun
d5098fde9a Remove obsolete comments
In the below comment line, already codes for log exists so
following comment is obsolete.
// TODO log

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2014-11-17 23:27:03 +09:00
Arnaud Porterie
ab7a6544b0 Update AUTHORS file
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-11-16 23:41:25 -08:00
Arnaud Porterie
34cb92e2d4 Merge pull request #8699 from shuai-z/fix-portalloc
Fix corner cases in ipallocator and portallocator
2014-11-16 22:10:40 -08:00
Daehyeok Mun
bdaa76e8cf Fix misspelling
Fix misspelling from independant to independent

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2014-11-17 04:23:22 +09:00
Alexandr Morozov
61e4b4e1d0 Merge pull request #8335 from duglin/Issue5198
Add --log-level support - Issue #5198
2014-11-15 10:53:31 -08:00
Tibor Vass
08201d021e Merge pull request #9113 from Azure/windows-client
Windows port of Docker Client
2014-11-15 10:40:31 -08:00
Doug Davis
2facc04673 Add --log-level support
Next steps, in another PR, would be:
- make all logging go through the logrus stuff
- I'd like to see if we can remove the env var stuff (like DEBUG) but we'll see

Closes #5198

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-15 09:00:48 -08:00
Vivek Goyal
edc6df256d devmapper: Call UdevWait() even in failure path
Currently we set up a cookie and upon failure not call UdevWait(). This
does not cleanup the cookie and associated semaphore and system will
soon max out on total number of semaphores.

To avoid this, call UdevWait() even in failure path which in turn will
cleanup associated semaphore.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-15 09:41:27 -05:00
Ahmet Alp Balkan
b7703a992e Add windows/(386,amd64) to cross platforms list
Edited make scripts to append .exe to windows binary

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:54 -08:00
Ahmet Alp Balkan
5a38680bd2 Fix input volume path check on Windows
used path package instead of path/filepath so that --volumes and
--device parameters to always validate paths as unix paths instead of
OS-dependent path convention

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:54 -08:00
Ahmet Alp Balkan
d4dbb70832 Use USERPROFILE path on Windows as home directory
Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:54 -08:00
John Gossman
e45b0f9271 Remove unused sysinfo parameter to runconfig.Parse
Removing dead code.

Signed-off-by: John Gossman <johngos@microsoft.com>
2014-11-14 18:20:54 -08:00
Ahmet Alp Balkan
2180aa4f6f Refactor pkg/archive with a platform-independent stat struct
pkg/archive contains code both invoked from cli (cross platform) and
daemon (linux only) and Unix-specific dependencies break compilation on
Windows. We extracted those stat-related funcs into platform specific
implementations at pkg/system and added unit tests.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:54 -08:00
Ahmet Alp Balkan
3d2fae353f Extract mknod, umask, lstat to pkg/system
Some parts of pkg/archive is called on both client/daemon code. To get
it compiling on Windows, these funcs are extracted into files with
build tags.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:54 -08:00
Ahmet Alp Balkan
b64c9b521a Extract TreeSize to daemon build
TreeSize uses syscall.Stat_t which is not available on Windows.
It's called only on daemon path, therefore extracting it to daemon
with build tag 'daemon'

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:53 -08:00
Ahmet Alp Balkan
376ae7780b Consolidate tmpdir implementations, include Windows
Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:53 -08:00
Ahmet Alp Balkan
91a86670aa Extract client signals to pkg/signal
SIGCHLD and SIGWINCH used in api/client (cli code) are not
available on Windows. Extracting into separate files with build
tags.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
2014-11-14 18:20:53 -08:00
John Gossman
975b6e598d Refactor pkg/term package for Windows tty support
Signed-off-by: John Gossman <johngos@microsoft.com>
2014-11-14 18:20:53 -08:00
Michael Crosby
8682bac309 Merge pull request #9151 from tonistiigi/aufs-clipping-fix
Fix AUFS silent mount errors on many layers
2014-11-14 17:35:07 -08:00
Michael Crosby
c89062bafc Merge pull request #9164 from vbatts/vbatts-dm_removedevice
pkg/devicemapper: cleanup removeDevice differences
2014-11-14 16:56:02 -08:00
Solomon Hykes
b7ca8f6f73 Merge pull request #9178 from shykes/hack-to-project
Rename hack to project
2014-11-14 15:23:19 -08:00
Solomon Hykes
10c0e72de8 Merge pull request #9177 from shykes/hack-docs-small-improvements
Small improvements to contribution docs
2014-11-14 15:15:21 -08:00
Solomon Hykes
d32d9300ed Merge pull request #9116 from erikh/update_contributing
Update CONTRIBUTING to reflect new PR-docs process.
2014-11-14 14:52:17 -08:00
Tibor Vass
36503981f0 Merge pull request #9100 from tiborvass/insecure-registry-cidr
Add the possibility of specifying a subnet for --insecure-registry
2014-11-14 13:45:48 -08:00
Michael Crosby
25643f8932 Merge pull request #9172 from vbatts/vbatts-dm_maintainer
pkg/devicemapper: missed MAINTAINERS on split
2014-11-14 13:29:34 -08:00
Tianon Gravi
8bb6957d3b Merge pull request #9165 from hansrodtang/master
Updated cover tool import path.
2014-11-14 14:10:20 -07:00
unclejack
916a10dd91 Merge pull request #7619 from alexlarsson/overlayfs
Add overlayfs graph backend
2014-11-14 22:59:59 +02:00
Tibor Vass
5937663a08 Rewrite documentation for insecure registries
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-14 12:32:56 -08:00
Tibor Vass
6aba75db4e Add the possibility of specifying a subnet for --insecure-registry
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-14 12:31:11 -08:00
Vincent Batts
cef27e1d6c pkg/devicemapper: defer udev wait during removal
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-14 15:17:33 -05:00
Michael Crosby
df603eb4e4 Merge pull request #9108 from vieux/handle_redirects
handle GET redirects over HTTP
2014-11-14 12:07:22 -08:00
Victor Vieux
454f56e37e use _, _ string
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-14 19:31:52 +00:00
Michael Crosby
07996d82c7 Merge pull request #9074 from rhatdan/shm
Allow IPC namespace to be shared between containers or with the host
2014-11-14 10:34:00 -08:00
Brian Goff
7107898d5c Initialize volumes when container is created
Fixes #8942
Current behavior is that volumes aren't initialized until start.
Volumes still need to be initialized on start since VolumesFrom and
Binds can be passed in as part of HostConfig on start, however anything
that's already been initialized will just be skipped as is the current
behavior.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-14 11:37:03 -05:00
Vincent Batts
3ec623ee2f pkg/devicemapper: missed MAINTAINERS on split
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-14 11:12:23 -05:00
Anthony Baire
b37fdc5dd1 fix missing layers when exporting a full repository
Therer is a bug in the 'skip' decision when exporting a repository
(`docker save repo`)

Only the layers of the first image are included in the archive (the
layers of the next images are missing)

Signed-off-by: Anthony Baire <Anthony.Baire@irisa.fr>
2014-11-14 14:41:35 +01:00
unclejack
7b7af6dbae Merge pull request #8999 from yoheiueda/test-unit-without-parallel
Make test-unit runnable without parallel
2014-11-14 15:39:51 +02:00
James Turnbull
70a3f4e8e2 Merge pull request #9156 from pixelistik/patch-1
Fix typo "infortmation" in docs for `docker run`
2014-11-14 08:02:12 -05:00
Hans Rødtang
b4336803f3 Updated cover tool import path.
Signed-off-by: Hans Rødtang <hansrodtang@gmail.com>
2014-11-14 06:16:41 +01:00
Jessie Frazelle
870a695375 Merge pull request #9011 from vbatts/vbatts-btrfs_information
btrfs: information for the information gods
2014-11-13 20:47:07 -08:00
Vincent Batts
c9a7662208 pkg/devicemapper: cleanup removeDevice differences
Fixes failure on RemoveDevice when host is AUFS, and running
devicemapper test docker-in-docker

https://gist.github.com/tonistiigi/59559cbfb3f2df26b29c

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-13 22:43:03 -05:00
Michael Crosby
967354d488 Merge pull request #9131 from vieux/empty_lines_dockerinfo
Do not display empty lines in docker info if the key doesn't exists
2014-11-13 19:08:32 -08:00
Victor Vieux
4f5be9da86 Do not display empty lines in docker info if the key doesn't exists
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-14 02:50:34 +00:00
Michael Crosby
5c863f983d Merge pull request #9107 from ashahab-altiscale/9062-linked-container
Share network namespace of containers with lxc
2014-11-13 18:25:38 -08:00
Michael Crosby
039aa2741f Merge pull request #8964 from jlhawn/image_checksum
Compute TarSum on storage of image layer content
2014-11-13 18:07:20 -08:00
unclejack
3aa2245914 Merge pull request #8869 from jlhawn/tarsum_version
Finalize TarSum Version 1 w/ refactor
2014-11-14 01:12:22 +02:00
pixelistik
cbf2879349 Fix typo "infortmation" in docs for docker run 2014-11-13 23:26:49 +01:00
Vincent Batts
d7c37b5a28 Dockerfile: buildtags for old btrfs
Since the build uses ubuntu 14.04, which has an old btrfs, include the
buildtags needed for this old version to not break the build.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-13 16:44:00 -05:00
Vincent Batts
25154682a5 btrfs: build tag to enable showing version info
be default it is on, with build tags to disable the version info

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-13 16:43:53 -05:00
Jessie Frazelle
b0d219eef0 Merge pull request #9152 from duglin/DockerBuildEnvs
Allow a few more DOCKER_* env vars to pass thru Makefile
2014-11-13 12:52:36 -08:00
Jessie Frazelle
06899e0810 Merge pull request #9064 from recursive-madman/patch-1
Proposed fix for #8979
2014-11-13 12:24:22 -08:00
Vincent Batts
447a1a9bad Merge pull request #9104 from tiborvass/issecure-check-in-new-endpoint
registry: refactor registry.IsSecure calls into registry.NewEndpoint
2014-11-13 14:59:26 -05:00
Michael Crosby
b9fb9787b6 Merge pull request #8930 from vbatts/vbatts-mount_freebsd_fields
pkg/mount: adding fields supported by freebsd
2014-11-13 11:54:16 -08:00
Michael Crosby
e4105e4535 Merge pull request #8897 from vbatts/vbatts-mount_sharedsubtree
pkg/mount: sharedsubtree options and testing
2014-11-13 11:26:29 -08:00
Doug Davis
912b0f0f73 Allow a few more DOCKER_* env vars to pass thru Makefile
I was trying to just build the Docker client but DOCKER_CLIENTONLY wasn't
getting passed thru from the shell to the container building docker.

So, this PR passes this var (via the -e option) on the docker run command
so we pick it up from the devs shell when running "make ...".

While in there I pulled all of the "-e" options into a new Makefile variable
so its easy to see just the list of env vars we pass along.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-13 11:25:11 -08:00
Mike Snitzer
e49567ba72 devmapper: disable discards by default if dm.thinpooldev was specified
User may still enable discards by setting dm.blkdiscard=true

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-11-13 13:37:47 -05:00
Tonis Tiigi
6d97339ca2 Fix AUFS silent mount errors on many layers
Fixes #1171
Fixes #6465

Data passed to mount(2) is clipped to PAGE_SIZE if its bigger. Previous 
implementation checked if error was returned and then started to append layers 
one by one. But if the PAGE_SIZE clipping appeared in between the paths, in the 
permission sections or in xino definition the call would not error and 
remaining layers would just be skipped(or some other unknown situation).

This also optimizes system calls as it tries to mount as much as possible with 
the first mount.


Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-11-13 20:13:13 +02:00
Daniel, Dao Quang Minh
29be7b439e add test for exposing large number of ports
this test checks if exposing a large number of ports in Dockerfile properly
saves the port in configs. We dont actually expose a VERY large number of ports
here because the result is the same and it increases the test time by a few
seconds

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-13 13:08:52 -05:00
Tianon Gravi
70e3cdcdd9 Merge pull request #8644 from tamsky/pull-7698-docfix
Add mention of e2fsprogs to runtime dependencies.
2014-11-13 11:07:13 -07:00
Tianon Gravi
abceeb2ef5 Merge pull request #8960 from LK4D4/add_nf_filter_check
Add check for IP_NF_FILTER
2014-11-13 11:03:29 -07:00
Alexandr Morozov
8f763a09d3 Merge pull request #9143 from coolljt0725/cleanup_defaulttag
Cleanup:change "latest" to graph.DEFAULTTAG
2014-11-13 09:00:00 -08:00
Sami Wagiaalla
a01f1e707e Remove reference to 'ifaceName' from configureBridge comment.
The argument ifaceName was removed in a much earlier commit.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2014-11-13 10:19:56 -05:00
Tibor Vass
fbe10c83d8 registry: parse INDEXSERVERADDRESS into a URL for easier check in isSecure
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-13 07:02:24 -08:00
Michal Minar
e71f241c4b Corrected description of --sig-proxy
Signal proxy does work only in non-TTY mode (--tty=false). Man pages and
commands should not lie about it.

Signed-off-by: Michal Minar <miminar@redhat.com>
2014-11-13 10:50:06 +01:00
Lei Jitang
3c3968692d Cleanup:change latest to graph.DEFAULTTAG
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2014-11-13 16:21:34 +08:00
Victor Vieux
5fbfec333a update timeout
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-13 03:21:18 +00:00
Tibor Vass
78e859f3c3 Put mock registry address in insecureRegistries for unit tests
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-12 20:34:03 -06:00
Tibor Vass
4455f51760 registry: refactor registry.IsSecure calls into registry.NewEndpoint
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-11-12 20:34:03 -06:00
Mike Snitzer
2b10749cdd devmapper: Add option for specifying an lvm2 created thin-pool device
Ideally lvm2 would be used to create/manage the thin-pool volume that is
then handed to docker to exclusively create/manage the thin and thin
snapshot volumes needed for it's containers.  Managing the thin-pool
outside of docker makes for the most feature-rich method of having
docker utilize device mapper thin provisioning as the backing storage
for docker's containers.  lvm2-based thin-pool management feature
highlights include: automatic or interactive thin-pool resize support,
dynamically change thin-pool features, automatic thinp metadata checking
when lvm2 activates the thin-pool, etc.

Docker will not activate/deactivate the specified thin-pool device but
it will exclusively manage/create thin and thin snapshot volumes in it.

Docker will not take ownership of the specified thin-pool device unless
it has 0 data blocks used and a transaction id of 0.  This should help
guard against using a thin-pool that is already in use.

Also fix typos in setupBaseImage() relative to the thin volume type of
the base image.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-11-12 21:03:04 -05:00
Mike Snitzer
ad6467f9e1 devmapper: use proper DM_UDEV_DISABLE_*_FLAG when creating the thin-pool
Otherwise udev can unecessarily execute various rules (and issue
scanning IO, etc) against the thin-pool -- which can never be a
top-level device.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
2014-11-12 21:03:04 -05:00
Vincent Batts
42861f3b45 Merge pull request #8986 from vbatts/vbatts-pkg_devicemapper_bindings
devicemapper: split out devicemapper bindings
2014-11-12 19:59:36 -05:00
Erik Hollensbe
460036cdef Update CONTRIBUTING to reflect new PR-docs process.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-11-12 16:01:25 -08:00
Michael Crosby
9670871e01 Merge pull request #8982 from rhvgoyal/save-restore-device-id
Save restore device Id: issue #8978
2014-11-12 15:41:27 -08:00
Alexandr Morozov
e12572f265 Merge pull request #9031 from cpuguy83/cleanup_api_server_creation
Cleanup api server creation
2014-11-12 15:37:34 -08:00
Erik Hollensbe
33382385c3 Merge pull request #9124 from erikh/secure-localhost
Secure localhost registry (carry of #8898)
2014-11-12 15:25:15 -08:00
Solomon Hykes
2e27263aac Merge pull request #9127 from vishh/maintainer
Adding Vish as a maintainer for daemon.
2014-11-12 15:02:17 -08:00
Vishnu Kannan
06bf79552d Adding Vish as a maintainer for daemon code.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-11-12 22:55:32 +00:00
Michael Crosby
3ef2fc7f0f Merge pull request #9105 from stevenburgess/archiveCommentFix
Fix comment to match the arg name
2014-11-12 14:52:27 -08:00
Michael Crosby
08f5edce30 Merge pull request #8479 from vishh/OOM
Provide Out Of Memory information in container status
2014-11-12 14:15:29 -08:00
Erik Hollensbe
11380a109e registry: always treat 127.0.0.1 as insecure for all cases anytime anywhere
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-11-12 12:14:43 -08:00
Johan Euphrosine
28ee373e19 registry: default --insecure-registry to localhost and 127.0.0.1
Signed-off-by: Johan Euphrosine <proppy@google.com>
2014-11-12 09:12:42 -08:00
Dan Walsh
497fc8876e Allow IPC namespace to be shared between containers or with the host
Some workloads rely on IPC for communications with other processes.  We
would like to split workloads between two container but still allow them
to communicate though shared IPC.

This patch mimics the --net code to allow --ipc=host to not split off
the IPC Namespace.  ipc=container:CONTAINERID to share ipc between containers

If you share IPC between containers, then you need to make sure SELinux labels
match.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-11-12 11:29:58 -05:00
Vivek Goyal
15c74bebc1 devmapper: Take care of some review comments
Took care of some review comments from crosbymichael.

v2:
- Return "err = nil" if file deviceset-metadata file does not exist.
- Use json.Decoder() interface for loading deviceset metadata.

v3:
- Reverted back to json marshal interface in loadDeviceSetMetaData().

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-12 09:36:32 -05:00
Daniel, Dao Quang Minh
87d0562c61 expose sorts its ports before saving as comment
Saving ports as `map[nat.Port]struct{}` directly has ordering issue which is
more replicatable where we expose a huge number of ports at the same time. As a
result, the cache will be burst whenever the map order is different from the
previous build.
This sorts the ports first and save them as a whitespace-separated list instead
of the map representation, so the order will always be consistent if the port
list isnt changed.

NOTICE: this will burst the old expose caches

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-12 09:14:35 -05:00
Daniel, Dao Quang Minh
1e7ba09b60 add a test case for EXPOSE ports order
changing order of EXPOSE ports should not invalidate the cache as the content
doesnt change

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-12 09:14:35 -05:00
Jessie Frazelle
6ad1cd5d0f Merge pull request #9102 from brahmaroutu/add_tag_9001
improve error message to print the tag
2014-11-12 02:37:40 -07:00
Solomon Hykes
1396cff375 Merge pull request #9079 from SvenDowideit/pr_out_update_roadmap_md_based_on_10_21_2014_dgab_meeting
Update ROADMAP.md based on 10/21/2014 DGAB meeting
2014-11-11 23:00:25 -08:00
Daniel, Dao Quang Minh
a2a50aa35a use cached images instead of fetching the same image again
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-12 00:04:45 -05:00
Daniel, Dao Quang Minh
3aae63f452 speed up creation of args and msg for huge cmds
Whenever a command arguments is formed by a large linked list, repeatedly
appending to arguments and displayed messages took a long time because go will
have to allocate/copy a lot of times.

This speeds up the allocation by preallocate arrays of correct size for args
and msg

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-12 00:04:45 -05:00
James Turnbull
492c4fc1a8 Merge pull request #9106 from duglin/TyposRemoteAPI
Add missing comma in docs
2014-11-11 22:48:30 -05:00
Victor Vieux
6ca144ef3d fix unix socket
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-12 00:37:58 +00:00
Victor Vieux
4b4ad26b97 handle GET redirects
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-12 00:37:58 +00:00
Doug Davis
814bc06d7b Add missing comma in docs
Found by Michael Voznesensky <voznesenskym@gmail.com>

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-11 15:18:20 -08:00
Steven Burgess
64a335ceac Fix comment to match the arg name
Signed-off-by: Steven Burgess <steven.a.burgess@hotmail.com>
2014-11-11 18:01:08 -05:00
unclejack
e546c8cc1d Merge pull request #9041 from unclejack/lxc_maintainers_comment
execdriver/lxc: add comment to MAINTAINERS
2014-11-12 00:27:11 +02:00
Srini Brahmaroutu
bc45428220 improve error message to print the tag
Closes #9001

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-11-11 22:18:40 +00:00
Tibor Vass
e08d1f6af2 Merge pull request #9095 from proppy/is-secure-test
registry: add tests for IsSecure
2014-11-11 16:52:36 -05:00
Johan Euphrosine
75e3b35bf1 registry: add tests for IsSecure
Signed-off-by: Johan Euphrosine <proppy@google.com>
2014-11-11 11:02:32 -08:00
unclejack
c0499494df Merge pull request #9090 from unclejack/archive_interface
pkg/archive: add interface for Untar
2014-11-11 20:57:58 +02:00
Fred Lifton
d6a4d045f7 Merge pull request #8840 from decadent/fix-da-copy-directive-reference
Nuh uh... quoth the build log: Source can't be a URL for COPY
2014-11-11 10:57:00 -08:00
Fred Lifton
9e0fac3da8 Merge pull request #9082 from SvenDowideit/pr_out_add_some_details_about_the_lifecycle_of_commands_started_with_docker_exec
Add some details about the lifecycle of commands started with docker exec
2014-11-11 10:55:12 -08:00
Jessie Frazelle
a131032422 Merge pull request #9091 from duglin/CleanupIntTests
Cleanup some integration-cli output
2014-11-11 10:56:29 -07:00
Doug Davis
0cef21cfba Cleanup some integration-cli output
I noticed a few things that were bugging me in the output
of the integration-cli tests.
- one of the tests used println to stdout so we had garage sent to the screen
- some of the test, in their final log message, didn't include the name of
  the group/file e.g.  daemon - run,iptables   was just   run,iptables

And yes, I noticed this because I'm anal :-)  but also because we should keep
the output of the tests as clean as possible so its easy to spot it when
things go bad.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-11 08:44:32 -08:00
unclejack
14692d0d41 pkg/archive: add interface for Untar
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-11 18:28:33 +02:00
Tibor Vass
2a517fe103 Merge pull request #8726 from krallin/failed-start-breaks-volumes-from
Fix: a failed Start() breaks --volumes-from on subsequent Start()'s
2014-11-11 10:49:33 -05:00
Vincent Batts
5cd9b7513f pkg/tarsum: adding more tests
Ensuring case size of headers will still be accounted for.
https://github.com/docker/docker/pull/8869#discussion_r20114401

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-11 08:48:11 -05:00
James Turnbull
2ff203f0a6 Merge pull request #9071 from fredlf/add-docs-readme
Add link to Docs README.
2014-11-11 07:25:09 -05:00
Abin Shahab
adb07b53e0 LINKED CONTAINER ID PASSED TO LXC
This passed the --net=container:CONTINER_ID to lxc-start as --share-net
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2014-11-11 09:10:15 +00:00
Recursive Madman
5cd53195fd Don't loose precision when parsing image size on 32 bit machines. Presumably fixes #8979.
Signed-off-by: Recursive Madman <recursive.madman@gmx.de>
2014-11-11 09:24:45 +01:00
Sven Dowideit
447387474a Add some details about the lifecycle of commands started with docker exec
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-11 15:56:27 +10:00
Erik Hollensbe
0b4132782a Merge pull request #9048 from coaku/b_xzk_rm_redundant_trim
Remove redundant stripComment
2014-11-10 21:53:22 -08:00
Sven Dowideit
703ef3caa8 Merge pull request #9050 from prasincs/patch-1
Additional info for docker binary
2014-11-10 20:22:05 -08:00
Fred Lifton
ca0885729d Fix 80 char. error
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-11-10 17:50:12 -08:00
Scott Johnston
d94de133f4 Update ROADMAP.md based on 10/21/2014 DGAB meeting
The Docker Governance Advisory Board (DGAB) met for the first time Tue 10/21/2014.
Among other topics, the DGAB reviewed and refreshed the Docker Project Statement of Direction.

(Sven added from the Pull Req #9055)
Docker-DCO-1.1-Signed-off-by: Scott Johnston <scott.johnston@docker.com> (github: j0hnst0n)

Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-11 11:43:37 +10:00
Sven Dowideit
67c7faa002 Merge pull request #9065 from tobegit3hub/master
Remove the redundant include_search in mkdocs.yml
2014-11-10 17:24:07 -08:00
Solomon Hykes
a1789a2eab Merge pull request #9032 from fredlf/revise-docs-maintainers
Revise Docs Maintainers list
2014-11-10 17:11:25 -08:00
Prasanna Gautam
48424df685 properly line wrapping
Signed-off-by: Prasanna Gautam <prasannagautam@gmail.com>
2014-11-10 20:06:22 -05:00
Sven Dowideit
970e404e9b Merge pull request #9069 from cpuguy83/docs_for_pr8509
Add missing docs for #8509
2014-11-10 17:04:28 -08:00
gautam, prasanna
cf19df4683 fixing punctuation and grammar
Signed-off-by: Prasanna Gautam <prasannagautam@gmail.com>
2014-11-10 18:05:02 -05:00
Brian Goff
dacae746b7 Cleanup api server creation
Current implementation is hard to reason about because of trying to mix
unix/tcp server implementations, even though they are quite different.
This cleans that up.

Also makes it possible to create and manage a new API server easily,
e.g. for adding an introspection socket to a container.

Built in such a way as to allow a non-HTTP server to work as well, such
as libchan.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-10 16:20:35 -05:00
Michael Crosby
84f25414c1 Merge pull request #9014 from LK4D4/fix_parent_failing
Not fail on updating parent links
2014-11-10 12:53:16 -08:00
Jessie Frazelle
4fcd3dd748 Merge pull request #8716 from duglin/Issue8331
Use the HTTP Last-Modified http header as the mtime value for ADD cmd when present
2014-11-10 13:03:57 -07:00
Fred Lifton
67ca7415e7 Add link to Docs README.
Linking to the docs readme to help would-be contributors discover the style guide and docs contribution guidelines.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-11-10 11:33:16 -08:00
Alexandr Morozov
3c5155ac16 Merge pull request #9028 from unclejack/add_yeong-sil_jang
pkg/namesgenerator: add Yeong-Sil Jang
2014-11-10 10:07:27 -08:00
Brian Goff
271f54aea3 Add missing docs for #8509
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-10 12:25:17 -05:00
Arnaud Porterie
0f21d9aea7 Merge pull request #6810 from phemmer/4442-hairpin-nat
Support hairpin NAT
2014-11-10 08:53:01 -08:00
Thomas Orozco
fb62e18441 Fix: Failed Start breaks VolumesFrom
Running parseVolumesFromSpec on all VolumesFrom specs before initialize
any mounts endures that we don't leave container.Volumes in an
inconsistent (partially initialized) if one of out mount groups is not
available (e.g. the container we're trying to mount from does not
exist).

Keeping container.Volumes in a consistent state ensures that next time
we Start() the container, it'll run prepareVolumes() again.

The attached test demonstrates that when a container fails to start due
to a missing container specified in VolumesFrom, it "remembers" a Volume
that worked.

Fixes: #8726

Signed-off-by: Thomas Orozco <thomas@orozco.fr>
2014-11-10 17:32:16 +01:00
tobe
b92d7cd60d Remove the redundant include_search in mkdocs.yml 2014-11-10 20:23:46 +08:00
James Turnbull
e4fe85fc95 Merge pull request #9052 from andreyst/master
Fix typo in Docker Links chapter of User Guide
2014-11-10 00:10:38 -05:00
James Turnbull
1e75c9e8b4 Merge pull request #9057 from andi5/typo-best-practices
Fix mkdir typo in dockerfile_best-practices.md.
2014-11-10 00:10:20 -05:00
James Turnbull
2d30473927 Merge pull request #9029 from ovh/fix/doc
Fix Docker Hub tags list specification
2014-11-10 00:05:34 -05:00
gautam, prasanna
3600bcb531 limiting to 80 chars
Signed-off-by: Prasanna Gautam < prasannagautam@gmail.com >
2014-11-09 19:54:00 -05:00
Andreas Köhler
b95f9c10ff Fix mkdir typo in dockerfile_best-practices.md. 2014-11-10 01:00:05 +01:00
Solomon Hykes
32e61b8f5c Move 'hack' to the less confusing 'project'
We might want to break it up into smaller pieces (eg. tools in one
place, documents in another) but let's worry about that later.

Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-11-09 21:50:28 +00:00
Solomon Hykes
4cf0aa711e Move GOVERNANCE.md to hack/
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-11-09 21:41:13 +00:00
Solomon Hykes
2d688b0a78 In contribution docs, emphasize that bug reports are appreciated!
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-11-09 21:41:12 +00:00
Solomon Hykes
543127e211 Improve "security reports" section in contribution docs.
Signed-off-by: Solomon Hykes <solomon@docker.com>
2014-11-09 21:41:08 +00:00
Andrey Stolbovsky
932cc23081 Fix typo in Docker Links chapter of User Guide 2014-11-09 23:23:45 +03:00
Prasanna Gautam
22afaa628f Additional info for docker binary
Signed-off-by: Prasanna Gautam <prasannagautam@gmail.com>

I found that certain docker installations do not handle binding to the source directory quite right. Just writing it based on help from backjlack and tibor in IRC.
2014-11-09 10:28:45 -05:00
xuzhaokui
6c79ee7d1e Remove the redundant stripComment.
Signed-off-by: xuzhaokui <cynicholas@gmail.com>
2014-11-09 23:07:44 +08:00
unclejack
ef150d023a pkg/namesgenerator: add Yeong-Sil Jang
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-08 16:36:41 +02:00
unclejack
6f8e42ac74 execdriver/lxc: add comment to MAINTAINERS
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-08 16:27:25 +02:00
unclejack
b18efeeb7a Merge pull request #9023 from cyphar/libcontainer-update-to-new-interface
Update vendor'd `libcontainer` and update to use new `user` interface.
2014-11-08 16:17:28 +02:00
Vishnu Kannan
46f2944977 Address comments.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-11-08 00:14:08 +00:00
Vishnu Kannan
f96e04ffc7 This patch adds ability in docker to detect out of memory conditions in containers.
Since the containers can handle the out of memory kernel kills gracefully, docker
will only provide out of memory information as an additional metadata as part of
container status.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-11-08 00:14:08 +00:00
Aleksa Sarai
3ac4aa0d6b *: transition to new libcontainer/user API
This patch fixes the compilation errors in Docker due to changes in the
libcontainer/user API. There is no functionality change due to this
patch.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-11-08 10:03:12 +11:00
Aleksa Sarai
a10cca257f vendor: update vendor'd libcontainer version
This patch updates the vendor'd libcontainer version, so that Docker can
take advantage of the updates to the `user` API.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
2014-11-08 09:57:20 +11:00
Doug Davis
2e482c86bc Use the HTTP Last-Modified http header as the mtime value for ADD cmd when present
Closes #8331

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-07 13:58:05 -08:00
Fred Lifton
480b5e9c62 Revise Docs Maintainers list
Removing Sonat from docs maintainers because he no longer has time to complete all the responsibilities. Many thanks to Sonat for his help.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-11-07 13:13:01 -08:00
Alexandr Morozov
349f67632f Merge pull request #8931 from vbatts/vbatts-mount_pid_mountinfo
pkg/mount: mountinfo from specified pid
2014-11-07 12:04:52 -08:00
Vincent Batts
64e7a1722d pkg/mount: mountinfo from specified pid
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-07 13:37:23 -05:00
Vincent Giersch
c30ccc62e4 Fix Docker Hub tags list specification
The current implementation of the Docker Hub returns a list of objects
containing the tag name and the layer id.

Docker-DCO-1.1-Signed-off-by: Vincent Giersch <vincent.giersch@ovh.net>
2014-11-07 17:16:42 +01:00
Yohei Ueda
dad58737ae Export envvars necessary for unit-test
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-07 16:54:25 +09:00
Sven Dowideit
6dc11cc992 makes the -s --size option documentation clearer #8950
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2014-11-07 11:56:56 +10:00
Alexandr Morozov
b83fc07d88 Not fail on updating parent links
Fixes #8796

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-06 15:30:23 -08:00
Fred Lifton
3afe9dbd24 Merge pull request #8970 from georgexsh/hyphen
unify `–`(en dash) to `-` when specifying options
2014-11-06 14:48:48 -08:00
Alexandr Morozov
734419e9c7 Merge pull request #8711 from duglin/Issue8160
Add import/pull events to the stream
2014-11-06 14:29:02 -08:00
Vincent Batts
318b11f62f btrfs: information for the information gods
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-06 16:17:10 -05:00
Vivek Goyal
0f57c90245 docker-remove-redundant-json-tags
In previous patch I had introduce json:"-" tags to be on safer side to make
sure certain fields are not marshalled/unmarshalled. But struct fields
starting with small letter are not exported so they will not be marshalled
anyway. So remove json:"-" tags from there.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-06 15:59:25 -05:00
Doug Davis
ef7415258b Add import/pull events to the stream
Closes #8160

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-06 12:12:41 -08:00
Michael Crosby
dd62d256cb Merge pull request #8963 from blakery/master
Cleanup: made GetDefaultNetworkMtu private
2014-11-06 12:02:18 -08:00
Michael Crosby
546884fd20 Merge pull request #8977 from LK4D4/vet_fixes
Fix vet errors
2014-11-06 11:59:05 -08:00
Michael Crosby
6a6be5bd5a Merge pull request #8983 from LK4D4/consistent_hosts
Consistent hosts
2014-11-06 11:51:28 -08:00
Alexandr Morozov
048d0c4e84 Test for etchosts consistency
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-06 11:36:09 -08:00
Alexandr Morozov
6cbe1fa726 Make /etc/hosts records consistent
Fixes #8972

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-06 11:36:00 -08:00
Michael Crosby
55f9b0c874 Merge pull request #9005 from vbatts/vbatts-devmapper_add_maintainer
devmapper: add vbatts to MAINTAINERS
2014-11-06 11:26:40 -08:00
Vincent Batts
2fbfa29318 devmapper: add vbatts to MAINTAINERS
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-06 14:06:52 -05:00
Michael Crosby
68a25a5b74 Merge pull request #8988 from crosbymichael/update-libcontainer-nov1
Update libcontainer to fd6df76562137aa3b18e44b790c
2014-11-06 11:02:29 -08:00
Jessie Frazelle
a72f3c568b Merge pull request #8990 from duglin/Issue8379a
Make sure that if a container can't start we set the exitcode to non-zero value
2014-11-06 10:44:10 -08:00
Yohei Ueda
5bd5ef5a0a Make test-unit runnable without parallel
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-07 02:40:13 +09:00
Alexandr Morozov
ff911d5f34 Merge pull request #8998 from yoheiueda/dont-remove-tmpdir
Fix the unit test not to remove /tmp
2014-11-06 08:59:02 -08:00
Yohei Ueda
2329354dc3 Fix the unit test not to remove /tmp
Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
2014-11-07 02:43:59 +09:00
Tianon Gravi
b35a0ba81b Merge pull request #8974 from unclejack/bump_fpm
bump fpm to 1.3.2
2014-11-06 09:37:25 -07:00
Jessie Frazelle
6fcc9141d7 Merge pull request #8953 from golubbe/master
Create governance doc and show links to DGAB materials in google doc
2014-11-05 22:13:05 -08:00
Doug Davis
69a5b827dc See #8379 - if the container doesn't start I added code to make sure that if no other processing sets the container.exitCode to a non-zero value when we make sure its done before we return. I also made sure that while trying to start the CMD/ENTRYPOINT, if it fails, then we set the container.exitCode to the exitStatus from the exec().
Closes #8379

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-05 18:23:42 -08:00
Abin Shahab
b36bf98174 LXC TEMPLATE WILL CREATE MOUNT
Lxc driver was throwing errors for mounts where the mount point does not exist in the container.
This adds a create=dir/file mount option to the lxc template, to alleviate this issue.

Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
2014-11-06 02:14:03 +00:00
Michael Crosby
ed556fb38f Update docker with syncpipe changes
We removed the syncpipe package and replaced it with specific calls to
create a new *os.File from a specified fd passed to the process.  This
reduced code and an extra object to manage the container's init
lifecycle.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-06 01:14:13 +00:00
Michael Crosby
7f5ebdcaac Update libcontainer to fd6df76562137aa3b18e44b790c
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-11-06 01:12:41 +00:00
Sven Dowideit
56261daf32 Merge pull request #8683 from cpuguy83/fix_api_docs
Bring API docs inline with 1.3
2014-11-05 16:34:27 -08:00
Erik Hollensbe
a733afb256 Merge pull request #8987 from erikh/exec_stdin_close
Close stdin after execution with `docker exec -i`
2014-11-05 15:42:05 -08:00
Erik Hollensbe
165624062e Close stdin after execution with docker exec -i
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-11-05 15:12:24 -08:00
Vincent Batts
e2f8fbfbcc devicemapper: split out devicemapper bindings
This is a first pass at splitting out devicemapper into separate, usable
bindings.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-05 18:10:38 -05:00
golubbe
d453d8b321 Create GOVERNANCE.md
Information on Governance Advisory Board and associated proposals

Signed-off-by: Ben Golub <ben.golub@docker.com>
2014-11-05 21:48:17 +00:00
Fred Lifton
f10fefe408 Merge pull request #8874 from whoshuu/patch-1
Fix apparent copy paste mistake
2014-11-05 12:24:53 -08:00
Vivek Goyal
ff56531de4 devmapper: Fix gofmt related build failures
My pull request failed the build due to gofmat issues. I have run gofmt
on specified files and this commit fixes it.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-05 14:39:54 -05:00
Josh Hawn
059e589c34 Compute TarSum on storage of image layer content
Now, newly created/imported layers will have the checksum of
the layer diff computed and stored in the image json file.

For now, it is not an error if the computed checksum does not
match an existing checksum, only a warning message is logged. The
eventual goal is to use the checksums in the image JSON to verify
the integrity of the layer contents when doing `docker load` or
`docker pull`, and error out if it does not match.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-11-05 10:17:55 -08:00
Alexandr Morozov
18d9f1978b Fix vet errors
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-05 08:26:22 -08:00
Daniel, Dao Quang Minh
aeeb0d59d3 print everything except progress in non-terminal
Instead of only checking `Progress != nil` (which is always true because
the server sends `"progressDetail":{}` when it doesnt have the progress), we
also check if `Progress.String() != ""`, which should be sufficient to filter
out the progress data.

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-05 10:44:31 -05:00
Brian Goff
e86223e7b3 Bring API docs inline with 1.3
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-11-05 09:38:44 -05:00
Vivek Goyal
8c9e5e5e05 devmapper: Save and restore NextDeviceId in a file
The way thin-pool right now is designed, user space is supposed to keep
track of what device ids have already been used. If user space tries to
create a new thin/snap device and device id has already been used, thin
pool retuns -EEXIST.

Upon receiving -EEXIST, current docker implementation simply tries the
NextDeviceId++ and keeps on doing this till it finds a free device id.

This approach has two issues.

- It is little suboptimal.
- If device id already exists, current kenrel implementation spits out
  a messsage on console.

[17991.140135] device-mapper: thin: Creation of new snapshot 33 of device 3 failed.

Here kenrel is trying to tell user that device id 33 has already been used.
And this shows up for every device id docker tries till it reaches a point
where device ids are not used. So if there are thousands of container and
one is trying to create a new container after fresh docker start, expect
thousands of such warnings to flood console.

This patch saves the NextDeviceId in a file in
/var/lib/docker/devmapper/metadata/deviceset-metadata and reads it back
when docker starts. This way we don't retry lots of device ids which 
have already been used. 

There might be some device ids which are free but we will get back to them
once device numbers wrap around (24bit limit on device ids).

This patch should cut down on number of kernel warnings.

Notice that I am creating a deviceset metadata file which is a global file
for this pool. So down the line if we need to save more data we should be
able to do that.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-05 09:25:02 -05:00
Vivek Goyal
8e9a18039b devmapper: Export nextDeviceId so that json.Marshal() can operate on it
I was trying to save nextDeviceId to a file but it would not work and
json.Marshal() will do nothing. Then some search showed that I need to
make first letter of struct field capital, exporting this field and
now json.Marshal() works.

This is a preparatory patch for the next one.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-05 09:25:02 -05:00
Vivek Goyal
67fbd34d83 devmapper: Move file write and rename functionality in a separate function
Currently we save device metadata and have a helper function saveMetadata()
which converts data in json format as well as saves it to file. For
converting data in json format, one needs to know what is being saved.

Break this function down in two functions. One function only has file
write capability and takes in argument about byte array of json data.
Now this function does not have to know what data is being saved. It
only knows about a stream of json data is being saved to a file.

This allows me to reuse this function to save a different type of
metadata. In this case I am planning to save NextDeviceId so that
docker can use this device Id upon next restart. Otherwise docker
starts from 0 which is suboptimal.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2014-11-05 09:25:02 -05:00
Blake Geno
cbb88741e4 Removed fixme from utils_test.go
Signed-off-by: Blake Geno <blakegeno@gmail.com>
2014-11-05 08:36:08 -05:00
James Turnbull
a61c4dc959 Merge pull request #8876 from whoshuu/docpatch-2
Remove out-of-context code block
2014-11-05 10:52:50 +01:00
unclejack
03f67aa46a bump fpm to 1.3.2
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-05 10:12:57 +02:00
unclejack
662efd95c7 Merge pull request #8577 from vbatts/vbatts-registry_certs
registry: don't iterate through certs
2014-11-05 09:46:24 +02:00
James Turnbull
387c892126 Merge pull request #8915 from gDD/patch-1
Remove extra line feed typo
2014-11-05 08:22:09 +01:00
James Turnbull
49ecc499d7 Merge pull request #8908 from medimatrix/patch-1
Grammatical mistake in docs
2014-11-05 08:21:00 +01:00
George Xie
c81337d5db unify (en dash) to - when specifying options
Signed-off-by: Xie Shi <georgexsh@gmail.com>
2014-11-05 13:50:59 +08:00
Josh Hawn
a7aa2c8ad2 Finalize TarSum Version 1 w/ refactor
The current Dev version of TarSum includes hashing of extended
file attributes and omits inclusion of modified time headers.

I refactored the logic around the version differences to make it
more clear that the difference between versions is in how tar
headers are selected and ordered.

TarSum Version 1 is now declared with the new Dev version continuing
to track it.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-11-04 21:38:52 -08:00
Sven Dowideit
0d513b5a84 Merge pull request #8900 from nhsiehgit/updatefooter
Updatefooter
2014-11-04 17:14:58 -08:00
Tibor Vass
b79211f4ae Merge pull request #8345 from duglin/Issue5184
Add a better error message when we get an unknown http issue
2014-11-04 20:07:41 -05:00
Doug Davis
6fdaa66652 Add a better error message when we get an unknown http issue
Closes #5184

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-04 16:46:41 -08:00
Sven Dowideit
098ccba6bd Merge pull request #8892 from fredlf/relnotes-edit
Edits and refinements to 1.3.1 release notes.
2014-11-04 16:43:07 -08:00
Blake Geno
224999d9c2 made getDefaultNetworkMtu private
Signed-off-by: Blake Geno <blakegeno@gmail.com>
2014-11-04 18:53:34 -05:00
Nathan Hsieh
ebeccee968 Updated footer to match rest of site
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2014-11-04 15:28:38 -08:00
Alexandr Morozov
e621f99923 Add check for IP_NF_FILTER
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-04 14:47:13 -08:00
Tianon Gravi
c478143ec0 Merge pull request #8404 from danjpgriffin/master
Preserve extended attributes and acls on archlinux build
2014-11-04 14:14:10 -07:00
Vincent Batts
a368e064a9 registry: don't iterate through certs
the golang tls.Conn does a fine job of that.
http://golang.org/src/pkg/crypto/tls/handshake_client.go?#L334

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-04 16:12:23 -05:00
Tianon Gravi
14e65b4f81 Merge pull request #8936 from jfrazelle/drone-server
Switch Travis for Drone
2014-11-04 11:18:39 -07:00
Tianon Gravi
c6cf978b4b Merge pull request #8700 from unclejack/install_no_pull
contrib/install.sh: remove pull of hello-world
2014-11-04 10:28:43 -07:00
Solomon Hykes
59d4161f69 Merge pull request #8950 from Bertg/patch-1
makes the -s --size option documentation clearer
2014-11-04 09:09:15 -08:00
unclejack
f9d80712d9 contrib/install.sh: remove pull of hello-world
This removes the pull of the hello-world image from install.sh to
address privacy concerns.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-04 19:05:47 +02:00
Alexandr Morozov
b8678aa7f5 Merge pull request #8946 from unclejack/stream_decode
Decode JSON to avoid ReadFile
2014-11-04 09:02:40 -08:00
Bert Goethals
762ffda95d makes the -s --size option documentation clearer 2014-11-04 17:49:39 +01:00
Jessie Frazelle
a34f31b488 Merge pull request #8871 from tonistiigi/start-wait-hijack
Wait for hijack on docker start command
2014-11-04 08:46:56 -08:00
Tibor Vass
fa59fe997c Merge pull request #8877 from erikh/proxy_error_check
proxy: Fix a potential panic handling error states.
2014-11-04 11:40:02 -05:00
Tibor Vass
6718791ea2 Merge pull request #8813 from jlhawn/aufs_exclude_on_tar_layer
Exclude `.wh..wh.*` AUFS metadata on layer export
2014-11-04 11:38:12 -05:00
Arnaud Porterie
edae8830a9 Merge pull request #8906 from dqminh/remove-copy-directory
change util.CopyDirectory to archive.CopyWithTar
2014-11-04 08:02:35 -08:00
Alexandr Morozov
9eb8fcd58a Merge pull request #8390 from MalteJ/set-macaddress
Adding docker-cli run param to set MAC address
2014-11-04 07:54:59 -08:00
Malte Janduda
28605bc4d5 enhancing set-macaddress docu #2
Signed-off-by: Malte Janduda <mail@janduda.net>
2014-11-04 15:19:47 +01:00
unclejack
f665be55fe volume: stream JSON & Decode
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-04 16:15:07 +02:00
unclejack
4dbbe4f51a image: stream img JSON & Decode in LoadImage
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-04 16:15:00 +02:00
unclejack
4bc28f4e6b daemon/container: stream & decode JSON
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-11-04 16:14:47 +02:00
Sven Dowideit
b68d7d39bc Merge pull request #8924 from pdericson/api-doc-fix
Fix typo in api docs: stdou -> stdout
2014-11-03 23:09:16 -08:00
shuai-z
4c97832297 fixed the way of iterating over the range of map.
Fixed the following errors:
1. Request(0) causes a dead loop when the map is full and map.last == BEGIN.
2. When map.last is the only available port (or ip), Request(0) returns ErrAllPortsAllocated (or ErrNoAvailableIPs). Exception is when map.last == BEGIN.

Signed-off-by: shuai-z <zs.broccoli@gmail.com>
2014-11-04 13:46:53 +08:00
Patrick Hemmer
95a400e6e1 Support hairpin NAT
This re-applies commit b39d02b with additional iptables rules to solve the issue with containers routing back into themselves.

The previous issue with this attempt was that the DNAT rule would send traffic back into the container it came from. When this happens you have 2 issues.
1) reverse path filtering. The container is going to see the traffic coming in from the outside and it's going to have a source address of itself. So reverse path filtering will kick in and drop the packet.
2) direct return mismatch. Assuming you turned reverse path filtering off, when the packet comes back in, it's goign to have a source address of itself, thus when the reply traffic is sent, it's going to have a source address of itself. But the original packet was sent to the host IP address, so the traffic will be dropped because it's coming from an address which the original traffic was not sent to (and likely with an incorrect port as well).

The solution to this is to masquerade the traffic when it gets routed back into the origin container. However for this to work you need to enable hairpin mode on the bridge port, otherwise the kernel will just drop the traffic.
The hairpin mode set is part of libcontainer, while the MASQ change is part of docker.

This reverts commit 63c303eecd.

Docker-DCO-1.1-Signed-off-by: Patrick Hemmer <patrick.hemmer@gmail.com> (github: phemmer)
2014-11-03 23:09:08 -05:00
Vincent Batts
91b4ac320f pkg/mount: include optional field
one linux, the optional field designates the sharedsubtree information,
if any.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-03 22:05:04 -05:00
Tibor Vass
5b03a21963 Merge pull request #8799 from jlhawn/remove_jsondata_arg
Remove `jsonData` argument from `image.StoreImage`
2014-11-03 20:55:40 -05:00
Jessica Frazelle
4b4b88a873 Switch travis status to drone.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-03 17:48:50 -08:00
Jessica Frazelle
471adb73a9 Remove travis CI.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-11-03 17:46:33 -08:00
Josh Hawn
26184de8ab Remove jsonData argument from image.StoreImage
The argument specified the json data to save to disk when registering
a new image into the image graph. If it is nil, then the given image
is serialized to json and that is written by default. This default
behavior is sufficient if the given image was originally deserialzed
from this jsonData to begin with which has always been the case.

Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-11-03 17:39:21 -08:00
Tibor Vass
54d6d12556 Merge pull request #8863 from vbatts/vbatts-archive_stat
./pkg/archive: clean up Stat_t assertion
2014-11-03 19:14:39 -05:00
Tibor Vass
b8ab729ae6 Merge pull request #8590 from jfrazelle/8307-iptables-d-restart-fix
On daemon shutdown iptables cleanup successfully
2014-11-03 18:29:51 -05:00
Fred Lifton
06f366bf00 Added missing item from Changelog
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-11-03 13:51:51 -08:00
Fred Lifton
1a1b0f223d Edits and refinements to 1.3.1 release notes.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-11-03 13:50:42 -08:00
Michael Crosby
a7dea37b78 Merge pull request #8901 from dmcgowan/v2_registry_mirror_check
Skip V2 registry and immediately fallback to V1 when mirrors are provided
2014-11-03 13:37:55 -08:00
Tibor Vass
a85f58719f Merge pull request #8739 from duglin/CleanupDockerIgnores
Do some cleanup on .dockerignore paths
2014-11-03 16:05:24 -05:00
Tibor Vass
38d3888194 Merge pull request #8932 from duglin/UpdateLogrus
Update logrus to the latest so we can use ParseLevel() for PR #8335
2014-11-03 16:00:22 -05:00
Fred Lifton
8872c2903a Merge pull request #8907 from icecrime/clarify_user_instruction_doc
Clarify USER instruction documentation
2014-11-03 11:58:56 -08:00
Doug Davis
a12d897394 Update logrus to v0.6.0 so we can use ParseLevel() for PR #8335
Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-03 11:57:30 -08:00
Michael Crosby
025363848b Merge pull request #8927 from bfirsh/dont-pass-args-to-help-when-command-doesnt-exist
Fix help text being incorrect with multiple args
2014-11-03 11:23:57 -08:00
Michael Crosby
9ef9bfd151 Merge pull request #8929 from LK4D4/fix_filter_hang
Fix deadlock in ps exited filter
2014-11-03 11:07:24 -08:00
Vincent Batts
0e217c4a9e pkg/mount: adding fields supported by freebsd
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-11-03 14:01:50 -05:00
Alexandr Morozov
03ea2166b6 Fix deadlock in ps exited filter
Fixes #8909

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-11-03 10:51:03 -08:00
Fred Lifton
0e4bf159a2 Merge pull request #8928 from tianon/not-200-chars-anymore
Update "official repos" doc to mention 100 char short desc limit
2014-11-03 10:05:39 -08:00
Tianon Gravi
693b9d335c Update "official repos" doc to mention 100 char short desc limit
The Hub no longer accepts short descriptions over 100 characters.

Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-11-03 10:12:05 -07:00
Ben Firshman
ef004ec03f Fix help text being incorrect with multiple args
E.g. "docker foobar run" would have printed "Command not found:
foobar" and printed the help text for "run". It should instead
print the root help message for docker.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-11-03 16:46:01 +00:00
Peter Ericson
4437573c96 Fix typo in api docs: stdou -> stdout 2014-11-03 10:52:50 +00:00
Malte Janduda
971fc2253a enhancing set-macaddress docu
Signed-off-by: Malte Janduda <mail@janduda.net>
2014-11-03 11:43:27 +01:00
Doug Davis
c0f0f5c988 Do some cleanup on .dockerignore paths
While working on the fix for #8330 I noticed a few things:
1 - the split() call for the .dockerignore process will generate a blank
    "exclude".  While this isn't causing an issue right now, I got worried
	that in the future some code later on might interpret "" as something bad,
	like "everything" or ".".  So I added a check for an empty "exclude"
	and skipped it
2 - if someone puts "foo" in their .dockerignore then we'll skip "foo".
    However, if they put "./foo" then we won't due to the painfully
	simplistic logic of go's filepath.Match algorithm.  To help things
	a little (and to treat ./Dockerfile just like Dockerfile) I added
	code to filepath.Clean() each entry in .dockerignore.  It should
	result in the same semantic path but ensure that no matter how the
	user expresses the path, we'll match it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-11-02 11:29:46 -08:00
Mengdi Gao
795533ede7 Remove extra line feed typo
The removed extra line feed broke the paragraph at https://docs.docker.com/userguide/dockerizing/
2014-11-02 22:55:36 +08:00
Médi-Rémi Hashim
d22d32d61f Grammatical mistake in docs
Change `The team can now use this image by run their own containers.` to `The team can now use this image by running their own containers.`
2014-11-01 21:22:43 +00:00
Arnaud Porterie
de9bf24750 Clarify USER instruction documentation
Reuse WORKDIR wording to specify that the USER instructions affect the
following RUN, CMD, and ENTRYPOINT instructions.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-11-01 14:04:51 -07:00
Daniel, Dao Quang Minh
e5ecfd3b17 change util.CopyDirectory to archive.CopyWithTar
Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-11-01 12:23:08 -04:00
Vladimir Bulyga
f12b7b4bc2 allow to use x-registry-auth header with enabled cors
Signed-off-by: Vladimir Bulyga <xx@ccxx.cc>
2014-11-01 19:22:28 +03:00
Malte Janduda
f2df38050e Adding docker-cli run param to set MAC address
Signed-off-by: Malte Janduda <mail@janduda.net>
2014-11-01 15:35:09 +01:00
Derek McGowan
9d6391a9eb Skip V2 registry and immediately fallback to V1 when mirrors are provided
Since V2 registry does not yet implement mirrors, when mirrors are given automatically fallback to V1 without checking V2 first.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2014-10-31 18:10:48 -07:00
Fred Lifton
4d4a7b81bf Merge pull request #8884 from thomasleveil/userguide-so26652877
Reword a sentence bringing confusion about docker links
2014-10-31 17:09:16 -07:00
Jessie Frazelle
92bb497201 Merge pull request #8167 from brahmaroutu/expose_ports_1834
adding support for port ranges on --expose
2014-10-31 16:20:08 -07:00
Srini Brahmaroutu
fd774a818c adding support for port ranges on --expose
Closes #1834

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-10-31 23:06:30 +00:00
Jessie Frazelle
9cc71b4597 Merge pull request #8468 from laktek/master
Fix URL check in build from Git.
2014-10-31 14:43:21 -07:00
Michael Crosby
7cb12133ae Merge pull request #8818 from coolljt0725/fix_exec_help
Fix docker exec help messages.
2014-10-31 14:36:01 -07:00
Michael Crosby
a92393bb17 Merge pull request #8878 from thaJeztah/patch-1
Typo in 1.3.1 change log
2014-10-31 14:32:25 -07:00
Jessie Frazelle
058aa0cbc2 Merge pull request #8894 from vieux/fix_docs_filter
add missing 'current filter' to ps
2014-10-31 14:26:29 -07:00
Jessie Frazelle
7a2dc8b889 Merge pull request #8895 from erikh/proxy_udp_size
pkg/proxy: Bump the maximum size of a UDP packet.
2014-10-31 13:11:54 -07:00
Vincent Batts
7a3a938712 pkg/mount: testing for linux sharedsubtree mounts
* shared
* shared/slave
* unbindable
* private

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-31 15:31:34 -04:00
Erik Hollensbe
5a73be8e9f pkg/proxy: Bump the maximum size of a UDP packet.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-31 18:56:07 +00:00
Victor Vieux
f95d73dfd4 add missing 'current filter' to ps
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-10-31 18:28:10 +00:00
Michael Crosby
0f9f5f3fdf Merge pull request #8839 from irachex/dns-search-doc
Add docs for --dns-search=.
2014-10-31 11:25:57 -07:00
Vincent Batts
06bd66a1f8 pkg/mount: add more sharesubtree options
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-31 13:29:35 -04:00
Thomas LEVEIL
906985123a Reword a sentence bringing confusion about docker links
As [discovered][1] doing user support, the sentence `You've learned that a link creates a
source container that can provide information about itself to a recipient container` brings
confusion.

[1]: http://stackoverflow.com/questions/26652877/how-to-avoid-redundant-container-linking-in-docker-when-propagating-ip-addresses/26654203?noredirect=1#comment41945048_26654203

Signed-off-by: Thomas LEVEIL <thomasleveil@gmail.com>
2014-10-31 13:00:59 +00:00
Sebastiaan van Stijn
29965246a7 Typo in 1.3.1 change log
Replaced envrionment -> environment

Signed-off-by: Sebastiaan van Stijn <thaJeztah@users.noreply.github.com>
2014-10-31 08:31:20 +01:00
Erik Hollensbe
ad5b307d0f proxy: Fix a potential panic handling error states.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-31 04:20:26 +00:00
Huu Nguyen
8453cf0671 Remove out-of-context code block
Signed-off-by: Huu Nguyen <whoshuu@gmail.com>
2014-10-30 23:58:14 -04:00
Huu Nguyen
b16f3736ed Fix apparent copy paste mistake
The note under the RUN header refers to the CMD instruction. It should refer to the RUN instruction instead.

Signed-off-by: Huu Nguyen <whoshuu@gmail.com>
2014-10-30 23:22:51 -04:00
Huayi Zhang
eaa050fdb8 Mapping change in code
Signed-off-by: Huayi Zhang <irachex@gmail.com>
2014-10-31 09:57:54 +08:00
Sven Dowideit
107898a773 Merge pull request #8837 from sawalls/patch-2
ubuntulinux.md - old commands, typo, section movement
2014-10-30 18:48:24 -07:00
Lei Jitang
d8b17d785a Fix docker exec command help messages
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2014-10-31 09:36:07 +08:00
Fred Lifton
c2ff42552a Merge pull request #8873 from SvenDowideit/de-cleanup-Dockerfile
Yes, the review really should have picked up this spelling mistake
2014-10-30 18:32:28 -07:00
Scott Walls
bc62a35ffb ubuntulinux.md - old commands, typo, section movement
- Removed some commands related to autocomplete/symlinks that don't seem to be required anymore on Ubuntu 14.04
- Fixed one minor typo ("see LINK _for_ details," not "see LINK details")
- Moved section "Giving non-root access" to top level, rather than being under Ubuntu 13 (the section isn't specific to Ubuntu 13, and even references Ubuntu 14).

Signed-off-by: Scott Walls <sawalls@umich.edu>
2014-10-30 18:28:37 -07:00
Sven Dowideit
bfe21f095d Yes, the review really should have picked up this spelling mistake
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-31 11:10:17 +10:00
Jessie Frazelle
f68b8b33e6 Merge pull request #8850 from shuai-z/clean-mount
Clear the internal state before raising error.
2014-10-30 18:01:01 -07:00
Jessie Frazelle
aca253d6d0 Merge pull request #8866 from tonistiigi/fix-8832-logs-panic
Fix panic on slow log consumer.
2014-10-30 17:40:46 -07:00
Jessie Frazelle
793fb26bff Merge pull request #8510 from hqhq/graphdriver_bug
daemon: resolve the graphdriver to show
2014-10-30 17:40:30 -07:00
Tibor Vass
6d6dc2c1a1 Merge pull request #8870 from tiborvass/merge_release_v1.3.1
Merge release v1.3.1
2014-10-30 20:24:34 -04:00
Tibor Vass
b9fcdb8191 Change version to 1.3.1-dev
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-10-30 19:45:07 -04:00
Tibor Vass
4a17e6eedd Bump to version v1.3.1
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	VERSION
2014-10-30 19:44:54 -04:00
Tibor Vass
05c18a2434 Fix login command
Signed-off-by: Tibor Vass <teabee89@gmail.com>
2014-10-30 19:44:44 -04:00
Tibor Vass
e43d9f713e Docs edits for dropping SSLv3 and under + release notes for 1.3.1
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	docs/sources/index.md

Conflicts:
	docs/sources/index.md
2014-10-30 19:44:42 -04:00
Tibor Vass
6a1ff022b0 Do not verify certificate when using --insecure-registry on an HTTPS registry
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	registry/registry.go
	registry/registry_test.go
	registry/service.go
	registry/session.go

Conflicts:
	registry/endpoint.go
	registry/registry.go
2014-10-30 19:44:09 -04:00
Michael Crosby
afade4236d Don't hard code true for auth job
Signed-off-by: Michael Crosby <michael@docker.com>

Conflicts:
	registry/service.go
2014-10-30 19:41:55 -04:00
Michael Crosby
48f7384d63 Expand documentation for --insecure-registries
Signed-off-by: Michael Crosby <michael@docker.com>
2014-10-30 19:41:55 -04:00
Michael Crosby
f29b2e48eb Refactor IsSecure change
Fix issue with restoring the tag store and setting static configuration
from the daemon. i.e. the field on the TagStore struct must be made
internal or the json.Unmarshal in restore will overwrite the insecure
registries to be an empty struct.

Signed-off-by: Michael Crosby <michael@docker.com>

Conflicts:
	graph/pull.go
	graph/push.go
	graph/tags.go
2014-10-30 19:41:55 -04:00
unclejack
380c8320a7 make http usage for registry explicit
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)

Conflicts:
	daemon/config.go
	daemon/daemon.go
	graph/pull.go
	graph/push.go
	graph/tags.go
	registry/registry.go
	registry/service.go
2014-10-30 19:41:55 -04:00
Victor Vieux
28af4a1efb Merge pull request #8867 from vbatts/vbatts-relocate_mount_operation
mount: move the MakePrivate to pkg/mount
2014-10-30 16:39:20 -07:00
Tonis Tiigi
79a77a396e Wait for hijack on docker start command
With current implementation there was a possibility
that /start responds quicker than /attach, meaning that
some output would be clipped.

Fixed so the implementation matches with `docker run`.

This also fixes the flaky test results for TestCreateEchoStdout.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-10-31 01:13:31 +02:00
Vincent Batts
930a756ad5 mount: move the MakePrivate to pkg/mount
The logic is unrelated to graphdriver.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-30 17:04:56 -04:00
Vincent Batts
5e02468e76 ./pkg/archive: clean up Stat_t assertion
inspired by @tonistiigi comment
(https://github.com/docker/docker/pull/8046/files#r19579960)

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-30 16:50:33 -04:00
Tonis Tiigi
c2cf97a074 Fix panic on slow log consumer.
Fixes #8832

All stdio streams need to finish writing before the
connection can be closed.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-10-30 22:24:57 +02:00
Fred Lifton
c3762c3abf Merge pull request #8822 from wilsaj/patch-2
Update host integration article
2014-10-30 12:19:36 -07:00
Michael Crosby
d0197f4f7e Merge pull request #8856 from unclejack/reexec_pkg
pkg/reexec: move reexec code to a new package
2014-10-30 12:14:37 -07:00
Tonis Tiigi
417e48e4a0 Generalize consumeSlow and add stop support
Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-10-30 21:11:33 +02:00
Tonis Tiigi
8a81c46272 Move consumeSlow() under test utils
Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
2014-10-30 20:55:08 +02:00
Andy Wilson
9542ea7218 doc: Update host integration article
Update for changes in docker 1.2. Running the docker daemon with "-r=false" has been deprecated in favor of per-container restart policies.

Signed-off-by: wilsaj <wilson.andrew.j+github@gmail.com>
2014-10-30 13:39:45 -05:00
Huayi Zhang
36ffbd7acf Add docs for --dns-search=.
PR 6720 introduce that use `--dns-search=.` will not set `search` in `/etc/resolv.conf`.

Signed-off-by: Huayi Zhang <irachex@gmail.com>
2014-10-30 21:04:35 +08:00
unclejack
acd64278f1 pkg/reexec: move reexec code to a new package
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-30 14:48:30 +02:00
James Turnbull
b63a254522 Merge pull request #8747 from SvenDowideit/lets-tell-them-more-about-exec
Add a link to some documentation about exec.
2014-10-30 07:56:55 -04:00
shuai-z
05ff40b07a Clear the internal state ourselves before raising error.
If we need to raise an error, make sure the internal state is clean, because
a successful driver.Get() may have its internal state changed (eg. counting,
or mounts), while callers will only do that after a succussful Mount().

Signed-off-by: shuai-z <zs.broccoli@gmail.com>
2014-10-30 13:31:19 +08:00
Sven Dowideit
74564e51ad Merge pull request #8500 from fredlf/style-guide
Adds new Docs Style Guide.
2014-10-29 17:26:29 -07:00
Fred Lifton
461d33eeb0 Adds new Docs Style Guide.
Includes changes to mkdocs yml and removes style info from docs Read Me, adding a link instead.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Conflicts:
	docs/README.md

Revisions to style guide based on review.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

More Style Guide revisions based on review.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

A few more style guide copy edits

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-29 16:43:58 -07:00
Victor Vieux
265a89a605 Merge pull request #8387 from vbatts/vbatts-registry_test_enpoint
registry/endpoint: make it testable
2014-10-29 13:36:17 -07:00
unclejack
73057168fa Merge pull request #8046 from vbatts/vbatts-archive_preserve_hard_links
archive: preserve hardlinks in Tar and Untar
2014-10-29 22:04:23 +02:00
Jessie Frazelle
565340c90c Merge pull request #8669 from monsterzz/8668-dualstack-registry
Use dual-stack Dialer when talking to registy
2014-10-29 12:03:12 -07:00
Vincent Batts
f14a9ed011 archive: cleanup and more information
Signed-off-by: Vincent Batts <vbatts@redhat.com>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-10-29 14:52:59 -04:00
Vincent Batts
f710a8d774 archive: example app for diffing directories
By default is a demo of file differences, but can be used to create a
tar of changes between an old and new path.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-10-29 14:52:59 -04:00
Vincent Batts
f9f8044363 archive: preserve hardlinks in Tar and Untar
* integration test for preserving hardlinks

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2014-10-29 14:52:52 -04:00
Jessie Frazelle
f936a10d80 Merge pull request #8571 from ncdc/3631-stdout-premature-eof
Fix stdout premature EOF
2014-10-29 11:36:32 -07:00
Jessica Frazelle
e171eda998 fix for iptables cleanup 8307
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-29 10:59:20 -07:00
Jessica Frazelle
d98b117962 Add test for #8307.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-29 10:59:20 -07:00
Tibor Vass
006d2334d1 Merge pull request #8846 from LK4D4/fix_compilation
Fix compilation issue bringed by #8319
2014-10-29 12:50:53 -04:00
Alexandr Morozov
4da2572424 Fix compilation issue bringed by #8319
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-29 09:31:35 -07:00
Jessie Frazelle
fd19e473fc Merge pull request #8319 from MalteJ/ipv6-ipallocator
Implementing IPv6 functionality for ipallocator
2014-10-29 09:20:52 -07:00
decadent
ed5e776a22 Updated the COPY directive reference: Source can't be a URL for COPY (+ formatting error fixes)
Signed-off-by: Roman Dudin <katrmr@gmail.com>
2014-10-29 12:36:38 +03:00
Sven Dowideit
7d538542ca Merge pull request #8790 from cloojure/patch-2
Update faq.md
2014-10-28 19:55:00 -07:00
Sven Dowideit
f1ddda6cf7 Merge pull request #8808 from nhsiehgit/dockerfiletut
changed dockerfile back button to look nicer
2014-10-28 19:41:18 -07:00
Tibor Vass
290222c3dd Merge pull request #8352 from zachborboa/patch-1
Fix typo
2014-10-28 22:39:05 -04:00
Solomon Hykes
f0327c99dd Merge pull request #8198 from jfrazelle/add-jessie-to-various-maintainers
Adding self to various maintainers files.
2014-10-28 19:35:28 -07:00
James Turnbull
e11dd26a6c Merge pull request #8734 from alex/patch-2
Replace fast with quickly
2014-10-28 22:11:43 -04:00
Sven Dowideit
90221e28d6 Merge pull request #8646 from ndeloof/patch-3
Update docker_remote_api.md
2014-10-28 19:08:55 -07:00
James Turnbull
75ae546377 Merge pull request #8750 from matm/patch-2
dockerimages.md: typo fix
2014-10-28 22:04:43 -04:00
James Turnbull
01454a50cc Merge pull request #8762 from fredlf/tutorial-tweaks
Tweaks to Dockerfile tutorial
2014-10-28 22:04:23 -04:00
Michael Crosby
9d65017069 Merge pull request #8836 from jfrazelle/hub-login-error
Fix error on successful login.
2014-10-28 18:09:17 -07:00
Jessica Frazelle
35703d4f0c Fix error on successful login.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-28 17:42:03 -07:00
Alexandr Morozov
674e11183a Merge pull request #8833 from jfrazelle/revert-gccgo-changes
Revert gccgo changes
2014-10-28 16:44:39 -07:00
Jessica Frazelle
7041eb00be Revert "finally, use code generation for INITSHA1 & INITPATH too"
This reverts commit c7c620dd9f.

Conflicts:
	.gitignore
	hack/make.sh
	hack/make/dynbinary

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-28 16:29:01 -07:00
Jessica Frazelle
ec1420cc2b Revert "use code generation for GITCOMMIT/VERSION too"
This reverts commit 85744a35de.

Conflicts:
	.gitignore
	hack/make.sh

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-28 16:27:23 -07:00
Sven Dowideit
321c85d03d Merge pull request #8717 from yosifkit/docs-dockerfile
Cleanup docs Dockerfile, so it matches best practices.
2014-10-28 16:25:50 -07:00
Jessica Frazelle
17e0a15386 Revert "Use code generation to set IAMSTATIC instead of -X"
This reverts commit 3e10b93106.

Conflicts:
	.gitignore
	hack/make.sh
	hack/make/dynbinary

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-28 16:25:50 -07:00
Michael Crosby
d176d1bfb4 Merge pull request #8828 from crosbymichael/update-libcontainer-oct4
Update libcontainer to f60d7b9195f8dc0b5d343abbc3293d
2014-10-28 16:14:28 -07:00
Michael Crosby
622e100553 Update libcontainer f60d7b9195f8dc0b5d343abbc3293d
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-10-28 22:19:01 +00:00
Jessie Frazelle
eb1b785e67 Merge pull request #8772 from aluzzardi/docker-info-mem-cpu
Expose # of CPUs and memory available on docker info.
2014-10-28 14:14:10 -07:00
Nathan Hsieh
7597f27276 changed dockerfile back button to look nicer
Signed-off-by: Nathan Hsieh <hsieh.nathan@gmail.com>
2014-10-28 11:52:49 -07:00
Josh Hawn
0d97e082c3 Exclude .wh..wh.* AUFS metadata on layer export
In an effort to make layer content 'stable' between import
and export from two different graph drivers, we must resolve
an issue where AUFS produces metadata files in its layers
which other drivers explicitly ignore when importing.

The issue presents itself like this:

    - Generate a layer using AUFS
    - On commit of that container, the new stored layer contains
      AUFS metadata files/dirs. The stored layer content has some
      tarsum value: '1234567'
    - `docker save` that image to a USB drive and `docker load`
      into another docker engine instance which uses another
      graph driver, say 'btrfs'
    - On load, this graph driver explicitly ignores any AUFS metadata
      that it encounters. The stored layer content now has some
      different tarsum value: 'abcdefg'.

The only (apparent) useful aufs metadata to keep are the psuedo link
files located at `/.wh..wh.plink/`. Thes files hold information at the
RW layer about hard linked files between this layer and another layer.
The other graph drivers make sure to copy up these psuedo linked files
but I've tested out a few different situations and it seems that this
is unnecessary (In my test, AUFS already copies up the other hard linked
files to the RW layer).

This changeset adds explicit exclusion of the AUFS metadata files and
directories (NOTE: not the whiteout files!) on commit of a container
using the AUFS storage driver.

Also included is a change to the archive package. It now explicitly
ignores the root directory from being included in the resulting tar archive
for 2 reasons: 1) it's unnecessary. 2) It's another difference between
what other graph drivers produce when exporting a layer to a tar archive.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-10-28 10:14:05 -07:00
Alexander Larsson
453552c838 Add overlayfs graph backend
This backend uses the overlayfs union filesystem for containers
plus hard link file sharing for images.

Each container/image can have a "root" subdirectory which is a plain
filesystem hierarchy, or they can use overlayfs.

If they use overlayfs there is a "upper" directory and a "lower-id"
file, as well as "merged" and "work" directories. The "upper"
directory has the upper layer of the overlay, and "lower-id" contains
the id of the parent whose "root" directory shall be used as the lower
layer in the overlay. The overlay itself is mounted in the "merged"
directory, and the "work" dir is needed for overlayfs to work.

When a overlay layer is created there are two cases, either the
parent has a "root" dir, then we start out with a empty "upper"
directory overlaid on the parents root. This is typically the
case with the init layer of a container which is based on an image.
If there is no "root" in the parent, we inherit the lower-id from
the parent and start by making a copy if the parents "upper" dir.
This is typically the case for a container layer which copies
its parent -init upper layer.

Additionally we also have a custom implementation of ApplyLayer
which makes a recursive copy of the parent "root" layer using
hardlinks to share file data, and then applies the layer on top
of that. This means all chile images share file (but not directory)
data with the parent.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
2014-10-28 11:31:30 +01:00
Tibor Vass
29ebb53b52 Merge pull request #8806 from takama/ioreader
excluding unused transformation to []byte
2014-10-27 20:58:53 -04:00
Sven Dowideit
413f2efba1 Merge pull request #8807 from erikh/builder_docs
builder: Update documentation WRT environment replacement
2014-10-27 17:40:09 -07:00
Erik Hollensbe
e377716b37 builder: Update documentation WRT environment replacement
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-27 23:37:27 +00:00
unclejack
039f225768 Merge pull request #8802 from jlhawn/vfs_copydir_use_archive_copywithtar
Use archive.CopyWithTar in vfs.Create
2014-10-28 00:08:44 +02:00
Tibor Vass
55702ae3d6 Merge pull request #8809 from erikh/builder_cmd_sh_fix
builder: Restore /bin/sh handling in CMD when entrypoint is specified with JSON
2014-10-27 18:07:08 -04:00
Erik Hollensbe
24545c18c3 builder: Restore /bin/sh handling in CMD when entrypoint is specified with JSON
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-27 21:50:22 +00:00
Tibor Vass
e590aa2c7a Merge pull request #8778 from erikh/builder_fixes
Builder: Environment replacement fixes
2014-10-27 16:58:05 -04:00
Jessie Frazelle
d42bcc065a Merge pull request #8805 from vieux/update_sysinfo_to_logrus
update `pkg` to logrus
2014-10-27 12:26:52 -07:00
Igor Dolzhikov
b65eb8d215 excluding unused transformation to []byte
Signed-off-by: Igor Dolzhikov <bluesriverz@gmail.com>
2014-10-28 01:04:36 +06:00
Victor Vieux
0a37f836ad update sysinfo to logrus
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-10-27 18:59:02 +00:00
Josh Hawn
b6db23cffe Use archive.CopyWithTar in vfs.Create
The vfs storage driver currently shells out to the `cp` binary on the host
system to perform an 'archive' copy of the base image to a new directory.
The archive option preserves the modified time of the files which are created
but there was an issue where it was unable to preserve the modified time of
copied symbolic links on some host systems with an outdated version of `cp`.

This change no longer relies on the host system implementation and instead
utilizes the `CopyWithTar` function found in `pkg/archive` which is used
to copy from source to destination directory using a Tar archive, which
should correctly preserve file attributes.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2014-10-27 11:38:22 -07:00
Alexandr Morozov
339173dd5b Merge pull request #8743 from vieux/hostconfig_start
do not send hostconfig at start, as we do on create now
2014-10-27 11:09:57 -07:00
Erik Hollensbe
4e74cd498b builder: whitelist verbs useful for environment replacement.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-27 17:38:25 +00:00
Erik Hollensbe
be49867cab builder: handle escapes without swallowing all of them.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-27 17:38:24 +00:00
Joe Ferguson
9a03652d96 Cleanup docs Dockerfile, so it matches best practices.
Docker-DCO-1.1-Signed-off-by: Joseph Ferguson <joe@infosiftr.com> (github: yosifkit)
2014-10-27 09:35:27 -07:00
Jessie Frazelle
80d35c7fd0 Merge pull request #8782 from shuai-z/rm-clean
removed redundant Clean
2014-10-27 09:23:10 -07:00
Jessie Frazelle
15b6b7be01 Merge pull request #8770 from LK4D4/logrus_support
Logrus support
2014-10-27 09:05:24 -07:00
Tibor Vass
2b41736205 Merge pull request #8641 from vbatts/vbatts-archive_test_and_benchmark
archive: tests and benchmarks for hardlinks
2014-10-27 09:55:19 -04:00
Alan Thompson
6e208b7f1c Update faq.md
Minor language clarification.
2014-10-26 19:57:52 -07:00
shuai-z
ce407ccff4 removed redundant Clean
The doc (or src) says: The result is Cleaned.

http://golang.org/pkg/path/filepath/#Join

Signed-off-by: shuai-z <zs.broccoli@gmail.com>
2014-10-26 13:55:29 +08:00
Lakshan Perera
d3ac9ea98e Add HasValidGITPrefix to utils/utils.go
This will allow us to use a common Git prefix check for both api/clients/commands.go and
builder/job.go. Previous prefix check in build from Git (in builder/jobs.go) ignored valid prefixes such as "git@", "http://" or "https://".

Signed-off-by: Lakshan Perera <lakshan@laktek.com>
2014-10-26 03:25:25 +00:00
Tianon Gravi
5631ffbdfd Merge pull request #6992 from mschurenko/master
include --releasever=/ in mkimage-yum.sh
2014-10-25 02:03:32 -06:00
Tianon Gravi
10d3315080 Merge pull request #8643 from jfrazelle/fix-amazon-linux-dist
Fix amazon linux dist
2014-10-24 19:26:27 -06:00
Tibor Vass
350e1b783d Merge pull request #8321 from erikh/ui_save_output
docker save: Do not save to a terminal.
2014-10-24 19:37:14 -04:00
Andrea Luzzardi
61f8001c23 Expose # of CPUs and memory available on docker info.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-10-24 15:56:37 -07:00
Alexandr Morozov
c681bea062 Merge pull request #8744 from erikh/empty_entrypoint_inheritance
builder: some small fixups + fix a bug where empty entrypoints would not override inheritance.
2014-10-24 15:31:15 -07:00
Alexandr Morozov
ee7dd44c01 Mass gofmt
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-24 15:11:48 -07:00
Alexandr Morozov
b99dcb3c7e Remove pkg/log
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-24 15:03:24 -07:00
Alexandr Morozov
b3b4043345 Use common logging in engine
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-24 15:03:24 -07:00
Alexandr Morozov
7c62cee51e Use logrus everywhere for logging
Fixed #8761

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-24 15:03:06 -07:00
Alexandr Morozov
6229a36432 Vendor logrus logging framework
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-24 15:01:52 -07:00
Tibor Vass
d515590d15 Merge pull request #8325 from mwhudson/do-not-use-X
Stop using -X flag to set global variables
2014-10-24 17:30:45 -04:00
James Turnbull
78075abf81 Merge pull request #8746 from aluzzardi/bump-api-v1.16
Bump API to v1.16.
2014-10-24 16:47:48 -04:00
Vincent Batts
3eba719400 registry/endpoint: make it testable
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-24 16:27:17 -04:00
Fred Lifton
fcae37402a Add back Best Practices link.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-24 13:17:14 -07:00
Victor Vieux
665cd10d59 Merge pull request #8760 from jfrazelle/8745-output-log
Client should use go log package.
2014-10-24 13:13:30 -07:00
Jessie Frazelle
9094c19a6d Merge pull request #8315 from dqminh/save-start-error
Save start error into State.Error when the container fails to start
2014-10-24 13:13:00 -07:00
Jessica Frazelle
a7aedca4a1 Client should use go log package.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-24 13:03:46 -07:00
Fred Lifton
cc45b13ad4 Tweaks to Dockerfile tutorial
Made a few tweaks to Dockerfile tutorial links and removed some cruft from the tutorial itself.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-24 12:00:47 -07:00
Andrea Luzzardi
ca6cc65609 Bump API to v1.16.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-10-24 11:25:44 -07:00
Vincent Batts
0fdf7839a2 archive: tests and benchmarks for hardlinks
Adding moar information, so benchmark comparisons can be moar
comparative.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-24 08:58:31 -04:00
Nicolas De loof
ab03e898ff Document alternate command to check encrypted TCP socket
as curl command seems to fail on OSX Mavericks

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2014-10-24 09:15:15 +02:00
Mathias Monnerville
417fde550e dockerimages.md: typo fix 2014-10-24 09:09:20 +02:00
Sven Dowideit
7f1ea7129e Add a link to some documentation about exec.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-24 12:41:19 +10:00
James Turnbull
c6f242b88f Merge pull request #8722 from SvenDowideit/sven-cannot-bash
Add --dryrun to allow testing to the docs-release site, and then fix the...
2014-10-23 21:37:55 -04:00
James Turnbull
8f79bd964f Merge pull request #8695 from SvenDowideit/add-details-to-entrypoint-docs
Rewrite ENTRYPOINT documentation covering all the combinations with exam...
2014-10-23 21:37:36 -04:00
Sven Dowideit
4bae6235c0 Add --dryrun to allow testing to the docs-release site, and then fix the double dollar mistake
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-24 11:36:07 +10:00
Michael Crosby
0e6242122d Merge pull request #8671 from shuai-z/master
Port number 49153(BeginPortRange) would be returned twice, causing dupli...
2014-10-23 17:37:38 -07:00
Erik Hollensbe
cdd6e97910 builder: some small fixups + fix a bug where empty entrypoints would not override inheritance.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-24 00:23:25 +00:00
Victor Vieux
12028fc159 do not send hostconfig at start, as we do on create now
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-10-24 00:22:21 +00:00
Victor Vieux
a71b2ec54a Merge pull request #8737 from brahmaroutu/resize_uponstart_8728
Allowing resize tty to only work when container is started
2014-10-23 17:20:10 -07:00
Andrea Luzzardi
a76c924e6a Merge pull request #8453 from estesp/8444-create-bridge-error
Gracefully handle network bridge without IP association at startup
2014-10-23 17:00:21 -07:00
Michael Hudson-Doyle
c7c620dd9f finally, use code generation for INITSHA1 & INITPATH too
Signed-off-by: Michael Hudson-Doyle <michael.hudson@linaro.org>
2014-10-24 11:01:19 +13:00
Michael Hudson-Doyle
85744a35de use code generation for GITCOMMIT/VERSION too
Signed-off-by: Michael Hudson-Doyle <michael.hudson@linaro.org>
2014-10-24 10:58:39 +13:00
Michael Hudson-Doyle
3e10b93106 Use code generation to set IAMSTATIC instead of -X
Signed-off-by: Michael Hudson-Doyle <michael.hudson@linaro.org>
2014-10-24 10:56:51 +13:00
Srini Brahmaroutu
78a272ce14 Allowing resize tty to only work when container is started
Addresses #8728

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-10-23 21:31:34 +00:00
Jessie Frazelle
88e6693912 Merge pull request #8736 from crosbymichael/update-libcontainer-oct3
Update libcontainer to aab3f6d17f2f56606f07f3a6eb6
2014-10-23 14:07:36 -07:00
Phil Estes
1262b5f605 Gracefully handle network bridge without IP association at startup
Addresses #8444

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-10-23 16:19:12 -04:00
Alexandr Morozov
77dcab133c Merge pull request #8735 from estesp/fix-test-timeout-on-drone
Up test timeout to 10s based on recent drone.io timeout failures
2014-10-23 13:02:34 -07:00
Michael Crosby
45c511fd5a Merge pull request #8733 from estesp/error-string-http-status-fix
Fix error string mapping to HTTP response code to ignore case
2014-10-23 12:10:21 -07:00
Michael Crosby
291b84610f Update libcontainer to aab3f6d17f2f56606f07f3a6eb6
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-10-23 19:00:05 +00:00
Phil Estes
ee17b93df9 Up test timeout to 10s based on recent drone.io timeout failures
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-10-23 14:30:39 -04:00
Phil Estes
6589044b5b Fix volume test using "find" to properly call find with /hello path
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-10-23 14:13:11 -04:00
Alex Gaynor
3a1eafb488 Replace fast with quickly
Technically an adverb should be used there :-)
2014-10-23 11:06:36 -07:00
Fred Lifton
8b40d385b5 Removed James' email address
Changed email address for abuse reports from James to abuse@
2014-10-23 10:54:40 -07:00
Phil Estes
9b430f4ec1 Fix error string mapping to HTTP response code to ignore case
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-10-23 13:34:06 -04:00
unclejack
1aa67071cb Merge pull request #8550 from aluzzardi/f-meminfo
system: Add MemInfo utility.
2014-10-23 09:31:28 +03:00
shuai-z
2c2edabca5 added test, gofmtd
Signed-off-by: shuai-z <zs.broccoli@gmail.com>
2014-10-23 11:35:12 +08:00
shuai-z
9451cf39ef Port number 49153(BeginPortRange) would be returned twice, causing duplication and potential errors.
If we first request port 49153 (BeginPortRange) explicitly, and later some time request the next free port (of same ip/proto) by calling RequestPort() with port number 0, we will again get 49153 returned, even if it's currently in use. Because findPort() blindly retured BeginPortRange the first run, without checking if it has already been taken.

Signed-off-by: shuai-z <zs.broccoli@gmail.com>
2014-10-23 10:49:33 +08:00
Daniel, Dao Quang Minh
fb6ee865a9 save start error into State.Error
when a container failed to start, saves the error message into State.Error so
that it can be retrieved when calling `docker inspect` instead of having to
look at the log

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-10-22 22:42:37 -04:00
Sven Dowideit
0390d04d8a Rewrite ENTRYPOINT documentation covering all the combinations with examples.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-23 12:12:08 +10:00
Alexandr Morozov
5343ede602 Merge pull request #8718 from jfrazelle/run-redirect-test-fix
TestRunRedirectStdout kept failing with timed out.
2014-10-22 19:11:12 -07:00
Sven Dowideit
bb3e33154d Merge pull request #8673 from SvenDowideit/whats-docker-version
DOCKER_VERSION and docker-version havn't been implemented.
2014-10-22 19:03:54 -07:00
James Turnbull
ba14ddf85b Merge pull request #8708 from torstehu/fix-url
Correct url from github.com/dotcloud/docker{,-py}
2014-10-22 18:57:42 -04:00
Jessica Frazelle
93e17b2eca TestRunRedirectStdout kept failing with timed out.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-22 15:51:14 -07:00
Andrea Luzzardi
e0c9d7b654 Add MemInfo to the system pkg.
MemInfo provides a simple API to get memory information from the
system.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-10-22 14:05:45 -07:00
Andy Goldstein
5572dbb750 Fix stdout premature EOF
Never close attached stream before both stdout and stderr have written
all their buffered contents. Remove stdinCloser because it is not needed
any more as the stream is closed anyway after attach has finished.

Fixes #3631

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
2014-10-22 16:34:42 -04:00
Torstein Husebø
64cb772538 Correct url from github.com/dotcloud/docker{,-py}
to github.com/docker/docker{,-py}

Signed-off-by: Torstein Husebø <torstein@huseboe.net>
2014-10-22 16:57:39 +02:00
unclejack
25c32d3167 Merge pull request #8672 from estesp/CmdRun-fix-typos-comments
Clean up comment sections and fix typos in CmdRun
2014-10-22 14:32:39 +03:00
unclejack
c694c66e2f Merge pull request #8692 from jfrazelle/8690-latest-tag-problem
Fix problem where building Dockerfile `FROM name:latest`
2014-10-22 10:55:57 +03:00
Sven Dowideit
6aeda16995 Merge pull request #8682 from wpp/update_linking_documentation
Update linking documentation
2014-10-21 21:01:51 -07:00
Sven Dowideit
a9258f7849 Merge pull request #8680 from wilsaj/patch-1
Docfix: fix cli dashes in boot2docker resizing article
2014-10-21 21:00:53 -07:00
James Turnbull
ca500e0039 Merge pull request #8651 from flisky/patch-1
fix a small typo
2014-10-21 23:40:34 -04:00
James Turnbull
6f4529a598 Merge pull request #8670 from SvenDowideit/link-to-run-reference-from-cli.md
Link to run reference from cli doc
2014-10-21 23:38:57 -04:00
Tibor Vass
47cb56f20f Merge pull request #8691 from crosbymichael/fix-integration-race
Fix racy integration tests
2014-10-21 21:06:01 -04:00
Jessica Frazelle
373fd1ce16 Fixes #8690
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-21 16:47:43 -07:00
Michael Crosby
95d1cd0bde Merge pull request #8661 from estesp/8555-start-exit-code
Return container exit code with start -a/-i
2014-10-21 16:22:15 -07:00
Michael Crosby
ba5370c116 Fix racy integration tests
Do not run containers in the background in the integration tests if you
depend on the run completing.  It is better especially if you just want
to ensure that the run has completed with a `true` to just run in
foreground and use a known name for the container to query it after it
has stopped.

The failures can be reproduced on most machines by giving your dind
container one core and a cpushare.

docker run -c 200 --cpuset 0 -ti --rm --privileged -e
DOCKER_GRAPHDRIVER=vfs docker hack/make.sh binary test-integration-cli

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-10-21 22:51:09 +00:00
Alexandr Morozov
a07ee0db62 Merge pull request #8684 from erikh/onbuild_case_insensitive
builder: handle cases where onbuild is not uppercase.
2014-10-21 15:24:15 -07:00
Erik Hollensbe
a34831f016 builder: handle cases where onbuild is not uppercase.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-21 20:17:37 +00:00
Philipp Weissensteiner
5df2c878a1 Update container linking documentation
As of 1.3 `docker ps` no longer shows links between containers.
This updates the documentation to reflect that change.

    sudo docker docker inspect -f "{{ .HostConfig.Links }}" web

Signed-off-by: Philipp Weissensteiner <mail@philippweissensteiner.com>
2014-10-21 21:58:05 +02:00
Andy Wilson
36dae27fa2 fix cli dashes in boot2docker resizing article
The CLI commands had long dashes that won't work on most terminals when copy pasting.

Signed-off-by: wilsaj <wilson.andrew.j+github@gmail.com>
2014-10-21 11:38:19 -05:00
Tibor Vass
9df3e45ba9 Merge pull request #8423 from unclejack/lint_changes
lint changes part 1
2014-10-21 12:15:58 -04:00
Tibor Vass
cf44d6f9cc Merge pull request #8665 from cpuguy83/8659_clean_paths_for_volumes
Clean volume paths
2014-10-21 11:17:03 -04:00
Qiang Huang
7cf322dffc daemon: resolve the graphdriver to show
graphdriver is not always specified when the log printed, because
it's provided in another thread. This patch will fix this.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2014-10-21 15:00:25 +08:00
Sven Dowideit
6ed610fb80 DOCKER_VERSION and docker-version havn't been implemented.
So far, it looks like the declarations are not used, and so its safer not to
confuse people into thinking they do something.

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-21 16:04:11 +10:00
Zach Borboa
d0f12a0f73 Fix typo
Signed-off-by: Zach Borboa <zachborboa@gmail.com>
2014-10-20 18:46:39 -07:00
Sven Dowideit
9e137ceb57 Link to run reference from cli doc
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-21 11:21:11 +10:00
Victor Vieux
a10876d355 Merge pull request #8573 from estesp/integration-test-migrate
Migrate container GET API tests from integration to integration-cli
2014-10-20 18:06:40 -07:00
Alexandr Morozov
a0781f3ea9 Merge pull request #8509 from cpuguy83/make_copy_support_volumes
Make container.Copy support volumes
2014-10-20 17:34:30 -07:00
Brian Goff
ef98fe0763 Make container.Copy support volumes
Fixes #1992

Right now when you `docker cp` a path which is in a volume, the cp
itself works, however you end up getting files that are in the
container's fs rather than the files in the volume (which is not in the
container's fs).
This makes it so when you `docker cp` a path that is in a volume it
follows the volume to the real path on the host.

archive.go has been modified so that when you do `docker cp mydata:/foo
.`, and /foo is the volume, the outputed folder is called "foo" instead
of the volume ID (because we are telling it to tar up
`/var/lib/docker/vfs/dir/<some id>` and not "foo", but the user would be
expecting "foo", not the ID

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-10-20 20:23:01 -04:00
Gleb M Borisov
fdd2abe7b3 Use dual-stack Dialer when talking to registy
Signed-off-by: Gleb M. Borisov <borisov.gleb@gmail.com>
2014-10-21 03:59:11 +04:00
Brian Goff
964f9965c7 Clean volume paths
Fixes #8659

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2014-10-20 19:07:56 -04:00
Tibor Vass
af52f8edcf Merge pull request #8638 from LK4D4/fix_8632
Don't write pull output to stdout on container creating
2014-10-20 18:10:47 -04:00
Alexandr Morozov
52784c09b7 Merge pull request #8543 from brahmaroutu/filter_containers_7599
Adding capability to filter by name, id or status to list containers api
2014-10-20 15:04:24 -07:00
Michael Crosby
b90ab68f2a Merge pull request #8511 from coolljt0725/fix_tag
Fix tag an existed tag name of a repository
2014-10-20 14:32:23 -07:00
Michael Crosby
0c7d2ff2d4 Merge pull request #8559 from rhatdan/404
On Red Hat Registry Servers we return 404 on certification errors.
2014-10-20 14:13:34 -07:00
Tianon Gravi
551047a64e Merge pull request #8657 from vincentbernat/update/zsh-completion-2
zsh: update zsh completion for docker command
2014-10-20 14:48:00 -06:00
Srini Brahmaroutu
1634625353 Adding capability to filter by name, id or status to list containers api
Closes #7599

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2014-10-20 18:33:20 +00:00
Dan Walsh
69fe3e1a34 On Red Hat Registry Servers we return 404 on certification errors.
We do this to prevent leakage of information, we don't want people
to be able to probe for existing content.

According to RFC 2616, "This status code (404) is commonly used when the server does not
wish to reveal exactly why the request has been refused, or when no other response i
is applicable."

https://www.ietf.org/rfc/rfc2616.txt

10.4.4 403 Forbidden

   The server understood the request, but is refusing to fulfill it.
   Authorization will not help and the request SHOULD NOT be repeated.
   If the request method was not HEAD and the server wishes to make
   public why the request has not been fulfilled, it SHOULD describe the
   reason for the refusal in the entity.  If the server does not wish to
   make this information available to the client, the status code 404
   (Not Found) can be used instead.

10.4.5 404 Not Found

   The server has not found anything matching the Request-URI. No
   indication is given of whether the condition is temporary or
   permanent. The 410 (Gone) status code SHOULD be used if the server
   knows, through some internally configurable mechanism, that an old
   resource is permanently unavailable and has no forwarding address.
   This status code is commonly used when the server does not wish to
   reveal exactly why the request has been refused, or when no other
   response is applicable.

When docker is running through its certificates, it should continue
trying with a new certificate even if it gets back a 404 error code.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2014-10-20 13:20:48 -04:00
Vincent Bernat
ed7934fd63 zsh: update zsh completion for docker command
zsh completion is updated with the content of
felixr/docker-zsh-completion.

The major change since the last merge is the addition of
exec/create (but they were already present in the docker repository) as
well as pause/unpause/logout/events and the use of short/long options
when they are available. Some missing options were also added.

12f00abd7178 Add completion for `exec'
4e2faa075f9a Merge `run' and `create' commands.
34134de077de Add missing long/short options for most commands.
d09f62339ab5 Add completion for `pause' and `unpause'
e4754c3b3b9d Add completion for `logout'
e0935eb3d5d2 Add completion for `events'
dae353cb9afb Add completion for `create`

Docker-DCO-1.1-Signed-off-by: Vincent Bernat <vincent@bernat.im> (github: vincentbernat)
2014-10-20 15:33:17 +02:00
尹吉峰
3d10d50c6d small typo 2014-10-20 14:17:33 +08:00
James Turnbull
528c15afed Merge pull request #8622 from Coaxial/patch-1
Update dockerimages.md
2014-10-20 01:16:20 -04:00
James Turnbull
5160fbb447 Merge pull request #8649 from mavenugo/master
Fixed a minor docs issue in a Dockerfile Example
2014-10-20 01:14:54 -04:00
Lei Jitang
c496f24157 Add docker tag tests.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2014-10-20 11:10:31 +08:00
Madhu Venugopal
18141652ba Fixed a minor docs issue in a Dockerfile Example
The Dockerfile Instruction to create the .vnc directory results in a failure :
-storepasswd failed for file: /root/.vnc/passwd

Signed-off-by: Madhu Venugopal <madhu@socketplane.io>
2014-10-19 10:16:30 -07:00
Phil Estes
d2cd8e77a6 Clean up comment sections and fix typos in CmdRun
Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2014-10-19 02:47:53 -04:00
Phil Estes
65edb07065 Return container exit code with start -a/-i
Addresses #8555

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2014-10-18 23:00:20 -04:00
Marc Tamsky
91502ba66b Add mention of e2fsprogs to runtime dependencies.
Signed-off-by: Marc Tamsky <mtamsky@gmail.com> (github: tamsky)
2014-10-17 16:58:07 -07:00
Jessica Frazelle
b7249317c1 check ID in os-release instead
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-17 16:51:36 -07:00
Amit Bakshi
dbe24a048b install.sh: Fix for Amazon's Linux AMI
Use /etc/os-release to determine distro

Contents of /etc/os-release on Amazon Linux AMI 2014.09:
NAME="Amazon Linux AMI"
VERSION="2014.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2014.09"
PRETTY_NAME="Amazon Linux AMI 2014.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2014.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

Signed-off-by: Amit Bakshi <ambakshi@gmail.com>
Signed-off-by: Jessica Frazelle <jess@docker.com>
2014-10-17 16:19:28 -07:00
Jessie Frazelle
005029cbdd Merge pull request #8483 from duglin/TabTest
Add a testcase to make sure we don't squash tabs or convert them to spaces
2014-10-17 16:03:22 -07:00
Doug Davis
c980fe09b7 Add a testcase to make sure we don't squash tabs or convert them to spaces
This is in response to @SvenDowideit asking if we had a "tab" testcase
in https://github.com/docker/docker/issues/2315#issuecomment-58133508
I couldn't find one so I'm adding one

Closes #2315

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-10-17 15:52:48 -07:00
Alexandr Morozov
75fd1b614d Merge pull request #8639 from erikh/fix_escapes
builder: fix escaping for ENV variables.
2014-10-17 15:50:37 -07:00
Erik Hollensbe
df0e0c7683 builder: fix escaping for ENV variables.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-17 21:47:35 +00:00
Jessie Frazelle
3c325f89e5 Merge pull request #8415 from LK4D4/use_logs_in_builder
Use logs instead of attach for builder
2014-10-17 13:32:13 -07:00
Alexandr Morozov
2db1caee4f Make daemon.Attach private
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 13:20:02 -07:00
Alexandr Morozov
6f09d064bd Use logs instead of attach for builder
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 13:20:02 -07:00
Jessie Frazelle
b357f76e5d Merge pull request #8565 from LK4D4/remove_fixtures_copy_tests
Remove fixtures copy tests
2014-10-17 13:10:30 -07:00
Tianon Gravi
fb5e6526d8 Merge pull request #8561 from albers/bash-completion
Fix support for --env-file in bash completion
2014-10-17 13:26:24 -06:00
Alexandr Morozov
93d3c8e71d Just remove integration-cli/build_tests/TestCopy/MultipleFilesToFile because it wasn't used
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:58:12 -07:00
Alexandr Morozov
98e7608b4c Rewrite TestBuildCopyDisallowRemote to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:58:12 -07:00
Alexandr Morozov
c8a5d56fd7 Rewrite TestBuildCopyEtcToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:57:48 -07:00
Alexandr Morozov
6582ea574c Rewrite TestBuildCopyWholeDirToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:57:30 -07:00
Alexandr Morozov
4a029259ff Rewrite TestBuildCopyDirContentToExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:57:07 -07:00
Alexandr Morozov
832618afc6 Rewrite TestBuildCopyDirContentToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:56:49 -07:00
Alexandr Morozov
24d83afd52 Rewrite TestBuildCopySingleFileToNonExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:56:28 -07:00
Alexandr Morozov
2248109ff8 Rewrite TestBuildCopySingleFileToExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:56:01 -07:00
Alexandr Morozov
d41cba6aed Rewrite TestBuildCopySingleFileToWorkdir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:55:34 -07:00
Alexandr Morozov
83c5dced10 Rewrite TestBuildCopySingleFileToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:55:04 -07:00
Alexandr Morozov
e45c92153d Rewrite TestBuildCopyAddMultipleFiles to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:54:29 -07:00
James Turnbull
04932e38af Merge pull request #8614 from ryanrdetzel/master
exec docs syntax fix
2014-10-17 14:38:43 -04:00
Jessie Frazelle
5a20dc67b0 Merge pull request #8567 from LK4D4/add_log_done
Add logDone for TestBuildAddSingleFileToNonExistDir
2014-10-17 11:20:12 -07:00
Jessie Frazelle
09ceae5c9c Merge pull request #8486 from duglin/Issue5701
Add failing testcase for single quotes in CMD
2014-10-17 11:11:49 -07:00
Alexandr Morozov
ad136e1ae3 Don't write pull output to stdout on container creating
Fixes #8632

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-17 11:08:53 -07:00
Tibor Vass
6ac9768eaf Merge pull request #8569 from jfrazelle/Cleanup-errorOut-resp
Cleanup: integration-cli (get rid of errorOut)
2014-10-17 13:36:00 -04:00
Alexandr Morozov
83761be409 Merge pull request #8635 from blakery/master
Cleanup: Removed unused function layerArchive
2014-10-17 10:28:22 -07:00
Michael Crosby
9b795108c7 Merge pull request #8621 from zhgwenming/lxc
Fix lxc driver build issue on Mac OS X
2014-10-17 09:17:25 -07:00
Tibor Vass
10f78974ca Merge pull request #8588 from dqminh/remove-sslv3
remove sslv3 from server's TLS supported versions
2014-10-17 12:05:48 -04:00
Blake Geno
7cff8db4a3 Removed unused function layerArchive
Signed-off-by: Blake Geno <blakegeno@gmail.com>
2014-10-17 10:49:21 -04:00
Pierre
4e8f69bfe0 Update dockerimages.md
The container ID in the text didn't match the container ID from the figure above it.
2014-10-16 22:16:29 -04:00
Albert Zhang
210db1234d Fix lxc driver build issue on Mac OS X
Docker-DCO-1.1-Signed-off-by: Albert Zhang <zhgwenming@gmail.com> (github: zhgwenming)
2014-10-17 09:41:23 +08:00
Fred Lifton
6ce4f82ebe Merge pull request #8531 from SvenDowideit/move-registry-search-to-registry-api
Move registry search API docs into the registry API document.
2014-10-16 18:27:37 -07:00
Sven Dowideit
57263ef0d6 Merge pull request #8591 from fredlf/1.3release-notes
Edits and additions to release notes.
2014-10-16 18:26:11 -07:00
Fred Lifton
d79defb747 Edits and additions to release notes.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Added link for CVEs.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Fixed some URLs.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-16 18:16:52 -07:00
Fred Lifton
b61ad60675 Edits and additions to release notes.
Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)

Added link for CVEs.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-16 18:06:32 -07:00
Sven Dowideit
62cb97278d Merge pull request #8599 from irachex/commit_docs
Fix commit api document
2014-10-16 16:10:49 -07:00
Alexandr Morozov
cb106e74a1 Merge pull request #8238 from vbatts/vbatts-daemon_timestamps
daemon logging: unifying output and timestamps
2014-10-16 15:55:49 -07:00
Fred Lifton
2e35d7c905 Merge pull request #8544 from SvenDowideit/link-to-latest-b2d-installers
Link directly to the 'latest' release alias
2014-10-16 15:52:24 -07:00
Fred Lifton
69e3a55560 Merge pull request #8516 from jamtur01/sshd
Minor changes to SSHd example
2014-10-16 15:44:10 -07:00
Jessica Frazelle
5af7facf18 Cleanup errorOut remove errorOut functions
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
66ac7420a9 Cleanup errorOut resp run tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
842d4b6b0a Cleanup errorOut resp log tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
9f52d8e6e7 Cleanup errorOut resp restart tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
6f1c8ff4c4 Cleanup errorOut resp exec tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
eeb0097294 Cleanup errorOut resp pull tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
dd248dee3c Cleanup errorOut resp in images tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
50c3e7537c Cleanup errorOut resp in version tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
f013506aad Cleanup errorOut resp in push tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
764030ec92 Cleanup errorOut resp in top tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
b1e3c9e9cd Cleanup errorOut resp in build tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
0c87424007 Cleanup errorOut resp in save tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
0e3744ec89 Cleanup errorOut resp in rmi tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:20 -07:00
Jessica Frazelle
ac24cabd9d Cleanup errorOut resp in inspect tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:19 -07:00
Jessica Frazelle
d33f2bdb11 Cleanup errorOut resp in ps tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:19 -07:00
Jessica Frazelle
ef787eb824 Cleanup errorOut resp in search tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:19 -07:00
Jessica Frazelle
73eadbc6a1 Cleanup errorOut resp in docker_utils.go
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:06:16 -07:00
Jessica Frazelle
ac62c5439a Cleanup errorOut resp in diff test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
7d38ae7041 Cleanup errorOut resp in links test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
f7b3a6b292 Cleanup errorOut resp in history test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
b59d5a9dd2 Cleanup errorOut resp in info test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
0faf87598f Cleanup errorOut resp in kill test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
17842840ec Cleanup errorOut resp in nat test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
6b858b59ed Cleanup errorOut resp in create test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
475235ba7e Cleanup errorOut resp in tag test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
b645df1d39 Cleanup errorOut resp in export test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
88d65cbdf4 Cleanup errorOut resp in port test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Jessica Frazelle
3182ee5c9b Cleanup errorOut resp in commit test
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)

Cleanup errorOut resp in commit test

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-16 15:05:00 -07:00
Doug Davis
9edf967824 Add failing testcase for single quotes in CMD
Closes #5701

This is due to @SvenDowideit comment at: https://github.com/docker/docker/issues/5701#issuecomment-58133541
where he asked for a testcase showing the error case.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2014-10-16 14:40:55 -07:00
Phil Estes
d8cd8165a9 Migrate container GET API tests from integration to integration-cli
An initial start to migration of the API tests from integration to
the integration-cli model.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
(github: estesp)
2014-10-16 17:34:28 -04:00
Michael Crosby
2f9ffe5b6a Merge pull request #8232 from vbatts/vbatts-devmapper_getDeps
devmapper: include dm_deps information in debug
2014-10-16 14:13:21 -07:00
Michael Crosby
0e67cf0627 Merge pull request #8380 from cpuguy83/moar_names
Add more names
2014-10-16 14:04:15 -07:00
Michael Crosby
4b594721c4 Merge pull request #8465 from SvenDowideit/document-device-flag-permission-options
Add info on --device flag permissions ':rwm'
2014-10-16 14:00:09 -07:00
Michael Crosby
f0eb1ef4e1 Merge pull request #8526 from vbatts/vbatts-too_many_open_files
client: even cleaner use of Transport
2014-10-16 13:53:31 -07:00
Michael Crosby
b3cda9fc7e Merge pull request #8566 from jfrazelle/Cleanup-fmt-%q
Cleanup: integration-cli ('%s' with %q)
2014-10-16 13:51:46 -07:00
Victor Vieux
1183abc4aa Merge pull request #8549 from vieux/pkg_units
add BytesSize in pkg/units
2014-10-16 13:44:50 -07:00
Michael Crosby
d1aca045b3 Merge pull request #8612 from jfrazelle/8611-ip-masq-iptables
Setting iptables=false should propagate to ip-masq=false
2014-10-16 13:35:37 -07:00
Ryan Detzel
b8b9930a8a Docs syntax fix
the flags must come before the container name.
2014-10-16 15:57:38 -04:00
Michael Crosby
40a6461d16 Merge pull request #8606 from tianon/release-home
Fix more missing HOME references
2014-10-16 12:12:38 -07:00
Michael Crosby
c3237cc9d8 Merge pull request #8608 from crosbymichael/merge_release_v1.3.0
Merge release v1.3.0
2014-10-16 12:12:21 -07:00
James Turnbull
3d0d2fd183 Merge pull request #8609 from gesellix/patch-2
fix minor docs error
2014-10-16 15:06:00 -04:00
Jessica Frazelle
3893e220e8 Setting iptables=false should propagate to ip-masq=false
Signed-off-by: Jessica Frazelle <jess@docker.com>
2014-10-16 11:52:14 -07:00
Tobias Gesellchen
143f438e6e fix minor docs error
Signed-off-by: Tobias Gesellchen <tobias@gesellix.de>
2014-10-16 19:36:36 +02:00
Michael Crosby
db21b556ce Change version to 1.3.0-dev
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2014-10-16 17:22:42 +00:00
Michael Crosby
30806ebc0f Merge branch 'release' into merge_release_v1.3.0 2014-10-16 17:22:27 +00:00
Tianon Gravi
d040de6dd4 Fix more missing HOME references
Signed-off-by: Andrew Page <admwiggin@gmail.com>
2014-10-16 10:14:26 -06:00
Huayi Zhang
f6140060e3 Fix commit api document
The commit message field should be `comment`, not `m`
https://github.com/docker/docker/blob/master/api/server/server.go#L478

Signed-off-by: Huayi Zhang <irachex@gmail.com>
2014-10-16 18:10:58 +08:00
Sven Dowideit
2eb9c0bfd4 Merge pull request #8595 from fredlf/signed-image-doco
Expanded release notes
2014-10-15 23:20:14 -07:00
Daniel, Dao Quang Minh
7a062b2b8f Avoid fallback to SSL protocols < TLS1.0
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
2014-10-15 22:39:51 -04:00
Fred Lifton
74d0485885 Expanded release notes
Made it clear signed images is a preview feature and added a little more info about how the feature works.

Docker-DCO-1.1-Signed-off-by: Fred Lifton <fred.lifton@docker.com> (github: fredlf)
2014-10-15 16:08:07 -07:00
Alexandr Morozov
fcfe80f633 Minor fix of tests names
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-14 11:47:01 -07:00
Alexandr Morozov
fbaa41b5aa Add logDone for TestBuildAddSingleFileToNonExistDir
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
2014-10-14 11:17:41 -07:00
Jessica Frazelle
949ab47710 Replace '%s' in test utils
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-14 10:59:38 -07:00
Jessica Frazelle
c091397d51 Replace '%s' in run tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-14 10:59:19 -07:00
Jessica Frazelle
be31a66b7a Replace '%s' in rm tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-14 10:59:11 -07:00
Jessica Frazelle
a44296603f Replace '%s' in diff tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-14 10:59:01 -07:00
Jessica Frazelle
91f33fcaaa Replace '%s' in create tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-10-14 10:58:35 -07:00
Harald Albers
ba311ee58a Fix support for --env-file in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2014-10-14 17:45:29 +02:00
Victor Vieux
ae4689f14d add BytesSize in pkg/units
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-10-14 03:54:32 +00:00
Sven Dowideit
6b285c4cd6 Move registry search API docs into the registry API document.
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-14 11:53:10 +10:00
Sven Dowideit
380fe94614 Link directly to the 'latest' release alias
Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@docker.com> (github: SvenDowideit)
2014-10-14 09:20:55 +10:00
Sven Dowideit
2709c4677c Add info on --device flag permissions ':rwm'
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>

Docker-DCO-1.1-Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> (github: SvenDowideit)
2014-10-13 17:41:12 +10:00
Vincent Batts
da42ae536c client: even cleaner use of Transport
First off, sorry for the noise. This is a cleaner step of #8508

Found more of a root cause of the open file handles.
After more testing I found that the open file descriptors will still
occur for TCP:// connections to the daemon, causing client and/or daemon
to fail.

The issue was instantiating a new http.Transport on _ever_ client
request. So each instance held the prior connection alive, but was only
ever used once.

By moving it out to the initilization of DockerCli, we can now have
reuse of idled connections. Simplifies the garbage overhead of the
client too, though that's not usually a deal.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-10-12 22:32:55 -04:00
James Turnbull
f1c319f77c Minor changes to SSHd example
Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
2014-10-11 16:30:36 -04:00
Lei Jitang
5e6f16e342 Fix the bug of tag a existed tag name of a repository.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2014-10-10 09:18:12 +08:00
unclejack
9e45069e0a pkg/graphdb: some linting
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-06 22:57:27 +03:00
unclejack
ae3b59c171 registry: lint
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-06 22:34:39 +03:00
unclejack
d1a85078b5 pkg/timeutils: lint and add comments
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-06 22:27:56 +03:00
unclejack
d202ff2ece pkg/units: lint
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-06 22:19:41 +03:00
unclejack
39fe2a3e4e pkg/truncindex: lint and add comments
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
2014-10-06 22:00:58 +03:00
Erik Hollensbe
115436e038 docker save: Do not save to a terminal.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
2014-10-06 09:50:40 -07:00
unclejack
d29c7e51cf pkg/version: lint and add comments 2014-10-06 18:41:53 +03:00
Dan Griffin
e857716d2d Preserve extended attributes and acls on archlinux build
Failure to do this means that file capabilites are not preserved in the image.
Ping fails to work as a non-root user if cap_net_raw is capability is not set

Signed-off-by: Dan Griffin <dgriffin@peer1.com>
2014-10-06 09:58:33 +01:00
Brian Goff
ed55a2db06 Add more names
Docker-DCO-1.1-Signed-off-by: Brian Goff <bgoff@cpuguy83-mbp.home> (github: cpuguy83)
2014-10-03 10:17:42 -04:00
Malte Janduda
f5f4d2d9cb Implementing IPv6 functionality for ipallocator
Closes #6975

Signed-off-by: Malte Janduda <mail@janduda.net>
2014-10-02 00:25:02 +02:00
Jessica Frazelle
6c60e8c784 Adding self to various maintainers files.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
2014-09-29 15:43:07 -07:00
Vincent Batts
92df943fbf daemon logging: unifying output and timestamps
A little refactor of the ./pkg/log so engine can have a logger instance

Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-09-26 14:44:46 -04:00
Vincent Batts
8e7aa44f0e devmapper: include dm_deps information in debug
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2014-09-25 10:59:23 -04:00
mschurenko
56fa079906 add --releasever=/ to mkimage-yum.sh
I didn't realize the commit required a Docker-DCO so it failed the travis-ci build. So I removed the commit from my forked repo. Now it looks like there is a pull request with no commit. So here it is again:

Needed to add '--releasever=/' flag to run yum groupinstall on Centos7 (didn't try on anything else). This snippet from yum man page explains why:

```
Note: You may also want to use the option --releasever=/ when creating the installroot as otherwise the $releasever value is taken from the rpmdb within the installroot (and thus.  will  be  empty,  before  creation).
```

Docker-DCO-1.1-Signed-off-by: Matt Schurenko <matt.schurenko@gmail.com> (github: mschurenko)
2014-07-12 12:15:42 -07:00
2711 changed files with 392148 additions and 167061 deletions

View File

@@ -1,14 +0,0 @@
image: dockercore/docker
env:
- AUTO_GOPATH=1
- DOCKER_GRAPHDRIVER=vfs
- DOCKER_EXECDRIVER=native
script:
# Setup the DockerInDocker environment.
- hack/dind
# Tests relying on StartWithBusybox make Drone time out.
- rm integration-cli/docker_cli_daemon_test.go
- rm integration-cli/docker_cli_exec_test.go
# Validate and test.
- hack/make.sh validate-dco validate-gofmt
- hack/make.sh binary cross test-unit test-integration-cli test-integration

48
.gitignore vendored
View File

@@ -1,29 +1,37 @@
# 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
.*.swp
a.out
*.exe
*.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/
docs/changed-files
# generated by man/man/md2man-all.sh
man/man1
man/man5
pyenv
Vagrantfile
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
docs/VERSION
docs/GITCOMMIT
vendor/pkg/

View File

@@ -3,7 +3,27 @@
# Tip for finding duplicates (besides scanning the output of AUTHORS for name
# duplicates that aren't also email duplicates): scan the output of:
# git log --format='%aE - %aN' | sort -uf
#
# For explanation on this file format: man git-shortlog
Patrick Stapleton <github@gdi2290.com>
Shishir Mahajan <shishir.mahajan@redhat.com> <smahajan@redhat.com>
Erwin van der Koogh <info@erronis.nl>
Ahmed Kamal <email.ahmedkamal@googlemail.com>
Tejesh Mehta <tejesh.mehta@gmail.com> <tj@init.me>
Cristian Staretu <cristian.staretu@gmail.com>
Cristian Staretu <cristian.staretu@gmail.com> <unclejacksons@gmail.com>
Cristian Staretu <cristian.staretu@gmail.com> <unclejack@users.noreply.github.com>
Marcus Linke <marcus.linke@gmx.de>
Aleksandrs Fadins <aleks@s-ko.net>
Christopher Latham <sudosurootdev@gmail.com>
Hu Keping <hukeping@huawei.com>
Wayne Chang <wayne@neverfear.org>
Chen Chao <cc272309126@gmail.com>
Daehyeok Mun <daehyeok@gmail.com>
<daehyeok@gmail.com> <daehyeok@daehyeokui-MacBook-Air.local>
<jt@yadutaf.fr> <admin@jtlebi.fr>
<jeff@docker.com> <jefferya@programmerq.net>
<charles.hooper@dotcloud.com> <chooper@plumata.com>
<daniel.mizyrycki@dotcloud.com> <daniel@dotcloud.com>
<daniel.mizyrycki@dotcloud.com> <mzdaniel@glidelink.net>
@@ -29,6 +49,7 @@ Andy Smith <github@anarkystic.com>
<victor.vieux@docker.com> <dev@vvieux.com>
<victor.vieux@docker.com> <victor@docker.com>
<victor.vieux@docker.com> <vieux@docker.com>
<victor.vieux@docker.com> <victorvieux@gmail.com>
<dominik@honnef.co> <dominikh@fork-bomb.org>
<ehanchrow@ine.com> <eric.hanchrow@gmail.com>
Walter Stanish <walter@pratyeka.org>
@@ -54,7 +75,8 @@ Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
<proppy@google.com> <proppy@aminche.com>
<michael@docker.com> <michael@crosbymichael.com>
<michael@docker.com> <crosby.michael@gmail.com>
<github@developersupport.net> <github@metaliveblog.com>
<michael@docker.com> <crosbymichael@gmail.com>
<github@developersupport.net> <github@metaliveblog.com>
<brandon@ifup.org> <brandon@ifup.co>
<dano@spotify.com> <daniel.norberg@gmail.com>
<danny@codeaholics.org> <Danny.Yates@mailonline.co.uk>
@@ -63,11 +85,13 @@ Jean-Baptiste Dalido <jeanbaptiste@appgratis.com>
<sjoerd-github@linuxonly.nl> <sjoerd@byte.nl>
<solomon@docker.com> <solomon.hykes@dotcloud.com>
<solomon@docker.com> <solomon@dotcloud.com>
<solomon@docker.com> <s@docker.com>
Sven Dowideit <SvenDowideit@home.org.au>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@fosiki.com>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@docker.com>
Sven Dowideit <SvenDowideit@home.org.au> <¨SvenDowideit@home.org.au¨>
unclejack <unclejacksons@gmail.com> <unclejack@users.noreply.github.com>
Sven Dowideit <SvenDowideit@home.org.au> <SvenDowideit@users.noreply.github.com>
Sven Dowideit <SvenDowideit@home.org.au> <sven@t440s.home.gateway>
<alexl@redhat.com> <alexander.larsson@gmail.com>
Alexandr Morozov <lk4d4math@gmail.com>
<git.nivoc@neverbox.com> <kuehnle@online.de>
@@ -97,3 +121,51 @@ Matthew Heon <mheon@redhat.com> <mheon@mheonlaptop.redhat.com>
<andrew.weiss@outlook.com> <andrew.weiss@microsoft.com>
Francisco Carriedo <fcarriedo@gmail.com>
<julienbordellier@gmail.com> <git@julienbordellier.com>
<ahmetb@microsoft.com> <ahmetalpbalkan@gmail.com>
<lk4d4@docker.com> <lk4d4math@gmail.com>
<arnaud.porterie@docker.com> <icecrime@gmail.com>
<baloo@gandi.net> <superbaloo+registrations.github@superbaloo.net>
Brian Goff <cpuguy83@gmail.com>
<cpuguy83@gmail.com> <bgoff@cpuguy83-mbp.home>
<ewindisch@docker.com> <eric@windisch.us>
<frank.rosquin+github@gmail.com> <frank.rosquin@gmail.com>
Hollie Teal <hollie@docker.com>
<hollie@docker.com> <hollie.teal@docker.com>
<hollie@docker.com> <hollietealok@users.noreply.github.com>
<huu@prismskylabs.com> <whoshuu@gmail.com>
Jessica Frazelle <jess@docker.com> Jessie Frazelle <jfrazelle@users.noreply.github.com>
<jess@docker.com> <jfrazelle@users.noreply.github.com>
<konrad.wilhelm.kleine@gmail.com> <kwk@users.noreply.github.com>
<tintypemolly@gmail.com> <tintypemolly@Ohui-MacBook-Pro.local>
<estesp@linux.vnet.ibm.com> <estesp@gmail.com>
<github@gone.nl> <thaJeztah@users.noreply.github.com>
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>

View File

@@ -1,39 +0,0 @@
# Note: right now we don't use go-specific features of travis.
# Later we might automate "go test" etc. (or do it inside a docker container...?)
language: go
go:
# This should match the version in the Dockerfile.
- 1.3.1
# Test against older versions too, just for a little extra retrocompat.
- 1.2
# Let us have pretty experimental Docker-based Travis workers.
# (These spin up much faster than the VM-based ones.)
sudo: false
# Disable the normal go build.
install:
- export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper' # btrfs and devicemapper fail to compile thanks to a couple missing headers (which we can't install thanks to "sudo: false")
- export AUTO_GOPATH=1
# some of Docker's unit tests don't work inside Travis (yet!), so we purge those test files for now
- rm -f daemon/graphdriver/btrfs/*_test.go # fails to compile (missing header)
- rm -f daemon/graphdriver/devmapper/*_test.go # fails to compile (missing header)
- rm -f daemon/execdriver/lxc/*_test.go # fails to run (missing "lxc-start")
- rm -f daemon/graphdriver/aufs/*_test.go # fails to run ("backing file system is unsupported for this graph driver")
- rm -f daemon/graphdriver/vfs/*_test.go # fails to run (not root, which these tests assume "/var/tmp/... no owned by uid 0")
- rm -f daemon/networkdriver/bridge/*_test.go # fails to run ("Failed to initialize network driver")
- rm -f graph/*_test.go # fails to run ("mkdir /tmp/docker-test.../vfs/dir/foo/etc/postgres: permission denied")
- rm -f pkg/mount/*_test.go # fails to run ("permission denied")
before_script:
- env | sort
script:
- hack/make.sh validate-dco
- hack/make.sh validate-gofmt
- DOCKER_CLIENTONLY=1 ./hack/make.sh dynbinary
- ./hack/make.sh dynbinary dyntest-unit
# vim:set sw=2 ts=2:

474
AUTHORS

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,282 @@
# Changelog
## 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 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 --dangling` safe when 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
+ Dockerfile to use for a given `docker build` can be specified with the `-f` flag
* Dockerfile and .dockerignore files can be themselves excluded as part of the .dockerignore file, thus preventing modifications to these files invalidating ADD or COPY instructions cache
* ADD and COPY instructions accept relative paths
* Dockerfile `FROM scratch` instruction is now interpreted as a no-base specifier
* Improve performance when exposing a large number of ports
#### Hack
+ Allow client-side only integration tests for Windows
* Include docker-py integration tests against Docker daemon as part of our test suites
#### Packaging
+ Support for the new version of the registry HTTP API
* Speed up `docker push` for images with a majority of already existing layers
- Fixed contacting a private registry through a proxy
#### Remote API
+ A new endpoint will stream live container resource metrics and can be accessed with the `docker stats` command
+ Containers can be renamed using the new `rename` endpoint and the associated `docker rename` command
* Container `inspect` endpoint show the ID of `exec` commands running in this container
* Container `inspect` endpoint show the number of times Docker auto-restarted the container
* New types of event can be streamed by the `events` endpoint: OOM (container died with out of memory), exec_create, and exec_start'
- Fixed returned string fields which hold numeric characters incorrectly omitting surrounding double quotes
#### Runtime
+ Docker daemon has full IPv6 support
+ The `docker run` command can take the `--pid=host` flag to use the host PID namespace, which makes it possible for example to debug host processes using containerized debugging tools
+ The `docker run` command can take the `--read-only` flag to make the containers root filesystem mounted as readonly, which can be used in combination with volumes to force a containers processes to only write to locations that will be persisted
+ Container total memory usage can be limited for `docker run` using the `—memory-swap` flag
* Major stability improvements for devicemapper storage driver
* Better integration with host system: containers will reflect changes to the host's `/etc/resolv.conf` file when restarted
* Better integration with host system: per-container iptable rules are moved to the DOCKER chain
- Fixed container exiting on out of memory to return an invalid exit code
#### Other
* The HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables are properly taken into account by the client when connecting to the Docker daemon
## 1.4.1 (2014-12-15)
#### Runtime
- Fix issue with volumes-from and bind mounts not being honored after create
## 1.4.0 (2014-12-11)
#### 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:
`ENV name=value name2=value2...`
+ New Overlayfs Storage Driver
+ `docker info` now returns an `ID` and `Name` field
+ Filter events by event name, container, or image
+ `docker cp` now supports copying from container volumes
- Fixed `docker tag`, so it honors `--force` when overriding a tag for existing
image.
## 1.3.3 (2014-12-11)
#### Security
@@ -46,7 +323,7 @@
#### Builder
- Fix escaping `$` for environment variables
- Fix issue with lowercase `onbuild` Dockerfile instruction
- Restrict envrionment variable expansion to `ENV`, `ADD`, `COPY`, `WORKDIR`, `EXPOSE`, `VOLUME` and `USER`
- Restrict environment variable expansion to `ENV`, `ADD`, `COPY`, `WORKDIR`, `EXPOSE`, `VOLUME` and `USER`
## 1.3.0 (2014-10-14)
@@ -214,7 +491,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.
@@ -494,7 +771,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)
@@ -548,12 +825,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
@@ -728,7 +1005,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)
@@ -746,7 +1023,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

View File

@@ -1,173 +1,259 @@
# Contributing to Docker
Want to hack on Docker? Awesome! Here are instructions to get you
started. They are probably not perfect, please let us know if anything
feels wrong or incomplete.
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/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
you read our [community guidelines](#docker-community-guidelines) before you
start participating.
## Topics
* [Security Reports](#security-reports)
* [Reporting Security Issues](#reporting-security-issues)
* [Design and Cleanup Proposals](#design-and-cleanup-proposals)
* [Reporting Issues](#reporting-issues)
* [Build Environment](#build-environment)
* [Contribution Guidelines](#contribution-guidelines)
* [Reporting Issues](#reporting-other-issues)
* [Quick Contribution Tips and Guidelines](#quick-contribution-tips-and-guidelines)
* [Community Guidelines](#docker-community-guidelines)
## Security Reports
## Reporting security issues
Please **DO NOT** file an issue for security related issues. Please send your
reports to [security@docker.com](mailto:security@docker.com) instead.
The Docker maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
## Design and Cleanup Proposals
Please **DO NOT** file a public issue, instead send your report privately to
[security@docker.com](mailto:security@docker.com),
When considering a design proposal, we are looking for:
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
ruling it out in the future.
* A description of the problem this design proposal solves
* An issue -- not a pull request -- that describes what you will take action on
* Please prefix your issue with `Proposal:` in the title
* Please review [the existing Proposals](https://github.com/dotcloud/docker/issues?direction=asc&labels=Proposal&page=1&sort=created&state=open)
before reporting a new issue. You can always pair with someone if you both
have the same idea.
When considering a cleanup task, we are looking for:
## Reporting other issues
* A description of the refactors made
* Please note any logic changes if necessary
* A pull request with the code
* Please prefix your PR's title with `Cleanup:` so we can quickly address it.
* Your pull request must remain up to date with master, so rebase as necessary.
A great way to contribute to the project is to send a detailed report when you
encounter an issue. We always appreciate a well-written, thorough bug report,
and will thank you for it!
## Reporting Issues
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.
When reporting [issues](https://github.com/docker/docker/issues) on
GitHub please include your host OS (Ubuntu 12.04, Fedora 19, etc).
Please include:
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`.
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.
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.
## Build Environment
**Issue Report Template**:
For instructions on setting up your development environment, please
see our dedicated [dev environment setup
docs](http://docs.docker.com/contributing/devenvironment/).
```
Description of problem:
## Contribution guidelines
### Pull requests are always welcome
`docker version`:
We are always thrilled to receive pull requests, and do our best to
process them as fast as possible. Not sure if that typo is worth a pull
request? Do it! We will appreciate it.
If your pull request is not accepted on the first try, don't be
discouraged! If there's a problem with the implementation, hopefully you
received feedback on what to improve.
`docker info`:
We're trying very hard to keep Docker lean and focused. We don't want it
to do everything for everybody. This means that we might decide against
incorporating a new feature. However, there might be a way to implement
that feature *on top of* Docker.
### Discuss your design on the mailing list
`uname -a`:
We recommend discussing your plans [on the mailing
list](https://groups.google.com/forum/?fromgroups#!forum/docker-dev)
before starting to code - especially for more ambitious contributions.
This gives other contributors a chance to point you in the right
direction, give feedback on your design, and maybe point out if someone
else is working on the same thing.
### Create issues...
Environment details (AWS, VirtualBox, physical, etc.):
Any significant improvement should be documented as [a GitHub
issue](https://github.com/docker/docker/issues) before anybody
starts working on it.
### ...but check for existing issues first!
How reproducible:
Steps to Reproduce:
1.
2.
3.
Actual Results:
Expected Results:
Additional info:
```
##Quick contribution tips and guidelines
This section gives the experienced contributor some tips and guidelines.
###Pull requests are always welcome
Not sure if that typo is worth a pull request? Found a bug and know how to fix
it? Do it! We will appreciate it. Any significant improvement should be
documented as [a GitHub issue](https://github.com/docker/docker/issues) before
anybody starts working on it.
We are always thrilled to receive pull requests. We do our best to process them
quickly. If your pull request is not accepted on the first try,
don't get discouraged! Our contributor's guide explains [the review process we
use for simple changes](https://docs.docker.com/project/make-a-contribution/).
### Design and cleanup proposals
You can propose new designs for existing Docker features. You can also design
entirely new features. We really appreciate contributors who want to refactor or
otherwise cleanup our project. For information on making these types of
contributions, see [the advanced contribution
section](https://docs.docker.com/project/advanced-contributing/) in the
contributors guide.
We try hard to keep Docker lean and focused. Docker can't do everything for
everybody. This means that we might decide against incorporating a new feature.
However, there might be a way to implement that feature *on top of* Docker.
### 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 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>
</table>
Please take a moment to check that an issue doesn't already exist
documenting your bug report or improvement proposal. If it does, it
never hurts to add a quick "+1" or "I have this problem too". This will
help prioritize the most common problems and requests.
### Conventions
Fork the repository and make changes on your fork in a feature branch:
- If it's a bug fix branch, name it XXXX-something where XXXX is the number of the
issue.
- If it's a feature branch, create an enhancement issue to announce your
intentions, and name it XXXX-something where XXXX is the number of the issue.
- If it's a bug fix branch, name it XXXX-something where XXXX is the number of
the issue.
- If it's a feature branch, create an enhancement issue to announce
your intentions, and name it XXXX-something where XXXX is the number of the
issue.
Submit unit tests for your changes. Go has a great test framework built in; use
it! Take a look at existing tests for inspiration. Run the full test suite on
your branch before submitting a pull request.
Submit unit tests for your changes. Go has a great test framework built in; use
it! Take a look at existing tests for inspiration. [Run the full test
suite](https://docs.docker.com/project/test-and-docs/) on your branch before
submitting a pull request.
Update the documentation when creating or modifying features. Test
your documentation changes for clarity, concision, and correctness, as
well as a clean documentation build. See `docs/README.md` for more
information on building the docs and how they get released.
Update the documentation when creating or modifying features. Test your
documentation changes for clarity, concision, and correctness, as well as a
clean documentation build. See our contributors guide for [our style
guide](https://docs.docker.com/project/doc-style) and instructions on [building
the documentation](https://docs.docker.com/project/test-and-docs/#build-and-test-the-documentation).
Write clean code. Universally formatted code promotes ease of writing, reading,
and maintenance. Always run `gofmt -s -w file.go` on each changed file before
committing your changes. Most editors have plug-ins that do this automatically.
Pull requests descriptions should be as clear as possible and include a
reference to all the issues that they address.
Pull request descriptions should be as clear as possible and include a reference
to all the issues that they address.
Commit messages must start with a capitalized and short summary (max. 50
chars) written in the imperative, followed by an optional, more detailed
explanatory text which is separated from the summary by an empty line.
Commit messages must start with a capitalized and short summary (max. 50 chars)
written in the imperative, followed by an optional, more detailed explanatory
text which is separated from the summary by an empty line.
Code review comments may be added to your pull request. Discuss, then make the
suggested modifications and push additional commits to your feature branch. Be
sure to post a comment after pushing. The new commits will show up in the pull
request automatically, but the reviewers will not be notified unless you
comment.
suggested modifications and push additional commits to your feature branch. Post
a comment after pushing. New commits show up in the pull request automatically,
but the reviewers are notified only when you comment.
Pull requests must be cleanly rebased ontop of master without multiple branches
Pull requests must be cleanly rebased on top of master without multiple branches
mixed into the PR.
**Git tip**: If your PR no longer merges cleanly, use `rebase master` in your
feature branch to update your pull request rather than `merge master`.
Before the pull request is merged, make sure that you squash your commits into
logical units of work using `git rebase -i` and `git push -f`. After every
commit the test suite should be passing. Include documentation changes in the
same commit so that a revert would remove all traces of the feature or fix.
Before you make a pull request, squash your commits into logical units of work
using `git rebase -i` and `git push -f`. A logical unit of work is a consistent
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 majority of submissions should have a single commit, so if in doubt: squash
down to one.
Commits that fix or close an issue should include a reference like
`Closes #XXXX` or `Fixes #XXXX`, which will automatically close the
issue when merged.
After every commit, [make sure the test suite passes]
((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.
Please do not add yourself to the `AUTHORS` file, as it is regenerated
regularly from the Git history.
Include an issue reference like `Closes #XXXX` or `Fixes #XXXX` in commits that
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 indicate acceptance.
Docker maintainers use LGTM (Looks Good To Me) in comments on the code review to
indicate acceptance.
A change requires LGTMs from an absolute majority of the maintainers of each
component affected. For example, if a change affects `docs/` and `registry/`, it
needs an absolute majority from the maintainers of `docs/` AND, separately, an
absolute majority of the maintainers of `registry/`.
For more details see [MAINTAINERS.md](hack/MAINTAINERS.md)
For more details, see the [MAINTAINERS](MAINTAINERS) page.
### Sign your work
The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as an open-source patch. The rules are pretty simple: if you
can certify the below (from
[developercertificate.org](http://developercertificate.org/)):
The sign-off is a simple line at the end of the explanation for the patch. Your
signature certifies that you wrote the patch or otherwise have the right to pass
it on as an open-source patch. The rules are pretty simple: if you can certify
the below (from [developercertificate.org](http://developercertificate.org/)):
```
Developer Certificate of Origin
@@ -211,7 +297,7 @@ Then you just add a line to every git commit message:
Signed-off-by: Joe Smith <joe.smith@email.com>
Using your real name (sorry, no pseudonyms or anonymous contributions.)
Use your real name (sorry, no pseudonyms or anonymous contributions.)
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`.
@@ -220,18 +306,6 @@ Note that the old-style `Docker-DCO-1.1-Signed-off-by: ...` format is still
accepted, so there is no need to update outstanding pull requests to the new
format right away, but please do adjust your processes for future contributions.
#### Small patch exception
There are several exceptions to the signing requirement. Currently these are:
* Your patch fixes spelling or grammar errors.
* Your patch is a single line change to documentation contained in the
`docs` directory.
* Your patch fixes Markdown formatting or syntax errors in the
documentation contained in the `docs` directory.
If you have any questions, please refer to the FAQ in the [docs](http://docs.docker.com)
### How can I become a maintainer?
* Step 1: Learn the component inside out
@@ -240,45 +314,45 @@ If you have any questions, please refer to the FAQ in the [docs](http://docs.doc
* Step 4: Propose yourself at a scheduled docker meeting in #docker-dev
Don't forget: being a maintainer is a time investment. Make sure you
will have time to make yourself available. You don't have to be a
will have time to make yourself available. You don't have to be a
maintainer to make a difference on the project!
### IRC Meetings
### IRC meetings
There are two monthly meetings taking place on #docker-dev IRC to accomodate all timezones.
Anybody can ask for a topic to be discussed prior to the meeting.
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.
For the exact dates and times, have a look at [the irc-minutes repo](https://github.com/docker/irc-minutes).
They also contain all the notes from previous meetings.
For the exact dates and times, have a look at [the irc-minutes
repo](https://github.com/docker/irc-minutes). The minutes also contain all the
notes from previous meetings.
## Docker Community Guidelines
## Docker community guidelines
We want to keep the Docker community awesome, growing and collaborative. We
need your help to keep it that way. To help with this we've come up with some
general guidelines for the community as a whole:
We want to keep the Docker community awesome, growing and collaborative. We need
your help to keep it that way. To help with this we've come up with some general
guidelines for the community as a whole:
* Be nice: Be courteous, respectful and polite to fellow community members: no
regional, racial, gender, or other abuse will be tolerated. We like nice people
way better than mean ones!
* Be nice: Be courteous, respectful and polite to fellow community members:
no regional, racial, gender, or other abuse will be tolerated. We like
nice people way better than mean ones!
* Encourage diversity and participation: Make everyone in our community
feel welcome, regardless of their background and the extent of their
* Encourage diversity and participation: Make everyone in our community feel
welcome, regardless of their background and the extent of their
contributions, and do everything possible to encourage participation in
our community.
* Keep it legal: Basically, don't get us in trouble. Share only content that
you own, do not share private or sensitive information, and don't break the
law.
you own, do not share private or sensitive information, and don't break
the law.
* Stay on topic: Make sure that you are posting to the correct channel
and avoid off-topic discussions. Remember when you update an issue or
respond to an email you are potentially sending to a large number of
people. Please consider this before you update. Also remember that
nobody likes spam.
* Stay on topic: Make sure that you are posting to the correct channel and
avoid off-topic discussions. Remember when you update an issue or respond
to an email you are potentially sending to a large number of people. Please
consider this before you update. Also remember that nobody likes spam.
### Guideline Violations — 3 Strikes Method
### Guideline violations — 3 strikes method
The point of this section is not to find opportunities to punish people, but we
do need a fair way to deal with people who are making our community suck.
@@ -297,20 +371,65 @@ do need a fair way to deal with people who are making our community suck.
* Obvious spammers are banned on first occurrence. If we don't do this, we'll
have spam all over the place.
* Violations are forgiven after 6 months of good behavior, and we won't
hold a grudge.
* Violations are forgiven after 6 months of good behavior, and we won't hold a
grudge.
* People who commit minor infractions will get some education,
rather than hammering them in the 3 strikes process.
* People who commit minor infractions will get some education, rather than
hammering them in the 3 strikes process.
* The rules apply equally to everyone in the community, no matter how
much you've contributed.
* The rules apply equally to everyone in the community, no matter how much
you've contributed.
* Extreme violations of a threatening, abusive, destructive or illegal nature
will be addressed immediately and are not subject to 3 strikes or
forgiveness.
will be addressed immediately and are not subject to 3 strikes or forgiveness.
* Contact james@docker.com to report abuse or appeal violations. In the case of
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.
* Contact abuse@docker.com to report abuse or appeal violations. In the case of
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.

View File

@@ -19,20 +19,25 @@
# -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.
#
docker-version 0.6.1
FROM ubuntu:14.04
MAINTAINER Tianon Gravi <admwiggin@gmail.com> (@tianon)
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 \
RUN apt-get update && apt-get install -y \
apparmor \
aufs-tools \
automake \
bash-completion \
btrfs-tools \
build-essential \
createrepo \
curl \
dpkg-sig \
git \
@@ -40,74 +45,173 @@ RUN apt-get update && apt-get install -y \
libapparmor-dev \
libcap-dev \
libsqlite3-dev \
lxc=1.0* \
mercurial \
parallel \
python-mock \
python-pip \
python-websocket \
reprepro \
ruby1.9.1 \
ruby1.9.1-dev \
s3cmd=1.1.0* \
ubuntu-zfs \
libzfs-dev \
--no-install-recommends
# Get lvm2 source for compiling statically
RUN git clone --no-checkout https://git.fedorahosted.org/git/lvm2.git /usr/local/lvm2 && cd /usr/local/lvm2 && git checkout -q v2_02_103
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
# note: we don't use "git clone -b" above because it then spews big nasty warnings about 'detached HEAD' state that we can't silence as easily as we can silence them using "git checkout" directly
# Compile and install lvm2
RUN cd /usr/local/lvm2 && ./configure --enable-static_link && make device-mapper && make install_device-mapper
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
# Install Go
RUN curl -sSL https://golang.org/dl/go1.3.3.src.tar.gz | tar -v -C /usr/local -xz
ENV PATH /usr/local/go/bin:$PATH
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
ENV PATH /go/bin:$PATH
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
ENV GO_VERSION 1.4.2
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
ENV GOPATH /go:/go/src/github.com/docker/docker/vendor
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
# Compile Go for cross compilation
ENV DOCKER_CROSSPLATFORMS \
ENV DOCKER_CROSSPLATFORMS \
linux/386 linux/arm \
darwin/amd64 darwin/386 \
freebsd/amd64 freebsd/386 freebsd/arm
# (set an explicit GOARM of 5 for maximum compatibility)
ENV GOARM 5
RUN cd /usr/local/go/src && bash -xc 'for platform in $DOCKER_CROSSPLATFORMS; do GOOS=${platform%/*} GOARCH=${platform##*/} ./make.bash --no-clean 2>&1; done'
freebsd/amd64 freebsd/386 freebsd/arm \
windows/amd64 windows/386
# (set an explicit GOARM of 5 for maximum compatibility)
ENV GOARM 5
RUN cd /usr/local/go/src \
&& set -x \
&& for platform in $DOCKER_CROSSPLATFORMS; do \
GOOS=${platform%/*} \
GOARCH=${platform##*/} \
./make.bash --no-clean 2>&1; \
done
# 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
RUN gem install --no-rdoc --no-ri fpm --version 1.3.2
# Install man page generator
RUN mkdir -p /go/src/github.com/cpuguy83 \
&& git clone -b v1 https://github.com/cpuguy83/go-md2man.git /go/src/github.com/cpuguy83/go-md2man \
&& cd /go/src/github.com/cpuguy83/go-md2man \
&& go get -v ./...
# Install registry
ENV REGISTRY_COMMIT ec87e9b6971d831f0eff752ddb54fb64693e51cd
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/docker/distribution.git "$GOPATH/src/github.com/docker/distribution" \
&& (cd "$GOPATH/src/github.com/docker/distribution" && git checkout -q "$REGISTRY_COMMIT") \
&& GOPATH="$GOPATH/src/github.com/docker/distribution/Godeps/_workspace:$GOPATH" \
go build -o /usr/local/bin/registry-v2 github.com/docker/distribution/cmd/registry \
&& rm -rf "$GOPATH"
# Get the "busybox" image source so we can build locally instead of pulling
RUN git clone -b buildroot-2014.02 https://github.com/jpetazzo/docker-busybox.git /docker-busybox
# 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 "cirros" image source so we can import it instead of fetching it during tests
RUN curl -sSL -o /cirros.tar.gz https://github.com/ewindisch/docker-cirros/raw/1cded459668e8b9dbf4ef976c94c05add9bbd8e9/cirros-0.3.0-x86_64-lxc.tar.gz
# Get the "docker-py" source so we can run their integration tests
ENV DOCKER_PY_COMMIT 8a87001d09852058f08a807ab6e8491d57ca1e88
RUN git clone https://github.com/docker/docker-py.git /docker-py \
&& cd /docker-py \
&& git checkout -q $DOCKER_PY_COMMIT
# Setup s3cmd config
RUN /bin/echo -e '[default]\naccess_key=$AWS_ACCESS_KEY\nsecret_key=$AWS_SECRET_KEY' > $HOME/.s3cfg
RUN { \
echo '[default]'; \
echo 'access_key=$AWS_ACCESS_KEY'; \
echo 'secret_key=$AWS_SECRET_KEY'; \
} > ~/.s3cfg
# Set user.email so crosbymichael's in-container merge commits go smoothly
RUN git config --global user.email 'docker-dummy@example.com'
RUN git config --global user.email 'docker-dummy@example.com'
# Add an unprivileged user to be used for tests which need it
RUN groupadd -r docker
RUN useradd --create-home --gid docker unprivilegeduser
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
ENV DOCKER_BUILDTAGS apparmor selinux
VOLUME /var/lib/docker
WORKDIR /go/src/github.com/docker/docker
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@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)
# Download man page generator
RUN set -x \
&& 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"
# Download toml validator
ENV TOMLV_COMMIT 9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
RUN set -x \
&& export GOPATH="$(mktemp -d)" \
&& git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" \
&& (cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT") \
&& go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv \
&& rm -rf "$GOPATH"
# 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"]
ENTRYPOINT ["hack/dind"]
# Upload docker source
COPY . /go/src/github.com/docker/docker
COPY . /go/src/github.com/docker/docker

34
Dockerfile.simple Normal file
View File

@@ -0,0 +1,34 @@
# docker build -t docker:simple -f Dockerfile.simple .
# docker run --rm docker:simple hack/make.sh dynbinary
# docker run --rm --privileged docker:simple hack/dind hack/make.sh test-unit
# docker run --rm --privileged -v /var/lib/docker docker:simple hack/dind hack/make.sh dynbinary test-integration-cli
# This represents the bare minimum required to build and test Docker.
FROM debian:jessie
# compile and runtime deps
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
btrfs-tools \
curl \
gcc \
git \
golang \
libdevmapper-dev \
libsqlite3-dev \
\
ca-certificates \
e2fsprogs \
iptables \
procps \
xz-utils \
\
aufs-tools \
lxc \
&& rm -rf /var/lib/apt/lists/*
ENV AUTO_GOPATH 1
WORKDIR /usr/src/docker
COPY . /usr/src/docker

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
@@ -176,13 +176,13 @@
END OF TERMS AND CONDITIONS
Copyright 2014 Docker, Inc.
Copyright 2013-2015 Docker, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
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,

View File

@@ -1,9 +1,618 @@
Solomon Hykes <solomon@docker.com> (@shykes)
Victor Vieux <vieux@docker.com> (@vieux)
Michael Crosby <michael@crosbymichael.com> (@crosbymichael)
.mailmap: Tianon Gravi <admwiggin@gmail.com> (@tianon)
.travis.yml: Tianon Gravi <admwiggin@gmail.com> (@tianon)
AUTHORS: Tianon Gravi <admwiggin@gmail.com> (@tianon)
Dockerfile: Tianon Gravi <admwiggin@gmail.com> (@tianon)
Makefile: Tianon Gravi <admwiggin@gmail.com> (@tianon)
.dockerignore: Tianon Gravi <admwiggin@gmail.com> (@tianon)
# Docker maintainers file
#
# This file describes who runs the Docker project and how.
# This is a living document - if you see something out of date or missing,
# speak up!
#
# It is structured to be consumable by both humans and programs.
# To extract its contents programmatically, use any TOML-compliant
# parser.
[Rules]
[Rules.maintainers]
title = "What is a maintainer?"
text = """
There are different types of maintainers, with different responsibilities, but
all maintainers have 3 things in common:
1) They share responsibility in the project's success.
2) They have made a long-term, recurring time investment to improve the project.
3) They spend that time doing whatever needs to be done, not necessarily what
is the most interesting or fun.
Maintainers are often under-appreciated, because their work is harder to appreciate.
It's easy to appreciate a really cool and technically advanced feature. It's harder
to appreciate the absence of bugs, the slow but steady improvement in stability,
or the reliability of a release process. But those things distinguish a good
project from a great one.
"""
[Rules.bdfl]
title = "The Benevolent dictator for life (BDFL)"
text = """
Docker follows the timeless, highly efficient and totally unfair system
known as [Benevolent dictator for
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
across multiple maintainers.
Ideally, the BDFL role is like the Queen of England: awesome crown, but not
an actual operational role day-to-day. The real job of a BDFL is to NEVER GO AWAY.
Every other rule can change, perhaps drastically so, but the BDFL will always
be there, preserving the philosophy and principles of the project, and keeping
ultimate authority over its fate. This gives us great flexibility in experimenting
with various governance models, knowing that we can always press the "reset" button
without fear of fragmentation or deadlock. See the US congress for a counter-example.
BDFL daily routine:
* Is the project governance stuck in a deadlock or irreversibly fragmented?
* If yes: refactor the project governance
* Are there issues or conflicts escalated by core?
* If yes: resolve them
* Go back to polishing that crown.
"""
[Rules.decisions]
title = "How are decisions made?"
text = """
Short answer: EVERYTHING IS A PULL REQUEST.
Docker is an open-source project with an open design philosophy. This
means that the repository is the source of truth for EVERY aspect of the
project, including its philosophy, design, road map, and APIs. *If it's
part of the project, it's in the repo. If it's in the repo, it's part of
the project.*
As a result, all decisions can be expressed as changes to the
repository. An implementation change is a change to the source code. An
API change is a change to the API specification. A philosophy change is
a change to the philosophy manifesto, and so on.
All decisions affecting Docker, big and small, follow the same 3 steps:
* Step 1: Open a pull request. Anyone can do this.
* Step 2: Discuss the pull request. Anyone can do this.
* Step 3: Merge or refuse the pull request. Who does this depends on the nature
of the pull request and which areas of the project it affects. See *review flow*
for details.
Because Docker is such a large and active project, it's important for everyone to know
who is responsible for deciding what. That is determined by a precise set of rules.
* For every *decision* in the project, the rules should designate, in a deterministic way,
who should *decide*.
* For every *problem* in the project, the rules should designate, in a deterministic way,
who should be responsible for *fixing* it.
* For every *question* in the project, the rules should designate, in a deterministic way,
who should be expected to have the *answer*.
"""
[Rules.review]
title = "Review flow"
text = """
Pull requests should be processed according to the following flow:
* For each subsystem affected by the change, the maintainers of the subsystem must approve or refuse it.
It is the responsibility of the subsystem maintainers to process patches affecting them in a timely
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
the core maintainers.
* If the change affects the UI or public APIs, or if it represents a major change in architecture,
the architects must approve or refuse it.
* If the change affects the operations of the project, it must be approved or rejected by
the relevant operators.
* If the change affects the governance, philosophy, goals or principles of the project,
it must be approved by BDFL.
"""
[Rules.DCO]
title = "Helping contributors with the DCO"
text = """
The [DCO or `Sign your work`](
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work)
requirement is not intended as a roadblock or speed bump.
Some Docker contributors are not as familiar with `git`, or have used a web based
editor, and thus asking them to `git commit --amend -s` is not the best way forward.
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
contribution - i.e., a spelling change.
When you add someone's DCO, please also add your own to keep a log.
"""
[Rules.holiday]
title = "I'm a maintainer, and I'm going on holiday"
text = """
Please let your co-maintainers and other contributors know by raising a pull
request that comments out your `MAINTAINERS` file entry using a `#`.
"""
[Rules."no direct push"]
title = "I'm a maintainer. Should I make pull requests too?"
text = """
Yes. Nobody should ever push to master directly. All changes should be
made through a pull request.
"""
[Rules.meta]
title = "How is this process changed?"
text = "Just like everything else: by making a pull request :)"
# Current project organization
[Org]
bdfl = "shykes"
# 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
# of the project. This includes facilitating communication between all the participants; helping
# newcomers get involved and become successful contributors and maintainers; tracking the schedule
# of releases; managing the relationship with downstream distributions and upstream dependencies;
# define measures of success for the project and measure progress; Devise and implement tools and
# processes which make contributors and maintainers happier and more efficient.
[Org.Operators.security]
people = [
"erw",
"diogomonica",
"nathanmccauley"
]
[Org.Operators."monthly meetings"]
people = [
"sven",
"tianon"
]
[Org.Operators.infrastructure]
people = [
"jfrazelle",
"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.
# 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
# can't solve, they show up and fix it with bizarre devices and weaponry.
# They have final say on technical implementation and coding style.
# They are ultimately responsible for quality in all its forms: usability polish,
# bugfixes, performance, stability, etc. When ownership can cleanly be passed to
# a subsystem, they are responsible for doing so and holding the
# subsystem maintainers accountable. If ownership is unclear, they are the de facto owners.
# For each release (including minor releases), a "release captain" is assigned from the
# pool of core maintainers. Rotation is encouraged across all maintainers, to ensure
# the release process is clear and up-to-date.
#
# It is common for core maintainers to "branch out" to join or start a subsystem.
people = [
"calavera",
"crosbymichael",
"erikh",
"estesp",
"icecrime",
"jfrazelle",
"lk4d4",
"runcom",
"tibor",
"unclejack",
"vbatts",
"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.
# 4. Make sure their subsystem respects the philosophy, design and
# 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.
#
# 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.
[Org.Subsystems.Documentation]
people = [
"fredlf",
"james",
"moxiegirl",
"thaJeztah",
"jamtur01",
"spf13",
"sven"
]
[Org.Subsystems.libcontainer]
people = [
"crosbymichael",
"jnagal",
"lk4d4",
"mpatel",
"vmarmol"
]
[Org.Subsystems.registry]
people = [
"dmcg",
"dmp42",
"jlhawn",
"samalba",
"sday",
"vbatts"
]
[Org.Subsystems."build tools"]
people = [
"shykes",
"tianon"
]
[Org.Subsystem."remote api"]
people = [
"vieux"
]
[Org.Subsystem.swarm]
people = [
"aluzzardi",
"vieux"
]
[Org.Subsystem.machine]
people = [
"bfirsh",
"ehazlett"
]
[Org.Subsystem.compose]
people = [
"aanand"
]
[Org.Subsystem.builder]
people = [
"duglin",
"erikh",
"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]
# A reference list of all people associated with the project.
# All other sections should refer to people by their canonical key
# in the people section.
# ADD YOURSELF HERE IN ALPHABETICAL ORDER
[people.aanand]
Name = "Aanand Prasad"
Email = "aanand@docker.com"
GitHub = "aanand"
[people.aluzzardi]
Name = "Andrea Luzzardi"
Email = "aluzzardi@docker.com"
GitHub = "aluzzardi"
[people.bfirsh]
Name = "Ben Firshman"
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"
GitHub = "duglin"
[people.dmcg]
Name = "Derek McGowan"
Email = "derek@docker.com"
Github = "dmcgowan"
[people.dmp42]
Name = "Olivier Gambier"
Email = "olivier@docker.com"
Github = "dmp42"
[people.ehazlett]
Name = "Evan Hazlett"
Email = "ejhazlett@gmail.com"
GitHub = "ehazlett"
[people.erikh]
Name = "Erik Hollensbe"
Email = "erik@docker.com"
GitHub = "erikh"
[people.erw]
Name = "Eric Windisch"
Email = "eric@windisch.us"
GitHub = "ewindisch"
[people.estesp]
Name = "Phil Estes"
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"
GitHub = "icecrime"
[people.jfrazelle]
Name = "Jessie Frazelle"
Email = "j@docker.com"
GitHub = "jfrazelle"
[people.jlhawn]
Name = "Josh Hawn"
Email = "josh.hawn@docker.com"
Github = "jlhawn"
[people.lk4d4]
Name = "Alexander Morozov"
Email = "lk4d4@docker.com"
GitHub = "lk4d4"
[people.moxiegirl]
Name = "Mary Anthony"
Email = "mary.anthony@docker.com"
GitHub = "moxiegirl"
[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"
Github = "stevvooe"
[people.shykes]
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"
GitHub = "tianon"
[people.tibor]
Name = "Tibor Vass"
Email = "tibor@docker.com"
GitHub = "tiborvass"
[people.vbatts]
Name = "Vincent Batts"
Email = "vbatts@redhat.com"
GitHub = "vbatts"
[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"

View File

@@ -1,20 +1,39 @@
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli validate
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration-cli test-docker-py validate
# to allow `make BINDDIR=. shell` or `make BINDDIR= test`
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_DEBUG \
-e DOCKER_EXECDRIVER \
-e DOCKER_EXPERIMENTAL \
-e DOCKER_GRAPHDRIVER \
-e DOCKER_STORAGE_OPTS \
-e DOCKER_USERLANDPROXY \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make BIND_DIR=. shell` or `make BIND_DIR= test`
# (default to no bind mount if DOCKER_HOST is set)
BINDDIR := $(if $(DOCKER_HOST),,bundles)
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# note: BINDDIR is supported for backwards-compatibility here
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)")
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GITCOMMIT := $(shell git rev-parse --short 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_MOUNT := $(if $(BINDDIR),-v "$(CURDIR)/$(BINDDIR):/go/src/github.com/docker/docker/$(BINDDIR)")
DOCKER_RUN_DOCKER := docker run --rm -it --privileged -e TIMEOUT -e BUILDFLAGS -e TESTFLAGS -e TESTDIRS -e DOCKER_GRAPHDRIVER -e DOCKER_EXECDRIVER $(DOCKER_MOUNT) "$(DOCKER_IMAGE)"
# to allow `make DOCSDIR=docs docs-shell`
DOCKER_RUN_DOCS := docker run --rm -it $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR)) -e AWS_S3_BUCKET
DOCKER_RUN_DOCKER := docker run --rm -it --privileged $(DOCKER_ENVS) $(DOCKER_MOUNT) "$(DOCKER_IMAGE)"
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: binary
@@ -27,29 +46,26 @@ 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 BUILD_ROOT "$(DOCKER_DOCS_IMAGE)" ./release.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
$(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
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
$(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
@@ -57,12 +73,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 build -t "$(DOCKER_DOCS_IMAGE)" docs
bundles:
mkdir bundles
docs:
$(MAKE) -C docs docs

12
NOTICE
View File

@@ -1,7 +1,7 @@
Docker
Copyright 2012-2014 Docker, Inc.
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.

180
README.md
View File

@@ -2,27 +2,27 @@ Docker: the Linux container engine
==================================
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 that they can run anywhere, from your laptop to the largest
This means they can run anywhere, from your laptop to the largest
EC2 compute instance and everything in between - and they don't require
that you use a particular language, framework or packaging system. That
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
databases, and backend services without depending on a particular stack
or provider.
Docker is an open-source implementation of the deployment engine which
powers [dotCloud](http://dotcloud.com), a popular Platform-as-a-Service.
Docker began as an open-source implementation of the deployment engine which
powers [dotCloud](https://www.dotcloud.com), a popular Platform-as-a-Service.
It benefits directly from the experience accumulated over several years
of large-scale operation and support of hundreds of thousands of
applications and databases.
![Docker L](docs/theme/mkdocs/images/docker-logo-compressed.png "Docker")
![Docker L](docs/static_files/docker-logo-compressed.png "Docker")
## Security Disclosure
Security is very important to us. If you have any issue regarding security,
Security is very important to us. If you have any issue regarding security,
please disclose the information responsibly by sending an email to
security@docker.com and not by creating a github issue.
@@ -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,27 +56,27 @@ 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 4 problems.
portable format and runtime environment that solves all four problems.
Docker containers are small (and their transfer can be optimized with
layers), they have basically zero memory and cpu overhead, they are
completely portable and are designed from the ground up with an
completely portable, and are designed from the ground up with an
application-centric design.
The best part: because Docker operates at the OS level, it can still be
Perhaps best of all, because Docker operates at the OS level, it can still be
run inside a VM!
## Plays well with others
Docker does not require that you buy into a particular programming
language, framework, packaging system or configuration language.
Docker does not require you to buy into a particular programming
language, framework, packaging system, or configuration language.
Is your application a Unix process? Does it use files, tcp connections,
environment variables, standard Unix streams and command-line arguments
@@ -100,22 +100,22 @@ This is usually difficult for several reasons:
typically don't work well with each other, requiring awkward
custom integrations.
* Conflicting dependencies. Different applications may depend on
* *Conflicting dependencies*. Different applications may depend on
different versions of the same dependency. Packaging tools handle
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
* *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
of them handle it differently.
Docker solves dependency hell by giving the developer a simple way to
express *all* their application's dependencies in one place, and
streamline the process of assembling them. If this makes you think of
[XKCD 927](http://xkcd.com/927/), don't worry. Docker doesn't
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](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,38 +168,128 @@ 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.
[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/docker/libcontainer/blob/master/SPEC.md)
Contributing to Docker
======================
[![GoDoc](https://godoc.org/github.com/docker/docker?status.png)](https://godoc.org/github.com/docker/docker)
[![Travis](https://travis-ci.org/docker/docker.svg?branch=master)](https://travis-ci.org/docker/docker)
[![GoDoc](https://godoc.org/github.com/docker/docker?status.svg)](https://godoc.org/github.com/docker/docker)
[![Jenkins Build Status](https://jenkins.dockerproject.org/job/Docker%20Master/badge/icon)](https://jenkins.dockerproject.org/job/Docker%20Master/)
Want to hack on Docker? Awesome! There are instructions to get you
started [here](CONTRIBUTING.md).
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/).
They are probably not perfect, please let us know if anything feels
wrong or incomplete.
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.
Getting the development builds
==============================
Want to run Docker from a master build? You can download
master builds at [master.dockerproject.org](https://master.dockerproject.org).
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.org](http://docs.master.dockerproject.org).
How the project is run
======================
Docker is a very, very active project. If you want to learn more about how it is run,
or want to get more involved, the best place to start is [the project directory](https://github.com/docker/docker/tree/master/project).
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 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>
</table>
### Legal
*Brought to you courtesy of our legal counsel. For more context,
please see the Notice document.*
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
=========
Docker is licensed under the Apache License, Version 2.0. See LICENSE for full license text.
Docker is licensed under the Apache License, Version 2.0. See
[LICENSE](https://github.com/docker/docker/blob/master/LICENSE) for the full
license text.
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.
* [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
* [Docker Swarm](https://github.com/docker/swarm): A Docker-native clustering
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.

183
ROADMAP.md Normal file
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 the Runtime ingredient effort.
## 2.2 Dockerfile syntax
The Dockerfile syntax as we know it is simple, and has proven succesful 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.

View File

@@ -1 +1 @@
1.3.3
1.8.2

View File

@@ -1 +0,0 @@
Victor Vieux <vieux@docker.com> (@vieux)

84
api/client/attach.go Normal file
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"}, "Attach to a running container", 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
}

634
api/client/build.go Normal file
View File

@@ -0,0 +1,634 @@
package client
import (
"archive/tar"
"bufio"
"encoding/base64"
"encoding/json"
"fmt"
"io"
"io/ioutil"
"net/http"
"net/url"
"os"
"os/exec"
"path"
"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/symlink"
"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/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 | -"}, "Build a new image from the source code at PATH", 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")
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)
}
var includes = []string{"."}
excludes, err := utils.ReadDockerIgnore(path.Join(contextDir, ".dockerignore"))
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.
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))
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
}
// 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.
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)
}
// Verify that 'filename' is within the build context
absDockerfile, err = symlink.FollowSymlinkInScope(absDockerfile, absContextDir)
if err != nil {
return "", "", fmt.Errorf("The Dockerfile (%s) must be within the build context (%s)", givenDockerfile, givenContextDir)
}
if _, err := os.Lstat(absDockerfile); err != nil {
if os.IsNotExist(err) {
return "", "", fmt.Errorf("Cannot locate Dockerfile: absDockerfile: %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)
}
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 direcotry: %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: int(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
}

View File

@@ -2,147 +2,161 @@ package client
import (
"crypto/tls"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"os"
"reflect"
"strings"
"text/template"
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/libtrust"
"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
key libtrust.PrivateKey
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 dindicates whether the client's STDOUT is a TTY
isTerminalOut bool
// 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) Initialize() error {
if cli.init == nil {
return nil
}
return cli.init()
}
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
// CheckTtyInput checks if we are trying to attach to a container tty
// from a non-tty client input stream, and if so, returns an error.
func (cli *DockerCli) CheckTtyInput(attachStdin, ttyMode bool) error {
// In order to attach to a container tty, input stream for the client must
// be a tty itself: redirecting or piping the client standard input is
// incompatible with `docker run -t`, `docker exec -t` or `docker attach`.
if ttyMode && attachStdin && !cli.isTerminalIn {
return errors.New("cannot enable tty mode on non tty input")
}
return nil
}
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:
defaultHost := os.Getenv("DOCKER_HOST")
if defaultHost == "" {
defaultHost = opts.DefaultHost
}
defaultHost, err := opts.ValidateHost(defaultHost)
if err != nil {
return err
}
hosts = []string{defaultHost}
case 1:
// only accept one host to talk to
default:
return errors.New("Please specify only one -H")
}
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:]...)
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 len(args) > 0 {
method, exists := cli.getMethod(args[0])
if !exists {
fmt.Println("Error: Command not found:", args[0])
return cli.CmdHelp(args[1:]...)
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"
}
return method(args[1:]...)
}
return cli.CmdHelp(args...)
}
func (cli *DockerCli) Subcmd(name, signature, description string) *flag.FlagSet {
flags := flag.NewFlagSet(name, flag.ContinueOnError)
flags.Usage = func() {
options := ""
if flags.FlagCountUndeprecated() > 0 {
options = "[OPTIONS] "
if cli.in != nil {
cli.inFd, cli.isTerminalIn = term.GetFdInfo(cli.in)
}
fmt.Fprintf(cli.err, "\nUsage: docker %s %s%s\n\n%s\n\n", name, options, signature, description)
flags.PrintDefaults()
os.Exit(2)
}
return flags
}
func (cli *DockerCli) LoadConfigFile() (err error) {
cli.configFile, err = registry.LoadConfig(os.Getenv("HOME"))
if err != nil {
fmt.Fprintf(cli.err, "WARNING: %s\n", err)
}
return err
}
func NewDockerCli(in io.ReadCloser, out, err io.Writer, key libtrust.PrivateKey, 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 {
if file, ok := in.(*os.File); ok {
inFd = file.Fd()
isTerminalIn = term.IsTerminal(inFd)
if cli.out != nil {
cli.outFd, cli.isTerminalOut = term.GetFdInfo(cli.out)
}
}
if out != nil {
if file, ok := out.(*os.File); ok {
outFd = file.Fd()
isTerminalOut = term.IsTerminal(outFd)
// 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
}
if err == nil {
err = out
}
return &DockerCli{
proto: proto,
addr: addr,
in: in,
out: out,
err: err,
key: key,
inFd: inFd,
outFd: outFd,
isTerminalIn: isTerminalIn,
isTerminalOut: isTerminalOut,
tlsConfig: tlsConfig,
scheme: scheme,
}
return cli
}

5
api/client/client.go Normal file
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
api/client/commit.go Normal file
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]]"}, "Create a new image from a container's changes", 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
}

324
api/client/cp.go Normal file
View File

@@ -0,0 +1,324 @@
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"
)
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{
"Copy files/folders between a container and your host.\n",
"Use '-' 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 filepath.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 !filepath.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
api/client/create.go Normal file
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...]"}, "Create a new container", 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
api/client/diff.go Normal file
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"}, "Inspect changes on a container's filesystem", 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
api/client/events.go Normal file
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, "Get real time events from the server", 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
api/client/exec.go Normal file
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...]"}, "Run a command in a running container", 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
}

47
api/client/export.go Normal file
View File

@@ -0,0 +1,47 @@
package client
import (
"errors"
"io"
"os"
Cli "github.com/docker/docker/cli"
flag "github.com/docker/docker/pkg/mflag"
)
// CmdExport exports a filesystem as a tar archive.
//
// The tar archive is streamed to STDOUT by default or written to a file.
//
// Usage: docker export [OPTIONS] CONTAINER
func (cli *DockerCli) CmdExport(args ...string) error {
cmd := Cli.Subcmd("export", []string{"CONTAINER"}, "Export the contents of a container's filesystem as a tar archive", 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 io.Writer = 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
}

View File

@@ -13,9 +13,9 @@ import (
"strings"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/autogen/dockerversion"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/stdcopy"
"github.com/docker/docker/pkg/term"
@@ -72,6 +72,15 @@ func tlsDialWithDialer(dialer *net.Dialer, network, addr string, config *tls.Con
if err != nil {
return nil, 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
// state. Setting TCP KeepAlive on the socket connection will prohibit
// ECONNTIMEOUT unless the socket connection truly is broken
if tcpConn, ok := rawConn.(*net.TCPConn); ok {
tcpConn.SetKeepAlive(true)
tcpConn.SetKeepAlivePeriod(30 * time.Second)
}
colonPos := strings.LastIndex(addr, ":")
if colonPos == -1 {
@@ -129,15 +138,33 @@ 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)
req.Header.Set("Content-Type", "plain/text")
// 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()
// 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
// state. Setting TCP KeepAlive on the socket connection will prohibit
// ECONNTIMEOUT unless the socket connection truly is broken
if tcpConn, ok := dial.(*net.TCPConn); ok {
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?")
@@ -191,7 +218,7 @@ 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")
logrus.Debugf("[hijack] End of stdout")
return err
})
}
@@ -199,14 +226,14 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
sendStdin := promise.Go(func() error {
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
@@ -215,14 +242,14 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
if stdout != nil || stderr != nil {
if err := <-receiveStdout; err != nil {
log.Debugf("Error receiveStdout: %s", err)
logrus.Debugf("Error receiveStdout: %s", err)
return err
}
}
if !cli.isTerminalIn {
if err := <-sendStdin; err != nil {
log.Debugf("Error sendStdin: %s", err)
logrus.Debugf("Error sendStdin: %s", err)
return err
}
}

77
api/client/history.go Normal file
View File

@@ -0,0 +1,77 @@
package client
import (
"encoding/json"
"fmt"
"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"}, "Show the history of an image", 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", entry.CreatedBy)
} else {
fmt.Fprintf(w, "%s\t", stringutils.Truncate(entry.CreatedBy, 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
api/client/images.go Normal file
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]"}, "List images", 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
}

77
api/client/import.go Normal file
View File

@@ -0,0 +1,77 @@
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]]"}, "Create an empty filesystem image and import the contents of the\ntarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then\noptionally tag it.", true)
flChanges := opts.NewListOpts(nil)
cmd.Var(&flChanges, []string{"c", "-change"}, "Apply Dockerfile instruction to the created 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)
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
}

108
api/client/info.go Normal file
View File

@@ -0,0 +1,108 @@
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, "Display system-wide information", 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, "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 supports 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)
}
}
if info.ExperimentalBuild {
fmt.Fprintf(cli.out, "Experimental: true\n")
}
return nil
}

157
api/client/inspect.go Normal file
View File

@@ -0,0 +1,157 @@
package client
import (
"bytes"
"encoding/json"
"fmt"
"io"
"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...]"}, "Return low-level information on a container or image", 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)")
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
for _, name := range cmd.Args() {
if *inspectType == "" || *inspectType == "container" {
obj, _, err = readBody(cli.call("GET", "/containers/"+name+"/json", nil, nil))
if err != nil && *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 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)
if isImage {
inspPtr := types.ImageInspect{}
if err := dec.Decode(&inspPtr); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
if err := tmpl.Execute(cli.out, inspPtr); err != nil {
rdr.Seek(0, 0)
var raw interface{}
if err := dec.Decode(&raw); err != nil {
return err
}
if err = tmpl.Execute(cli.out, raw); err != nil {
return err
}
}
} else {
inspPtr := types.ContainerJSON{}
if err := dec.Decode(&inspPtr); err != nil {
fmt.Fprintf(cli.err, "%s\n", err)
status = 1
continue
}
if err := tmpl.Execute(cli.out, inspPtr); err != nil {
rdr.Seek(0, 0)
var raw interface{}
if err := dec.Decode(&raw); err != nil {
return err
}
if err = tmpl.Execute(cli.out, raw); err != nil {
return err
}
}
}
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
}

33
api/client/kill.go Normal file
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...]"}, "Kill a running container using SIGKILL or a specified signal", 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
api/client/load.go Normal file
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, "Load an image from a tar archive or STDIN", 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
}

147
api/client/login.go Normal file
View File

@@ -0,0 +1,147 @@
package client
import (
"bufio"
"encoding/json"
"fmt"
"io"
"os"
"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]"}, "Register or log in to a Docker registry server, if no server is\nspecified \""+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)
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.Trim(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
}

38
api/client/logout.go Normal file
View File

@@ -0,0 +1,38 @@
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]"}, "Log out from a Docker registry, if no server is\nspecified \""+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)
} else {
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
}

69
api/client/logs.go Normal file
View File

@@ -0,0 +1,69 @@
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"
)
// 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"}, "Fetch the logs of a container", 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 logType := c.HostConfig.LogConfig.Type; logType != "json-file" {
return fmt.Errorf("\"logs\" command is supported only for \"json-file\" logging driver (got: %s)", logType)
}
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
}

15
api/client/network.go Normal file
View File

@@ -0,0 +1,15 @@
// +build experimental
package client
import (
"os"
nwclient "github.com/docker/libnetwork/client"
)
func (cli *DockerCli) CmdNetwork(args ...string) error {
nCli := nwclient.NewNetworkCli(cli.out, cli.err, nwclient.CallFunc(cli.callWrapper))
args = append([]string{"network"}, args...)
return nCli.Cmd(os.Args[0], args...)
}

32
api/client/pause.go Normal file
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...]"}, "Pause all processes within a container", 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
api/client/port.go Normal file
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]]"}, "List port mappings for the CONTAINER, or lookup the public-facing port that\nis NAT-ed to the PRIVATE_PORT", 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
api/client/ps.go Normal file
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, "List containers", 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
}

220
api/client/ps/custom.go Normal file
View File

@@ -0,0 +1,220 @@
package ps
import (
"bytes"
"fmt"
"strconv"
"strings"
"text/tabwriter"
"text/template"
"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>"
}
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 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)
}
}
func stripNamePrefix(ss []string) []string {
for i, s := range ss {
ss[i] = s[1:]
}
return ss
}

View File

@@ -0,0 +1,102 @@
package ps
import (
"bytes"
"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{Names: []string{"/foobar_baz"}}, true, "foobar_baz", namesHeader, ctx.Names},
{types.Container{Image: "ubuntu"}, true, "ubuntu", 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: int(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{Labels: map[string]string{"cpu": "6", "storage": "ssd"}}, true, "cpu=6,storage=ssd", labelsHeader, ctx.Labels},
}
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)
}
}
c := types.Container{Labels: map[string]string{"com.docker.swarm.swarm-id": "33", "com.docker.swarm.node_name": "ubuntu"}}
ctx = containerContext{c: c, 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)
}
}
func TestContainerPsFormatError(t *testing.T) {
out := bytes.NewBufferString("")
ctx := Context{
Format: "{{InvalidFunction}}",
Output: out,
}
customFormat(ctx, make([]types.Container, 0))
if out.String() != "Template parsing error: template: :1: function \"InvalidFunction\" not defined\n" {
t.Fatalf("Expected format error, got `%v`\n", out.String())
}
}

View File

@@ -0,0 +1,65 @@
package ps
import (
"io"
"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}}"
)
type Context struct {
Output io.Writer
Format string
Size bool
Quiet bool
Trunc bool
}
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)
}

53
api/client/pull.go Normal file
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]"}, "Pull an image or a repository from a registry", 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
api/client/push.go Normal file
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]"}, "Push an image or a repository to a registry", 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
}

27
api/client/rename.go Normal file
View File

@@ -0,0 +1,27 @@
package client
import (
"fmt"
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"}, "Rename a container", true)
cmd.Require(flag.Exact, 2)
cmd.ParseFlags(args, true)
oldName := cmd.Arg(0)
newName := cmd.Arg(1)
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
api/client/restart.go Normal file
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 running containers.
//
// Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdRestart(args ...string) error {
cmd := Cli.Subcmd("restart", []string{"CONTAINER [CONTAINER...]"}, "Restart a running container", 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
api/client/rm.go Normal file
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...]"}, "Remove one or more containers", 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
api/client/rmi.go Normal file
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...]"}, "Remove one or more images", 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
api/client/run.go Normal file
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...]"}, "Run a command in a new container", 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
}

58
api/client/save.go Normal file
View File

@@ -0,0 +1,58 @@
package client
import (
"errors"
"io"
"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...]"}, "Save an image(s) to a tar archive (streamed to STDOUT by default)", true)
outfile := cmd.String([]string{"o", "-output"}, "", "Write to an file, instead of STDOUT")
cmd.Require(flag.Min, 1)
cmd.ParseFlags(args, true)
var (
output io.Writer = 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.")
}
sopts := &streamOpts{
rawTerminal: true,
out: output,
}
if len(cmd.Args()) == 1 {
image := cmd.Arg(0)
if _, err := cli.stream("GET", "/images/"+image+"/get", sopts); err != nil {
return err
}
} else {
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
}

87
api/client/search.go Normal file
View File

@@ -0,0 +1,87 @@
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"}, "Search the Docker Hub for images", 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)
repoInfo, err := registry.ParseRepositoryInfo(taglessRemote)
if err != nil {
return err
}
rdr, _, err := cli.clientRequestAttemptLogin("GET", "/images/search?"+v.Encode(), nil, nil, repoInfo.Index, "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 || *trusted) && (!res.IsTrusted && !res.IsAutomated)) || (int(*stars) > res.StarCount) {
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
}

15
api/client/service.go Normal file
View File

@@ -0,0 +1,15 @@
// +build experimental
package client
import (
"os"
nwclient "github.com/docker/libnetwork/client"
)
func (cli *DockerCli) CmdService(args ...string) error {
nCli := nwclient.NewNetworkCli(cli.out, cli.err, nwclient.CallFunc(cli.callWrapper))
args = append([]string{"service"}, args...)
return nCli.Cmd(os.Args[0], args...)
}

170
api/client/start.go Normal file
View File

@@ -0,0 +1,170 @@
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)
}
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 stopped containers.
//
// Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]
func (cli *DockerCli) CmdStart(args ...string) error {
cmd := Cli.Subcmd("start", []string{"CONTAINER [CONTAINER...]"}, "Start one or more stopped containers", 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
}

202
api/client/stats.go Normal file
View File

@@ -0,0 +1,202 @@
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
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.Stats
if err := dec.Decode(&v); err != nil {
u <- err
return
}
var (
memPercent = float64(v.MemoryStats.Usage) / float64(v.MemoryStats.Limit) * 100.0
cpuPercent = 0.0
)
previousCPU = v.PreCpuStats.CpuUsage.TotalUsage
previousSystem = v.PreCpuStats.SystemUsage
cpuPercent = calculateCPUPercent(previousCPU, previousSystem, v)
s.mu.Lock()
s.CPUPercentage = cpuPercent
s.Memory = float64(v.MemoryStats.Usage)
s.MemoryLimit = float64(v.MemoryStats.Limit)
s.MemoryPercentage = memPercent
s.NetworkRx = float64(v.Network.RxBytes)
s.NetworkTx = float64(v.Network.TxBytes)
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.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\n",
s.Name,
s.CPUPercentage,
units.HumanSize(s.Memory), units.HumanSize(s.MemoryLimit),
s.MemoryPercentage,
units.HumanSize(s.NetworkRx), units.HumanSize(s.NetworkTx))
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...]"}, "Display a live stream of one or more containers' resource usage statistics", 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\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.Stats) 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
}

View File

@@ -0,0 +1,29 @@
package client
import (
"bytes"
"sync"
"testing"
)
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,
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\n"
if got != want {
t.Fatalf("c.Display() = %q, want %q", got, want)
}
}

41
api/client/stop.go Normal file
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 running 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...]"}, "Stop a running container by sending SIGTERM and then SIGKILL after a\ngrace 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
api/client/tag.go Normal file
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]"}, "Tag an image into a repository", 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
api/client/top.go Normal file
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]"}, "Display the running processes of a container", 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
}

454
api/client/trust.go Normal file
View File

@@ -0,0 +1,454 @@
package client
import (
"bufio"
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"io"
"net"
"net/http"
"net/url"
"os"
"path/filepath"
"regexp"
"sort"
"strconv"
"strings"
"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 {
if s := os.Getenv("DOCKER_CONTENT_TRUST_SERVER"); s != "" {
if !strings.HasPrefix(s, "https://") {
return "https://" + s
}
return s
}
if index.Official {
return registry.NotaryServer
}
return "https://" + index.Name
}
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 := trustServer(repoInfo.Index)
if !strings.HasPrefix(server, "https://") {
return nil, errors.New("unsupported scheme: https required for trust server")
}
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
}
resp, err := pingClient.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
challengeManager := auth.NewSimpleChallengeManager()
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": "offline",
"snapshot": "tagging",
"targets": "tagging",
}
baseRetriever := passphrase.PromptRetrieverWithInOut(cli.in, cli.out, aliasMap)
env := map[string]string{
"root": os.Getenv("DOCKER_CONTENT_TRUST_OFFLINE_PASSPHRASE"),
"snapshot": os.Getenv("DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE"),
"targets": os.Getenv("DOCKER_CONTENT_TRUST_TAGGING_PASSPHRASE"),
}
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)
}
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())
}

32
api/client/unpause.go Normal file
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...]"}, "Unpause all processes within a container", 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
}

View File

@@ -8,184 +8,227 @@ import (
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
"net/url"
"os"
gosignal "os/signal"
"runtime"
"strconv"
"strings"
"syscall"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/api/types"
"github.com/docker/docker/autogen/dockerversion"
"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"
"github.com/docker/docker/registry"
"github.com/docker/docker/utils"
)
var (
ErrConnectionRefused = errors.New("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
errConnectionRefused = errors.New("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
)
func (cli *DockerCli) HTTPClient() *http.Client {
tr := &http.Transport{
TLSClientConfig: cli.tlsConfig,
Dial: func(network, addr string) (net.Conn, error) {
// Why 32? See issue 8035
return net.DialTimeout(cli.proto, cli.addr, 32*time.Second)
},
}
if cli.proto == "unix" {
// XXX workaround for net/http Transport which caches connections, but is
// intended for tcp connections, not unix sockets.
tr.DisableKeepAlives = true
type serverResponse struct {
body io.ReadCloser
header http.Header
statusCode int
}
// no need in compressing for local communications
tr.DisableCompression = true
}
return &http.Client{Transport: tr}
// 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}
}
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.ResolveAuthConfig(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", "plain/text")
}
resp, err := cli.HTTPClient().Do(req)
if err != nil {
if strings.Contains(err.Error(), "connection refused") {
return nil, -1, ErrConnectionRefused
}
return nil, -1, 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", "plain/text")
}
if headers != nil {
for k, v := range headers {
req.Header[k] = v
}
}
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 strings.Contains(err.Error(), "connection refused") {
return fmt.Errorf("Cannot connect to the Docker daemon. Is 'docker -d' running on this host?")
return serverResp, errConnectionRefused
}
return err
}
defer resp.Body.Close()
if resp.StatusCode < 200 || resp.StatusCode >= 400 {
if cli.tlsConfig == nil {
return serverResp, fmt.Errorf("%v.\n* Are you trying to connect to a TLS-enabled daemon without TLS?\n* Is your docker daemon up and running?", 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
}
func (cli *DockerCli) clientRequestAttemptLogin(method, path string, in io.Reader, out io.Writer, index *registry.IndexInfo, cmdName string) (io.ReadCloser, int, error) {
cmdAttempt := func(authConfig cliconfig.AuthConfig) (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
}
// Resolve the Auth config relevant for this server
authConfig := registry.ResolveAuthConfig(cli.configFile, index)
body, statusCode, err := cmdAttempt(authConfig)
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 cmdAttempt(authConfig)
}
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
@@ -207,55 +250,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) {
steam, _, 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 != errConnectionRefused {
return false, -1, err
}
return false, -1, nil
}
var result engine.Env
if err := result.Decode(steam); 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) {
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 {
return false, -1, err
}
return false, -1, 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 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, syscall.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
}
@@ -265,7 +356,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
}
@@ -273,16 +364,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
api/client/version.go Normal file
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, "Show the Docker version information.", 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
}

35
api/client/wait.go Normal file
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...]"}, "Block until a container stops, then print its exit code.", 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
}

View File

@@ -3,47 +3,131 @@ package api
import (
"fmt"
"mime"
"path/filepath"
"sort"
"strings"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/log"
"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.15"
DEFAULTHTTPHOST = "127.0.0.1"
DEFAULTUNIXSOCKET = "/var/run/docker.sock"
// Current REST API version
Version version.Version = "1.20"
// Minimun REST API version supported
MinVersion version.Version = "1.12"
// 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
type ByPrivatePort []types.Port
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 }
func DisplayablePorts(ports []types.Port) string {
var (
result = []string{}
hostMappings = []string{}
firstInGroupMap map[string]int
lastInGroupMap map[string]int
)
firstInGroupMap = make(map[string]int)
lastInGroupMap = make(map[string]int)
sort.Sort(ByPrivatePort(ports))
for _, port := range ports {
var (
current = port.PrivatePort
portKey = port.Type
firstInGroup int
lastInGroup int
)
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.IP, port.Type)
}
firstInGroup = firstInGroupMap[portKey]
lastInGroup = lastInGroupMap[portKey]
if firstInGroup == 0 {
firstInGroupMap[portKey] = current
lastInGroupMap[portKey] = current
continue
}
if current == (lastInGroup + 1) {
lastInGroupMap[portKey] = current
continue
}
result = append(result, FormGroup(portKey, firstInGroup, lastInGroup))
firstInGroupMap[portKey] = current
lastInGroupMap[portKey] = current
}
return host, nil
for portKey, firstInGroup := range firstInGroupMap {
result = append(result, FormGroup(portKey, firstInGroup, lastInGroupMap[portKey]))
}
result = append(result, hostMappings...)
return strings.Join(result, ", ")
}
//TODO remove, used on < 1.5 in getContainersJSON
func DisplayablePorts(ports *engine.Table) string {
result := []string{}
ports.SetKey("PublicPort")
ports.Sort()
for _, port := range ports.Data {
if port.Get("IP") == "" {
result = append(result, fmt.Sprintf("%d/%s", port.GetInt("PrivatePort"), port.Get("Type")))
} else {
result = append(result, fmt.Sprintf("%s:%d->%d/%s", port.Get("IP"), port.GetInt("PublicPort"), port.GetInt("PrivatePort"), port.Get("Type")))
}
func FormGroup(key string, start, last int) string {
var (
group string
parts = strings.Split(key, "/")
groupType = parts[0]
ip = ""
)
if len(parts) > 1 {
ip = parts[0]
groupType = parts[1]
}
return strings.Join(result, ", ")
if start == last {
group = fmt.Sprintf("%d", start)
} else {
group = fmt.Sprintf("%d-%d", start, last)
}
if ip != "" {
group = fmt.Sprintf("%s:%s->%s", ip, group, group)
}
return fmt.Sprintf("%s/%s", group, groupType)
}
func MatchesContentType(contentType, expectedType string) bool {
mimetype, _, err := mime.ParseMediaType(contentType)
if err != nil {
log.Errorf("Error parsing media type: %s error: %s", contentType, err.Error())
logrus.Errorf("Error parsing media type: %s error: %v", contentType, err)
}
return err == nil && mimetype == expectedType
}
// LoadOrCreateTrustKey attempts to load the libtrust key at the given path,
// otherwise generates a new one
func LoadOrCreateTrustKey(trustKeyPath string) (libtrust.PrivateKey, error) {
err := system.MkdirAll(filepath.Dir(trustKeyPath), 0700)
if err != nil {
return nil, err
}
trustKey, err := libtrust.LoadKeyFile(trustKeyPath)
if err == libtrust.ErrKeyFileDoesNotExist {
trustKey, err = libtrust.GenerateECP256PrivateKey()
if err != nil {
return nil, fmt.Errorf("Error generating key: %s", err)
}
if err := libtrust.SaveKey(trustKeyPath, trustKey); err != nil {
return nil, fmt.Errorf("Error saving key file: %s", err)
}
} else if err != nil {
return nil, fmt.Errorf("Error loading key file %s: %s", trustKeyPath, err)
}
return trustKey, nil
}

View File

@@ -1,2 +0,0 @@
Victor Vieux <vieux@docker.com> (@vieux)
Johan Euphrosine <proppy@google.com> (@proppy)

56
api/server/form.go Normal file
View File

@@ -0,0 +1,56 @@
package server
import (
"fmt"
"net/http"
"strconv"
"strings"
)
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)
}
func int64ValueOrZero(r *http.Request, k string) int64 {
val, err := strconv.ParseInt(r.FormValue(k), 10, 64)
if err != nil {
return 0
}
return val
}
type archiveOptions struct {
name string
path string
}
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 := 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
}

70
api/server/form_test.go Normal file
View File

@@ -0,0 +1,70 @@
package server
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)
}
}
}

38
api/server/profiler.go Normal file
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")
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
// +build experimental
package server
func (s *Server) registerSubRouter() {
httpHandler := s.daemon.NetworkApiRouter()
subrouter := s.router.PathPrefix("/v{version:[0-9.]+}/networks").Subrouter()
subrouter.Methods("GET", "POST", "PUT", "DELETE").HandlerFunc(httpHandler)
subrouter = s.router.PathPrefix("/networks").Subrouter()
subrouter.Methods("GET", "POST", "PUT", "DELETE").HandlerFunc(httpHandler)
subrouter = s.router.PathPrefix("/v{version:[0-9.]+}/services").Subrouter()
subrouter.Methods("GET", "POST", "PUT", "DELETE").HandlerFunc(httpHandler)
subrouter = s.router.PathPrefix("/services").Subrouter()
subrouter.Methods("GET", "POST", "PUT", "DELETE").HandlerFunc(httpHandler)
}

123
api/server/server_linux.go Normal file
View File

@@ -0,0 +1,123 @@
// +build linux
package server
import (
"fmt"
"net"
"net/http"
"strconv"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/daemon"
"github.com/docker/docker/pkg/sockets"
"github.com/docker/docker/pkg/systemd"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/runconfig"
"github.com/docker/libnetwork/portallocator"
)
const (
// See http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/tree/kernel/sched/sched.h?id=8cd9234c64c584432f6992fe944ca9e46ca8ea76#n269
linuxMinCpuShares = 2
linuxMaxCpuShares = 262144
)
// newServer sets up the required serverClosers and does protocol specific checking.
func (s *Server) newServer(proto, addr string) ([]serverCloser, error) {
var (
err error
ls []net.Listener
)
switch proto {
case "fd":
ls, err = systemd.ListenFD(addr)
if err != nil {
return nil, err
}
// We don't want to start serving on these sockets until the
// daemon is initialized and installed. Otherwise required handlers
// won't be ready.
<-s.start
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 []serverCloser
for _, l := range ls {
res = append(res, &HttpServer{
&http.Server{
Addr: addr,
Handler: s.router,
},
l,
})
}
return res, nil
}
func (s *Server) AcceptConnections(d *daemon.Daemon) {
// Tell the init daemon we are accepting requests
s.daemon = d
s.registerSubRouter()
go systemd.SdNotify("READY=1")
// close the lock so the listeners start accepting connections
select {
case <-s.start:
default:
close(s.start)
}
}
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
}
func adjustCpuShares(version version.Version, hostConfig *runconfig.HostConfig) {
if version.LessThan("1.19") {
if hostConfig != nil && hostConfig.CpuShares > 0 {
// Handle unsupported CpuShares
if hostConfig.CpuShares < linuxMinCpuShares {
logrus.Warnf("Changing requested CpuShares of %d to minimum allowed of %d", hostConfig.CpuShares, linuxMinCpuShares)
hostConfig.CpuShares = linuxMinCpuShares
} else if hostConfig.CpuShares > linuxMaxCpuShares {
logrus.Warnf("Changing requested CpuShares of %d to maximum allowed of %d", hostConfig.CpuShares, linuxMaxCpuShares)
hostConfig.CpuShares = linuxMaxCpuShares
}
}
}
}

View File

@@ -0,0 +1,68 @@
// +build linux
package server
import (
"testing"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/runconfig"
)
func TestAdjustCpuSharesOldApi(t *testing.T) {
apiVersion := version.Version("1.18")
hostConfig := &runconfig.HostConfig{
CpuShares: linuxMinCpuShares - 1,
}
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != linuxMinCpuShares {
t.Errorf("Expected CpuShares to be %d", linuxMinCpuShares)
}
hostConfig.CpuShares = linuxMaxCpuShares + 1
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != linuxMaxCpuShares {
t.Errorf("Expected CpuShares to be %d", linuxMaxCpuShares)
}
hostConfig.CpuShares = 0
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != 0 {
t.Error("Expected CpuShares to be unchanged")
}
hostConfig.CpuShares = 1024
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != 1024 {
t.Error("Expected CpuShares to be unchanged")
}
}
func TestAdjustCpuSharesNoAdjustment(t *testing.T) {
apiVersion := version.Version("1.19")
hostConfig := &runconfig.HostConfig{
CpuShares: linuxMinCpuShares - 1,
}
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != linuxMinCpuShares-1 {
t.Errorf("Expected CpuShares to be %d", linuxMinCpuShares-1)
}
hostConfig.CpuShares = linuxMaxCpuShares + 1
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != linuxMaxCpuShares+1 {
t.Errorf("Expected CpuShares to be %d", linuxMaxCpuShares+1)
}
hostConfig.CpuShares = 0
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != 0 {
t.Error("Expected CpuShares to be unchanged")
}
hostConfig.CpuShares = 1024
adjustCpuShares(apiVersion, hostConfig)
if hostConfig.CpuShares != 1024 {
t.Error("Expected CpuShares to be unchanged")
}
}

View File

@@ -0,0 +1,6 @@
// +build !experimental
package server
func (s *Server) registerSubRouter() {
}

View File

@@ -1,555 +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)
}
if err := ServeRequest(eng, version, r, req); err != nil {
t.Fatal(err)
}
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,
}

View File

@@ -0,0 +1,62 @@
// +build windows
package server
import (
"errors"
"net"
"net/http"
"github.com/docker/docker/daemon"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/runconfig"
)
// NewServer sets up the required Server and does protocol specific checking.
func (s *Server) newServer(proto, addr string) ([]serverCloser, error) {
var (
ls []net.Listener
)
switch proto {
case "tcp":
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.")
}
var res []serverCloser
for _, l := range ls {
res = append(res, &HttpServer{
&http.Server{
Addr: addr,
Handler: s.router,
},
l,
})
}
return res, nil
}
func (s *Server) AcceptConnections(d *daemon.Daemon) {
s.daemon = d
s.registerSubRouter()
// close the lock so the listeners start accepting connections
select {
case <-s.start:
default:
close(s.start)
}
}
func allocateDaemonPort(addr string) error {
return nil
}
func adjustCpuShares(version version.Version, hostConfig *runconfig.HostConfig) {
}

91
api/types/stats.go Normal file
View File

@@ -0,0 +1,91 @@
// This package is used for API stability in the types and response to the
// consumers of the API stats endpoint.
package types
import "time"
type ThrottlingData struct {
// Number of periods with throttling active
Periods uint64 `json:"periods"`
// Number of periods when the container hit its throttling limit.
ThrottledPeriods uint64 `json:"throttled_periods"`
// Aggregate time the container was throttled for in nanoseconds.
ThrottledTime uint64 `json:"throttled_time"`
}
// All CPU stats are aggregated since container inception.
type CpuUsage struct {
// Total CPU time consumed.
// Units: nanoseconds.
TotalUsage uint64 `json:"total_usage"`
// Total CPU time consumed per core.
// Units: nanoseconds.
PercpuUsage []uint64 `json:"percpu_usage"`
// Time spent by tasks of the cgroup in kernel mode.
// Units: nanoseconds.
UsageInKernelmode uint64 `json:"usage_in_kernelmode"`
// Time spent by tasks of the cgroup in user mode.
// Units: nanoseconds.
UsageInUsermode uint64 `json:"usage_in_usermode"`
}
type CpuStats struct {
CpuUsage CpuUsage `json:"cpu_usage"`
SystemUsage uint64 `json:"system_cpu_usage"`
ThrottlingData ThrottlingData `json:"throttling_data,omitempty"`
}
type MemoryStats struct {
// current res_counter usage for memory
Usage uint64 `json:"usage"`
// maximum usage ever recorded.
MaxUsage uint64 `json:"max_usage"`
// TODO(vishh): Export these as stronger types.
// all the stats exported via memory.stat.
Stats map[string]uint64 `json:"stats"`
// number of times memory usage hits limits.
Failcnt uint64 `json:"failcnt"`
Limit uint64 `json:"limit"`
}
// TODO Windows: This can be factored out
type BlkioStatEntry struct {
Major uint64 `json:"major"`
Minor uint64 `json:"minor"`
Op string `json:"op"`
Value uint64 `json:"value"`
}
// 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"`
IoServicedRecursive []BlkioStatEntry `json:"io_serviced_recursive"`
IoQueuedRecursive []BlkioStatEntry `json:"io_queue_recursive"`
IoServiceTimeRecursive []BlkioStatEntry `json:"io_service_time_recursive"`
IoWaitTimeRecursive []BlkioStatEntry `json:"io_wait_time_recursive"`
IoMergedRecursive []BlkioStatEntry `json:"io_merged_recursive"`
IoTimeRecursive []BlkioStatEntry `json:"io_time_recursive"`
SectorsRecursive []BlkioStatEntry `json:"sectors_recursive"`
}
// TODO Windows: This will require refactoring
type Network struct {
RxBytes uint64 `json:"rx_bytes"`
RxPackets uint64 `json:"rx_packets"`
RxErrors uint64 `json:"rx_errors"`
RxDropped uint64 `json:"rx_dropped"`
TxBytes uint64 `json:"tx_bytes"`
TxPackets uint64 `json:"tx_packets"`
TxErrors uint64 `json:"tx_errors"`
TxDropped uint64 `json:"tx_dropped"`
}
type Stats struct {
Read time.Time `json:"read"`
Network Network `json:"network,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"`
}

278
api/types/types.go Normal file
View File

@@ -0,0 +1,278 @@
package types
import (
"os"
"time"
"github.com/docker/docker/daemon/network"
"github.com/docker/docker/pkg/version"
"github.com/docker/docker/runconfig"
)
// ContainerCreateResponse contains the information returned to a client on the
// creation of a new container.
type ContainerCreateResponse struct {
// ID is the ID of the created container.
ID string `json:"Id"`
// Warnings are any warnings encountered during the creation of the container.
Warnings []string `json:"Warnings"`
}
// POST /containers/{name:.*}/exec
type ContainerExecCreateResponse struct {
// ID is the exec ID.
ID string `json:"Id"`
}
// POST /auth
type AuthResponse struct {
// Status is the authentication status
Status string `json:"Status"`
}
// POST "/containers/"+containerID+"/wait"
type ContainerWaitResponse struct {
// StatusCode is the status code of the wait job
StatusCode int `json:"StatusCode"`
}
// POST "/commit?container="+containerID
type ContainerCommitResponse struct {
ID string `json:"Id"`
}
// GET "/containers/{name:.*}/changes"
type ContainerChange struct {
Kind int
Path string
}
// GET "/images/{name:.*}/history"
type ImageHistory struct {
ID string `json:"Id"`
Created int64
CreatedBy string
Tags []string
Size int64
Comment string
}
// DELETE "/images/{name:.*}"
type ImageDelete struct {
Untagged string `json:",omitempty"`
Deleted string `json:",omitempty"`
}
// GET "/images/json"
type Image struct {
ID string `json:"Id"`
ParentId string
RepoTags []string
RepoDigests []string
Created int
Size int
VirtualSize int
Labels map[string]string
}
type GraphDriverData struct {
Name string
Data map[string]string
}
// GET "/images/{name:.*}/json"
type ImageInspect struct {
Id 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
}
// GET "/containers/json"
type Port struct {
IP string `json:",omitempty"`
PrivatePort int
PublicPort int `json:",omitempty"`
Type string
}
type Container struct {
ID string `json:"Id"`
Names []string
Image string
Command string
Created int
Ports []Port
SizeRw int `json:",omitempty"`
SizeRootFs int `json:",omitempty"`
Labels map[string]string
Status string
HostConfig struct {
NetworkMode string `json:",omitempty"`
}
}
// POST "/containers/"+containerID+"/copy"
type CopyConfig struct {
Resource string
}
// ContainerPathStat is used to encode the header from
// GET /containers/{name:.*}/archive
// "name" is basename of the resource.
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"`
}
// GET "/containers/{name:.*}/top"
type ContainerProcessList struct {
Processes [][]string
Titles []string
}
type Version struct {
Version string
ApiVersion version.Version
GitCommit string
GoVersion string
Os string
Arch string
KernelVersion string `json:",omitempty"`
Experimental bool `json:",omitempty"`
BuildTime string `json:",omitempty"`
}
// GET "/info"
type Info struct {
ID string
Containers int
Images int
Driver string
DriverStatus [][2]string
MemoryLimit bool
SwapLimit bool
CpuCfsPeriod bool
CpuCfsQuota bool
IPv4Forwarding bool
BridgeNfIptables bool
BridgeNfIp6tables bool
Debug bool
NFd int
OomKillDisable bool
NGoroutines int
SystemTime string
ExecutionDriver string
LoggingDriver string
NEventsListener int
KernelVersion string
OperatingSystem string
IndexServerAddress string
RegistryConfig interface{}
InitSha1 string
InitPath string
NCPU int
MemTotal int64
DockerRootDir string
HttpProxy string
HttpsProxy string
NoProxy string
Name string
Labels []string
ExperimentalBuild bool
}
// This struct 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
}
type ContainerState struct {
Running bool
Paused bool
Restarting bool
OOMKilled bool
Dead bool
Pid int
ExitCode int
Error string
StartedAt string
FinishedAt string
}
// GET "/containers/{name:.*}/json"
type ContainerJSONBase struct {
Id string
Created string
Path string
Args []string
State *ContainerState
Image string
NetworkSettings *network.Settings
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
}
type ContainerJSON struct {
*ContainerJSONBase
Mounts []MountPoint
Config *runconfig.Config
}
// backcompatibility struct along with ContainerConfig
type ContainerJSONPre120 struct {
*ContainerJSONBase
Volumes map[string]string
VolumesRW map[string]bool
Config *ContainerConfig
}
type ContainerConfig struct {
*runconfig.Config
// backward compatibility, they now live in HostConfig
Memory int64
MemorySwap int64
CpuShares int64
Cpuset 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 // this is internally named `Relabel`
RW bool
}

View File

@@ -1,2 +0,0 @@
Tibor Vass <teabee89@gmail.com> (@tiborvass)
Erik Hollensbe <github@hollensbe.org> (@erikh)

164
builder/bflag.go Normal file
View File

@@ -0,0 +1,164 @@
package builder
import (
"fmt"
"strings"
)
// FlagType is the type of the build flag
type FlagType int
const (
boolType FlagType = iota
stringType
)
// BFlags contains all flags information for the builder
type BFlags struct {
Args []string // actual flags/args from cmd line
flags map[string]*Flag
used map[string]*Flag
Err error
}
// Flag contains all information for a flag
type Flag struct {
bf *BFlags
name string
flagType FlagType
Value string
}
// NewBFlags return the new BFlags struct
func NewBFlags() *BFlags {
return &BFlags{
flags: make(map[string]*Flag),
used: make(map[string]*Flag),
}
}
// AddBool adds a bool flag to BFlags
func (bf *BFlags) AddBool(name string, def bool) *Flag {
flag := bf.addFlag(name, boolType)
if flag == nil {
return nil
}
if def {
flag.Value = "true"
} else {
flag.Value = "false"
}
return flag
}
// AddString adds a string flag to BFlags
func (bf *BFlags) AddString(name string, def string) *Flag {
flag := bf.addFlag(name, stringType)
if flag == nil {
return nil
}
flag.Value = def
return flag
}
func (bf *BFlags) addFlag(name string, flagType FlagType) *Flag {
if _, ok := bf.flags[name]; ok {
bf.Err = fmt.Errorf("Duplicate flag defined: %s", name)
return nil
}
newFlag := &Flag{
bf: bf,
name: name,
flagType: flagType,
}
bf.flags[name] = newFlag
return newFlag
}
// IsUsed checks if the flag is used
func (fl *Flag) IsUsed() bool {
if _, ok := fl.bf.used[fl.name]; ok {
return true
}
return false
}
// IsTrue checks if a bool flag is true
func (fl *Flag) IsTrue() bool {
if fl.flagType != boolType {
// Should never get here
panic(fmt.Errorf("Trying to use IsTrue on a non-boolean: %s", fl.name))
}
return fl.Value == "true"
}
// Parse parses and checks if the BFlags is valid
func (bf *BFlags) Parse() error {
// If there was an error while defining the possible flags
// go ahead and bubble it back up here since we didn't do it
// earlier in the processing
if bf.Err != nil {
return fmt.Errorf("Error setting up flags: %s", bf.Err)
}
for _, arg := range bf.Args {
if !strings.HasPrefix(arg, "--") {
return fmt.Errorf("Arg should start with -- : %s", arg)
}
if arg == "--" {
return nil
}
arg = arg[2:]
value := ""
index := strings.Index(arg, "=")
if index >= 0 {
value = arg[index+1:]
arg = arg[:index]
}
flag, ok := bf.flags[arg]
if !ok {
return fmt.Errorf("Unknown flag: %s", arg)
}
if _, ok = bf.used[arg]; ok {
return fmt.Errorf("Duplicate flag specified: %s", arg)
}
bf.used[arg] = flag
switch flag.flagType {
case boolType:
// value == "" is only ok if no "=" was specified
if index >= 0 && value == "" {
return fmt.Errorf("Missing a value on flag: %s", arg)
}
lower := strings.ToLower(value)
if lower == "" {
flag.Value = "true"
} else if lower == "true" || lower == "false" {
flag.Value = lower
} else {
return fmt.Errorf("Expecting boolean value for flag %s, not: %s", arg, value)
}
case stringType:
if index < 0 {
return fmt.Errorf("Missing a value on flag: %s", arg)
}
flag.Value = value
default:
panic(fmt.Errorf("No idea what kind of flag we have! Should never get here!"))
}
}
return nil
}

187
builder/bflag_test.go Normal file
View File

@@ -0,0 +1,187 @@
package builder
import (
"testing"
)
func TestBuilderFlags(t *testing.T) {
var expected string
var err error
// ---
bf := NewBFlags()
bf.Args = []string{}
if err := bf.Parse(); err != nil {
t.Fatalf("Test1 of %q was supposed to work: %s", bf.Args, err)
}
// ---
bf = NewBFlags()
bf.Args = []string{"--"}
if err := bf.Parse(); err != nil {
t.Fatalf("Test2 of %q was supposed to work: %s", bf.Args, err)
}
// ---
bf = NewBFlags()
flStr1 := bf.AddString("str1", "")
flBool1 := bf.AddBool("bool1", false)
bf.Args = []string{}
if err = bf.Parse(); err != nil {
t.Fatalf("Test3 of %q was supposed to work: %s", bf.Args, err)
}
if flStr1.IsUsed() == true {
t.Fatalf("Test3 - str1 was not used!")
}
if flBool1.IsUsed() == true {
t.Fatalf("Test3 - bool1 was not used!")
}
// ---
bf = NewBFlags()
flStr1 = bf.AddString("str1", "HI")
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{}
if err = bf.Parse(); err != nil {
t.Fatalf("Test4 of %q was supposed to work: %s", bf.Args, err)
}
if flStr1.Value != "HI" {
t.Fatalf("Str1 was supposed to default to: HI")
}
if flBool1.IsTrue() {
t.Fatalf("Bool1 was supposed to default to: false")
}
if flStr1.IsUsed() == true {
t.Fatalf("Str1 was not used!")
}
if flBool1.IsUsed() == true {
t.Fatalf("Bool1 was not used!")
}
// ---
bf = NewBFlags()
flStr1 = bf.AddString("str1", "HI")
bf.Args = []string{"--str1"}
if err = bf.Parse(); err == nil {
t.Fatalf("Test %q was supposed to fail", bf.Args)
}
// ---
bf = NewBFlags()
flStr1 = bf.AddString("str1", "HI")
bf.Args = []string{"--str1="}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
expected = ""
if flStr1.Value != expected {
t.Fatalf("Str1 (%q) should be: %q", flStr1.Value, expected)
}
// ---
bf = NewBFlags()
flStr1 = bf.AddString("str1", "HI")
bf.Args = []string{"--str1=BYE"}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
expected = "BYE"
if flStr1.Value != expected {
t.Fatalf("Str1 (%q) should be: %q", flStr1.Value, expected)
}
// ---
bf = NewBFlags()
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool1"}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
if !flBool1.IsTrue() {
t.Fatalf("Test-b1 Bool1 was supposed to be true")
}
// ---
bf = NewBFlags()
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool1=true"}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
if !flBool1.IsTrue() {
t.Fatalf("Test-b2 Bool1 was supposed to be true")
}
// ---
bf = NewBFlags()
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool1=false"}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
if flBool1.IsTrue() {
t.Fatalf("Test-b3 Bool1 was supposed to be false")
}
// ---
bf = NewBFlags()
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool1=false1"}
if err = bf.Parse(); err == nil {
t.Fatalf("Test %q was supposed to fail", bf.Args)
}
// ---
bf = NewBFlags()
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool2"}
if err = bf.Parse(); err == nil {
t.Fatalf("Test %q was supposed to fail", bf.Args)
}
// ---
bf = NewBFlags()
flStr1 = bf.AddString("str1", "HI")
flBool1 = bf.AddBool("bool1", false)
bf.Args = []string{"--bool1", "--str1=BYE"}
if err = bf.Parse(); err != nil {
t.Fatalf("Test %q was supposed to work: %s", bf.Args, err)
}
if flStr1.Value != "BYE" {
t.Fatalf("Teset %s, str1 should be BYE", bf.Args)
}
if !flBool1.IsTrue() {
t.Fatalf("Teset %s, bool1 should be true", bf.Args)
}
}

View File

@@ -0,0 +1,38 @@
// Package command contains the set of Dockerfile commands.
package command
// Define constants for the command strings
const (
Env = "env"
Label = "label"
Maintainer = "maintainer"
Add = "add"
Copy = "copy"
From = "from"
Onbuild = "onbuild"
Workdir = "workdir"
Run = "run"
Cmd = "cmd"
Entrypoint = "entrypoint"
Expose = "expose"
Volume = "volume"
User = "user"
)
// Commands is list of all Dockerfile commands
var Commands = map[string]struct{}{
Env: {},
Label: {},
Maintainer: {},
Add: {},
Copy: {},
From: {},
Onbuild: {},
Workdir: {},
Run: {},
Cmd: {},
Entrypoint: {},
Expose: {},
Volume: {},
User: {},
}

View File

@@ -10,18 +10,27 @@ package builder
import (
"fmt"
"io/ioutil"
"path"
"path/filepath"
"regexp"
"runtime"
"sort"
"strings"
"github.com/docker/docker/nat"
"github.com/docker/docker/pkg/log"
"github.com/Sirupsen/logrus"
flag "github.com/docker/docker/pkg/mflag"
"github.com/docker/docker/pkg/nat"
"github.com/docker/docker/runconfig"
)
const (
// NoBaseImageSpecifier is the symbol used by the FROM
// command to specify that no base image is to be used.
NoBaseImageSpecifier string = "scratch"
)
// dispatch with no layer / parsing. This is effectively not a command.
func nullDispatch(b *Builder, args []string, attributes map[string]bool, original string) error {
func nullDispatch(b *builder, args []string, attributes map[string]bool, original string) error {
return nil
}
@@ -30,46 +39,127 @@ func nullDispatch(b *Builder, args []string, attributes map[string]bool, origina
// Sets the environment variable foo to bar, also makes interpolation
// in the dockerfile available from the next statement on via ${foo}.
//
func env(b *Builder, args []string, attributes map[string]bool, original string) error {
if len(args) != 2 {
return fmt.Errorf("ENV accepts two arguments")
func env(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) == 0 {
return fmt.Errorf("ENV requires at least one argument")
}
fullEnv := fmt.Sprintf("%s=%s", args[0], args[1])
if len(args)%2 != 0 {
// should never get here, but just in case
return fmt.Errorf("Bad input to ENV, too many args")
}
for i, envVar := range b.Config.Env {
envParts := strings.SplitN(envVar, "=", 2)
if args[0] == envParts[0] {
b.Config.Env[i] = fullEnv
return b.commit("", b.Config.Cmd, fmt.Sprintf("ENV %s", fullEnv))
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
// TODO/FIXME/NOT USED
// Just here to show how to use the builder flags stuff within the
// context of a builder command. Will remove once we actually add
// a builder command to something!
/*
flBool1 := b.BuilderFlags.AddBool("bool1", false)
flStr1 := b.BuilderFlags.AddString("str1", "HI")
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
fmt.Printf("Bool1:%v\n", flBool1)
fmt.Printf("Str1:%v\n", flStr1)
*/
commitStr := "ENV"
for j := 0; j < len(args); j++ {
// name ==> args[j]
// value ==> args[j+1]
newVar := args[j] + "=" + args[j+1] + ""
commitStr += " " + newVar
gotOne := false
for i, envVar := range b.Config.Env {
envParts := strings.SplitN(envVar, "=", 2)
if envParts[0] == args[j] {
b.Config.Env[i] = newVar
gotOne = true
break
}
}
if !gotOne {
b.Config.Env = append(b.Config.Env, newVar)
}
j++
}
b.Config.Env = append(b.Config.Env, fullEnv)
return b.commit("", b.Config.Cmd, fmt.Sprintf("ENV %s", fullEnv))
return b.commit("", b.Config.Cmd, commitStr)
}
// MAINTAINER some text <maybe@an.email.address>
//
// Sets the maintainer metadata.
func maintainer(b *Builder, args []string, attributes map[string]bool, original string) error {
func maintainer(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) != 1 {
return fmt.Errorf("MAINTAINER requires only one argument")
return fmt.Errorf("MAINTAINER requires exactly one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
b.maintainer = args[0]
return b.commit("", b.Config.Cmd, fmt.Sprintf("MAINTAINER %s", b.maintainer))
}
// LABEL some json data describing the image
//
// Sets the Label variable foo to bar,
//
func label(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) == 0 {
return fmt.Errorf("LABEL requires at least one argument")
}
if len(args)%2 != 0 {
// should never get here, but just in case
return fmt.Errorf("Bad input to LABEL, too many args")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
commitStr := "LABEL"
if b.Config.Labels == nil {
b.Config.Labels = map[string]string{}
}
for j := 0; j < len(args); j++ {
// name ==> args[j]
// value ==> args[j+1]
newVar := args[j] + "=" + args[j+1] + ""
commitStr += " " + newVar
b.Config.Labels[args[j]] = args[j+1]
j++
}
return b.commit("", b.Config.Cmd, commitStr)
}
// ADD foo /path
//
// Add the file 'foo' to '/path'. Tarball and Remote URL (git, http) handling
// exist here. If you do not wish to have this automatic handling, use COPY.
//
func add(b *Builder, args []string, attributes map[string]bool, original string) error {
func add(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) < 2 {
return fmt.Errorf("ADD requires at least two arguments")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
return b.runContextCommand(args, true, true, "ADD")
}
@@ -77,11 +167,15 @@ func add(b *Builder, args []string, attributes map[string]bool, original string)
//
// Same as 'ADD' but without the tar and remote url handling.
//
func dispatchCopy(b *Builder, args []string, attributes map[string]bool, original string) error {
func dispatchCopy(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) < 2 {
return fmt.Errorf("COPY requires at least two arguments")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
return b.runContextCommand(args, false, false, "COPY")
}
@@ -89,21 +183,37 @@ func dispatchCopy(b *Builder, args []string, attributes map[string]bool, origina
//
// This sets the image the dockerfile will build on top of.
//
func from(b *Builder, args []string, attributes map[string]bool, original string) error {
func from(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) != 1 {
return fmt.Errorf("FROM requires one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
name := args[0]
if name == NoBaseImageSpecifier {
b.image = ""
b.noBaseImage = true
return nil
}
image, err := b.Daemon.Repositories().LookupImage(name)
if b.Pull {
image, err = b.pullImage(name)
if err != nil {
return err
}
}
if err != nil {
if b.Daemon.Graph().IsNotExist(err) {
if b.Daemon.Graph().IsNotExist(err, name) {
image, err = b.pullImage(name)
}
// note that the top level err will still be !nil here if IsNotExist is
// not the error. This approach just simplifies hte logic a bit.
// not the error. This approach just simplifies the logic a bit.
if err != nil {
return err
}
@@ -121,7 +231,15 @@ func from(b *Builder, args []string, attributes map[string]bool, original string
// special cases. search for 'OnBuild' in internals.go for additional special
// cases.
//
func onbuild(b *Builder, args []string, attributes map[string]bool, original string) error {
func onbuild(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) == 0 {
return fmt.Errorf("ONBUILD requires at least one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
triggerInstruction := strings.ToUpper(strings.TrimSpace(args[0]))
switch triggerInstruction {
case "ONBUILD":
@@ -140,50 +258,87 @@ func onbuild(b *Builder, args []string, attributes map[string]bool, original str
//
// Set the working directory for future RUN/CMD/etc statements.
//
func workdir(b *Builder, args []string, attributes map[string]bool, original string) error {
func workdir(b *builder, args []string, attributes map[string]bool, original string) error {
if len(args) != 1 {
return fmt.Errorf("WORKDIR requires exactly one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
// Note that workdir passed comes from the Dockerfile. Hence it is in
// Linux format using forward-slashes, even on Windows. However,
// b.Config.WorkingDir is in platform-specific notation (in other words
// on Windows will use `\`
workdir := args[0]
if workdir[0] == '/' {
b.Config.WorkingDir = workdir
isAbs := false
if runtime.GOOS == "windows" {
// Alternate processing for Windows here is necessary as we can't call
// filepath.IsAbs(workDir) as that would verify Windows style paths,
// along with drive-letters (eg c:\pathto\file.txt). We (arguably
// correctly or not) check for both forward and back slashes as this
// is what the 1.4.2 GoLang implementation of IsAbs() does in the
// isSlash() function.
isAbs = workdir[0] == '\\' || workdir[0] == '/'
} else {
if b.Config.WorkingDir == "" {
b.Config.WorkingDir = "/"
}
b.Config.WorkingDir = filepath.Join(b.Config.WorkingDir, workdir)
isAbs = filepath.IsAbs(workdir)
}
if !isAbs {
current := b.Config.WorkingDir
if runtime.GOOS == "windows" {
// Convert to Linux format before join
current = strings.Replace(current, "\\", "/", -1)
}
// Must use path.Join so works correctly on Windows, not filepath
workdir = path.Join("/", current, workdir)
}
// Convert to platform specific format
if runtime.GOOS == "windows" {
workdir = strings.Replace(workdir, "/", "\\", -1)
}
b.Config.WorkingDir = workdir
return b.commit("", b.Config.Cmd, fmt.Sprintf("WORKDIR %v", workdir))
}
// RUN some command yo
//
// run a command and commit the image. Args are automatically prepended with
// 'sh -c' in the event there is only one argument. The difference in
// processing:
// 'sh -c' under linux or 'cmd /S /C' under Windows, in the event there is
// only one argument. The difference in processing:
//
// RUN echo hi # sh -c echo hi
// RUN echo hi # sh -c echo hi (Linux)
// RUN echo hi # cmd /S /C echo hi (Windows)
// RUN [ "echo", "hi" ] # echo hi
//
func run(b *Builder, args []string, attributes map[string]bool, original string) error {
if b.image == "" {
func run(b *builder, args []string, attributes map[string]bool, original string) error {
if b.image == "" && !b.noBaseImage {
return fmt.Errorf("Please provide a source image with `from` prior to run")
}
args = handleJsonArgs(args, attributes)
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
if len(args) == 1 {
args = append([]string{"/bin/sh", "-c"}, args[0])
args = handleJSONArgs(args, attributes)
if !attributes["json"] {
if runtime.GOOS != "windows" {
args = append([]string{"/bin/sh", "-c"}, args...)
} else {
args = append([]string{"cmd", "/S /C"}, args...)
}
}
runCmd := flag.NewFlagSet("run", flag.ContinueOnError)
runCmd.SetOutput(ioutil.Discard)
runCmd.Usage = nil
config, _, _, err := runconfig.Parse(runCmd, append([]string{b.image}, args...), nil)
config, _, _, err := runconfig.Parse(runCmd, append([]string{b.image}, args...))
if err != nil {
return err
}
@@ -193,9 +348,9 @@ func run(b *Builder, args []string, attributes map[string]bool, original string)
b.Config.Cmd = config.Cmd
runconfig.Merge(b.Config, config)
defer func(cmd []string) { b.Config.Cmd = cmd }(cmd)
defer func(cmd *runconfig.Command) { b.Config.Cmd = cmd }(cmd)
log.Debugf("[BUILDER] Command to be executed: %v", b.Config.Cmd)
logrus.Debugf("[BUILDER] Command to be executed: %v", b.Config.Cmd)
hit, err := b.probeCache()
if err != nil {
@@ -231,14 +386,24 @@ func run(b *Builder, args []string, attributes map[string]bool, original string)
// Set the default command to run in the container (which may be empty).
// Argument handling is the same as RUN.
//
func cmd(b *Builder, args []string, attributes map[string]bool, original string) error {
b.Config.Cmd = handleJsonArgs(args, attributes)
if !attributes["json"] {
b.Config.Cmd = append([]string{"/bin/sh", "-c"}, b.Config.Cmd...)
func cmd(b *builder, args []string, attributes map[string]bool, original string) error {
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
if err := b.commit("", b.Config.Cmd, fmt.Sprintf("CMD %v", b.Config.Cmd)); err != nil {
cmdSlice := handleJSONArgs(args, attributes)
if !attributes["json"] {
if runtime.GOOS != "windows" {
cmdSlice = append([]string{"/bin/sh", "-c"}, cmdSlice...)
} else {
cmdSlice = append([]string{"cmd", "/S /C"}, cmdSlice...)
}
}
b.Config.Cmd = runconfig.NewCommand(cmdSlice...)
if err := b.commit("", b.Config.Cmd, fmt.Sprintf("CMD %q", cmdSlice)); err != nil {
return err
}
@@ -251,25 +416,33 @@ func cmd(b *Builder, args []string, attributes map[string]bool, original string)
// ENTRYPOINT /usr/sbin/nginx
//
// Set the entrypoint (which defaults to sh -c) to /usr/sbin/nginx. Will
// accept the CMD as the arguments to /usr/sbin/nginx.
// Set the entrypoint (which defaults to sh -c on linux, or cmd /S /C on Windows) to
// /usr/sbin/nginx. Will accept the CMD as the arguments to /usr/sbin/nginx.
//
// Handles command processing similar to CMD and RUN, only b.Config.Entrypoint
// is initialized at NewBuilder time instead of through argument parsing.
//
func entrypoint(b *Builder, args []string, attributes map[string]bool, original string) error {
parsed := handleJsonArgs(args, attributes)
func entrypoint(b *builder, args []string, attributes map[string]bool, original string) error {
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
parsed := handleJSONArgs(args, attributes)
switch {
case attributes["json"]:
// ENTRYPOINT ["echo", "hi"]
b.Config.Entrypoint = parsed
b.Config.Entrypoint = runconfig.NewEntrypoint(parsed...)
case len(parsed) == 0:
// ENTRYPOINT []
b.Config.Entrypoint = nil
default:
// ENTRYPOINT echo hi
b.Config.Entrypoint = []string{"/bin/sh", "-c", parsed[0]}
if runtime.GOOS != "windows" {
b.Config.Entrypoint = runconfig.NewEntrypoint("/bin/sh", "-c", parsed[0])
} else {
b.Config.Entrypoint = runconfig.NewEntrypoint("cmd", "/S /C", parsed[0])
}
}
// when setting the entrypoint if a CMD was not explicitly set then
@@ -278,7 +451,7 @@ func entrypoint(b *Builder, args []string, attributes map[string]bool, original
b.Config.Cmd = nil
}
if err := b.commit("", b.Config.Cmd, fmt.Sprintf("ENTRYPOINT %v", b.Config.Entrypoint)); err != nil {
if err := b.commit("", b.Config.Cmd, fmt.Sprintf("ENTRYPOINT %q", b.Config.Entrypoint)); err != nil {
return err
}
@@ -290,26 +463,40 @@ func entrypoint(b *Builder, args []string, attributes map[string]bool, original
// Expose ports for links and port mappings. This all ends up in
// b.Config.ExposedPorts for runconfig.
//
func expose(b *Builder, args []string, attributes map[string]bool, original string) error {
func expose(b *builder, args []string, attributes map[string]bool, original string) error {
portsTab := args
if len(args) == 0 {
return fmt.Errorf("EXPOSE requires at least one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
if b.Config.ExposedPorts == nil {
b.Config.ExposedPorts = make(nat.PortSet)
}
ports, _, err := nat.ParsePortSpecs(append(portsTab, b.Config.PortSpecs...))
ports, _, err := nat.ParsePortSpecs(portsTab)
if err != nil {
return err
}
// instead of using ports directly, we build a list of ports and sort it so
// the order is consistent. This prevents cache burst where map ordering
// changes between builds
portList := make([]string, len(ports))
var i int
for port := range ports {
if _, exists := b.Config.ExposedPorts[port]; !exists {
b.Config.ExposedPorts[port] = struct{}{}
}
portList[i] = string(port)
i++
}
b.Config.PortSpecs = nil
return b.commit("", b.Config.Cmd, fmt.Sprintf("EXPOSE %v", ports))
sort.Strings(portList)
return b.commit("", b.Config.Cmd, fmt.Sprintf("EXPOSE %s", strings.Join(portList, " ")))
}
// USER foo
@@ -317,11 +504,19 @@ func expose(b *Builder, args []string, attributes map[string]bool, original stri
// Set the user to 'foo' for future commands and when running the
// ENTRYPOINT/CMD at container run time.
//
func user(b *Builder, args []string, attributes map[string]bool, original string) error {
func user(b *builder, args []string, attributes map[string]bool, original string) error {
if runtime.GOOS == "windows" {
return fmt.Errorf("USER is not supported on Windows")
}
if len(args) != 1 {
return fmt.Errorf("USER requires exactly one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
b.Config.User = args[0]
return b.commit("", b.Config.Cmd, fmt.Sprintf("USER %v", args))
}
@@ -330,15 +525,26 @@ func user(b *Builder, args []string, attributes map[string]bool, original string
//
// Expose the volume /foo for use. Will also accept the JSON array form.
//
func volume(b *Builder, args []string, attributes map[string]bool, original string) error {
func volume(b *builder, args []string, attributes map[string]bool, original string) error {
if runtime.GOOS == "windows" {
return fmt.Errorf("VOLUME is not supported on Windows")
}
if len(args) == 0 {
return fmt.Errorf("Volume cannot be empty")
return fmt.Errorf("VOLUME requires at least one argument")
}
if err := b.BuilderFlags.Parse(); err != nil {
return err
}
if b.Config.Volumes == nil {
b.Config.Volumes = map[string]struct{}{}
}
for _, v := range args {
v = strings.TrimSpace(v)
if v == "" {
return fmt.Errorf("Volume specified can not be an empty string")
}
b.Config.Volumes[v] = struct{}{}
}
if err := b.commit("", b.Config.Cmd, fmt.Sprintf("VOLUME %v", args)); err != nil {
@@ -346,8 +552,3 @@ func volume(b *Builder, args []string, attributes map[string]bool, original stri
}
return nil
}
// INSERT is no longer accepted, but we still parse it.
func insert(b *Builder, args []string, attributes map[string]bool, original string) error {
return fmt.Errorf("INSERT has been deprecated. Please use ADD instead")
}

View File

@@ -1,4 +1,4 @@
// builder is the evaluation step in the Dockerfile parse/evaluate pipeline.
// Package builder is the evaluation step in the Dockerfile parse/evaluate pipeline.
//
// It incorporates a dispatch table based on the parser.Node values (see the
// parser package for more information) that are yielded from the parser itself.
@@ -20,64 +20,65 @@
package builder
import (
"errors"
"fmt"
"io"
"os"
"path"
"path/filepath"
"strings"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/api"
"github.com/docker/docker/builder/command"
"github.com/docker/docker/builder/parser"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/daemon"
"github.com/docker/docker/engine"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/streamformatter"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/symlink"
"github.com/docker/docker/pkg/tarsum"
"github.com/docker/docker/registry"
"github.com/docker/docker/pkg/ulimit"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
)
var (
ErrDockerfileEmpty = errors.New("Dockerfile cannot be empty")
)
// Environment variable interpolation will happen on these statements only.
var replaceEnvAllowed = map[string]struct{}{
"env": {},
"add": {},
"copy": {},
"workdir": {},
"expose": {},
"volume": {},
"user": {},
command.Env: {},
command.Label: {},
command.Add: {},
command.Copy: {},
command.Workdir: {},
command.Expose: {},
command.Volume: {},
command.User: {},
}
var evaluateTable map[string]func(*Builder, []string, map[string]bool, string) error
var evaluateTable map[string]func(*builder, []string, map[string]bool, string) error
func init() {
evaluateTable = map[string]func(*Builder, []string, map[string]bool, string) error{
"env": env,
"maintainer": maintainer,
"add": add,
"copy": dispatchCopy, // copy() is a go builtin
"from": from,
"onbuild": onbuild,
"workdir": workdir,
"run": run,
"cmd": cmd,
"entrypoint": entrypoint,
"expose": expose,
"volume": volume,
"user": user,
"insert": insert,
evaluateTable = map[string]func(*builder, []string, map[string]bool, string) error{
command.Env: env,
command.Label: label,
command.Maintainer: maintainer,
command.Add: add,
command.Copy: dispatchCopy, // copy() is a go builtin
command.From: from,
command.Onbuild: onbuild,
command.Workdir: workdir,
command.Run: run,
command.Cmd: cmd,
command.Entrypoint: entrypoint,
command.Expose: expose,
command.Volume: volume,
command.User: user,
}
}
// internal struct, used to maintain configuration of the Dockerfile's
// builder is an internal struct, used to maintain configuration of the Dockerfile's
// processing as it evaluates the parsing result.
type Builder struct {
type builder struct {
Daemon *daemon.Daemon
Engine *engine.Engine
// effectively stdio for the run. Because it is not stdio, I said
// "Effectively". Do not use stdio anywhere in this package for any reason.
@@ -86,30 +87,55 @@ type Builder struct {
Verbose bool
UtilizeCache bool
cacheBusted bool
// controls how images and containers are handled between steps.
Remove bool
ForceRemove bool
Pull bool
AuthConfig *registry.AuthConfig
AuthConfigFile *registry.ConfigFile
// set this to true if we want the builder to not commit between steps.
// This is useful when we only want to use the evaluator table to generate
// the final configs of the Dockerfile but dont want the layers
disableCommit bool
// Registry server auth configs used to pull images when handling `FROM`.
AuthConfigs map[string]cliconfig.AuthConfig
// Deprecated, original writer used for ImagePull. To be removed.
OutOld io.Writer
StreamFormatter *utils.StreamFormatter
StreamFormatter *streamformatter.StreamFormatter
Config *runconfig.Config // runconfig for cmd, run, entrypoint etc.
// both of these are controlled by the Remove and ForceRemove options in BuildOpts
TmpContainers map[string]struct{} // a map of containers used for removes
dockerfile *parser.Node // the syntax tree of the dockerfile
image string // image name for commit processing
maintainer string // maintainer name. could probably be removed.
cmdSet bool // indicates is CMD was set in current Dockerfile
context tarsum.TarSum // the context is a tarball that is uploaded by the client
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
dockerfileName string // name of Dockerfile
dockerfile *parser.Node // the syntax tree of the dockerfile
image string // image name for commit processing
maintainer string // maintainer name. could probably be removed.
cmdSet bool // indicates is CMD was set in current Dockerfile
BuilderFlags *BFlags // current cmd's BuilderFlags - temporary
context tarsum.TarSum // the context is a tarball that is uploaded by the client
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
noBaseImage bool // indicates that this build does not start from any base image, but is being built from an empty file system.
// Set resource restrictions for build containers
cpuSetCpus string
cpuSetMems string
cpuShares int64
cpuPeriod int64
cpuQuota int64
cgroupParent string
memory int64
memorySwap int64
ulimits []*ulimit.Ulimit
cancelled <-chan struct{} // When closed, job was cancelled.
activeImages []string
id string // Used to hold reference images
}
// Run the builder with the context. This is the lynchpin of this package. This
@@ -124,66 +150,121 @@ type Builder struct {
// processing.
// * Print a happy message and return the image ID.
//
func (b *Builder) Run(context io.Reader) (string, error) {
func (b *builder) Run(context io.Reader) (string, error) {
if err := b.readContext(context); err != nil {
return "", err
}
defer func() {
if err := os.RemoveAll(b.contextPath); err != nil {
log.Debugf("[BUILDER] failed to remove temporary context: %s", err)
logrus.Debugf("[BUILDER] failed to remove temporary context: %s", err)
}
}()
filename := path.Join(b.contextPath, "Dockerfile")
fi, err := os.Stat(filename)
if os.IsNotExist(err) {
return "", fmt.Errorf("Cannot build a directory without a Dockerfile")
}
if fi.Size() == 0 {
return "", ErrDockerfileEmpty
}
f, err := os.Open(filename)
if err != nil {
if err := b.readDockerfile(); err != nil {
return "", err
}
defer f.Close()
ast, err := parser.Parse(f)
if err != nil {
return "", err
}
b.dockerfile = ast
// some initializations that would not have been supplied by the caller.
b.Config = &runconfig.Config{}
b.TmpContainers = map[string]struct{}{}
for i, n := range b.dockerfile.Children {
select {
case <-b.cancelled:
logrus.Debug("Builder: build cancelled!")
fmt.Fprintf(b.OutStream, "Build cancelled")
return "", fmt.Errorf("Build cancelled")
default:
// Not cancelled yet, keep going...
}
if err := b.dispatch(i, n); err != nil {
if b.ForceRemove {
b.clearTmp()
}
return "", err
}
fmt.Fprintf(b.OutStream, " ---> %s\n", utils.TruncateID(b.image))
fmt.Fprintf(b.OutStream, " ---> %s\n", stringid.TruncateID(b.image))
if b.Remove {
b.clearTmp()
}
}
if b.image == "" {
return "", fmt.Errorf("No image was generated. Is your Dockerfile empty?\n")
return "", fmt.Errorf("No image was generated. Is your Dockerfile empty?")
}
fmt.Fprintf(b.OutStream, "Successfully built %s\n", utils.TruncateID(b.image))
fmt.Fprintf(b.OutStream, "Successfully built %s\n", stringid.TruncateID(b.image))
return b.image, nil
}
// Reads a Dockerfile from the current context. It assumes that the
// 'filename' is a relative path from the root of the context
func (b *builder) readDockerfile() error {
// If no -f was specified then look for 'Dockerfile'. If we can't find
// that then look for 'dockerfile'. If neither are found then default
// back to 'Dockerfile' and use that in the error message.
if b.dockerfileName == "" {
b.dockerfileName = api.DefaultDockerfileName
tmpFN := filepath.Join(b.contextPath, api.DefaultDockerfileName)
if _, err := os.Lstat(tmpFN); err != nil {
tmpFN = filepath.Join(b.contextPath, strings.ToLower(api.DefaultDockerfileName))
if _, err := os.Lstat(tmpFN); err == nil {
b.dockerfileName = strings.ToLower(api.DefaultDockerfileName)
}
}
}
origFile := b.dockerfileName
filename, err := symlink.FollowSymlinkInScope(filepath.Join(b.contextPath, origFile), b.contextPath)
if err != nil {
return fmt.Errorf("The Dockerfile (%s) must be within the build context", origFile)
}
fi, err := os.Lstat(filename)
if os.IsNotExist(err) {
return fmt.Errorf("Cannot locate specified Dockerfile: %s", origFile)
}
if fi.Size() == 0 {
return fmt.Errorf("The Dockerfile (%s) cannot be empty", origFile)
}
f, err := os.Open(filename)
if err != nil {
return err
}
b.dockerfile, err = parser.Parse(f)
f.Close()
if err != nil {
return err
}
// After the Dockerfile has been parsed, we need to check the .dockerignore
// file for either "Dockerfile" or ".dockerignore", and if either are
// present then erase them from the build context. These files should never
// have been sent from the client but we did send them to make sure that
// we had the Dockerfile to actually parse, and then we also need the
// .dockerignore file to know whether either file should be removed.
// Note that this assumes the Dockerfile has been read into memory and
// is now safe to be removed.
excludes, _ := utils.ReadDockerIgnore(filepath.Join(b.contextPath, ".dockerignore"))
if rm, _ := fileutils.Matches(".dockerignore", excludes); rm == true {
os.Remove(filepath.Join(b.contextPath, ".dockerignore"))
b.context.(tarsum.BuilderContext).Remove(".dockerignore")
}
if rm, _ := fileutils.Matches(b.dockerfileName, excludes); rm == true {
os.Remove(filepath.Join(b.contextPath, b.dockerfileName))
b.context.(tarsum.BuilderContext).Remove(b.dockerfileName)
}
return nil
}
// This method is the entrypoint to all statement handling routines.
//
// Almost all nodes will have this structure:
@@ -198,39 +279,73 @@ func (b *Builder) Run(context io.Reader) (string, error) {
// such as `RUN` in ONBUILD RUN foo. There is special case logic in here to
// deal with that, at least until it becomes more of a general concern with new
// features.
func (b *Builder) dispatch(stepN int, ast *parser.Node) error {
func (b *builder) dispatch(stepN int, ast *parser.Node) error {
cmd := ast.Value
attrs := ast.Attributes
original := ast.Original
flags := ast.Flags
strs := []string{}
msg := fmt.Sprintf("Step %d : %s", stepN, strings.ToUpper(cmd))
if len(ast.Flags) > 0 {
msg += " " + strings.Join(ast.Flags, " ")
}
if cmd == "onbuild" {
if ast.Next == nil {
return fmt.Errorf("ONBUILD requires at least one argument")
}
ast = ast.Next.Children[0]
strs = append(strs, ast.Value)
msg += " " + ast.Value
if len(ast.Flags) > 0 {
msg += " " + strings.Join(ast.Flags, " ")
}
}
// count the number of nodes that we are going to traverse first
// so we can pre-create the argument and message array. This speeds up the
// allocation of those list a lot when they have a lot of arguments
cursor := ast
var n int
for cursor.Next != nil {
cursor = cursor.Next
n++
}
l := len(strs)
strList := make([]string, n+l)
copy(strList, strs)
msgList := make([]string, n)
var i int
for ast.Next != nil {
ast = ast.Next
var str string
str = ast.Value
if _, ok := replaceEnvAllowed[cmd]; ok {
str = b.replaceEnv(ast.Value)
var err error
str, err = ProcessWord(ast.Value, b.Config.Env)
if err != nil {
return err
}
}
strs = append(strs, str)
msg += " " + ast.Value
strList[i+l] = str
msgList[i] = ast.Value
i++
}
msg += " " + strings.Join(msgList, " ")
fmt.Fprintln(b.OutStream, msg)
// XXX yes, we skip any cmds that are not valid; the parser should have
// picked these out already.
if f, ok := evaluateTable[cmd]; ok {
return f(b, strs, attrs, original)
b.BuilderFlags = NewBFlags()
b.BuilderFlags.Args = flags
return f(b, strList, attrs, original)
}
fmt.Fprintf(b.ErrStream, "# Skipping unknown instruction %s\n", strings.ToUpper(cmd))
return nil
return fmt.Errorf("Unknown instruction: %s", strings.ToUpper(cmd))
}

View File

@@ -9,62 +9,86 @@ import (
"fmt"
"io"
"io/ioutil"
"net/http"
"net/url"
"os"
"path"
"path/filepath"
"runtime"
"sort"
"strings"
"syscall"
"time"
"github.com/Sirupsen/logrus"
"github.com/docker/docker/builder/parser"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/daemon"
imagepkg "github.com/docker/docker/image"
"github.com/docker/docker/graph"
"github.com/docker/docker/image"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/chrootarchive"
"github.com/docker/docker/pkg/log"
"github.com/docker/docker/pkg/httputils"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/promise"
"github.com/docker/docker/pkg/symlink"
"github.com/docker/docker/pkg/progressreader"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/system"
"github.com/docker/docker/pkg/tarsum"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/registry"
"github.com/docker/docker/utils"
"github.com/docker/docker/runconfig"
)
func (b *Builder) readContext(context io.Reader) error {
func (b *builder) readContext(context io.Reader) (err error) {
tmpdirPath, err := ioutil.TempDir("", "docker-build")
if err != nil {
return err
return
}
// Make sure we clean-up upon error. In the happy case the caller
// is expected to manage the clean-up
defer func() {
if err != nil {
if e := os.RemoveAll(tmpdirPath); e != nil {
logrus.Debugf("[BUILDER] failed to remove temporary context: %s", e)
}
}
}()
decompressedStream, err := archive.DecompressStream(context)
if err != nil {
return err
return
}
if b.context, err = tarsum.NewTarSum(decompressedStream, true, tarsum.Version0); err != nil {
return err
if b.context, err = tarsum.NewTarSum(decompressedStream, true, tarsum.Version1); err != nil {
return
}
if err := chrootarchive.Untar(b.context, tmpdirPath, nil); err != nil {
return err
if err = chrootarchive.Untar(b.context, tmpdirPath, nil); err != nil {
return
}
b.contextPath = tmpdirPath
return nil
return
}
func (b *Builder) commit(id string, autoCmd []string, comment string) error {
if b.image == "" {
func (b *builder) commit(id string, autoCmd *runconfig.Command, comment string) error {
if b.disableCommit {
return nil
}
if b.image == "" && !b.noBaseImage {
return fmt.Errorf("Please provide a source image with `from` prior to commit")
}
b.Config.Image = b.image
if id == "" {
cmd := b.Config.Cmd
b.Config.Cmd = []string{"/bin/sh", "-c", "#(nop) " + comment}
defer func(cmd []string) { b.Config.Cmd = cmd }(cmd)
if runtime.GOOS != "windows" {
b.Config.Cmd = runconfig.NewCommand("/bin/sh", "-c", "#(nop) "+comment)
} else {
b.Config.Cmd = runconfig.NewCommand("cmd", "/S /C", "REM (nop) "+comment)
}
defer func(cmd *runconfig.Command) { b.Config.Cmd = cmd }(cmd)
hit, err := b.probeCache()
if err != nil {
@@ -85,20 +109,28 @@ func (b *Builder) commit(id string, autoCmd []string, comment string) error {
}
defer container.Unmount()
}
container := b.Daemon.Get(id)
if container == nil {
return fmt.Errorf("An error occured while creating the container")
container, err := b.Daemon.Get(id)
if err != nil {
return err
}
// Note: Actually copy the struct
autoConfig := *b.Config
autoConfig.Cmd = autoCmd
commitCfg := &daemon.ContainerCommitConfig{
Author: b.maintainer,
Pause: true,
Config: &autoConfig,
}
// Commit the container
image, err := b.Daemon.Commit(container, "", "", "", b.maintainer, true, &autoConfig)
image, err := b.Daemon.Commit(container, commitCfg)
if err != nil {
return err
}
b.Daemon.Graph().Retain(b.id, image.ID)
b.activeImages = append(b.activeImages, image.ID)
b.image = image.ID
return nil
}
@@ -111,7 +143,7 @@ type copyInfo struct {
tmpDir string
}
func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecompression bool, cmdName string) error {
func (b *builder) runContextCommand(args []string, allowRemote bool, allowDecompression bool, cmdName string) error {
if b.context == nil {
return fmt.Errorf("No context given. Impossible to use %s", cmdName)
}
@@ -120,7 +152,8 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
return fmt.Errorf("Invalid %s format - at least two arguments required", cmdName)
}
dest := args[len(args)-1] // last one is always the dest
// Work in daemon-specific filepath semantics
dest := filepath.FromSlash(args[len(args)-1]) // last one is always the dest
copyInfos := []*copyInfo{}
@@ -138,8 +171,16 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
// do the copy (e.g. hash value if cached). Don't actually do
// the copy until we've looked at all src files
for _, orig := range args[0 : len(args)-1] {
err := calcCopyInfo(b, cmdName, &copyInfos, orig, dest, allowRemote, allowDecompression)
if err != nil {
if err := calcCopyInfo(
b,
cmdName,
&copyInfos,
orig,
dest,
allowRemote,
allowDecompression,
true,
); err != nil {
return err
}
}
@@ -147,8 +188,7 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
if len(copyInfos) == 0 {
return fmt.Errorf("No source files were specified")
}
if len(copyInfos) > 1 && !strings.HasSuffix(dest, "/") {
if len(copyInfos) > 1 && !strings.HasSuffix(dest, string(os.PathSeparator)) {
return fmt.Errorf("When using %s with more than one source file, the destination must be a directory and end with a /", cmdName)
}
@@ -174,15 +214,19 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
}
cmd := b.Config.Cmd
b.Config.Cmd = []string{"/bin/sh", "-c", fmt.Sprintf("#(nop) %s %s in %s", cmdName, srcHash, dest)}
defer func(cmd []string) { b.Config.Cmd = cmd }(cmd)
if runtime.GOOS != "windows" {
b.Config.Cmd = runconfig.NewCommand("/bin/sh", "-c", fmt.Sprintf("#(nop) %s %s in %s", cmdName, srcHash, dest))
} else {
b.Config.Cmd = runconfig.NewCommand("cmd", "/S /C", fmt.Sprintf("REM (nop) %s %s in %s", cmdName, srcHash, dest))
}
defer func(cmd *runconfig.Command) { b.Config.Cmd = cmd }(cmd)
hit, err := b.probeCache()
if err != nil {
return err
}
// If we do not have at least one hash, never use the cache
if hit && b.UtilizeCache {
if hit {
return nil
}
@@ -197,27 +241,59 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
}
defer container.Unmount()
if err := container.PrepareStorage(); err != nil {
return err
}
for _, ci := range copyInfos {
if err := b.addContext(container, ci.origPath, ci.destPath, ci.decompress); err != nil {
return err
}
}
if err := container.CleanupStorage(); err != nil {
return err
}
if err := b.commit(container.ID, cmd, fmt.Sprintf("%s %s in %s", cmdName, origPaths, dest)); err != nil {
return err
}
return nil
}
func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath string, destPath string, allowRemote bool, allowDecompression bool) error {
func calcCopyInfo(b *builder, cmdName string, cInfos *[]*copyInfo, origPath string, destPath string, allowRemote bool, allowDecompression bool, allowWildcards bool) error {
if origPath != "" && origPath[0] == '/' && len(origPath) > 1 {
// Work in daemon-specific OS filepath semantics. However, we save
// the the origPath passed in here, as it might also be a URL which
// we need to check for in this function.
passedInOrigPath := origPath
origPath = filepath.FromSlash(origPath)
destPath = filepath.FromSlash(destPath)
if origPath != "" && origPath[0] == os.PathSeparator && len(origPath) > 1 {
origPath = origPath[1:]
}
origPath = strings.TrimPrefix(origPath, "./")
origPath = strings.TrimPrefix(origPath, "."+string(os.PathSeparator))
// Twiddle the destPath when its a relative path - meaning, make it
// relative to the WORKINGDIR
if !filepath.IsAbs(destPath) {
hasSlash := strings.HasSuffix(destPath, string(os.PathSeparator))
destPath = filepath.Join(string(os.PathSeparator), filepath.FromSlash(b.Config.WorkingDir), destPath)
// Make sure we preserve any trailing slash
if hasSlash {
destPath += string(os.PathSeparator)
}
}
// In the remote/URL case, download it and gen its hashcode
if utils.IsURL(origPath) {
if urlutil.IsURL(passedInOrigPath) {
// As it's a URL, we go back to processing on what was passed in
// to this function
origPath = passedInOrigPath
if !allowRemote {
return fmt.Errorf("Source can't be a URL for %s", cmdName)
}
@@ -230,7 +306,7 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
*cInfos = append(*cInfos, &ci)
// Initiate the download
resp, err := utils.Download(ci.origPath)
resp, err := httputils.Download(ci.origPath)
if err != nil {
return err
}
@@ -243,38 +319,59 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
ci.tmpDir = tmpDirName
// Create a tmp file within our tmp dir
tmpFileName := path.Join(tmpDirName, "tmp")
tmpFileName := filepath.Join(tmpDirName, "tmp")
tmpFile, err := os.OpenFile(tmpFileName, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600)
if err != nil {
return err
}
// Download and dump result to tmp file
if _, err := io.Copy(tmpFile, utils.ProgressReader(resp.Body, int(resp.ContentLength), b.OutOld, b.StreamFormatter, true, "", "Downloading")); err != nil {
if _, err := io.Copy(tmpFile, progressreader.New(progressreader.Config{
In: resp.Body,
Out: b.OutOld,
Formatter: b.StreamFormatter,
Size: int(resp.ContentLength),
NewLines: true,
ID: "",
Action: "Downloading",
})); err != nil {
tmpFile.Close()
return err
}
fmt.Fprintf(b.OutStream, "\n")
tmpFile.Close()
// Remove the mtime of the newly created tmp file
if err := system.UtimesNano(tmpFileName, make([]syscall.Timespec, 2)); err != nil {
// Set the mtime to the Last-Modified header value if present
// Otherwise just remove atime and mtime
times := make([]syscall.Timespec, 2)
lastMod := resp.Header.Get("Last-Modified")
if lastMod != "" {
mTime, err := http.ParseTime(lastMod)
// If we can't parse it then just let it default to 'zero'
// otherwise use the parsed time value
if err == nil {
times[1] = syscall.NsecToTimespec(mTime.UnixNano())
}
}
if err := system.UtimesNano(tmpFileName, times); err != nil {
return err
}
ci.origPath = path.Join(filepath.Base(tmpDirName), filepath.Base(tmpFileName))
ci.origPath = filepath.Join(filepath.Base(tmpDirName), filepath.Base(tmpFileName))
// If the destination is a directory, figure out the filename.
if strings.HasSuffix(ci.destPath, "/") {
if strings.HasSuffix(ci.destPath, string(os.PathSeparator)) {
u, err := url.Parse(origPath)
if err != nil {
return err
}
path := u.Path
if strings.HasSuffix(path, "/") {
if strings.HasSuffix(path, string(os.PathSeparator)) {
path = path[:len(path)-1]
}
parts := strings.Split(path, "/")
parts := strings.Split(path, string(os.PathSeparator))
filename := parts[len(parts)-1]
if filename == "" {
return fmt.Errorf("cannot determine filename from url: %s", u)
@@ -282,38 +379,38 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
ci.destPath = ci.destPath + filename
}
// Calc the checksum, only if we're using the cache
if b.UtilizeCache {
r, err := archive.Tar(tmpFileName, archive.Uncompressed)
if err != nil {
return err
}
tarSum, err := tarsum.NewTarSum(r, true, tarsum.Version0)
if err != nil {
return err
}
if _, err := io.Copy(ioutil.Discard, tarSum); err != nil {
return err
}
ci.hash = tarSum.Sum(nil)
r.Close()
// Calc the checksum, even if we're using the cache
r, err := archive.Tar(tmpFileName, archive.Uncompressed)
if err != nil {
return err
}
tarSum, err := tarsum.NewTarSum(r, true, tarsum.Version1)
if err != nil {
return err
}
if _, err := io.Copy(ioutil.Discard, tarSum); err != nil {
return err
}
ci.hash = tarSum.Sum(nil)
r.Close()
return nil
}
// Deal with wildcards
if ContainsWildcards(origPath) {
if allowWildcards && containsWildcards(origPath) {
for _, fileInfo := range b.context.GetSums() {
if fileInfo.Name() == "" {
continue
}
match, _ := path.Match(origPath, fileInfo.Name())
match, _ := filepath.Match(origPath, fileInfo.Name())
if !match {
continue
}
calcCopyInfo(b, cmdName, cInfos, fileInfo.Name(), destPath, allowRemote, allowDecompression)
// Note we set allowWildcards to false in case the name has
// a * in it
calcCopyInfo(b, cmdName, cInfos, fileInfo.Name(), destPath, allowRemote, allowDecompression, false)
}
return nil
}
@@ -323,7 +420,7 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
if err := b.checkPathForAddition(origPath); err != nil {
return err
}
fi, _ := os.Stat(path.Join(b.contextPath, origPath))
fi, _ := os.Stat(filepath.Join(b.contextPath, origPath))
ci := copyInfo{}
ci.origPath = origPath
@@ -332,12 +429,6 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
ci.decompress = allowDecompression
*cInfos = append(*cInfos, &ci)
// If not using cache don't need to do anything else.
// If we are using a cache then calc the hash for the src file/dir
if !b.UtilizeCache {
return nil
}
// Deal with the single file case
if !fi.IsDir() {
// This will match first file in sums of the archive
@@ -350,21 +441,29 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
// Must be a dir
var subfiles []string
absOrigPath := path.Join(b.contextPath, ci.origPath)
absOrigPath := filepath.Join(b.contextPath, ci.origPath)
// Add a trailing / to make sure we only pick up nested files under
// the dir and not sibling files of the dir that just happen to
// start with the same chars
if !strings.HasSuffix(absOrigPath, "/") {
absOrigPath += "/"
if !strings.HasSuffix(absOrigPath, string(os.PathSeparator)) {
absOrigPath += string(os.PathSeparator)
}
// Need path w/o / too to find matching dir w/o trailing /
// Need path w/o slash too to find matching dir w/o trailing slash
absOrigPathNoSlash := absOrigPath[:len(absOrigPath)-1]
for _, fileInfo := range b.context.GetSums() {
absFile := path.Join(b.contextPath, fileInfo.Name())
if strings.HasPrefix(absFile, absOrigPath) || absFile == absOrigPathNoSlash {
absFile := filepath.Join(b.contextPath, fileInfo.Name())
// Any file in the context that starts with the given path will be
// picked up and its hashcode used. However, we'll exclude the
// root dir itself. We do this for a coupel of reasons:
// 1 - ADD/COPY will not copy the dir itself, just its children
// so there's no reason to include it in the hash calc
// 2 - the metadata on the dir will change when any child file
// changes. This will lead to a miss in the cache check if that
// child file is in the .dockerignore list.
if strings.HasPrefix(absFile, absOrigPath) && absFile != absOrigPathNoSlash {
subfiles = append(subfiles, fileInfo.Sum())
}
}
@@ -376,7 +475,7 @@ func calcCopyInfo(b *Builder, cmdName string, cInfos *[]*copyInfo, origPath stri
return nil
}
func ContainsWildcards(name string) bool {
func containsWildcards(name string) bool {
for i := 0; i < len(name); i++ {
ch := name[i]
if ch == '\\' {
@@ -388,29 +487,36 @@ func ContainsWildcards(name string) bool {
return false
}
func (b *Builder) pullImage(name string) (*imagepkg.Image, error) {
func (b *builder) pullImage(name string) (*image.Image, error) {
remote, tag := parsers.ParseRepositoryTag(name)
if tag == "" {
tag = "latest"
}
pullRegistryAuth := b.AuthConfig
if len(b.AuthConfigFile.Configs) > 0 {
pullRegistryAuth := &cliconfig.AuthConfig{}
if len(b.AuthConfigs) > 0 {
// The request came with a full auth config file, we prefer to use that
endpoint, _, err := registry.ResolveRepositoryName(remote)
repoInfo, err := b.Daemon.RegistryService.ResolveRepository(remote)
if err != nil {
return nil, err
}
resolvedAuth := b.AuthConfigFile.ResolveAuthConfig(endpoint)
pullRegistryAuth = &resolvedAuth
resolvedConfig := registry.ResolveAuthConfig(
&cliconfig.ConfigFile{AuthConfigs: b.AuthConfigs},
repoInfo.Index,
)
pullRegistryAuth = &resolvedConfig
}
job := b.Engine.Job("pull", remote, tag)
job.SetenvBool("json", b.StreamFormatter.Json())
job.SetenvBool("parallel", true)
job.SetenvJson("authConfig", pullRegistryAuth)
job.Stdout.Add(b.OutOld)
if err := job.Run(); err != nil {
imagePullConfig := &graph.ImagePullConfig{
AuthConfig: pullRegistryAuth,
OutStream: ioutils.NopWriteCloser(b.OutOld),
}
if err := b.Daemon.Repositories().Pull(remote, tag, imagePullConfig); err != nil {
return nil, err
}
image, err := b.Daemon.Repositories().LookupImage(name)
if err != nil {
return nil, err
@@ -419,14 +525,15 @@ func (b *Builder) pullImage(name string) (*imagepkg.Image, error) {
return image, nil
}
func (b *Builder) processImageFrom(img *imagepkg.Image) error {
func (b *builder) processImageFrom(img *image.Image) error {
b.image = img.ID
if img.Config != nil {
b.Config = img.Config
}
if len(b.Config.Env) == 0 {
// The default path will be blank on Windows (set by HCS)
if len(b.Config.Env) == 0 && daemon.DefaultPathEnv != "" {
b.Config.Env = append(b.Config.Env, "PATH="+daemon.DefaultPathEnv)
}
@@ -435,7 +542,7 @@ func (b *Builder) processImageFrom(img *imagepkg.Image) error {
fmt.Fprintf(b.ErrStream, "# Executing %d build triggers\n", nTriggers)
}
// Copy the ONBUILD triggers, and remove them from the config, since the config will be commited.
// Copy the ONBUILD triggers, and remove them from the config, since the config will be committed.
onBuildTriggers := b.Config.OnBuild
b.Config.OnBuild = []string{}
@@ -470,32 +577,51 @@ func (b *Builder) processImageFrom(img *imagepkg.Image) error {
// in the current server `b.Daemon`. If an image is found, probeCache returns
// `(true, nil)`. If no image is found, it returns `(false, nil)`. If there
// is any error, it returns `(false, err)`.
func (b *Builder) probeCache() (bool, error) {
if b.UtilizeCache {
if cache, err := b.Daemon.ImageGetCached(b.image, b.Config); err != nil {
return false, err
} else if cache != nil {
fmt.Fprintf(b.OutStream, " ---> Using cache\n")
log.Debugf("[BUILDER] Use cached version")
b.image = cache.ID
return true, nil
} else {
log.Debugf("[BUILDER] Cache miss")
}
func (b *builder) probeCache() (bool, error) {
if !b.UtilizeCache || b.cacheBusted {
return false, nil
}
return false, nil
cache, err := b.Daemon.ImageGetCached(b.image, b.Config)
if err != nil {
return false, err
}
if cache == nil {
logrus.Debugf("[BUILDER] Cache miss")
b.cacheBusted = true
return false, nil
}
fmt.Fprintf(b.OutStream, " ---> Using cache\n")
logrus.Debugf("[BUILDER] Use cached version")
b.image = cache.ID
b.Daemon.Graph().Retain(b.id, cache.ID)
b.activeImages = append(b.activeImages, cache.ID)
return true, nil
}
func (b *Builder) create() (*daemon.Container, error) {
if b.image == "" {
func (b *builder) create() (*daemon.Container, error) {
if b.image == "" && !b.noBaseImage {
return nil, fmt.Errorf("Please provide a source image with `from` prior to run")
}
b.Config.Image = b.image
hostConfig := &runconfig.HostConfig{
CpuShares: b.cpuShares,
CpuPeriod: b.cpuPeriod,
CpuQuota: b.cpuQuota,
CpusetCpus: b.cpuSetCpus,
CpusetMems: b.cpuSetMems,
CgroupParent: b.cgroupParent,
Memory: b.memory,
MemorySwap: b.memorySwap,
Ulimits: b.ulimits,
}
config := *b.Config
// Create the container
c, warnings, err := b.Daemon.Create(b.Config, nil, "")
c, warnings, err := b.Daemon.Create(b.Config, hostConfig, "")
if err != nil {
return nil, err
}
@@ -504,26 +630,24 @@ func (b *Builder) create() (*daemon.Container, error) {
}
b.TmpContainers[c.ID] = struct{}{}
fmt.Fprintf(b.OutStream, " ---> Running in %s\n", utils.TruncateID(c.ID))
fmt.Fprintf(b.OutStream, " ---> Running in %s\n", stringid.TruncateID(c.ID))
// override the entry point that may have been picked up from the base image
c.Path = config.Cmd[0]
c.Args = config.Cmd[1:]
if config.Cmd.Len() > 0 {
// override the entry point that may have been picked up from the base image
s := config.Cmd.Slice()
c.Path = s[0]
c.Args = s[1:]
} else {
config.Cmd = runconfig.NewCommand()
}
return c, nil
}
func (b *Builder) run(c *daemon.Container) error {
func (b *builder) run(c *daemon.Container) error {
var errCh chan error
if b.Verbose {
errCh = promise.Go(func() error {
// FIXME: call the 'attach' job so that daemon.Attach can be made private
//
// FIXME (LK4D4): Also, maybe makes sense to call "logs" job, it is like attach
// but without hijacking for stdin. Also, with attach there can be race
// condition because of some output already was printed before it.
return <-b.Daemon.Attach(&c.StreamConfig, c.Config.OpenStdin, c.Config.StdinOnce, c.Config.Tty, nil, nil, b.OutStream, b.ErrStream)
})
errCh = c.Attach(nil, b.OutStream, b.ErrStream)
}
//start the container
@@ -531,7 +655,19 @@ func (b *Builder) run(c *daemon.Container) error {
return err
}
if errCh != nil {
finished := make(chan struct{})
defer close(finished)
go func() {
select {
case <-b.cancelled:
logrus.Debugln("Build cancelled, killing container:", c.ID)
c.Kill()
case <-finished:
}
}()
if b.Verbose {
// Block on reading output from container, stop on err or chan closed
if err := <-errCh; err != nil {
return err
}
@@ -539,18 +675,17 @@ func (b *Builder) run(c *daemon.Container) error {
// Wait for it to finish
if ret, _ := c.WaitStop(-1 * time.Second); ret != 0 {
err := &utils.JSONError{
Message: fmt.Sprintf("The command %v returned a non-zero code: %d", b.Config.Cmd, ret),
return &jsonmessage.JSONError{
Message: fmt.Sprintf("The command '%s' returned a non-zero code: %d", b.Config.Cmd.ToString(), ret),
Code: ret,
}
return err
}
return nil
}
func (b *Builder) checkPathForAddition(orig string) error {
origPath := path.Join(b.contextPath, orig)
func (b *builder) checkPathForAddition(orig string) error {
origPath := filepath.Join(b.contextPath, orig)
origPath, err := filepath.EvalSymlinks(origPath)
if err != nil {
if os.IsNotExist(err) {
@@ -558,7 +693,11 @@ func (b *Builder) checkPathForAddition(orig string) error {
}
return err
}
if !strings.HasPrefix(origPath, b.contextPath) {
contextPath, err := filepath.EvalSymlinks(b.contextPath)
if err != nil {
return err
}
if !strings.HasPrefix(origPath, contextPath) {
return fmt.Errorf("Forbidden path outside the build context: %s (%s)", orig, origPath)
}
if _, err := os.Stat(origPath); err != nil {
@@ -570,29 +709,31 @@ func (b *Builder) checkPathForAddition(orig string) error {
return nil
}
func (b *Builder) addContext(container *daemon.Container, orig, dest string, decompress bool) error {
func (b *builder) addContext(container *daemon.Container, orig, dest string, decompress bool) error {
var (
err error
destExists = true
origPath = path.Join(b.contextPath, orig)
destPath = path.Join(container.RootfsPath(), dest)
origPath = filepath.Join(b.contextPath, orig)
destPath string
)
if destPath != container.RootfsPath() {
destPath, err = symlink.FollowSymlinkInScope(destPath, container.RootfsPath())
if err != nil {
return err
}
// Work in daemon-local OS specific file paths
dest = filepath.FromSlash(dest)
destPath, err = container.GetResourcePath(dest)
if err != nil {
return err
}
// Preserve the trailing '/'
if strings.HasSuffix(dest, "/") || dest == "." {
destPath = destPath + "/"
// Preserve the trailing slash
if strings.HasSuffix(dest, string(os.PathSeparator)) || dest == "." {
destPath = destPath + string(os.PathSeparator)
}
destStat, err := os.Stat(destPath)
if err != nil {
if !os.IsNotExist(err) {
logrus.Errorf("Error performing os.Stat on %s. %s", destPath, err)
return err
}
destExists = false
@@ -615,9 +756,9 @@ func (b *Builder) addContext(container *daemon.Container, orig, dest string, dec
// First try to unpack the source as an archive
// to support the untar feature we need to clean up the path a little bit
// because tar is very forgiving. First we need to strip off the archive's
// filename from the path but this is only added if it does not end in / .
// filename from the path but this is only added if it does not end in slash
tarDest := destPath
if strings.HasSuffix(tarDest, "/") {
if strings.HasSuffix(tarDest, string(os.PathSeparator)) {
tarDest = filepath.Dir(destPath)
}
@@ -625,11 +766,11 @@ func (b *Builder) addContext(container *daemon.Container, orig, dest string, dec
if err := chrootarchive.UntarPath(origPath, tarDest); err == nil {
return nil
} else if err != io.EOF {
log.Debugf("Couldn't untar %s to %s: %s", origPath, tarDest, err)
logrus.Debugf("Couldn't untar %s to %s: %s", origPath, tarDest, err)
}
}
if err := os.MkdirAll(path.Dir(destPath), 0755); err != nil {
if err := system.MkdirAll(filepath.Dir(destPath), 0755); err != nil {
return err
}
if err := chrootarchive.CopyWithTar(origPath, destPath); err != nil {
@@ -638,52 +779,30 @@ func (b *Builder) addContext(container *daemon.Container, orig, dest string, dec
resPath := destPath
if destExists && destStat.IsDir() {
resPath = path.Join(destPath, path.Base(origPath))
resPath = filepath.Join(destPath, filepath.Base(origPath))
}
return fixPermissions(resPath, 0, 0)
return fixPermissions(origPath, resPath, 0, 0, destExists)
}
func copyAsDirectory(source, destination string, destinationExists bool) error {
func copyAsDirectory(source, destination string, destExisted bool) error {
if err := chrootarchive.CopyWithTar(source, destination); err != nil {
return err
}
if destinationExists {
files, err := ioutil.ReadDir(source)
if err != nil {
return err
}
for _, file := range files {
if err := fixPermissions(filepath.Join(destination, file.Name()), 0, 0); err != nil {
return err
}
}
return nil
}
return fixPermissions(destination, 0, 0)
return fixPermissions(source, destination, 0, 0, destExisted)
}
func fixPermissions(destination string, uid, gid int) error {
return filepath.Walk(destination, func(path string, info os.FileInfo, err error) error {
if err := os.Lchown(path, uid, gid); err != nil && !os.IsNotExist(err) {
return err
}
return nil
})
}
func (b *Builder) clearTmp() {
func (b *builder) clearTmp() {
for c := range b.TmpContainers {
tmp := b.Daemon.Get(c)
if err := b.Daemon.Destroy(tmp); err != nil {
fmt.Fprintf(b.OutStream, "Error removing intermediate container %s: %s\n", utils.TruncateID(c), err.Error())
rmConfig := &daemon.ContainerRmConfig{
ForceRemove: true,
RemoveVolume: true,
}
if err := b.Daemon.ContainerRm(c, rmConfig); err != nil {
fmt.Fprintf(b.OutStream, "Error removing intermediate container %s: %v\n", stringid.TruncateID(c), err)
return
}
b.Daemon.DeleteVolumes(tmp.VolumePaths())
delete(b.TmpContainers, c)
fmt.Fprintf(b.OutStream, "Removing intermediate container %s\n", utils.TruncateID(c))
fmt.Fprintf(b.OutStream, "Removing intermediate container %s\n", stringid.TruncateID(c))
}
}

View File

@@ -0,0 +1,40 @@
// +build linux
package builder
import (
"os"
"path/filepath"
)
func fixPermissions(source, destination string, uid, gid int, destExisted bool) error {
// If the destination didn't already exist, or the destination isn't a
// directory, then we should Lchown the destination. Otherwise, we shouldn't
// Lchown the destination.
destStat, err := os.Stat(destination)
if err != nil {
// This should *never* be reached, because the destination must've already
// been created while untar-ing the context.
return err
}
doChownDestination := !destExisted || !destStat.IsDir()
// We Walk on the source rather than on the destination because we don't
// want to change permissions on things we haven't created or modified.
return filepath.Walk(source, func(fullpath string, info os.FileInfo, err error) error {
// Do not alter the walk root iff. it existed before, as it doesn't fall under
// the domain of "things we should chown".
if !doChownDestination && (source == fullpath) {
return nil
}
// Path is prefixed by source: substitute with destination instead.
cleaned, err := filepath.Rel(source, fullpath)
if err != nil {
return err
}
fullpath = filepath.Join(destination, cleaned)
return os.Lchown(fullpath, uid, gid)
})
}

View File

@@ -0,0 +1,8 @@
// +build windows
package builder
func fixPermissions(source, destination string, uid, gid int, destExisted bool) error {
// chown is not supported on Windows
return nil
}

View File

@@ -1,130 +1,355 @@
package builder
import (
"bytes"
"errors"
"fmt"
"io"
"io/ioutil"
"os"
"os/exec"
"strings"
"sync"
"github.com/docker/docker/api"
"github.com/docker/docker/builder/parser"
"github.com/docker/docker/cliconfig"
"github.com/docker/docker/daemon"
"github.com/docker/docker/engine"
"github.com/docker/docker/graph"
"github.com/docker/docker/graph/tags"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/httputils"
"github.com/docker/docker/pkg/parsers"
"github.com/docker/docker/pkg/progressreader"
"github.com/docker/docker/pkg/streamformatter"
"github.com/docker/docker/pkg/stringid"
"github.com/docker/docker/pkg/ulimit"
"github.com/docker/docker/pkg/urlutil"
"github.com/docker/docker/registry"
"github.com/docker/docker/runconfig"
"github.com/docker/docker/utils"
)
type BuilderJob struct {
Engine *engine.Engine
Daemon *daemon.Daemon
// When downloading remote contexts, limit the amount (in bytes)
// to be read from the response body in order to detect its Content-Type
const maxPreambleLength = 100
// whitelist of commands allowed for a commit/import
var validCommitCommands = map[string]bool{
"cmd": true,
"entrypoint": true,
"env": true,
"expose": true,
"label": true,
"onbuild": true,
"user": true,
"volume": true,
"workdir": true,
}
func (b *BuilderJob) Install() {
b.Engine.Register("build", b.CmdBuild)
// Config contains all configs for a build job
type Config struct {
DockerfileName string
RemoteURL string
RepoName string
SuppressOutput bool
NoCache bool
Remove bool
ForceRemove bool
Pull bool
Memory int64
MemorySwap int64
CPUShares int64
CPUPeriod int64
CPUQuota int64
CPUSetCpus string
CPUSetMems string
CgroupParent string
Ulimits []*ulimit.Ulimit
AuthConfigs map[string]cliconfig.AuthConfig
Stdout io.Writer
Context io.ReadCloser
// When closed, the job has been cancelled.
// Note: not all jobs implement cancellation.
// See Job.Cancel() and Job.WaitCancelled()
cancelled chan struct{}
cancelOnce sync.Once
}
func (b *BuilderJob) CmdBuild(job *engine.Job) engine.Status {
if len(job.Args) != 0 {
return job.Errorf("Usage: %s\n", job.Name)
// Cancel signals the build job to cancel
func (b *Config) Cancel() {
b.cancelOnce.Do(func() {
close(b.cancelled)
})
}
// WaitCancelled returns a channel which is closed ("never blocks") when
// the job is cancelled.
func (b *Config) WaitCancelled() <-chan struct{} {
return b.cancelled
}
// NewBuildConfig returns a new Config struct
func NewBuildConfig() *Config {
return &Config{
AuthConfigs: map[string]cliconfig.AuthConfig{},
cancelled: make(chan struct{}),
}
var (
remoteURL = job.Getenv("remote")
repoName = job.Getenv("t")
suppressOutput = job.GetenvBool("q")
noCache = job.GetenvBool("nocache")
rm = job.GetenvBool("rm")
forceRm = job.GetenvBool("forcerm")
authConfig = &registry.AuthConfig{}
configFile = &registry.ConfigFile{}
tag string
context io.ReadCloser
)
job.GetenvJson("authConfig", authConfig)
job.GetenvJson("configFile", configFile)
}
repoName, tag = parsers.ParseRepositoryTag(repoName)
// Build is the main interface of the package, it gathers the Builder
// struct and calls builder.Run() to do all the real build job.
func Build(d *daemon.Daemon, buildConfig *Config) error {
var (
repoName string
tag string
context io.ReadCloser
)
sf := streamformatter.NewJSONStreamFormatter()
repoName, tag = parsers.ParseRepositoryTag(buildConfig.RepoName)
if repoName != "" {
if _, _, err := registry.ResolveRepositoryName(repoName); err != nil {
return job.Error(err)
if err := registry.ValidateRepositoryName(repoName); err != nil {
return err
}
if len(tag) > 0 {
if err := graph.ValidateTagName(tag); err != nil {
return job.Error(err)
if err := tags.ValidateTagName(tag); err != nil {
return err
}
}
}
if remoteURL == "" {
context = ioutil.NopCloser(job.Stdin)
} else if utils.IsGIT(remoteURL) {
if !strings.HasPrefix(remoteURL, "git://") {
remoteURL = "https://" + remoteURL
}
root, err := ioutil.TempDir("", "docker-build-git")
if buildConfig.RemoteURL == "" {
context = ioutil.NopCloser(buildConfig.Context)
} else if urlutil.IsGitURL(buildConfig.RemoteURL) {
root, err := utils.GitClone(buildConfig.RemoteURL)
if err != nil {
return job.Error(err)
return err
}
defer os.RemoveAll(root)
if output, err := exec.Command("git", "clone", "--recursive", remoteURL, root).CombinedOutput(); err != nil {
return job.Errorf("Error trying to use git: %s (%s)", err, output)
}
c, err := archive.Tar(root, archive.Uncompressed)
if err != nil {
return job.Error(err)
return err
}
context = c
} else if utils.IsURL(remoteURL) {
f, err := utils.Download(remoteURL)
} else if urlutil.IsURL(buildConfig.RemoteURL) {
f, err := httputils.Download(buildConfig.RemoteURL)
if err != nil {
return job.Error(err)
return fmt.Errorf("Error downloading remote context %s: %v", buildConfig.RemoteURL, err)
}
defer f.Body.Close()
dockerFile, err := ioutil.ReadAll(f.Body)
ct := f.Header.Get("Content-Type")
clen := int(f.ContentLength)
contentType, bodyReader, err := inspectResponse(ct, f.Body, clen)
defer bodyReader.Close()
if err != nil {
return job.Error(err)
return fmt.Errorf("Error detecting content type for remote %s: %v", buildConfig.RemoteURL, err)
}
c, err := archive.Generate("Dockerfile", string(dockerFile))
if err != nil {
return job.Error(err)
if contentType == httputils.MimeTypes.TextPlain {
dockerFile, err := ioutil.ReadAll(bodyReader)
if err != nil {
return err
}
// When we're downloading just a Dockerfile put it in
// the default name - don't allow the client to move/specify it
buildConfig.DockerfileName = api.DefaultDockerfileName
c, err := archive.Generate(buildConfig.DockerfileName, string(dockerFile))
if err != nil {
return err
}
context = c
} else {
// Pass through - this is a pre-packaged context, presumably
// with a Dockerfile with the right name inside it.
prCfg := progressreader.Config{
In: bodyReader,
Out: buildConfig.Stdout,
Formatter: sf,
Size: clen,
NewLines: true,
ID: "Downloading context",
Action: buildConfig.RemoteURL,
}
context = progressreader.New(prCfg)
}
context = c
}
defer context.Close()
sf := utils.NewStreamFormatter(job.GetenvBool("json"))
builder := &Builder{
Daemon: b.Daemon,
Engine: b.Engine,
OutStream: &utils.StdoutFormater{
Writer: job.Stdout,
builder := &builder{
Daemon: d,
OutStream: &streamformatter.StdoutFormater{
Writer: buildConfig.Stdout,
StreamFormatter: sf,
},
ErrStream: &utils.StderrFormater{
Writer: job.Stdout,
ErrStream: &streamformatter.StderrFormater{
Writer: buildConfig.Stdout,
StreamFormatter: sf,
},
Verbose: !suppressOutput,
UtilizeCache: !noCache,
Remove: rm,
ForceRemove: forceRm,
OutOld: job.Stdout,
Verbose: !buildConfig.SuppressOutput,
UtilizeCache: !buildConfig.NoCache,
Remove: buildConfig.Remove,
ForceRemove: buildConfig.ForceRemove,
Pull: buildConfig.Pull,
OutOld: buildConfig.Stdout,
StreamFormatter: sf,
AuthConfig: authConfig,
AuthConfigFile: configFile,
AuthConfigs: buildConfig.AuthConfigs,
dockerfileName: buildConfig.DockerfileName,
cpuShares: buildConfig.CPUShares,
cpuPeriod: buildConfig.CPUPeriod,
cpuQuota: buildConfig.CPUQuota,
cpuSetCpus: buildConfig.CPUSetCpus,
cpuSetMems: buildConfig.CPUSetMems,
cgroupParent: buildConfig.CgroupParent,
memory: buildConfig.Memory,
memorySwap: buildConfig.MemorySwap,
ulimits: buildConfig.Ulimits,
cancelled: buildConfig.WaitCancelled(),
id: stringid.GenerateRandomID(),
}
defer func() {
builder.Daemon.Graph().Release(builder.id, builder.activeImages...)
}()
id, err := builder.Run(context)
if err != nil {
return job.Error(err)
return err
}
if repoName != "" {
return d.Repositories().Tag(repoName, tag, id, true)
}
return nil
}
// BuildFromConfig will do build directly from parameter 'changes', which comes
// from Dockerfile entries, it will:
//
// - call parse.Parse() to get AST root from Dockerfile entries
// - do build by calling builder.dispatch() to call all entries' handling routines
func BuildFromConfig(d *daemon.Daemon, c *runconfig.Config, changes []string) (*runconfig.Config, error) {
ast, err := parser.Parse(bytes.NewBufferString(strings.Join(changes, "\n")))
if err != nil {
return nil, err
}
if repoName != "" {
b.Daemon.Repositories().Set(repoName, tag, id, false)
// ensure that the commands are valid
for _, n := range ast.Children {
if !validCommitCommands[n.Value] {
return nil, fmt.Errorf("%s is not a valid change command", n.Value)
}
}
return engine.StatusOK
builder := &builder{
Daemon: d,
Config: c,
OutStream: ioutil.Discard,
ErrStream: ioutil.Discard,
disableCommit: true,
}
for i, n := range ast.Children {
if err := builder.dispatch(i, n); err != nil {
return nil, err
}
}
return builder.Config, nil
}
// CommitConfig contains build configs for commit operation
type CommitConfig struct {
Pause bool
Repo string
Tag string
Author string
Comment string
Changes []string
Config *runconfig.Config
}
// Commit will create a new image from a container's changes
func Commit(name string, d *daemon.Daemon, c *CommitConfig) (string, error) {
container, err := d.Get(name)
if err != nil {
return "", err
}
if c.Config == nil {
c.Config = &runconfig.Config{}
}
newConfig, err := BuildFromConfig(d, c.Config, c.Changes)
if err != nil {
return "", err
}
if err := runconfig.Merge(newConfig, container.Config); err != nil {
return "", err
}
commitCfg := &daemon.ContainerCommitConfig{
Pause: c.Pause,
Repo: c.Repo,
Tag: c.Tag,
Author: c.Author,
Comment: c.Comment,
Config: newConfig,
}
img, err := d.Commit(container, commitCfg)
if err != nil {
return "", err
}
return img.ID, nil
}
// inspectResponse looks into the http response data at r to determine whether its
// content-type is on the list of acceptable content types for remote build contexts.
// This function returns:
// - a string representation of the detected content-type
// - an io.Reader for the response body
// - an error value which will be non-nil either when something goes wrong while
// reading bytes from r or when the detected content-type is not acceptable.
func inspectResponse(ct string, r io.ReadCloser, clen int) (string, io.ReadCloser, error) {
plen := clen
if plen <= 0 || plen > maxPreambleLength {
plen = maxPreambleLength
}
preamble := make([]byte, plen, plen)
rlen, err := r.Read(preamble)
if rlen == 0 {
return ct, r, errors.New("Empty response")
}
if err != nil && err != io.EOF {
return ct, r, err
}
preambleR := bytes.NewReader(preamble)
bodyReader := ioutil.NopCloser(io.MultiReader(preambleR, r))
// Some web servers will use application/octet-stream as the default
// content type for files without an extension (e.g. 'Dockerfile')
// so if we receive this value we better check for text content
contentType := ct
if len(ct) == 0 || ct == httputils.MimeTypes.OctetStream {
contentType, _, err = httputils.DetectContentType(preamble)
if err != nil {
return contentType, bodyReader, err
}
}
contentType = selectAcceptableMIME(contentType)
var cterr error
if len(contentType) == 0 {
cterr = fmt.Errorf("unsupported Content-Type %q", ct)
contentType = ct
}
return contentType, bodyReader, cterr
}

113
builder/job_test.go Normal file
View File

@@ -0,0 +1,113 @@
package builder
import (
"bytes"
"io/ioutil"
"testing"
)
var textPlainDockerfile = "FROM busybox"
var binaryContext = []byte{0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00} //xz magic
func TestInspectEmptyResponse(t *testing.T) {
ct := "application/octet-stream"
br := ioutil.NopCloser(bytes.NewReader([]byte("")))
contentType, bReader, err := inspectResponse(ct, br, 0)
if err == nil {
t.Fatalf("Should have generated an error for an empty response")
}
if contentType != "application/octet-stream" {
t.Fatalf("Content type should be 'application/octet-stream' but is %q", contentType)
}
body, err := ioutil.ReadAll(bReader)
if err != nil {
t.Fatal(err)
}
if len(body) != 0 {
t.Fatal("response body should remain empty")
}
}
func TestInspectResponseBinary(t *testing.T) {
ct := "application/octet-stream"
br := ioutil.NopCloser(bytes.NewReader(binaryContext))
contentType, bReader, err := inspectResponse(ct, br, len(binaryContext))
if err != nil {
t.Fatal(err)
}
if contentType != "application/octet-stream" {
t.Fatalf("Content type should be 'application/octet-stream' but is %q", contentType)
}
body, err := ioutil.ReadAll(bReader)
if err != nil {
t.Fatal(err)
}
if len(body) != len(binaryContext) {
t.Fatalf("Wrong response size %d, should be == len(binaryContext)", len(body))
}
for i := range body {
if body[i] != binaryContext[i] {
t.Fatalf("Corrupted response body at byte index %d", i)
}
}
}
func TestResponseUnsupportedContentType(t *testing.T) {
content := []byte(textPlainDockerfile)
ct := "application/json"
br := ioutil.NopCloser(bytes.NewReader(content))
contentType, bReader, err := inspectResponse(ct, br, len(textPlainDockerfile))
if err == nil {
t.Fatal("Should have returned an error on content-type 'application/json'")
}
if contentType != ct {
t.Fatalf("Should not have altered content-type: orig: %s, altered: %s", ct, contentType)
}
body, err := ioutil.ReadAll(bReader)
if err != nil {
t.Fatal(err)
}
if string(body) != textPlainDockerfile {
t.Fatalf("Corrupted response body %s", body)
}
}
func TestInspectResponseTextSimple(t *testing.T) {
content := []byte(textPlainDockerfile)
ct := "text/plain"
br := ioutil.NopCloser(bytes.NewReader(content))
contentType, bReader, err := inspectResponse(ct, br, len(content))
if err != nil {
t.Fatal(err)
}
if contentType != "text/plain" {
t.Fatalf("Content type should be 'text/plain' but is %q", contentType)
}
body, err := ioutil.ReadAll(bReader)
if err != nil {
t.Fatal(err)
}
if string(body) != textPlainDockerfile {
t.Fatalf("Corrupted response body %s", body)
}
}
func TestInspectResponseEmptyContentType(t *testing.T) {
content := []byte(textPlainDockerfile)
br := ioutil.NopCloser(bytes.NewReader(content))
contentType, bodyReader, err := inspectResponse("", br, len(content))
if err != nil {
t.Fatal(err)
}
if contentType != "text/plain" {
t.Fatalf("Content type should be 'text/plain' but is %q", contentType)
}
body, err := ioutil.ReadAll(bodyReader)
if err != nil {
t.Fatal(err)
}
if string(body) != textPlainDockerfile {
t.Fatalf("Corrupted response body %s", body)
}
}

View File

@@ -0,0 +1,55 @@
package parser
import (
"testing"
)
var invalidJSONArraysOfStrings = []string{
`["a",42,"b"]`,
`["a",123.456,"b"]`,
`["a",{},"b"]`,
`["a",{"c": "d"},"b"]`,
`["a",["c"],"b"]`,
`["a",true,"b"]`,
`["a",false,"b"]`,
`["a",null,"b"]`,
}
var validJSONArraysOfStrings = map[string][]string{
`[]`: {},
`[""]`: {""},
`["a"]`: {"a"},
`["a","b"]`: {"a", "b"},
`[ "a", "b" ]`: {"a", "b"},
`[ "a", "b" ]`: {"a", "b"},
` [ "a", "b" ] `: {"a", "b"},
`["abc 123", "♥", "☃", "\" \\ \/ \b \f \n \r \t \u0000"]`: {"abc 123", "♥", "☃", "\" \\ / \b \f \n \r \t \u0000"},
}
func TestJSONArraysOfStrings(t *testing.T) {
for json, expected := range validJSONArraysOfStrings {
if node, _, err := parseJSON(json); err != nil {
t.Fatalf("%q should be a valid JSON array of strings, but wasn't! (err: %q)", json, err)
} else {
i := 0
for node != nil {
if i >= len(expected) {
t.Fatalf("expected result is shorter than parsed result (%d vs %d+) in %q", len(expected), i+1, json)
}
if node.Value != expected[i] {
t.Fatalf("expected %q (not %q) in %q at pos %d", expected[i], node.Value, json, i)
}
node = node.Next
i++
}
if i != len(expected) {
t.Fatalf("expected result is longer than parsed result (%d vs %d) in %q", len(expected), i+1, json)
}
}
}
for _, json := range invalidJSONArraysOfStrings {
if _, _, err := parseJSON(json); err != errDockerfileNotStringArray {
t.Fatalf("%q should be an invalid JSON array of strings, but wasn't!", json)
}
}
}

View File

@@ -10,12 +10,12 @@ import (
"encoding/json"
"errors"
"fmt"
"strconv"
"strings"
"unicode"
)
var (
errDockerfileJSONNesting = errors.New("You may not nest arrays in Dockerfile statements.")
errDockerfileNotStringArray = errors.New("When using JSON array syntax, arrays must be comprised of strings only.")
)
// ignore the current argument. This will still leave a command parsed, but
@@ -30,6 +30,10 @@ func parseIgnore(rest string) (*Node, map[string]bool, error) {
// ONBUILD RUN foo bar -> (onbuild (run foo bar))
//
func parseSubCommand(rest string) (*Node, map[string]bool, error) {
if rest == "" {
return nil, nil, nil
}
_, child, err := parseLine(rest)
if err != nil {
return nil, nil, err
@@ -40,29 +44,168 @@ func parseSubCommand(rest string) (*Node, map[string]bool, error) {
// parse environment like statements. Note that this does *not* handle
// variable interpolation, which will be handled in the evaluator.
func parseEnv(rest string) (*Node, map[string]bool, error) {
node := &Node{}
rootnode := node
strs := TOKEN_WHITESPACE.Split(rest, 2)
func parseNameVal(rest string, key string) (*Node, map[string]bool, error) {
// This is kind of tricky because we need to support the old
// variant: KEY name value
// as well as the new one: KEY name=value ...
// The trigger to know which one is being used will be whether we hit
// a space or = first. space ==> old, "=" ==> new
if len(strs) < 2 {
return nil, nil, fmt.Errorf("ENV must have two arguments")
const (
inSpaces = iota // looking for start of a word
inWord
inQuote
)
words := []string{}
phase := inSpaces
word := ""
quote := '\000'
blankOK := false
var ch rune
for pos := 0; pos <= len(rest); pos++ {
if pos != len(rest) {
ch = rune(rest[pos])
}
if phase == inSpaces { // Looking for start of word
if pos == len(rest) { // end of input
break
}
if unicode.IsSpace(ch) { // skip spaces
continue
}
phase = inWord // found it, fall thru
}
if (phase == inWord || phase == inQuote) && (pos == len(rest)) {
if blankOK || len(word) > 0 {
words = append(words, word)
}
break
}
if phase == inWord {
if unicode.IsSpace(ch) {
phase = inSpaces
if blankOK || len(word) > 0 {
words = append(words, word)
// Look for = and if not there assume
// we're doing the old stuff and
// just read the rest of the line
if !strings.Contains(word, "=") {
word = strings.TrimSpace(rest[pos:])
words = append(words, word)
break
}
}
word = ""
blankOK = false
continue
}
if ch == '\'' || ch == '"' {
quote = ch
blankOK = true
phase = inQuote
}
if ch == '\\' {
if pos+1 == len(rest) {
continue // just skip \ at end
}
// If we're not quoted and we see a \, then always just
// add \ plus the char to the word, even if the char
// is a quote.
word += string(ch)
pos++
ch = rune(rest[pos])
}
word += string(ch)
continue
}
if phase == inQuote {
if ch == quote {
phase = inWord
}
// \ is special except for ' quotes - can't escape anything for '
if ch == '\\' && quote != '\'' {
if pos+1 == len(rest) {
phase = inWord
continue // just skip \ at end
}
pos++
nextCh := rune(rest[pos])
word += string(ch)
ch = nextCh
}
word += string(ch)
}
}
node.Value = strs[0]
node.Next = &Node{}
node.Next.Value = strs[1]
if len(words) == 0 {
return nil, nil, nil
}
// Old format (KEY name value)
var rootnode *Node
if !strings.Contains(words[0], "=") {
node := &Node{}
rootnode = node
strs := tokenWhitespace.Split(rest, 2)
if len(strs) < 2 {
return nil, nil, fmt.Errorf(key + " must have two arguments")
}
node.Value = strs[0]
node.Next = &Node{}
node.Next.Value = strs[1]
} else {
var prevNode *Node
for i, word := range words {
if !strings.Contains(word, "=") {
return nil, nil, fmt.Errorf("Syntax error - can't find = in %q. Must be of the form: name=value", word)
}
parts := strings.SplitN(word, "=", 2)
name := &Node{}
value := &Node{}
name.Next = value
name.Value = parts[0]
value.Value = parts[1]
if i == 0 {
rootnode = name
} else {
prevNode.Next = name
}
prevNode = value
}
}
return rootnode, nil, nil
}
func parseEnv(rest string) (*Node, map[string]bool, error) {
return parseNameVal(rest, "ENV")
}
func parseLabel(rest string) (*Node, map[string]bool, error) {
return parseNameVal(rest, "LABEL")
}
// parses a whitespace-delimited set of arguments. The result is effectively a
// linked list of string arguments.
func parseStringsWhitespaceDelimited(rest string) (*Node, map[string]bool, error) {
if rest == "" {
return nil, nil, nil
}
node := &Node{}
rootnode := node
prevnode := node
for _, str := range TOKEN_WHITESPACE.Split(rest, -1) { // use regexp
for _, str := range tokenWhitespace.Split(rest, -1) { // use regexp
prevnode = node
node.Value = str
node.Next = &Node{}
@@ -79,6 +222,9 @@ func parseStringsWhitespaceDelimited(rest string) (*Node, map[string]bool, error
// parsestring just wraps the string in quotes and returns a working node.
func parseString(rest string) (*Node, map[string]bool, error) {
if rest == "" {
return nil, nil, nil
}
n := &Node{}
n.Value = rest
return n, nil, nil
@@ -86,48 +232,44 @@ func parseString(rest string) (*Node, map[string]bool, error) {
// parseJSON converts JSON arrays to an AST.
func parseJSON(rest string) (*Node, map[string]bool, error) {
var (
myJson []interface{}
next = &Node{}
orignext = next
prevnode = next
)
if err := json.Unmarshal([]byte(rest), &myJson); err != nil {
var myJSON []interface{}
if err := json.NewDecoder(strings.NewReader(rest)).Decode(&myJSON); err != nil {
return nil, nil, err
}
for _, str := range myJson {
switch str.(type) {
case string:
case float64:
str = strconv.FormatFloat(str.(float64), 'G', -1, 64)
default:
return nil, nil, errDockerfileJSONNesting
var top, prev *Node
for _, str := range myJSON {
s, ok := str.(string)
if !ok {
return nil, nil, errDockerfileNotStringArray
}
next.Value = str.(string)
next.Next = &Node{}
prevnode = next
next = next.Next
node := &Node{Value: s}
if prev == nil {
top = node
} else {
prev.Next = node
}
prev = node
}
prevnode.Next = nil
return orignext, map[string]bool{"json": true}, nil
return top, map[string]bool{"json": true}, nil
}
// parseMaybeJSON determines if the argument appears to be a JSON array. If
// so, passes to parseJSON; if not, quotes the result and returns a single
// node.
func parseMaybeJSON(rest string) (*Node, map[string]bool, error) {
rest = strings.TrimSpace(rest)
if rest == "" {
return nil, nil, nil
}
node, attrs, err := parseJSON(rest)
if err == nil {
return node, attrs, nil
}
if err == errDockerfileJSONNesting {
if err == errDockerfileNotStringArray {
return nil, nil, err
}
@@ -137,17 +279,15 @@ func parseMaybeJSON(rest string) (*Node, map[string]bool, error) {
}
// parseMaybeJSONToList determines if the argument appears to be a JSON array. If
// so, passes to parseJSON; if not, attmpts to parse it as a whitespace
// so, passes to parseJSON; if not, attempts to parse it as a whitespace
// delimited string.
func parseMaybeJSONToList(rest string) (*Node, map[string]bool, error) {
rest = strings.TrimSpace(rest)
node, attrs, err := parseJSON(rest)
if err == nil {
return node, attrs, nil
}
if err == errDockerfileJSONNesting {
if err == errDockerfileNotStringArray {
return nil, nil, err
}

View File

@@ -1,4 +1,4 @@
// This package implements a parser and parse tree dumper for Dockerfiles.
// Package parser implements a parser and parse tree dumper for Dockerfiles.
package parser
import (
@@ -7,6 +7,8 @@ import (
"regexp"
"strings"
"unicode"
"github.com/docker/docker/builder/command"
)
// Node is a structure used to represent a parse tree.
@@ -27,13 +29,14 @@ type Node struct {
Children []*Node // the children of this sexp
Attributes map[string]bool // special attributes for this node
Original string // original line used before parsing
Flags []string // only top Node should have this set
}
var (
dispatch map[string]func(string) (*Node, map[string]bool, error)
TOKEN_WHITESPACE = regexp.MustCompile(`[\t\v\f\r ]+`)
TOKEN_LINE_CONTINUATION = regexp.MustCompile(`\\\s*$`)
TOKEN_COMMENT = regexp.MustCompile(`^#.*$`)
dispatch map[string]func(string) (*Node, map[string]bool, error)
tokenWhitespace = regexp.MustCompile(`[\t\v\f\r ]+`)
tokenLineContinuation = regexp.MustCompile(`\\[ \t]*$`)
tokenComment = regexp.MustCompile(`^#.*$`)
)
func init() {
@@ -41,23 +44,23 @@ func init() {
// The command is parsed and mapped to the line parser. The line parser
// recieves the arguments but not the command, and returns an AST after
// reformulating the arguments according to the rules in the parser
// functions. Errors are propogated up by Parse() and the resulting AST can
// functions. Errors are propagated up by Parse() and the resulting AST can
// be incorporated directly into the existing AST as a next.
dispatch = map[string]func(string) (*Node, map[string]bool, error){
"user": parseString,
"onbuild": parseSubCommand,
"workdir": parseString,
"env": parseEnv,
"maintainer": parseString,
"from": parseString,
"add": parseStringsWhitespaceDelimited,
"copy": parseStringsWhitespaceDelimited,
"run": parseMaybeJSON,
"cmd": parseMaybeJSON,
"entrypoint": parseMaybeJSON,
"expose": parseStringsWhitespaceDelimited,
"volume": parseMaybeJSONToList,
"insert": parseIgnore,
command.User: parseString,
command.Onbuild: parseSubCommand,
command.Workdir: parseString,
command.Env: parseEnv,
command.Label: parseLabel,
command.Maintainer: parseString,
command.From: parseString,
command.Add: parseMaybeJSONToList,
command.Copy: parseMaybeJSONToList,
command.Run: parseMaybeJSON,
command.Cmd: parseMaybeJSON,
command.Entrypoint: parseMaybeJSON,
command.Expose: parseStringsWhitespaceDelimited,
command.Volume: parseMaybeJSONToList,
}
}
@@ -67,12 +70,12 @@ func parseLine(line string) (string, *Node, error) {
return "", nil, nil
}
if TOKEN_LINE_CONTINUATION.MatchString(line) {
line = TOKEN_LINE_CONTINUATION.ReplaceAllString(line, "")
if tokenLineContinuation.MatchString(line) {
line = tokenLineContinuation.ReplaceAllString(line, "")
return line, nil, nil
}
cmd, args, err := splitCommand(line)
cmd, flags, args, err := splitCommand(line)
if err != nil {
return "", nil, err
}
@@ -85,28 +88,22 @@ func parseLine(line string) (string, *Node, error) {
return "", nil, err
}
if sexp.Value != "" || sexp.Next != nil || sexp.Children != nil {
node.Next = sexp
}
node.Next = sexp
node.Attributes = attrs
node.Original = line
node.Flags = flags
return "", node, nil
}
// The main parse routine. Handles an io.ReadWriteCloser and returns the root
// of the AST.
// Parse is the main parse routine.
// It handles an io.ReadWriteCloser and returns the root of the AST.
func Parse(rwc io.Reader) (*Node, error) {
root := &Node{}
scanner := bufio.NewScanner(rwc)
for scanner.Scan() {
scannedLine := strings.TrimLeftFunc(scanner.Text(), unicode.IsSpace)
if stripComments(scannedLine) == "" {
continue
}
line, child, err := parseLine(scannedLine)
if err != nil {
return nil, err
@@ -129,6 +126,12 @@ func Parse(rwc io.Reader) (*Node, error) {
break
}
}
if child == nil && line != "" {
line, child, err = parseLine(line)
if err != nil {
return nil, err
}
}
}
if child != nil {

View File

@@ -11,7 +11,7 @@ import (
const testDir = "testfiles"
const negativeTestDir = "testfiles-negative"
func getDirs(t *testing.T, dir string) []os.FileInfo {
func getDirs(t *testing.T, dir string) []string {
f, err := os.Open(dir)
if err != nil {
t.Fatal(err)
@@ -19,7 +19,7 @@ func getDirs(t *testing.T, dir string) []os.FileInfo {
defer f.Close()
dirs, err := f.Readdir(0)
dirs, err := f.Readdirnames(0)
if err != nil {
t.Fatal(err)
}
@@ -29,16 +29,16 @@ func getDirs(t *testing.T, dir string) []os.FileInfo {
func TestTestNegative(t *testing.T) {
for _, dir := range getDirs(t, negativeTestDir) {
dockerfile := filepath.Join(negativeTestDir, dir.Name(), "Dockerfile")
dockerfile := filepath.Join(negativeTestDir, dir, "Dockerfile")
df, err := os.Open(dockerfile)
if err != nil {
t.Fatalf("Dockerfile missing for %s: %s", dir.Name(), err.Error())
t.Fatalf("Dockerfile missing for %s: %v", dir, err)
}
_, err = Parse(df)
if err == nil {
t.Fatalf("No error parsing broken dockerfile for %s", dir.Name())
t.Fatalf("No error parsing broken dockerfile for %s", dir)
}
df.Close()
@@ -47,36 +47,29 @@ func TestTestNegative(t *testing.T) {
func TestTestData(t *testing.T) {
for _, dir := range getDirs(t, testDir) {
dockerfile := filepath.Join(testDir, dir.Name(), "Dockerfile")
resultfile := filepath.Join(testDir, dir.Name(), "result")
dockerfile := filepath.Join(testDir, dir, "Dockerfile")
resultfile := filepath.Join(testDir, dir, "result")
df, err := os.Open(dockerfile)
if err != nil {
t.Fatalf("Dockerfile missing for %s: %s", dir.Name(), err.Error())
}
rf, err := os.Open(resultfile)
if err != nil {
t.Fatalf("Result file missing for %s: %s", dir.Name(), err.Error())
t.Fatalf("Dockerfile missing for %s: %v", dir, err)
}
defer df.Close()
ast, err := Parse(df)
if err != nil {
t.Fatalf("Error parsing %s's dockerfile: %s", dir.Name(), err.Error())
t.Fatalf("Error parsing %s's dockerfile: %v", dir, err)
}
content, err := ioutil.ReadAll(rf)
content, err := ioutil.ReadFile(resultfile)
if err != nil {
t.Fatalf("Error reading %s's result file: %s", dir.Name(), err.Error())
t.Fatalf("Error reading %s's result file: %v", dir, err)
}
if ast.Dump()+"\n" != string(content) {
fmt.Fprintln(os.Stderr, "Result:\n"+ast.Dump())
fmt.Fprintln(os.Stderr, "Expected:\n"+string(content))
t.Fatalf("%s: AST dump of dockerfile does not match result", dir.Name())
t.Fatalf("%s: AST dump of dockerfile does not match result", dir)
}
df.Close()
rf.Close()
}
}

View File

@@ -1,3 +0,0 @@
FROM busybox
ENV PATH=PATH

View File

@@ -0,0 +1,3 @@
FROM busybox
ENV PATH

Some files were not shown because too many files have changed in this diff Show More